From 0d642a913a55b0475acb181a03550f3668a1f607 Mon Sep 17 00:00:00 2001 From: Levi Blackstone Date: Fri, 30 Aug 2019 16:00:49 -0600 Subject: [PATCH] Improve apiVersion deprecation comments Replace the deprecation comments in the SDKs with more relevant information, and emit warnings when resources are created using deprecated apiVersions. --- CHANGELOG.md | 3 + ...awaitComments.go => additionalComments.go} | 15 ++- pkg/gen/typegen.go | 39 +++++++- pkg/kinds/deprecated.go | 52 ++++++++++ pkg/kinds/deprecated_test.go | 86 +++++++++++++++++ pkg/provider/diff.go | 44 ++++----- pkg/provider/provider.go | 7 ++ sdk/nodejs/apps/v1beta1/ControllerRevision.ts | 5 +- sdk/nodejs/apps/v1beta1/Deployment.ts | 7 +- sdk/nodejs/apps/v1beta1/StatefulSet.ts | 7 +- sdk/nodejs/apps/v1beta2/ControllerRevision.ts | 21 +++-- sdk/nodejs/apps/v1beta2/DaemonSet.ts | 6 +- sdk/nodejs/apps/v1beta2/Deployment.ts | 7 +- sdk/nodejs/apps/v1beta2/ReplicaSet.ts | 7 +- sdk/nodejs/apps/v1beta2/StatefulSet.ts | 7 +- sdk/nodejs/extensions/v1beta1/DaemonSet.ts | 6 +- sdk/nodejs/extensions/v1beta1/Deployment.ts | 7 +- sdk/nodejs/extensions/v1beta1/Ingress.ts | 7 +- sdk/nodejs/extensions/v1beta1/ReplicaSet.ts | 7 +- sdk/nodejs/types/input.ts | 94 +++++++++++-------- sdk/nodejs/types/output.ts | 94 +++++++++++-------- .../apps/v1beta1/ControllerRevision.py | 21 +++-- .../apps/v1beta1/Deployment.py | 7 +- .../apps/v1beta1/StatefulSet.py | 7 +- .../apps/v1beta2/ControllerRevision.py | 21 +++-- .../apps/v1beta2/DaemonSet.py | 6 +- .../apps/v1beta2/Deployment.py | 7 +- .../apps/v1beta2/ReplicaSet.py | 7 +- .../apps/v1beta2/StatefulSet.py | 7 +- .../extensions/v1beta1/DaemonSet.py | 6 +- .../extensions/v1beta1/Deployment.py | 7 +- .../extensions/v1beta1/Ingress.py | 7 +- .../extensions/v1beta1/ReplicaSet.py | 7 +- 33 files changed, 440 insertions(+), 198 deletions(-) rename pkg/gen/{awaitComments.go => additionalComments.go} (92%) create mode 100644 pkg/kinds/deprecated.go create mode 100644 pkg/kinds/deprecated_test.go diff --git a/CHANGELOG.md b/CHANGELOG.md index c59c13d70a..067bf197be 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,9 @@ ### Improvements +- Warn for deprecated apiVersions. + (https://github.com/pulumi/pulumi-kubernetes/pull/779). + ### Bug fixes - Fix name collisions in the Charts/YAML Python packages diff --git a/pkg/gen/awaitComments.go b/pkg/gen/additionalComments.go similarity index 92% rename from pkg/gen/awaitComments.go rename to pkg/gen/additionalComments.go index dfc96819ce..9487837714 100644 --- a/pkg/gen/awaitComments.go +++ b/pkg/gen/additionalComments.go @@ -20,6 +20,7 @@ import ( "github.com/pulumi/pulumi-kubernetes/pkg/await" "github.com/pulumi/pulumi-kubernetes/pkg/kinds" + "k8s.io/apimachinery/pkg/runtime/schema" ) func timeoutComment(kind kinds.Kind) string { @@ -51,7 +52,7 @@ time out and mark the resource update as Failed. You can override the default ti by %s`, kind, timeoutStr, timeoutOverride) } -func comments(kind kinds.Kind) string { +func awaitComments(kind kinds.Kind) string { const preamble = `This resource waits until it is ready before registering success for create/update and populating output properties from the current state of the resource. The following conditions are used to determine whether the resource creation has @@ -122,7 +123,7 @@ out. To work around this limitation, set 'pulumi.com/skipAwait: "true"' on 2. The value of '.status.updateRevision' matches '.status.currentRevision'. ` default: - panic("comments: unhandled kind") + panic("awaitComments: unhandled kind") } comment += timeoutComment(kind) @@ -135,8 +136,16 @@ func AwaitComment(kind string) string { k := kinds.Kind(kind) switch k { case kinds.Deployment, kinds.Ingress, kinds.Job, kinds.Pod, kinds.Service, kinds.StatefulSet: - return prefix + comments(k) + return prefix + awaitComments(k) default: return "" } } + +func ApiVersionComment(gvk schema.GroupVersionKind) string { + const template = `%s is not supported by Kubernetes 1.16+ clusters. Use %s instead. + +` + gvkStr := gvk.GroupVersion().String() + "/" + gvk.Kind + return fmt.Sprintf(template, gvkStr, kinds.SuggestedApiVersion(gvk)) +} diff --git a/pkg/gen/typegen.go b/pkg/gen/typegen.go index 7bc7f20d99..9931c8f04d 100644 --- a/pkg/gen/typegen.go +++ b/pkg/gen/typegen.go @@ -241,7 +241,34 @@ func stripPrefix(name string) string { return strings.TrimPrefix(name, prefix) } -func fmtComment(comment interface{}, prefix string, bareRender bool, opts groupOpts) string { +func replaceDeprecationComment(comment string, gvk schema.GroupVersionKind, language language) string { + // The deprecation warning doesn't always appear in the same place in the OpenAPI comments. + // Standardize the message and where it appears in our docs. + re1 := regexp.MustCompile(`^DEPRECATED - .* is deprecated by .* for more information\.\s*`) + re2 := regexp.MustCompile(`DEPRECATED - .* is deprecated by .* for more information\.\s*`) + + var replacement string + switch language { + case typescript: + replacement = "@deprecated " + ApiVersionComment(gvk) + case python: + replacement = "DEPRECATED - " + ApiVersionComment(gvk) + default: + panic(fmt.Sprintf("Unsupported language '%s'", language)) + } + + if re1.MatchString(comment) { + return re1.ReplaceAllString(comment, replacement) + } else if re2.MatchString(comment) { + return ApiVersionComment(gvk) + re2.ReplaceAllString(comment, "") + } else { + return comment + } +} + +func fmtComment( + comment interface{}, prefix string, bareRender bool, opts groupOpts, gvk schema.GroupVersionKind, +) string { if comment == nil { return "" } @@ -294,6 +321,8 @@ func fmtComment(comment interface{}, prefix string, bareRender bool, opts groupO `https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md`, -1) + commentstr = replaceDeprecationComment(commentstr, gvk, opts.language) + split := strings.Split(commentstr, "\n") var lines []string for _, paragraph := range split { @@ -721,8 +750,8 @@ func createGroups(definitionsJSON map[string]interface{}, opts groupOpts) []*Gro } return &Property{ - comment: fmtComment(prop["description"], prefix, false, opts), - pythonConstructorComment: fmtComment(prop["description"], prefix+prefix+" ", true, opts), + comment: fmtComment(prop["description"], prefix, false, opts, d.gvk), + pythonConstructorComment: fmtComment(prop["description"], prefix+prefix+" ", true, opts, d.gvk), propType: t, pythonConstructorPropType: pyConstructorT, name: propName, @@ -781,8 +810,8 @@ func createGroups(definitionsJSON map[string]interface{}, opts groupOpts) []*Gro kind: d.gvk.Kind, // NOTE: This transformation assumes git users on Windows to set // the "check in with UNIX line endings" setting. - comment: fmtComment(d.data["description"], " ", true, opts), - awaitComment: fmtComment(AwaitComment(d.gvk.Kind), prefix, true, opts), + comment: fmtComment(d.data["description"], " ", true, opts, d.gvk), + awaitComment: fmtComment(AwaitComment(d.gvk.Kind), prefix, true, opts, d.gvk), properties: properties, requiredInputProperties: requiredInputProperties, optionalInputProperties: optionalInputProperties, diff --git a/pkg/kinds/deprecated.go b/pkg/kinds/deprecated.go new file mode 100644 index 0000000000..f59b996ca8 --- /dev/null +++ b/pkg/kinds/deprecated.go @@ -0,0 +1,52 @@ +// Copyright 2016-2019, Pulumi Corporation. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package kinds + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" +) + +func gvkStr(gvk schema.GroupVersionKind) string { + return gvk.GroupVersion().String() + "/" + gvk.Kind +} + +// DeprecatedApiVersion returns true if the given GVK is deprecated in the most recent k8s release. +func DeprecatedApiVersion(gvk schema.GroupVersionKind) bool { + return SuggestedApiVersion(gvk) != gvkStr(gvk) +} + +// SuggestedApiVersion returns a string with the suggested apiVersion for a given GVK. +// This is used to provide useful warning messages when a user creates a resource using a deprecated GVK. +func SuggestedApiVersion(gvk schema.GroupVersionKind) string { + switch gvk.GroupVersion() { + case schema.GroupVersion{Group: "apps", Version: "v1beta1"}, + schema.GroupVersion{Group: "apps", Version: "v1beta2"}: + return "apps/v1/" + gvk.Kind + case schema.GroupVersion{Group: "extensions", Version: "v1beta1"}: + switch Kind(gvk.Kind) { + case DaemonSet, Deployment, NetworkPolicy, ReplicaSet: + return "apps/v1/" + gvk.Kind + case Ingress: + return "networking/v1beta1/" + gvk.Kind + case PodSecurityPolicy: + return "policy/v1beta1/" + gvk.Kind + default: + return gvkStr(gvk) + } + default: + return gvkStr(gvk) + } + +} diff --git a/pkg/kinds/deprecated_test.go b/pkg/kinds/deprecated_test.go new file mode 100644 index 0000000000..0773dbfc7a --- /dev/null +++ b/pkg/kinds/deprecated_test.go @@ -0,0 +1,86 @@ +// Copyright 2016-2019, Pulumi Corporation. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package kinds + +import ( + "testing" + + . "k8s.io/apimachinery/pkg/runtime/schema" +) + +func TestDeprecatedApiVersion(t *testing.T) { + tests := []struct { + gvk GroupVersionKind + want bool + }{ + {GroupVersionKind{Group: "apps", Version: "v1", Kind: "Deployment"}, false}, + {GroupVersionKind{Group: "apps", Version: "v1beta1", Kind: "Deployment"}, true}, + {GroupVersionKind{Group: "apps", Version: "v1beta2", Kind: "Deployment"}, true}, + {GroupVersionKind{Group: "extensions", Version: "v1beta1", Kind: "DaemonSet"}, true}, + {GroupVersionKind{Group: "extensions", Version: "v1beta1", Kind: "Deployment"}, true}, + {GroupVersionKind{Group: "extensions", Version: "v1beta1", Kind: "Ingress"}, true}, + {GroupVersionKind{Group: "extensions", Version: "v1beta1", Kind: "NetworkPolicy"}, true}, + {GroupVersionKind{Group: "extensions", Version: "v1beta1", Kind: "PodSecurityPolicy"}, true}, + {GroupVersionKind{Group: "extensions", Version: "v1beta1", Kind: "ReplicaSet"}, true}, + } + for _, tt := range tests { + t.Run(tt.gvk.String(), func(t *testing.T) { + if got := DeprecatedApiVersion(tt.gvk); got != tt.want { + t.Errorf("DeprecatedApiVersion() = %v, want %v", got, tt.want) + } + }) + } +} + +func TestSuggestedApiVersion(t *testing.T) { + tests := []struct { + gvk GroupVersionKind + want string + }{ + // Deprecated ApiVersions return the suggested version string. + { + GroupVersionKind{Group: "apps", Version: "v1beta1", Kind: "Deployment"}, + "apps/v1/Deployment", + }, + { + GroupVersionKind{Group: "apps", Version: "v1beta2", Kind: "Deployment"}, + "apps/v1/Deployment", + }, + { + GroupVersionKind{Group: "extensions", Version: "v1beta1", Kind: "Deployment"}, + "apps/v1/Deployment", + }, + { + GroupVersionKind{Group: "extensions", Version: "v1beta1", Kind: "Ingress"}, + "networking/v1beta1/Ingress", + }, + { + GroupVersionKind{Group: "extensions", Version: "v1beta1", Kind: "PodSecurityPolicy"}, + "policy/v1beta1/PodSecurityPolicy", + }, + // Current ApiVersions return the same version string. + { + GroupVersionKind{Group: "apps", Version: "v1", Kind: "Deployment"}, + "apps/v1/Deployment", + }, + } + for _, tt := range tests { + t.Run(tt.gvk.String(), func(t *testing.T) { + if got := SuggestedApiVersion(tt.gvk); got != tt.want { + t.Errorf("SuggestedApiVersion() = %v, want %v", got, tt.want) + } + }) + } +} diff --git a/pkg/provider/diff.go b/pkg/provider/diff.go index b6ecac2eaf..a575289765 100644 --- a/pkg/provider/diff.go +++ b/pkg/provider/diff.go @@ -30,19 +30,19 @@ func forceNewProperties(gvk schema.GroupVersionKind) []string { return props } -type groups map[string]versions -type versions map[string]kinds -type kinds map[string]properties +type _groups map[string]_versions +type _versions map[string]_kinds +type _kinds map[string]properties type properties []string -var forceNew = groups{ - "apps": versions{ +var forceNew = _groups{ + "apps": _versions{ // NOTE: .spec.selector triggers a replacement in Deployment only AFTER v1beta1. - "v1beta1": kinds{"StatefulSet": statefulSet}, - "v1beta2": kinds{ + "v1beta1": _kinds{"StatefulSet": statefulSet}, + "v1beta2": _kinds{ "Deployment": deployment, "StatefulSet": statefulSet}, - "v1": kinds{ + "v1": _kinds{ "Deployment": deployment, "StatefulSet": statefulSet}, }, @@ -50,31 +50,31 @@ var forceNew = groups{ // for compatibility purposes. "core": core, "": core, - "policy": versions{ - "v1beta1": kinds{"PodDisruptionBudget": podDisruptionBudget}, + "policy": _versions{ + "v1beta1": _kinds{"PodDisruptionBudget": podDisruptionBudget}, }, - "rbac.authorization.k8s.io": versions{ - "v1alpha1": kinds{"ClusterRoleBinding": roleBinding, "RoleBinding": roleBinding}, - "v1beta1": kinds{"ClusterRoleBinding": roleBinding, "RoleBinding": roleBinding}, - "v1": kinds{"ClusterRoleBinding": roleBinding, "RoleBinding": roleBinding}, + "rbac.authorization.k8s.io": _versions{ + "v1alpha1": _kinds{"ClusterRoleBinding": roleBinding, "RoleBinding": roleBinding}, + "v1beta1": _kinds{"ClusterRoleBinding": roleBinding, "RoleBinding": roleBinding}, + "v1": _kinds{"ClusterRoleBinding": roleBinding, "RoleBinding": roleBinding}, }, - "storage.k8s.io": versions{ - "v1": kinds{ + "storage.k8s.io": _versions{ + "v1": _kinds{ "StorageClass": properties{ ".parameters", ".provisioner", }, }, }, - "batch": versions{ - "v1beta1": kinds{"Job": job}, - "v1": kinds{"Job": job}, - "v2alpha1": kinds{"Job": job}, + "batch": _versions{ + "v1beta1": _kinds{"Job": job}, + "v1": _kinds{"Job": job}, + "v2alpha1": _kinds{"Job": job}, }, } -var core = versions{ - "v1": kinds{ +var core = _versions{ + "v1": _kinds{ "ConfigMap": properties{".binaryData", ".data"}, "PersistentVolumeClaim": append( properties{ diff --git a/pkg/provider/provider.go b/pkg/provider/provider.go index cc4a8606f5..986e61c31b 100644 --- a/pkg/provider/provider.go +++ b/pkg/provider/provider.go @@ -30,9 +30,12 @@ import ( pkgerrors "github.com/pkg/errors" "github.com/pulumi/pulumi-kubernetes/pkg/await" "github.com/pulumi/pulumi-kubernetes/pkg/clients" + "github.com/pulumi/pulumi-kubernetes/pkg/gen" + "github.com/pulumi/pulumi-kubernetes/pkg/kinds" "github.com/pulumi/pulumi-kubernetes/pkg/logging" "github.com/pulumi/pulumi-kubernetes/pkg/metadata" "github.com/pulumi/pulumi-kubernetes/pkg/openapi" + "github.com/pulumi/pulumi/pkg/diag" "github.com/pulumi/pulumi/pkg/resource" "github.com/pulumi/pulumi/pkg/resource/plugin" "github.com/pulumi/pulumi/pkg/resource/provider" @@ -420,6 +423,10 @@ func (k *kubeProvider) Check(ctx context.Context, req *pulumirpc.CheckRequest) ( return nil, err } + if kinds.DeprecatedApiVersion(gvk) { + _ = k.host.Log(ctx, diag.Warning, urn, gen.ApiVersionComment(gvk)) + } + // If a default namespace is set on the provider for this resource, check if the resource has Namespaced // or Global scope. For namespaced resources, set the namespace to the default value if unset. if k.defaultNamespace != "" && len(newInputs.GetNamespace()) == 0 { diff --git a/sdk/nodejs/apps/v1beta1/ControllerRevision.ts b/sdk/nodejs/apps/v1beta1/ControllerRevision.ts index 5442955198..5f9331d18a 100755 --- a/sdk/nodejs/apps/v1beta1/ControllerRevision.ts +++ b/sdk/nodejs/apps/v1beta1/ControllerRevision.ts @@ -8,8 +8,9 @@ import * as outputs from "../../types/output"; import { getVersion } from "../../version"; /** - * DEPRECATED - This group version of ControllerRevision is deprecated by - * apps/v1beta2/ControllerRevision. See the release notes for more information. + * @deprecated apps/v1beta1/ControllerRevision is not supported by Kubernetes 1.16+ clusters. + * Use apps/v1/ControllerRevision instead. + * * ControllerRevision implements an immutable snapshot of state data. Clients are responsible * for serializing and deserializing the objects that contain their internal state. Once a * ControllerRevision has been successfully created, it can not be updated. The API Server will diff --git a/sdk/nodejs/apps/v1beta1/Deployment.ts b/sdk/nodejs/apps/v1beta1/Deployment.ts index 250b54ef10..db7106861c 100755 --- a/sdk/nodejs/apps/v1beta1/Deployment.ts +++ b/sdk/nodejs/apps/v1beta1/Deployment.ts @@ -8,9 +8,10 @@ import * as outputs from "../../types/output"; import { getVersion } from "../../version"; /** - * DEPRECATED - This group version of Deployment is deprecated by apps/v1beta2/Deployment. See - * the release notes for more information. Deployment enables declarative updates for Pods and - * ReplicaSets. + * @deprecated apps/v1beta1/Deployment is not supported by Kubernetes 1.16+ clusters. Use + * apps/v1/Deployment instead. + * + * Deployment enables declarative updates for Pods and ReplicaSets. * * This resource waits until it is ready before registering success for * create/update and populating output properties from the current state of the resource. diff --git a/sdk/nodejs/apps/v1beta1/StatefulSet.ts b/sdk/nodejs/apps/v1beta1/StatefulSet.ts index 561a89b4d0..eb8eab4efc 100755 --- a/sdk/nodejs/apps/v1beta1/StatefulSet.ts +++ b/sdk/nodejs/apps/v1beta1/StatefulSet.ts @@ -8,9 +8,10 @@ import * as outputs from "../../types/output"; import { getVersion } from "../../version"; /** - * DEPRECATED - This group version of StatefulSet is deprecated by apps/v1beta2/StatefulSet. See - * the release notes for more information. StatefulSet represents a set of pods with consistent - * identities. Identities are defined as: + * @deprecated apps/v1beta1/StatefulSet is not supported by Kubernetes 1.16+ clusters. Use + * apps/v1/StatefulSet instead. + * + * StatefulSet represents a set of pods with consistent identities. Identities are defined as: * - Network: A single stable DNS and hostname. * - Storage: As many VolumeClaims as requested. * The StatefulSet guarantees that a given network identity will always map to the same storage diff --git a/sdk/nodejs/apps/v1beta2/ControllerRevision.ts b/sdk/nodejs/apps/v1beta2/ControllerRevision.ts index bc111b764e..7d5e035bde 100755 --- a/sdk/nodejs/apps/v1beta2/ControllerRevision.ts +++ b/sdk/nodejs/apps/v1beta2/ControllerRevision.ts @@ -8,16 +8,17 @@ import * as outputs from "../../types/output"; import { getVersion } from "../../version"; /** - * DEPRECATED - This group version of ControllerRevision is deprecated by - * apps/v1/ControllerRevision. See the release notes for more information. ControllerRevision - * implements an immutable snapshot of state data. Clients are responsible for serializing and - * deserializing the objects that contain their internal state. Once a ControllerRevision has - * been successfully created, it can not be updated. The API Server will fail validation of all - * requests that attempt to mutate the Data field. ControllerRevisions may, however, be deleted. - * Note that, due to its use by both the DaemonSet and StatefulSet controllers for update and - * rollback, this object is beta. However, it may be subject to name and representation changes - * in future releases, and clients should not depend on its stability. It is primarily for - * internal use by controllers. + * @deprecated apps/v1beta2/ControllerRevision is not supported by Kubernetes 1.16+ clusters. + * Use apps/v1/ControllerRevision instead. + * + * ControllerRevision implements an immutable snapshot of state data. Clients are responsible + * for serializing and deserializing the objects that contain their internal state. Once a + * ControllerRevision has been successfully created, it can not be updated. The API Server will + * fail validation of all requests that attempt to mutate the Data field. ControllerRevisions + * may, however, be deleted. Note that, due to its use by both the DaemonSet and StatefulSet + * controllers for update and rollback, this object is beta. However, it may be subject to name + * and representation changes in future releases, and clients should not depend on its + * stability. It is primarily for internal use by controllers. */ export class ControllerRevision extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/apps/v1beta2/DaemonSet.ts b/sdk/nodejs/apps/v1beta2/DaemonSet.ts index 4743a9865b..16cd95b618 100755 --- a/sdk/nodejs/apps/v1beta2/DaemonSet.ts +++ b/sdk/nodejs/apps/v1beta2/DaemonSet.ts @@ -8,8 +8,10 @@ import * as outputs from "../../types/output"; import { getVersion } from "../../version"; /** - * DEPRECATED - This group version of DaemonSet is deprecated by apps/v1/DaemonSet. See the - * release notes for more information. DaemonSet represents the configuration of a daemon set. + * @deprecated apps/v1beta2/DaemonSet is not supported by Kubernetes 1.16+ clusters. Use + * apps/v1/DaemonSet instead. + * + * DaemonSet represents the configuration of a daemon set. */ export class DaemonSet extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/apps/v1beta2/Deployment.ts b/sdk/nodejs/apps/v1beta2/Deployment.ts index 545bc23471..ab4e69726f 100755 --- a/sdk/nodejs/apps/v1beta2/Deployment.ts +++ b/sdk/nodejs/apps/v1beta2/Deployment.ts @@ -8,9 +8,10 @@ import * as outputs from "../../types/output"; import { getVersion } from "../../version"; /** - * DEPRECATED - This group version of Deployment is deprecated by apps/v1/Deployment. See the - * release notes for more information. Deployment enables declarative updates for Pods and - * ReplicaSets. + * @deprecated apps/v1beta2/Deployment is not supported by Kubernetes 1.16+ clusters. Use + * apps/v1/Deployment instead. + * + * Deployment enables declarative updates for Pods and ReplicaSets. * * This resource waits until it is ready before registering success for * create/update and populating output properties from the current state of the resource. diff --git a/sdk/nodejs/apps/v1beta2/ReplicaSet.ts b/sdk/nodejs/apps/v1beta2/ReplicaSet.ts index 23f8ad40a4..ed649a78dc 100755 --- a/sdk/nodejs/apps/v1beta2/ReplicaSet.ts +++ b/sdk/nodejs/apps/v1beta2/ReplicaSet.ts @@ -8,9 +8,10 @@ import * as outputs from "../../types/output"; import { getVersion } from "../../version"; /** - * DEPRECATED - This group version of ReplicaSet is deprecated by apps/v1/ReplicaSet. See the - * release notes for more information. ReplicaSet ensures that a specified number of pod - * replicas are running at any given time. + * @deprecated apps/v1beta2/ReplicaSet is not supported by Kubernetes 1.16+ clusters. Use + * apps/v1/ReplicaSet instead. + * + * ReplicaSet ensures that a specified number of pod replicas are running at any given time. */ export class ReplicaSet extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/apps/v1beta2/StatefulSet.ts b/sdk/nodejs/apps/v1beta2/StatefulSet.ts index 8ffb89db20..db756c7481 100755 --- a/sdk/nodejs/apps/v1beta2/StatefulSet.ts +++ b/sdk/nodejs/apps/v1beta2/StatefulSet.ts @@ -8,9 +8,10 @@ import * as outputs from "../../types/output"; import { getVersion } from "../../version"; /** - * DEPRECATED - This group version of StatefulSet is deprecated by apps/v1/StatefulSet. See the - * release notes for more information. StatefulSet represents a set of pods with consistent - * identities. Identities are defined as: + * @deprecated apps/v1beta2/StatefulSet is not supported by Kubernetes 1.16+ clusters. Use + * apps/v1/StatefulSet instead. + * + * StatefulSet represents a set of pods with consistent identities. Identities are defined as: * - Network: A single stable DNS and hostname. * - Storage: As many VolumeClaims as requested. * The StatefulSet guarantees that a given network identity will always map to the same storage diff --git a/sdk/nodejs/extensions/v1beta1/DaemonSet.ts b/sdk/nodejs/extensions/v1beta1/DaemonSet.ts index 848264b851..5c5c73838a 100755 --- a/sdk/nodejs/extensions/v1beta1/DaemonSet.ts +++ b/sdk/nodejs/extensions/v1beta1/DaemonSet.ts @@ -8,8 +8,10 @@ import * as outputs from "../../types/output"; import { getVersion } from "../../version"; /** - * DEPRECATED - This group version of DaemonSet is deprecated by apps/v1beta2/DaemonSet. See the - * release notes for more information. DaemonSet represents the configuration of a daemon set. + * @deprecated extensions/v1beta1/DaemonSet is not supported by Kubernetes 1.16+ clusters. Use + * apps/v1/DaemonSet instead. + * + * DaemonSet represents the configuration of a daemon set. */ export class DaemonSet extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/extensions/v1beta1/Deployment.ts b/sdk/nodejs/extensions/v1beta1/Deployment.ts index 101cbd1138..0f7540312d 100755 --- a/sdk/nodejs/extensions/v1beta1/Deployment.ts +++ b/sdk/nodejs/extensions/v1beta1/Deployment.ts @@ -8,9 +8,10 @@ import * as outputs from "../../types/output"; import { getVersion } from "../../version"; /** - * DEPRECATED - This group version of Deployment is deprecated by apps/v1beta2/Deployment. See - * the release notes for more information. Deployment enables declarative updates for Pods and - * ReplicaSets. + * @deprecated extensions/v1beta1/Deployment is not supported by Kubernetes 1.16+ clusters. Use + * apps/v1/Deployment instead. + * + * Deployment enables declarative updates for Pods and ReplicaSets. * * This resource waits until it is ready before registering success for * create/update and populating output properties from the current state of the resource. diff --git a/sdk/nodejs/extensions/v1beta1/Ingress.ts b/sdk/nodejs/extensions/v1beta1/Ingress.ts index 66a652e43d..3f2051fd3a 100755 --- a/sdk/nodejs/extensions/v1beta1/Ingress.ts +++ b/sdk/nodejs/extensions/v1beta1/Ingress.ts @@ -8,11 +8,12 @@ import * as outputs from "../../types/output"; import { getVersion } from "../../version"; /** + * extensions/v1beta1/Ingress is not supported by Kubernetes 1.16+ clusters. Use + * networking/v1beta1/Ingress instead. + * * 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. DEPRECATED - - * This group version of Ingress is deprecated by networking.k8s.io/v1beta1 Ingress. See the - * release notes for more information. + * urls, load balance traffic, terminate SSL, offer name based virtual hosting etc. * * This resource waits until it is ready before registering success for * create/update and populating output properties from the current state of the resource. diff --git a/sdk/nodejs/extensions/v1beta1/ReplicaSet.ts b/sdk/nodejs/extensions/v1beta1/ReplicaSet.ts index 5b1b436202..eaf61ba50a 100755 --- a/sdk/nodejs/extensions/v1beta1/ReplicaSet.ts +++ b/sdk/nodejs/extensions/v1beta1/ReplicaSet.ts @@ -8,9 +8,10 @@ import * as outputs from "../../types/output"; import { getVersion } from "../../version"; /** - * DEPRECATED - This group version of ReplicaSet is deprecated by apps/v1beta2/ReplicaSet. See - * the release notes for more information. ReplicaSet ensures that a specified number of pod - * replicas are running at any given time. + * @deprecated extensions/v1beta1/ReplicaSet is not supported by Kubernetes 1.16+ clusters. Use + * apps/v1/ReplicaSet instead. + * + * ReplicaSet ensures that a specified number of pod replicas are running at any given time. */ export class ReplicaSet extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index 563c62e16d..cae9a2027b 100755 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -2720,8 +2720,9 @@ export namespace apps { export namespace v1beta1 { /** - * DEPRECATED - This group version of ControllerRevision is deprecated by - * apps/v1beta2/ControllerRevision. See the release notes for more information. + * @deprecated apps/v1beta1/ControllerRevision is not supported by Kubernetes 1.16+ clusters. + * Use apps/v1/ControllerRevision instead. + * * ControllerRevision implements an immutable snapshot of state data. Clients are responsible * for serializing and deserializing the objects that contain their internal state. Once a * ControllerRevision has been successfully created, it can not be updated. The API Server will @@ -2808,9 +2809,10 @@ export namespace apps { } /** - * DEPRECATED - This group version of Deployment is deprecated by apps/v1beta2/Deployment. See - * the release notes for more information. Deployment enables declarative updates for Pods and - * ReplicaSets. + * @deprecated apps/v1beta1/Deployment is not supported by Kubernetes 1.16+ clusters. Use + * apps/v1/Deployment instead. + * + * Deployment enables declarative updates for Pods and ReplicaSets. */ export interface Deployment { /** @@ -3227,9 +3229,10 @@ export namespace apps { /** - * DEPRECATED - This group version of StatefulSet is deprecated by apps/v1beta2/StatefulSet. See - * the release notes for more information. StatefulSet represents a set of pods with consistent - * identities. Identities are defined as: + * @deprecated apps/v1beta1/StatefulSet is not supported by Kubernetes 1.16+ clusters. Use + * apps/v1/StatefulSet instead. + * + * StatefulSet represents a set of pods with consistent identities. Identities are defined as: * - Network: A single stable DNS and hostname. * - Storage: As many VolumeClaims as requested. * The StatefulSet guarantees that a given network identity will always map to the same storage @@ -3484,16 +3487,17 @@ export namespace apps { export namespace v1beta2 { /** - * DEPRECATED - This group version of ControllerRevision is deprecated by - * apps/v1/ControllerRevision. See the release notes for more information. ControllerRevision - * implements an immutable snapshot of state data. Clients are responsible for serializing and - * deserializing the objects that contain their internal state. Once a ControllerRevision has - * been successfully created, it can not be updated. The API Server will fail validation of all - * requests that attempt to mutate the Data field. ControllerRevisions may, however, be deleted. - * Note that, due to its use by both the DaemonSet and StatefulSet controllers for update and - * rollback, this object is beta. However, it may be subject to name and representation changes - * in future releases, and clients should not depend on its stability. It is primarily for - * internal use by controllers. + * @deprecated apps/v1beta2/ControllerRevision is not supported by Kubernetes 1.16+ clusters. + * Use apps/v1/ControllerRevision instead. + * + * ControllerRevision implements an immutable snapshot of state data. Clients are responsible + * for serializing and deserializing the objects that contain their internal state. Once a + * ControllerRevision has been successfully created, it can not be updated. The API Server will + * fail validation of all requests that attempt to mutate the Data field. ControllerRevisions + * may, however, be deleted. Note that, due to its use by both the DaemonSet and StatefulSet + * controllers for update and rollback, this object is beta. However, it may be subject to name + * and representation changes in future releases, and clients should not depend on its + * stability. It is primarily for internal use by controllers. */ export interface ControllerRevision { /** @@ -3572,8 +3576,10 @@ export namespace apps { } /** - * DEPRECATED - This group version of DaemonSet is deprecated by apps/v1/DaemonSet. See the - * release notes for more information. DaemonSet represents the configuration of a daemon set. + * @deprecated apps/v1beta2/DaemonSet is not supported by Kubernetes 1.16+ clusters. Use + * apps/v1/DaemonSet instead. + * + * DaemonSet represents the configuration of a daemon set. */ export interface DaemonSet { /** @@ -3803,9 +3809,10 @@ export namespace apps { /** - * DEPRECATED - This group version of Deployment is deprecated by apps/v1/Deployment. See the - * release notes for more information. Deployment enables declarative updates for Pods and - * ReplicaSets. + * @deprecated apps/v1beta2/Deployment is not supported by Kubernetes 1.16+ clusters. Use + * apps/v1/Deployment instead. + * + * Deployment enables declarative updates for Pods and ReplicaSets. */ export interface Deployment { /** @@ -4041,9 +4048,10 @@ export namespace apps { /** - * DEPRECATED - This group version of ReplicaSet is deprecated by apps/v1/ReplicaSet. See the - * release notes for more information. ReplicaSet ensures that a specified number of pod - * replicas are running at any given time. + * @deprecated apps/v1beta2/ReplicaSet is not supported by Kubernetes 1.16+ clusters. Use + * apps/v1/ReplicaSet instead. + * + * ReplicaSet ensures that a specified number of pod replicas are running at any given time. */ export interface ReplicaSet { /** @@ -4371,9 +4379,10 @@ export namespace apps { /** - * DEPRECATED - This group version of StatefulSet is deprecated by apps/v1/StatefulSet. See the - * release notes for more information. StatefulSet represents a set of pods with consistent - * identities. Identities are defined as: + * @deprecated apps/v1beta2/StatefulSet is not supported by Kubernetes 1.16+ clusters. Use + * apps/v1/StatefulSet instead. + * + * StatefulSet represents a set of pods with consistent identities. Identities are defined as: * - Network: A single stable DNS and hostname. * - Storage: As many VolumeClaims as requested. * The StatefulSet guarantees that a given network identity will always map to the same storage @@ -14956,8 +14965,10 @@ export namespace extensions { /** - * DEPRECATED - This group version of DaemonSet is deprecated by apps/v1beta2/DaemonSet. See the - * release notes for more information. DaemonSet represents the configuration of a daemon set. + * @deprecated extensions/v1beta1/DaemonSet is not supported by Kubernetes 1.16+ clusters. Use + * apps/v1/DaemonSet instead. + * + * DaemonSet represents the configuration of a daemon set. */ export interface DaemonSet { /** @@ -15193,9 +15204,10 @@ export namespace extensions { /** - * DEPRECATED - This group version of Deployment is deprecated by apps/v1beta2/Deployment. See - * the release notes for more information. Deployment enables declarative updates for Pods and - * ReplicaSets. + * @deprecated extensions/v1beta1/Deployment is not supported by Kubernetes 1.16+ clusters. Use + * apps/v1/Deployment instead. + * + * Deployment enables declarative updates for Pods and ReplicaSets. */ export interface Deployment { /** @@ -15594,11 +15606,12 @@ export namespace extensions { /** + * extensions/v1beta1/Ingress is not supported by Kubernetes 1.16+ clusters. Use + * networking/v1beta1/Ingress instead. + * * 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. DEPRECATED - - * This group version of Ingress is deprecated by networking.k8s.io/v1beta1 Ingress. See the - * release notes for more information. + * urls, load balance traffic, terminate SSL, offer name based virtual hosting etc. */ export interface Ingress { /** @@ -16255,9 +16268,10 @@ export namespace extensions { /** - * DEPRECATED - This group version of ReplicaSet is deprecated by apps/v1beta2/ReplicaSet. See - * the release notes for more information. ReplicaSet ensures that a specified number of pod - * replicas are running at any given time. + * @deprecated extensions/v1beta1/ReplicaSet is not supported by Kubernetes 1.16+ clusters. Use + * apps/v1/ReplicaSet instead. + * + * ReplicaSet ensures that a specified number of pod replicas are running at any given time. */ export interface ReplicaSet { /** diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index c7795bf46c..9d0fe661b0 100755 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -2637,8 +2637,9 @@ export namespace apps { export namespace v1beta1 { /** - * DEPRECATED - This group version of ControllerRevision is deprecated by - * apps/v1beta2/ControllerRevision. See the release notes for more information. + * @deprecated apps/v1beta1/ControllerRevision is not supported by Kubernetes 1.16+ clusters. + * Use apps/v1/ControllerRevision instead. + * * ControllerRevision implements an immutable snapshot of state data. Clients are responsible * for serializing and deserializing the objects that contain their internal state. Once a * ControllerRevision has been successfully created, it can not be updated. The API Server will @@ -2717,9 +2718,10 @@ export namespace apps { } /** - * DEPRECATED - This group version of Deployment is deprecated by apps/v1beta2/Deployment. See - * the release notes for more information. Deployment enables declarative updates for Pods and - * ReplicaSets. + * @deprecated apps/v1beta1/Deployment is not supported by Kubernetes 1.16+ clusters. Use + * apps/v1/Deployment instead. + * + * Deployment enables declarative updates for Pods and ReplicaSets. */ export interface Deployment { /** @@ -3123,9 +3125,10 @@ export namespace apps { } /** - * DEPRECATED - This group version of StatefulSet is deprecated by apps/v1beta2/StatefulSet. See - * the release notes for more information. StatefulSet represents a set of pods with consistent - * identities. Identities are defined as: + * @deprecated apps/v1beta1/StatefulSet is not supported by Kubernetes 1.16+ clusters. Use + * apps/v1/StatefulSet instead. + * + * StatefulSet represents a set of pods with consistent identities. Identities are defined as: * - Network: A single stable DNS and hostname. * - Storage: As many VolumeClaims as requested. * The StatefulSet guarantees that a given network identity will always map to the same storage @@ -3374,16 +3377,17 @@ export namespace apps { export namespace v1beta2 { /** - * DEPRECATED - This group version of ControllerRevision is deprecated by - * apps/v1/ControllerRevision. See the release notes for more information. ControllerRevision - * implements an immutable snapshot of state data. Clients are responsible for serializing and - * deserializing the objects that contain their internal state. Once a ControllerRevision has - * been successfully created, it can not be updated. The API Server will fail validation of all - * requests that attempt to mutate the Data field. ControllerRevisions may, however, be deleted. - * Note that, due to its use by both the DaemonSet and StatefulSet controllers for update and - * rollback, this object is beta. However, it may be subject to name and representation changes - * in future releases, and clients should not depend on its stability. It is primarily for - * internal use by controllers. + * @deprecated apps/v1beta2/ControllerRevision is not supported by Kubernetes 1.16+ clusters. + * Use apps/v1/ControllerRevision instead. + * + * ControllerRevision implements an immutable snapshot of state data. Clients are responsible + * for serializing and deserializing the objects that contain their internal state. Once a + * ControllerRevision has been successfully created, it can not be updated. The API Server will + * fail validation of all requests that attempt to mutate the Data field. ControllerRevisions + * may, however, be deleted. Note that, due to its use by both the DaemonSet and StatefulSet + * controllers for update and rollback, this object is beta. However, it may be subject to name + * and representation changes in future releases, and clients should not depend on its + * stability. It is primarily for internal use by controllers. */ export interface ControllerRevision { /** @@ -3454,8 +3458,10 @@ export namespace apps { } /** - * DEPRECATED - This group version of DaemonSet is deprecated by apps/v1/DaemonSet. See the - * release notes for more information. DaemonSet represents the configuration of a daemon set. + * @deprecated apps/v1beta2/DaemonSet is not supported by Kubernetes 1.16+ clusters. Use + * apps/v1/DaemonSet instead. + * + * DaemonSet represents the configuration of a daemon set. */ export interface DaemonSet { /** @@ -3680,9 +3686,10 @@ export namespace apps { } /** - * DEPRECATED - This group version of Deployment is deprecated by apps/v1/Deployment. See the - * release notes for more information. Deployment enables declarative updates for Pods and - * ReplicaSets. + * @deprecated apps/v1beta2/Deployment is not supported by Kubernetes 1.16+ clusters. Use + * apps/v1/Deployment instead. + * + * Deployment enables declarative updates for Pods and ReplicaSets. */ export interface Deployment { /** @@ -3911,9 +3918,10 @@ export namespace apps { } /** - * DEPRECATED - This group version of ReplicaSet is deprecated by apps/v1/ReplicaSet. See the - * release notes for more information. ReplicaSet ensures that a specified number of pod - * replicas are running at any given time. + * @deprecated apps/v1beta2/ReplicaSet is not supported by Kubernetes 1.16+ clusters. Use + * apps/v1/ReplicaSet instead. + * + * ReplicaSet ensures that a specified number of pod replicas are running at any given time. */ export interface ReplicaSet { /** @@ -4235,9 +4243,10 @@ export namespace apps { } /** - * DEPRECATED - This group version of StatefulSet is deprecated by apps/v1/StatefulSet. See the - * release notes for more information. StatefulSet represents a set of pods with consistent - * identities. Identities are defined as: + * @deprecated apps/v1beta2/StatefulSet is not supported by Kubernetes 1.16+ clusters. Use + * apps/v1/StatefulSet instead. + * + * StatefulSet represents a set of pods with consistent identities. Identities are defined as: * - Network: A single stable DNS and hostname. * - Storage: As many VolumeClaims as requested. * The StatefulSet guarantees that a given network identity will always map to the same storage @@ -14452,8 +14461,10 @@ export namespace extensions { } /** - * DEPRECATED - This group version of DaemonSet is deprecated by apps/v1beta2/DaemonSet. See the - * release notes for more information. DaemonSet represents the configuration of a daemon set. + * @deprecated extensions/v1beta1/DaemonSet is not supported by Kubernetes 1.16+ clusters. Use + * apps/v1/DaemonSet instead. + * + * DaemonSet represents the configuration of a daemon set. */ export interface DaemonSet { /** @@ -14684,9 +14695,10 @@ export namespace extensions { } /** - * DEPRECATED - This group version of Deployment is deprecated by apps/v1beta2/Deployment. See - * the release notes for more information. Deployment enables declarative updates for Pods and - * ReplicaSets. + * @deprecated extensions/v1beta1/Deployment is not supported by Kubernetes 1.16+ clusters. Use + * apps/v1/Deployment instead. + * + * Deployment enables declarative updates for Pods and ReplicaSets. */ export interface Deployment { /** @@ -15068,11 +15080,12 @@ export namespace extensions { } /** + * extensions/v1beta1/Ingress is not supported by Kubernetes 1.16+ clusters. Use + * networking/v1beta1/Ingress instead. + * * 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. DEPRECATED - - * This group version of Ingress is deprecated by networking.k8s.io/v1beta1 Ingress. See the - * release notes for more information. + * urls, load balance traffic, terminate SSL, offer name based virtual hosting etc. */ export interface Ingress { /** @@ -15700,9 +15713,10 @@ export namespace extensions { } /** - * DEPRECATED - This group version of ReplicaSet is deprecated by apps/v1beta2/ReplicaSet. See - * the release notes for more information. ReplicaSet ensures that a specified number of pod - * replicas are running at any given time. + * @deprecated extensions/v1beta1/ReplicaSet is not supported by Kubernetes 1.16+ clusters. Use + * apps/v1/ReplicaSet instead. + * + * ReplicaSet ensures that a specified number of pod replicas are running at any given time. */ export interface ReplicaSet { /** diff --git a/sdk/python/pulumi_kubernetes/apps/v1beta1/ControllerRevision.py b/sdk/python/pulumi_kubernetes/apps/v1beta1/ControllerRevision.py index f033061809..597bf538fc 100755 --- a/sdk/python/pulumi_kubernetes/apps/v1beta1/ControllerRevision.py +++ b/sdk/python/pulumi_kubernetes/apps/v1beta1/ControllerRevision.py @@ -13,16 +13,17 @@ class ControllerRevision(pulumi.CustomResource): """ - DEPRECATED - This group version of ControllerRevision is deprecated by - apps/v1beta2/ControllerRevision. See the release notes for more information. ControllerRevision - implements an immutable snapshot of state data. Clients are responsible for serializing and - deserializing the objects that contain their internal state. Once a ControllerRevision has been - successfully created, it can not be updated. The API Server will fail validation of all requests - that attempt to mutate the Data field. ControllerRevisions may, however, be deleted. Note that, - due to its use by both the DaemonSet and StatefulSet controllers for update and rollback, this - object is beta. However, it may be subject to name and representation changes in future - releases, and clients should not depend on its stability. It is primarily for internal use by - controllers. + DEPRECATED - apps/v1beta1/ControllerRevision is not supported by Kubernetes 1.16+ clusters. Use + apps/v1/ControllerRevision instead. + + ControllerRevision implements an immutable snapshot of state data. Clients are responsible for + serializing and deserializing the objects that contain their internal state. Once a + ControllerRevision has been successfully created, it can not be updated. The API Server will + fail validation of all requests that attempt to mutate the Data field. ControllerRevisions may, + however, be deleted. Note that, due to its use by both the DaemonSet and StatefulSet controllers + for update and rollback, this object is beta. However, it may be subject to name and + representation changes in future releases, and clients should not depend on its stability. It is + primarily for internal use by controllers. """ apiVersion: pulumi.Output[str] diff --git a/sdk/python/pulumi_kubernetes/apps/v1beta1/Deployment.py b/sdk/python/pulumi_kubernetes/apps/v1beta1/Deployment.py index 1ae397287e..188cbd0577 100755 --- a/sdk/python/pulumi_kubernetes/apps/v1beta1/Deployment.py +++ b/sdk/python/pulumi_kubernetes/apps/v1beta1/Deployment.py @@ -13,9 +13,10 @@ class Deployment(pulumi.CustomResource): """ - DEPRECATED - This group version of Deployment is deprecated by apps/v1beta2/Deployment. See the - release notes for more information. Deployment enables declarative updates for Pods and - ReplicaSets. + DEPRECATED - apps/v1beta1/Deployment is not supported by Kubernetes 1.16+ clusters. Use + apps/v1/Deployment instead. + + Deployment enables declarative updates for Pods and ReplicaSets. This resource waits until it is ready before registering success for create/update and populating output properties from the current state of the resource. diff --git a/sdk/python/pulumi_kubernetes/apps/v1beta1/StatefulSet.py b/sdk/python/pulumi_kubernetes/apps/v1beta1/StatefulSet.py index 324ed45aa9..95e72edc39 100755 --- a/sdk/python/pulumi_kubernetes/apps/v1beta1/StatefulSet.py +++ b/sdk/python/pulumi_kubernetes/apps/v1beta1/StatefulSet.py @@ -13,9 +13,10 @@ class StatefulSet(pulumi.CustomResource): """ - DEPRECATED - This group version of StatefulSet is deprecated by apps/v1beta2/StatefulSet. See - the release notes for more information. StatefulSet represents a set of pods with consistent - identities. Identities are defined as: + DEPRECATED - apps/v1beta1/StatefulSet is not supported by Kubernetes 1.16+ clusters. Use + apps/v1/StatefulSet instead. + + StatefulSet represents a set of pods with consistent identities. Identities are defined as: - Network: A single stable DNS and hostname. - Storage: As many VolumeClaims as requested. The StatefulSet guarantees that a given network identity will always map to the same storage diff --git a/sdk/python/pulumi_kubernetes/apps/v1beta2/ControllerRevision.py b/sdk/python/pulumi_kubernetes/apps/v1beta2/ControllerRevision.py index 611aaa3f0d..0ba8d03fbe 100755 --- a/sdk/python/pulumi_kubernetes/apps/v1beta2/ControllerRevision.py +++ b/sdk/python/pulumi_kubernetes/apps/v1beta2/ControllerRevision.py @@ -13,16 +13,17 @@ class ControllerRevision(pulumi.CustomResource): """ - DEPRECATED - This group version of ControllerRevision is deprecated by - apps/v1/ControllerRevision. See the release notes for more information. ControllerRevision - implements an immutable snapshot of state data. Clients are responsible for serializing and - deserializing the objects that contain their internal state. Once a ControllerRevision has been - successfully created, it can not be updated. The API Server will fail validation of all requests - that attempt to mutate the Data field. ControllerRevisions may, however, be deleted. Note that, - due to its use by both the DaemonSet and StatefulSet controllers for update and rollback, this - object is beta. However, it may be subject to name and representation changes in future - releases, and clients should not depend on its stability. It is primarily for internal use by - controllers. + DEPRECATED - apps/v1beta2/ControllerRevision is not supported by Kubernetes 1.16+ clusters. Use + apps/v1/ControllerRevision instead. + + ControllerRevision implements an immutable snapshot of state data. Clients are responsible for + serializing and deserializing the objects that contain their internal state. Once a + ControllerRevision has been successfully created, it can not be updated. The API Server will + fail validation of all requests that attempt to mutate the Data field. ControllerRevisions may, + however, be deleted. Note that, due to its use by both the DaemonSet and StatefulSet controllers + for update and rollback, this object is beta. However, it may be subject to name and + representation changes in future releases, and clients should not depend on its stability. It is + primarily for internal use by controllers. """ apiVersion: pulumi.Output[str] diff --git a/sdk/python/pulumi_kubernetes/apps/v1beta2/DaemonSet.py b/sdk/python/pulumi_kubernetes/apps/v1beta2/DaemonSet.py index 7e31e8be1f..aed1ccf421 100755 --- a/sdk/python/pulumi_kubernetes/apps/v1beta2/DaemonSet.py +++ b/sdk/python/pulumi_kubernetes/apps/v1beta2/DaemonSet.py @@ -13,8 +13,10 @@ class DaemonSet(pulumi.CustomResource): """ - DEPRECATED - This group version of DaemonSet is deprecated by apps/v1/DaemonSet. See the release - notes for more information. DaemonSet represents the configuration of a daemon set. + DEPRECATED - apps/v1beta2/DaemonSet is not supported by Kubernetes 1.16+ clusters. Use + apps/v1/DaemonSet instead. + + DaemonSet represents the configuration of a daemon set. """ apiVersion: pulumi.Output[str] diff --git a/sdk/python/pulumi_kubernetes/apps/v1beta2/Deployment.py b/sdk/python/pulumi_kubernetes/apps/v1beta2/Deployment.py index 86a0eaeee0..65fb4df00d 100755 --- a/sdk/python/pulumi_kubernetes/apps/v1beta2/Deployment.py +++ b/sdk/python/pulumi_kubernetes/apps/v1beta2/Deployment.py @@ -13,9 +13,10 @@ class Deployment(pulumi.CustomResource): """ - DEPRECATED - This group version of Deployment is deprecated by apps/v1/Deployment. See the - release notes for more information. Deployment enables declarative updates for Pods and - ReplicaSets. + DEPRECATED - apps/v1beta2/Deployment is not supported by Kubernetes 1.16+ clusters. Use + apps/v1/Deployment instead. + + Deployment enables declarative updates for Pods and ReplicaSets. This resource waits until it is ready before registering success for create/update and populating output properties from the current state of the resource. diff --git a/sdk/python/pulumi_kubernetes/apps/v1beta2/ReplicaSet.py b/sdk/python/pulumi_kubernetes/apps/v1beta2/ReplicaSet.py index bf82dee9f1..8b37a1cf9a 100755 --- a/sdk/python/pulumi_kubernetes/apps/v1beta2/ReplicaSet.py +++ b/sdk/python/pulumi_kubernetes/apps/v1beta2/ReplicaSet.py @@ -13,9 +13,10 @@ class ReplicaSet(pulumi.CustomResource): """ - DEPRECATED - This group version of ReplicaSet is deprecated by apps/v1/ReplicaSet. See the - release notes for more information. ReplicaSet ensures that a specified number of pod replicas - are running at any given time. + DEPRECATED - apps/v1beta2/ReplicaSet is not supported by Kubernetes 1.16+ clusters. Use + apps/v1/ReplicaSet instead. + + ReplicaSet ensures that a specified number of pod replicas are running at any given time. """ apiVersion: pulumi.Output[str] diff --git a/sdk/python/pulumi_kubernetes/apps/v1beta2/StatefulSet.py b/sdk/python/pulumi_kubernetes/apps/v1beta2/StatefulSet.py index 072641dcc0..1c2e469c60 100755 --- a/sdk/python/pulumi_kubernetes/apps/v1beta2/StatefulSet.py +++ b/sdk/python/pulumi_kubernetes/apps/v1beta2/StatefulSet.py @@ -13,9 +13,10 @@ class StatefulSet(pulumi.CustomResource): """ - DEPRECATED - This group version of StatefulSet is deprecated by apps/v1/StatefulSet. See the - release notes for more information. StatefulSet represents a set of pods with consistent - identities. Identities are defined as: + DEPRECATED - apps/v1beta2/StatefulSet is not supported by Kubernetes 1.16+ clusters. Use + apps/v1/StatefulSet instead. + + StatefulSet represents a set of pods with consistent identities. Identities are defined as: - Network: A single stable DNS and hostname. - Storage: As many VolumeClaims as requested. The StatefulSet guarantees that a given network identity will always map to the same storage diff --git a/sdk/python/pulumi_kubernetes/extensions/v1beta1/DaemonSet.py b/sdk/python/pulumi_kubernetes/extensions/v1beta1/DaemonSet.py index 673d20e78a..0677930e0b 100755 --- a/sdk/python/pulumi_kubernetes/extensions/v1beta1/DaemonSet.py +++ b/sdk/python/pulumi_kubernetes/extensions/v1beta1/DaemonSet.py @@ -13,8 +13,10 @@ class DaemonSet(pulumi.CustomResource): """ - DEPRECATED - This group version of DaemonSet is deprecated by apps/v1beta2/DaemonSet. See the - release notes for more information. DaemonSet represents the configuration of a daemon set. + DEPRECATED - extensions/v1beta1/DaemonSet is not supported by Kubernetes 1.16+ clusters. Use + apps/v1/DaemonSet instead. + + DaemonSet represents the configuration of a daemon set. """ apiVersion: pulumi.Output[str] diff --git a/sdk/python/pulumi_kubernetes/extensions/v1beta1/Deployment.py b/sdk/python/pulumi_kubernetes/extensions/v1beta1/Deployment.py index 9750ad9fbc..b23d1adad6 100755 --- a/sdk/python/pulumi_kubernetes/extensions/v1beta1/Deployment.py +++ b/sdk/python/pulumi_kubernetes/extensions/v1beta1/Deployment.py @@ -13,9 +13,10 @@ class Deployment(pulumi.CustomResource): """ - DEPRECATED - This group version of Deployment is deprecated by apps/v1beta2/Deployment. See the - release notes for more information. Deployment enables declarative updates for Pods and - ReplicaSets. + DEPRECATED - extensions/v1beta1/Deployment is not supported by Kubernetes 1.16+ clusters. Use + apps/v1/Deployment instead. + + Deployment enables declarative updates for Pods and ReplicaSets. This resource waits until it is ready before registering success for create/update and populating output properties from the current state of the resource. diff --git a/sdk/python/pulumi_kubernetes/extensions/v1beta1/Ingress.py b/sdk/python/pulumi_kubernetes/extensions/v1beta1/Ingress.py index c94e95444c..4478939acd 100755 --- a/sdk/python/pulumi_kubernetes/extensions/v1beta1/Ingress.py +++ b/sdk/python/pulumi_kubernetes/extensions/v1beta1/Ingress.py @@ -13,11 +13,12 @@ class Ingress(pulumi.CustomResource): """ + extensions/v1beta1/Ingress is not supported by Kubernetes 1.16+ clusters. Use + networking/v1beta1/Ingress instead. + 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. DEPRECATED - This group - version of Ingress is deprecated by networking.k8s.io/v1beta1 Ingress. See the release notes for - more information. + balance traffic, terminate SSL, offer name based virtual hosting etc. This resource waits until it is ready before registering success for create/update and populating output properties from the current state of the resource. diff --git a/sdk/python/pulumi_kubernetes/extensions/v1beta1/ReplicaSet.py b/sdk/python/pulumi_kubernetes/extensions/v1beta1/ReplicaSet.py index 5ed15d72be..7fe707fb85 100755 --- a/sdk/python/pulumi_kubernetes/extensions/v1beta1/ReplicaSet.py +++ b/sdk/python/pulumi_kubernetes/extensions/v1beta1/ReplicaSet.py @@ -13,9 +13,10 @@ class ReplicaSet(pulumi.CustomResource): """ - DEPRECATED - This group version of ReplicaSet is deprecated by apps/v1beta2/ReplicaSet. See the - release notes for more information. ReplicaSet ensures that a specified number of pod replicas - are running at any given time. + DEPRECATED - extensions/v1beta1/ReplicaSet is not supported by Kubernetes 1.16+ clusters. Use + apps/v1/ReplicaSet instead. + + ReplicaSet ensures that a specified number of pod replicas are running at any given time. """ apiVersion: pulumi.Output[str]