From ec97d8562df363fb9b95757b67e1739a6e757e60 Mon Sep 17 00:00:00 2001 From: Pulumi Bot <30351955+pulumi-bot@users.noreply.github.com> Date: Wed, 16 Oct 2024 15:27:07 -0700 Subject: [PATCH] Automated upgrade: bump pulumi/pulumi to 3.136.1 (#208) Automated upgrade: bump pulumi/pulumi to 3.136.1 --------- Co-authored-by: Bryce Lampe --- .pulumi.version | 2 +- provider/go.mod | 4 +- provider/go.sum | 8 +- sdk/java/build.gradle | 2 +- .../kubernetescertmanager/CertManager.java | 17 +- .../kubernetescertmanager/Provider.java | 17 +- .../kubernetescertmanager/Utilities.java | 14 +- sdk/nodejs/package.json | 2 +- .../pulumi_kubernetes_cert_manager/_inputs.py | 490 ++++++++++++++++++ .../_utilities.py | 46 +- .../cert_manager.py | 43 +- .../pulumi_kubernetes_cert_manager/outputs.py | 5 + .../provider.py | 5 + sdk/python/pyproject.toml | 2 +- 14 files changed, 606 insertions(+), 51 deletions(-) diff --git a/.pulumi.version b/.pulumi.version index 7d8d828..e4e8f53 100644 --- a/.pulumi.version +++ b/.pulumi.version @@ -1 +1 @@ -3.116.1 +3.136.1 diff --git a/provider/go.mod b/provider/go.mod index c6d403c..585a8cc 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -7,8 +7,8 @@ toolchain go1.21.6 require ( github.com/pulumi/pulumi-go-helmbase v0.0.15-0.20240130224250-9aab5822f6ea github.com/pulumi/pulumi-kubernetes/sdk/v4 v4.7.1 - github.com/pulumi/pulumi/pkg/v3 v3.134.1 - github.com/pulumi/pulumi/sdk/v3 v3.134.1 + github.com/pulumi/pulumi/pkg/v3 v3.136.1 + github.com/pulumi/pulumi/sdk/v3 v3.136.1 ) require ( diff --git a/provider/go.sum b/provider/go.sum index 1e053ce..65eb196 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -156,10 +156,10 @@ github.com/pulumi/pulumi-go-helmbase v0.0.15-0.20240130224250-9aab5822f6ea h1:BG github.com/pulumi/pulumi-go-helmbase v0.0.15-0.20240130224250-9aab5822f6ea/go.mod h1:cxsd1EGTjMa/gjhowyfoT3x2jEFcgRXM6SxyLAT699E= github.com/pulumi/pulumi-kubernetes/sdk/v4 v4.7.1 h1:2UevMcV/aV1CFIUJLfypkIpk/hpV875gzF6qrHCsDlM= github.com/pulumi/pulumi-kubernetes/sdk/v4 v4.7.1/go.mod h1:qhS6ceWLzuezFONGe+0OOxGuMLKLUdQk816B07/D8IY= -github.com/pulumi/pulumi/pkg/v3 v3.134.1 h1:iGKvaSHEoPCGBqDoIGQUXUm3qkrawfd513lL0I9vnNQ= -github.com/pulumi/pulumi/pkg/v3 v3.134.1/go.mod h1:1iCee1QIwXYvkIQJ/HnBjsPsmYJ/arBPWX6hAao/Pro= -github.com/pulumi/pulumi/sdk/v3 v3.134.1 h1:v1zd0d+B9gpUhsdJ483YUMHwHXqDvXvZ+mh/A4HhPWg= -github.com/pulumi/pulumi/sdk/v3 v3.134.1/go.mod h1:J5kQEX8v87aeUhk6NdQXnjCo1DbiOnOiL3Sf2DuDda8= +github.com/pulumi/pulumi/pkg/v3 v3.136.1 h1:zA8aJZ7qI0QgZkBKjjQaYHEcigK6pZfrbfG38imXzWo= +github.com/pulumi/pulumi/pkg/v3 v3.136.1/go.mod h1:Iz8QIs07AbEdrO52hEIEM5C4VBDUYFH2NdM9u2xxBxY= +github.com/pulumi/pulumi/sdk/v3 v3.136.1 h1:VJWTgdBrLvvzIkMbGq/epNEfT65P9gTvw14UF/I7hTI= +github.com/pulumi/pulumi/sdk/v3 v3.136.1/go.mod h1:PvKsX88co8XuwuPdzolMvew5lZV+4JmZfkeSjj7A6dI= github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis= diff --git a/sdk/java/build.gradle b/sdk/java/build.gradle index f3c16fa..b2a0bfb 100644 --- a/sdk/java/build.gradle +++ b/sdk/java/build.gradle @@ -151,4 +151,4 @@ if (signingKey) { useInMemoryPgpKeys(signingKey, signingPassword) sign publishing.publications.mainPublication } -} \ No newline at end of file +} diff --git a/sdk/java/src/main/java/com/pulumi/kubernetescertmanager/CertManager.java b/sdk/java/src/main/java/com/pulumi/kubernetescertmanager/CertManager.java index 9a282e9..0bc3001 100644 --- a/sdk/java/src/main/java/com/pulumi/kubernetescertmanager/CertManager.java +++ b/sdk/java/src/main/java/com/pulumi/kubernetescertmanager/CertManager.java @@ -37,7 +37,7 @@ public Output status() { * * @param name The _unique_ name of the resulting resource. */ - public CertManager(String name) { + public CertManager(java.lang.String name) { this(name, CertManagerArgs.Empty); } /** @@ -45,7 +45,7 @@ public CertManager(String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public CertManager(String name, @Nullable CertManagerArgs args) { + public CertManager(java.lang.String name, @Nullable CertManagerArgs args) { this(name, args, null); } /** @@ -54,11 +54,18 @@ public CertManager(String name, @Nullable CertManagerArgs args) { * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public CertManager(String name, @Nullable CertManagerArgs args, @Nullable com.pulumi.resources.ComponentResourceOptions options) { - super("kubernetes-cert-manager:index:CertManager", name, args == null ? CertManagerArgs.Empty : args, makeResourceOptions(options, Codegen.empty()), true); + public CertManager(java.lang.String name, @Nullable CertManagerArgs args, @Nullable com.pulumi.resources.ComponentResourceOptions options) { + super("kubernetes-cert-manager:index:CertManager", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), true); } - private static com.pulumi.resources.ComponentResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.ComponentResourceOptions options, @Nullable Output id) { + private static CertManagerArgs makeArgs(@Nullable CertManagerArgs args, @Nullable com.pulumi.resources.ComponentResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? CertManagerArgs.Empty : args; + } + + private static com.pulumi.resources.ComponentResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.ComponentResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.ComponentResourceOptions.builder() .version(Utilities.getVersion()) .build(); diff --git a/sdk/java/src/main/java/com/pulumi/kubernetescertmanager/Provider.java b/sdk/java/src/main/java/com/pulumi/kubernetescertmanager/Provider.java index 4438547..6c15ddf 100644 --- a/sdk/java/src/main/java/com/pulumi/kubernetescertmanager/Provider.java +++ b/sdk/java/src/main/java/com/pulumi/kubernetescertmanager/Provider.java @@ -16,7 +16,7 @@ public class Provider extends com.pulumi.resources.ProviderResource { * * @param name The _unique_ name of the resulting resource. */ - public Provider(String name) { + public Provider(java.lang.String name) { this(name, ProviderArgs.Empty); } /** @@ -24,7 +24,7 @@ public Provider(String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public Provider(String name, @Nullable ProviderArgs args) { + public Provider(java.lang.String name, @Nullable ProviderArgs args) { this(name, args, null); } /** @@ -33,11 +33,18 @@ public Provider(String name, @Nullable ProviderArgs args) { * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public Provider(String name, @Nullable ProviderArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("kubernetes-cert-manager", name, args == null ? ProviderArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + public Provider(java.lang.String name, @Nullable ProviderArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("kubernetes-cert-manager", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } - private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + private static ProviderArgs makeArgs(@Nullable ProviderArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? ProviderArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) .build(); diff --git a/sdk/java/src/main/java/com/pulumi/kubernetescertmanager/Utilities.java b/sdk/java/src/main/java/com/pulumi/kubernetescertmanager/Utilities.java index bc3535a..6579144 100644 --- a/sdk/java/src/main/java/com/pulumi/kubernetescertmanager/Utilities.java +++ b/sdk/java/src/main/java/com/pulumi/kubernetescertmanager/Utilities.java @@ -17,7 +17,7 @@ public class Utilities { - public static Optional getEnv(String... names) { + public static Optional getEnv(java.lang.String... names) { for (var n : names) { var value = Environment.getEnvironmentVariable(n); if (value.isValue()) { @@ -27,7 +27,7 @@ public static Optional getEnv(String... names) { return Optional.empty(); } - public static Optional getEnvBoolean(String... names) { + public static Optional getEnvBoolean(java.lang.String... names) { for (var n : names) { var value = Environment.getBooleanEnvironmentVariable(n); if (value.isValue()) { @@ -37,7 +37,7 @@ public static Optional getEnvBoolean(String... names) { return Optional.empty(); } - public static Optional getEnvInteger(String... names) { + public static Optional getEnvInteger(java.lang.String... names) { for (var n : names) { var value = Environment.getIntegerEnvironmentVariable(n); if (value.isValue()) { @@ -47,7 +47,7 @@ public static Optional getEnvInteger(String... names) { return Optional.empty(); } - public static Optional getEnvDouble(String... names) { + public static Optional getEnvDouble(java.lang.String... names) { for (var n : names) { var value = Environment.getDoubleEnvironmentVariable(n); if (value.isValue()) { @@ -68,8 +68,8 @@ public static InvokeOptions withVersion(@Nullable InvokeOptions options) { ); } - private static final String version; - public static String getVersion() { + private static final java.lang.String version; + public static java.lang.String getVersion() { return version; } @@ -78,7 +78,7 @@ public static String getVersion() { var versionFile = Utilities.class.getClassLoader().getResourceAsStream(resourceName); if (versionFile == null) { throw new IllegalStateException( - String.format("expected resource '%s' on Classpath, not found", resourceName) + java.lang.String.format("expected resource '%s' on Classpath, not found", resourceName) ); } version = new BufferedReader(new InputStreamReader(versionFile)) diff --git a/sdk/nodejs/package.json b/sdk/nodejs/package.json index beef5e2..0a48172 100644 --- a/sdk/nodejs/package.json +++ b/sdk/nodejs/package.json @@ -16,7 +16,7 @@ }, "dependencies": { "@pulumi/kubernetes": "^4.0.0", - "@pulumi/pulumi": "^3.42.0" + "@pulumi/pulumi": "^3.136.0" }, "devDependencies": { "@types/node": "^14", diff --git a/sdk/python/pulumi_kubernetes_cert_manager/_inputs.py b/sdk/python/pulumi_kubernetes_cert_manager/_inputs.py index 6899a62..a99d981 100644 --- a/sdk/python/pulumi_kubernetes_cert_manager/_inputs.py +++ b/sdk/python/pulumi_kubernetes_cert_manager/_inputs.py @@ -4,31 +4,92 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities import pulumi_kubernetes __all__ = [ 'CertManagerCaInjectorArgs', + 'CertManagerCaInjectorArgsDict', 'CertManagerGlobalLeaderElectionArgs', + 'CertManagerGlobalLeaderElectionArgsDict', 'CertManagerGlobalPodSecurityPolicyArgs', + 'CertManagerGlobalPodSecurityPolicyArgsDict', 'CertManagerGlobalRbacArgs', + 'CertManagerGlobalRbacArgsDict', 'CertManagerGlobalArgs', + 'CertManagerGlobalArgsDict', 'CertManagerImageArgs', + 'CertManagerImageArgsDict', 'CertManagerIngressShimArgs', + 'CertManagerIngressShimArgsDict', 'CertManagerPrometheusServiceMonitorArgs', + 'CertManagerPrometheusServiceMonitorArgsDict', 'CertManagerPrometheusArgs', + 'CertManagerPrometheusArgsDict', 'CertManagerServiceAccountArgs', + 'CertManagerServiceAccountArgsDict', 'CertManagerStartupAPICheckRBACArgs', + 'CertManagerStartupAPICheckRBACArgsDict', 'CertManagerStartupAPICheckArgs', + 'CertManagerStartupAPICheckArgsDict', 'CertManagerWebhookURLArgs', + 'CertManagerWebhookURLArgsDict', 'CertManagerWebhookArgs', + 'CertManagerWebhookArgsDict', 'ReleaseArgs', + 'ReleaseArgsDict', 'RepositoryOptsArgs', + 'RepositoryOptsArgsDict', ] +MYPY = False + +if not MYPY: + class CertManagerCaInjectorArgsDict(TypedDict): + affinity: NotRequired[pulumi.Input['pulumi_kubernetes.core.v1.AffinityArgs']] + container_security_context: NotRequired[pulumi.Input['pulumi_kubernetes.core.v1.SecurityContextArgs']] + """ + Container Security Context to be set on the cainjector component container. ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ + """ + deployment_annotations: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]] + """ + Optional additional annotations to add to the cainjector Deployment + """ + extra_args: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] + """ + Optional additional arguments for cainjector + """ + image: NotRequired[pulumi.Input['CertManagerImageArgsDict']] + node_selector: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]] + pod_annotations: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]] + """ + Optional additional annotations to add to the cainjector Pods + """ + pod_labels: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]] + """ + Optional additional labels to add to the Webhook Pods + """ + pod_security_context: NotRequired[pulumi.Input['pulumi_kubernetes.core.v1.PodSecurityContextArgs']] + """ + Pod Security Context to be set on the cainjector component Pod. ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ + """ + replica_count: NotRequired[pulumi.Input[int]] + resources: NotRequired[pulumi.Input['pulumi_kubernetes.core.v1.ResourceRequirementsArgs']] + service_account: NotRequired[pulumi.Input['CertManagerServiceAccountArgsDict']] + strategy: NotRequired[pulumi.Input['pulumi_kubernetes.apps.v1.DeploymentStrategyArgs']] + timeout_seconds: NotRequired[pulumi.Input[int]] + tolerations: NotRequired[pulumi.Input[Sequence[pulumi.Input['pulumi_kubernetes.core.v1.TolerationArgs']]]] +elif False: + CertManagerCaInjectorArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class CertManagerCaInjectorArgs: def __init__(__self__, *, @@ -240,6 +301,23 @@ def tolerations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['pulumi pulumi.set(self, "tolerations", value) +if not MYPY: + class CertManagerGlobalLeaderElectionArgsDict(TypedDict): + lease_duration: NotRequired[pulumi.Input[str]] + """ + The duration that non-leader candidates will wait after observing a leadership renewal until attempting to acquire leadership of a led but unrenewed leader slot. This is effectively the maximum duration that a leader can be stopped before it is replaced by another candidate. + """ + namespace: NotRequired[pulumi.Input[str]] + """ + Override the namespace used to store the ConfigMap for leader election. + """ + renew_deadline: NotRequired[pulumi.Input[str]] + """ + The interval between attempts by the acting master to renew a leadership slot before it stops leading. This must be less than or equal to the lease duration. + """ +elif False: + CertManagerGlobalLeaderElectionArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class CertManagerGlobalLeaderElectionArgs: def __init__(__self__, *, @@ -295,6 +373,13 @@ def renew_deadline(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "renew_deadline", value) +if not MYPY: + class CertManagerGlobalPodSecurityPolicyArgsDict(TypedDict): + enabled: NotRequired[pulumi.Input[bool]] + use_app_armor: NotRequired[pulumi.Input[bool]] +elif False: + CertManagerGlobalPodSecurityPolicyArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class CertManagerGlobalPodSecurityPolicyArgs: def __init__(__self__, *, @@ -324,6 +409,12 @@ def use_app_armor(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "use_app_armor", value) +if not MYPY: + class CertManagerGlobalRbacArgsDict(TypedDict): + create: NotRequired[pulumi.Input[bool]] +elif False: + CertManagerGlobalRbacArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class CertManagerGlobalRbacArgs: def __init__(__self__, *, @@ -341,6 +432,26 @@ def create(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "create", value) +if not MYPY: + class CertManagerGlobalArgsDict(TypedDict): + image_pull_secrets: NotRequired[pulumi.Input[Sequence[pulumi.Input['pulumi_kubernetes.core.v1.LocalObjectReferenceArgs']]]] + """ + Reference to one or more secrets to be used when pulling images. ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ + """ + leader_election: NotRequired[pulumi.Input['CertManagerGlobalLeaderElectionArgsDict']] + log_level: NotRequired[pulumi.Input[int]] + """ + Set the verbosity of cert-manager. Range of 0 - 6 with 6 being the most verbose. + """ + pod_security_policy: NotRequired[pulumi.Input['CertManagerGlobalPodSecurityPolicyArgsDict']] + priority_class_name: NotRequired[pulumi.Input[str]] + """ + Optional priority class to be used for the cert-manager pods. + """ + rbac: NotRequired[pulumi.Input['CertManagerGlobalRbacArgsDict']] +elif False: + CertManagerGlobalArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class CertManagerGlobalArgs: def __init__(__self__, *, @@ -432,6 +543,28 @@ def rbac(self, value: Optional[pulumi.Input['CertManagerGlobalRbacArgs']]): pulumi.set(self, "rbac", value) +if not MYPY: + class CertManagerImageArgsDict(TypedDict): + digest: NotRequired[pulumi.Input[str]] + """ + Setting a digest will override any tag, e.g. `digest: sha256:0e072dddd1f7f8fc8909a2ca6f65e76c5f0d2fcfb8be47935ae3457e8bbceb20`. + """ + pull_policy: NotRequired[pulumi.Input[str]] + registry: NotRequired[pulumi.Input[str]] + """ + You can manage a registry with `registry: quay.io`. + """ + repository: NotRequired[pulumi.Input[str]] + """ + You can manage a registry with `repository: jetstack/cert-manager-controller`. + """ + tag: NotRequired[pulumi.Input[str]] + """ + Override the image tag to deploy by setting this variable. If no value is set, the chart's appVersion will be used. + """ +elif False: + CertManagerImageArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class CertManagerImageArgs: def __init__(__self__, *, @@ -515,6 +648,14 @@ def tag(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "tag", value) +if not MYPY: + class CertManagerIngressShimArgsDict(TypedDict): + default_issuer_group: NotRequired[pulumi.Input[str]] + default_issuer_kind: NotRequired[pulumi.Input[str]] + default_issuer_name: NotRequired[pulumi.Input[str]] +elif False: + CertManagerIngressShimArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class CertManagerIngressShimArgs: def __init__(__self__, *, @@ -556,6 +697,18 @@ def default_issuer_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "default_issuer_name", value) +if not MYPY: + class CertManagerPrometheusServiceMonitorArgsDict(TypedDict): + enabled: NotRequired[pulumi.Input[bool]] + interval: NotRequired[pulumi.Input[str]] + labels: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]] + path: NotRequired[pulumi.Input[str]] + prometheus_instance: NotRequired[pulumi.Input[str]] + string: NotRequired[pulumi.Input[str]] + target_port: NotRequired[pulumi.Input[int]] +elif False: + CertManagerPrometheusServiceMonitorArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class CertManagerPrometheusServiceMonitorArgs: def __init__(__self__, *, @@ -645,6 +798,13 @@ def target_port(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "target_port", value) +if not MYPY: + class CertManagerPrometheusArgsDict(TypedDict): + enabled: NotRequired[pulumi.Input[bool]] + service_monitor: NotRequired[pulumi.Input['CertManagerPrometheusServiceMonitorArgsDict']] +elif False: + CertManagerPrometheusArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class CertManagerPrometheusArgs: def __init__(__self__, *, @@ -674,6 +834,27 @@ def service_monitor(self, value: Optional[pulumi.Input['CertManagerPrometheusSer pulumi.set(self, "service_monitor", value) +if not MYPY: + class CertManagerServiceAccountArgsDict(TypedDict): + annotations: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]] + """ + Optional additional annotations to add to the controller's ServiceAccount. + """ + automount_service_account_token: NotRequired[pulumi.Input[bool]] + """ + Automount API credentials for a Service Account. + """ + create: NotRequired[pulumi.Input[bool]] + """ + Specifies whether a service account should be created + """ + name: NotRequired[pulumi.Input[str]] + """ + The name of the service account to use. If not set and create is true, a name is generated using the fullname template. + """ +elif False: + CertManagerServiceAccountArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class CertManagerServiceAccountArgs: def __init__(__self__, *, @@ -745,6 +926,15 @@ def name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "name", value) +if not MYPY: + class CertManagerStartupAPICheckRBACArgsDict(TypedDict): + annotations: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]] + """ + annotations for the startup API Check job RBAC and PSP resources + """ +elif False: + CertManagerStartupAPICheckRBACArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class CertManagerStartupAPICheckRBACArgs: def __init__(__self__, *, @@ -768,6 +958,47 @@ def annotations(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str pulumi.set(self, "annotations", value) +if not MYPY: + class CertManagerStartupAPICheckArgsDict(TypedDict): + affinity: NotRequired[pulumi.Input['pulumi_kubernetes.core.v1.AffinityArgs']] + backoff_limit: NotRequired[pulumi.Input[int]] + """ + Job backoffLimit + """ + enabled: NotRequired[pulumi.Input[bool]] + extra_args: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] + """ + Optional additional arguments for startupapicheck + """ + image: NotRequired[pulumi.Input['CertManagerImageArgsDict']] + job_annotations: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]] + """ + Optional additional annotations to add to the startupapicheck Job + """ + node_selector: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]] + pod_annotations: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]] + """ + Optional additional annotations to add to the startupapicheck Pods + """ + pod_labels: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]] + """ + Optional additional labels to add to the startupapicheck Pods + """ + rbac: NotRequired[pulumi.Input['CertManagerStartupAPICheckRBACArgsDict']] + resources: NotRequired[pulumi.Input['pulumi_kubernetes.core.v1.ResourceRequirementsArgs']] + security_context: NotRequired[pulumi.Input['pulumi_kubernetes.core.v1.PodSecurityContextArgs']] + """ + Pod Security Context to be set on the startupapicheck component Pod. ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ + """ + service_account: NotRequired[pulumi.Input['CertManagerServiceAccountArgsDict']] + timeout: NotRequired[pulumi.Input[str]] + """ + Timeout for 'kubectl check api' command + """ + tolerations: NotRequired[pulumi.Input[Sequence[pulumi.Input['pulumi_kubernetes.core.v1.TolerationArgs']]]] +elif False: + CertManagerStartupAPICheckArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class CertManagerStartupAPICheckArgs: def __init__(__self__, *, @@ -983,6 +1214,12 @@ def tolerations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['pulumi pulumi.set(self, "tolerations", value) +if not MYPY: + class CertManagerWebhookURLArgsDict(TypedDict): + host: NotRequired[pulumi.Input[str]] +elif False: + CertManagerWebhookURLArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class CertManagerWebhookURLArgs: def __init__(__self__, *, @@ -1000,6 +1237,85 @@ def host(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "host", value) +if not MYPY: + class CertManagerWebhookArgsDict(TypedDict): + affinity: NotRequired[pulumi.Input['pulumi_kubernetes.core.v1.AffinityArgs']] + container_security_context: NotRequired[pulumi.Input['pulumi_kubernetes.core.v1.SecurityContextArgs']] + """ + Container Security Context to be set on the webhook component container. ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ + """ + deployment_annotations: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]] + """ + Optional additional annotations to add to the webhook Deployment + """ + extra_args: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] + """ + Optional additional arguments for webhook + """ + host_network: NotRequired[pulumi.Input[bool]] + """ + Specifies if the webhook should be started in hostNetwork mode. Required for use in some managed kubernetes clusters (such as AWS EKS) with custom CNI (such as calico), because control-plane managed by AWS cannot communicate with pods' IP CIDR and admission webhooks are not working Since the default port for the webhook conflicts with kubelet on the host network, `webhook.securePort` should be changed to an available port if running in hostNetwork mode. + """ + image: NotRequired[pulumi.Input['CertManagerImageArgsDict']] + liveness_probe: NotRequired[pulumi.Input['pulumi_kubernetes.core.v1.ProbeArgs']] + """ + Liveness probe values. Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes + """ + load_balancer_ip: NotRequired[pulumi.Input[str]] + mutating_webhook_configuration_annotations: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]] + """ + Optional additional annotations to add to the webhook MutatingWebhookConfiguration + """ + node_selector: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]] + pod_annotations: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]] + """ + Optional additional annotations to add to the webhook Pods + """ + pod_labels: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]] + """ + Optional additional labels to add to the Webhook Pods + """ + readiness_probe: NotRequired[pulumi.Input['pulumi_kubernetes.core.v1.ProbeArgs']] + """ + Readiness probe values. Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes + """ + replica_count: NotRequired[pulumi.Input[int]] + resources: NotRequired[pulumi.Input['pulumi_kubernetes.core.v1.ResourceRequirementsArgs']] + secure_port: NotRequired[pulumi.Input[int]] + """ + The port that the webhook should listen on for requests. In GKE private clusters, by default kubernetes apiservers are allowed to talk to the cluster nodes only on 443 and 10250. so configuring securePort: 10250, will work out of the box without needing to add firewall rules or requiring NET_BIND_SERVICE capabilities to bind port numbers <1000 + """ + security_context: NotRequired[pulumi.Input['pulumi_kubernetes.core.v1.PodSecurityContextArgs']] + """ + Pod Security Context to be set on the webhook component Pod. ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ + """ + service_account: NotRequired[pulumi.Input['CertManagerServiceAccountArgsDict']] + service_annotations: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]] + """ + Optional additional annotations to add to the webhook service + """ + service_labels: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]] + """ + Optional additional labels to add to the Webhook Service + """ + service_type: NotRequired[pulumi.Input[str]] + """ + Specifies how the service should be handled. Useful if you want to expose the webhook to outside of the cluster. In some cases, the control plane cannot reach internal services. + """ + strategy: NotRequired[pulumi.Input['pulumi_kubernetes.apps.v1.DeploymentStrategyArgs']] + timeout_seconds: NotRequired[pulumi.Input[int]] + tolerations: NotRequired[pulumi.Input[Sequence[pulumi.Input['pulumi_kubernetes.core.v1.TolerationArgs']]]] + url: NotRequired[pulumi.Input['CertManagerWebhookURLArgsDict']] + """ + Overrides the mutating webhook and validating webhook so they reach the webhook service using the `url` field instead of a service. + """ + validating_webhook_configuration_annotations: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]] + """ + Optional additional annotations to add to the webhook ValidatingWebhookConfiguration + """ +elif False: + CertManagerWebhookArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class CertManagerWebhookArgs: def __init__(__self__, *, @@ -1383,6 +1699,148 @@ def validating_webhook_configuration_annotations(self, value: Optional[pulumi.In pulumi.set(self, "validating_webhook_configuration_annotations", value) +if not MYPY: + class ReleaseArgsDict(TypedDict): + """ + A Release is an instance of a chart running in a Kubernetes cluster. + A Chart is a Helm package. It contains all of the resource definitions necessary to run an application, tool, or service inside of a Kubernetes cluster. + Note - Helm Release is currently in BETA and may change. Use in production environment is discouraged. + """ + atomic: NotRequired[pulumi.Input[bool]] + """ + If set, installation process purges chart on fail. `skipAwait` will be disabled automatically if atomic is used. + """ + chart: NotRequired[pulumi.Input[str]] + """ + Chart name to be installed. A path may be used. + """ + cleanup_on_fail: NotRequired[pulumi.Input[bool]] + """ + Allow deletion of new resources created in this upgrade when upgrade fails. + """ + create_namespace: NotRequired[pulumi.Input[bool]] + """ + Create the namespace if it does not exist. + """ + dependency_update: NotRequired[pulumi.Input[bool]] + """ + Run helm dependency update before installing the chart. + """ + description: NotRequired[pulumi.Input[str]] + """ + Add a custom description + """ + devel: NotRequired[pulumi.Input[bool]] + """ + Use chart development versions, too. Equivalent to version '>0.0.0-0'. If `version` is set, this is ignored. + """ + disable_crd_hooks: NotRequired[pulumi.Input[bool]] + """ + Prevent CRD hooks from, running, but run other hooks. See helm install --no-crd-hook + """ + disable_openapi_validation: NotRequired[pulumi.Input[bool]] + """ + If set, the installation process will not validate rendered templates against the Kubernetes OpenAPI Schema + """ + disable_webhooks: NotRequired[pulumi.Input[bool]] + """ + Prevent hooks from running. + """ + force_update: NotRequired[pulumi.Input[bool]] + """ + Force resource update through delete/recreate if needed. + """ + keyring: NotRequired[pulumi.Input[str]] + """ + Location of public keys used for verification. Used only if `verify` is true + """ + lint: NotRequired[pulumi.Input[bool]] + """ + Run helm lint when planning. + """ + manifest: NotRequired[pulumi.Input[Mapping[str, Any]]] + """ + The rendered manifests as JSON. Not yet supported. + """ + max_history: NotRequired[pulumi.Input[int]] + """ + Limit the maximum number of revisions saved per release. Use 0 for no limit. + """ + name: NotRequired[pulumi.Input[str]] + """ + Release name. + """ + namespace: NotRequired[pulumi.Input[str]] + """ + Namespace to install the release into. + """ + postrender: NotRequired[pulumi.Input[str]] + """ + Postrender command to run. + """ + recreate_pods: NotRequired[pulumi.Input[bool]] + """ + Perform pods restart during upgrade/rollback. + """ + render_subchart_notes: NotRequired[pulumi.Input[bool]] + """ + If set, render subchart notes along with the parent. + """ + replace: NotRequired[pulumi.Input[bool]] + """ + Re-use the given name, even if that name is already used. This is unsafe in production + """ + repository_opts: NotRequired[pulumi.Input['RepositoryOptsArgsDict']] + """ + Specification defining the Helm chart repository to use. + """ + reset_values: NotRequired[pulumi.Input[bool]] + """ + When upgrading, reset the values to the ones built into the chart. + """ + resource_names: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[Sequence[pulumi.Input[str]]]]]] + """ + Names of resources created by the release grouped by "kind/version". + """ + reuse_values: NotRequired[pulumi.Input[bool]] + """ + When upgrading, reuse the last release's values and merge in any overrides. If 'resetValues' is specified, this is ignored + """ + skip_await: NotRequired[pulumi.Input[bool]] + """ + By default, the provider waits until all resources are in a ready state before marking the release as successful. Setting this to true will skip such await logic. + """ + skip_crds: NotRequired[pulumi.Input[bool]] + """ + If set, no CRDs will be installed. By default, CRDs are installed if not already present. + """ + timeout: NotRequired[pulumi.Input[int]] + """ + Time in seconds to wait for any individual kubernetes operation. + """ + value_yaml_files: NotRequired[pulumi.Input[Sequence[pulumi.Input[Union[pulumi.Asset, pulumi.Archive]]]]] + """ + List of assets (raw yaml files). Content is read and merged with values. Not yet supported. + """ + values: NotRequired[pulumi.Input[Mapping[str, Any]]] + """ + Custom values set for the release. + """ + verify: NotRequired[pulumi.Input[bool]] + """ + Verify the package before installing it. + """ + version: NotRequired[pulumi.Input[str]] + """ + Specify the exact chart version to install. If this is not specified, the latest version is installed. + """ + wait_for_jobs: NotRequired[pulumi.Input[bool]] + """ + Will wait until all Jobs have been completed before marking the release as successful. This is ignored if `skipAwait` is enabled. + """ +elif False: + ReleaseArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class ReleaseArgs: def __init__(__self__, *, @@ -1921,6 +2379,38 @@ def wait_for_jobs(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "wait_for_jobs", value) +if not MYPY: + class RepositoryOptsArgsDict(TypedDict): + """ + Specification defining the Helm chart repository to use. + """ + ca_file: NotRequired[pulumi.Input[str]] + """ + The Repository's CA File + """ + cert_file: NotRequired[pulumi.Input[str]] + """ + The repository's cert file + """ + key_file: NotRequired[pulumi.Input[str]] + """ + The repository's cert key file + """ + password: NotRequired[pulumi.Input[str]] + """ + Password for HTTP basic authentication + """ + repo: NotRequired[pulumi.Input[str]] + """ + Repository where to locate the requested chart. If is a URL the chart is installed without installing the repository. + """ + username: NotRequired[pulumi.Input[str]] + """ + Username for HTTP basic authentication + """ +elif False: + RepositoryOptsArgsDict: TypeAlias = Mapping[str, Any] + @pulumi.input_type class RepositoryOptsArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_kubernetes_cert_manager/_utilities.py b/sdk/python/pulumi_kubernetes_cert_manager/_utilities.py index 0eb0046..67959f3 100644 --- a/sdk/python/pulumi_kubernetes_cert_manager/_utilities.py +++ b/sdk/python/pulumi_kubernetes_cert_manager/_utilities.py @@ -4,6 +4,7 @@ import asyncio +import functools import importlib.metadata import importlib.util import inspect @@ -11,14 +12,19 @@ import os import sys import typing +import warnings +import base64 import pulumi import pulumi.runtime from pulumi.runtime.sync_await import _sync_await +from pulumi.runtime.proto import resource_pb2 from semver import VersionInfo as SemverVersion from parver import Version as PEP440Version +C = typing.TypeVar("C", bound=typing.Callable) + def get_env(*args): for v in args: @@ -96,10 +102,6 @@ def _get_semver_version(): _version = _get_semver_version() _version_str = str(_version) - -def get_version(): - return _version_str - def get_resource_opts_defaults() -> pulumi.ResourceOptions: return pulumi.ResourceOptions( version=get_version(), @@ -262,7 +264,7 @@ def call_plain( output = pulumi.runtime.call(tok, props, res, typ) # Ingoring deps silently. They are typically non-empty, r.f() calls include r as a dependency. - result, known, secret, _ = _sync_await(asyncio.ensure_future(_await_output(output))) + result, known, secret, _ = _sync_await(asyncio.create_task(_await_output(output))) problem = None if not known: @@ -287,5 +289,39 @@ async def _await_output(o: pulumi.Output[typing.Any]) -> typing.Tuple[object, bo await o._resources, ) + +# This is included to provide an upgrade path for users who are using a version +# of the Pulumi SDK (<3.121.0) that does not include the `deprecated` decorator. +def deprecated(message: str) -> typing.Callable[[C], C]: + """ + Decorator to indicate a function is deprecated. + + As well as inserting appropriate statements to indicate that the function is + deprecated, this decorator also tags the function with a special attribute + so that Pulumi code can detect that it is deprecated and react appropriately + in certain situations. + + message is the deprecation message that should be printed if the function is called. + """ + + def decorator(fn: C) -> C: + if not callable(fn): + raise TypeError("Expected fn to be callable") + + @functools.wraps(fn) + def deprecated_fn(*args, **kwargs): + warnings.warn(message) + pulumi.warn(f"{fn.__name__} is deprecated: {message}") + + return fn(*args, **kwargs) + + deprecated_fn.__dict__["_pulumi_deprecated_callable"] = fn + return typing.cast(C, deprecated_fn) + + return decorator + def get_plugin_download_url(): return None + +def get_version(): + return _version_str diff --git a/sdk/python/pulumi_kubernetes_cert_manager/cert_manager.py b/sdk/python/pulumi_kubernetes_cert_manager/cert_manager.py index 11c7235..efcb14f 100644 --- a/sdk/python/pulumi_kubernetes_cert_manager/cert_manager.py +++ b/sdk/python/pulumi_kubernetes_cert_manager/cert_manager.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities from . import outputs from ._inputs import * @@ -480,7 +485,7 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, affinity: Optional[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.AffinityArgs']]] = None, - cainjector: Optional[pulumi.Input[pulumi.InputType['CertManagerCaInjectorArgs']]] = None, + cainjector: Optional[pulumi.Input[Union['CertManagerCaInjectorArgs', 'CertManagerCaInjectorArgsDict']]] = None, cluster_resource_namespace: Optional[pulumi.Input[str]] = None, container_security_context: Optional[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.SecurityContextArgs']]] = None, deployment_annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, @@ -489,12 +494,12 @@ def __init__(__self__, extra_volume_mounts: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.VolumeMountArgs']]]]] = None, extra_volumes: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.VolumeArgs']]]]] = None, feature_gates: Optional[pulumi.Input[str]] = None, - global_: Optional[pulumi.Input[pulumi.InputType['CertManagerGlobalArgs']]] = None, - helm_options: Optional[pulumi.Input[pulumi.InputType['ReleaseArgs']]] = None, + global_: Optional[pulumi.Input[Union['CertManagerGlobalArgs', 'CertManagerGlobalArgsDict']]] = None, + helm_options: Optional[pulumi.Input[Union['ReleaseArgs', 'ReleaseArgsDict']]] = None, http_proxy: Optional[pulumi.Input[str]] = None, https_proxy: Optional[pulumi.Input[str]] = None, - image: Optional[pulumi.Input[pulumi.InputType['CertManagerImageArgs']]] = None, - ingress_shim: Optional[pulumi.Input[pulumi.InputType['CertManagerIngressShimArgs']]] = None, + image: Optional[pulumi.Input[Union['CertManagerImageArgs', 'CertManagerImageArgsDict']]] = None, + ingress_shim: Optional[pulumi.Input[Union['CertManagerIngressShimArgs', 'CertManagerIngressShimArgsDict']]] = None, install_crds: Optional[pulumi.Input[bool]] = None, no_proxy: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, node_selector: Optional[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.NodeSelectorArgs']]] = None, @@ -502,17 +507,17 @@ def __init__(__self__, pod_dns_config: Optional[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.PodDNSConfigArgs']]] = None, pod_dns_policy: Optional[pulumi.Input[str]] = None, pod_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - prometheus: Optional[pulumi.Input[pulumi.InputType['CertManagerPrometheusArgs']]] = None, + prometheus: Optional[pulumi.Input[Union['CertManagerPrometheusArgs', 'CertManagerPrometheusArgsDict']]] = None, replica_count: Optional[pulumi.Input[int]] = None, resources: Optional[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.ResourceRequirementsArgs']]] = None, security_context: Optional[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.PodSecurityContextArgs']]] = None, - service_account: Optional[pulumi.Input[pulumi.InputType['CertManagerServiceAccountArgs']]] = None, + service_account: Optional[pulumi.Input[Union['CertManagerServiceAccountArgs', 'CertManagerServiceAccountArgsDict']]] = None, service_annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, service_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - startupapicheck: Optional[pulumi.Input[pulumi.InputType['CertManagerStartupAPICheckArgs']]] = None, + startupapicheck: Optional[pulumi.Input[Union['CertManagerStartupAPICheckArgs', 'CertManagerStartupAPICheckArgsDict']]] = None, strategy: Optional[pulumi.Input[pulumi.InputType['pulumi_kubernetes.apps.v1.DeploymentStrategyArgs']]] = None, tolerations: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.TolerationArgs']]]]] = None, - webhook: Optional[pulumi.Input[pulumi.InputType['CertManagerWebhookArgs']]] = None, + webhook: Optional[pulumi.Input[Union['CertManagerWebhookArgs', 'CertManagerWebhookArgsDict']]] = None, __props__=None): """ Automates the management and issuance of TLS certificates from various issuing sources within Kubernetes @@ -524,7 +529,7 @@ def __init__(__self__, :param pulumi.Input[Mapping[str, pulumi.Input[str]]] deployment_annotations: Optional additional annotations to add to the controller Deployment :param pulumi.Input[Sequence[pulumi.Input[str]]] extra_args: Optional additional arguments. :param pulumi.Input[str] feature_gates: Comma separated list of feature gates that should be enabled on the controller pod. - :param pulumi.Input[pulumi.InputType['ReleaseArgs']] helm_options: HelmOptions is an escape hatch that lets the end user control any aspect of the Helm deployment. This exposes the entirety of the underlying Helm Release component args. + :param pulumi.Input[Union['ReleaseArgs', 'ReleaseArgsDict']] helm_options: HelmOptions is an escape hatch that lets the end user control any aspect of the Helm deployment. This exposes the entirety of the underlying Helm Release component args. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pod_annotations: Optional additional annotations to add to the controller Pods :param pulumi.Input[str] pod_dns_policy: Optional DNS settings, useful if you have a public and private DNS zone for the same domain on Route 53. What follows is an example of ensuring cert-manager can access an ingress or DNS TXT records at all times. NOTE: This requires Kubernetes 1.10 or `CustomPodDNS` feature gate enabled for the cluster to work. :param pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.PodSecurityContextArgs']] security_context: Pod Security Context. ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ @@ -556,7 +561,7 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, affinity: Optional[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.AffinityArgs']]] = None, - cainjector: Optional[pulumi.Input[pulumi.InputType['CertManagerCaInjectorArgs']]] = None, + cainjector: Optional[pulumi.Input[Union['CertManagerCaInjectorArgs', 'CertManagerCaInjectorArgsDict']]] = None, cluster_resource_namespace: Optional[pulumi.Input[str]] = None, container_security_context: Optional[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.SecurityContextArgs']]] = None, deployment_annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, @@ -565,12 +570,12 @@ def _internal_init(__self__, extra_volume_mounts: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.VolumeMountArgs']]]]] = None, extra_volumes: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.VolumeArgs']]]]] = None, feature_gates: Optional[pulumi.Input[str]] = None, - global_: Optional[pulumi.Input[pulumi.InputType['CertManagerGlobalArgs']]] = None, - helm_options: Optional[pulumi.Input[pulumi.InputType['ReleaseArgs']]] = None, + global_: Optional[pulumi.Input[Union['CertManagerGlobalArgs', 'CertManagerGlobalArgsDict']]] = None, + helm_options: Optional[pulumi.Input[Union['ReleaseArgs', 'ReleaseArgsDict']]] = None, http_proxy: Optional[pulumi.Input[str]] = None, https_proxy: Optional[pulumi.Input[str]] = None, - image: Optional[pulumi.Input[pulumi.InputType['CertManagerImageArgs']]] = None, - ingress_shim: Optional[pulumi.Input[pulumi.InputType['CertManagerIngressShimArgs']]] = None, + image: Optional[pulumi.Input[Union['CertManagerImageArgs', 'CertManagerImageArgsDict']]] = None, + ingress_shim: Optional[pulumi.Input[Union['CertManagerIngressShimArgs', 'CertManagerIngressShimArgsDict']]] = None, install_crds: Optional[pulumi.Input[bool]] = None, no_proxy: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, node_selector: Optional[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.NodeSelectorArgs']]] = None, @@ -578,17 +583,17 @@ def _internal_init(__self__, pod_dns_config: Optional[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.PodDNSConfigArgs']]] = None, pod_dns_policy: Optional[pulumi.Input[str]] = None, pod_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - prometheus: Optional[pulumi.Input[pulumi.InputType['CertManagerPrometheusArgs']]] = None, + prometheus: Optional[pulumi.Input[Union['CertManagerPrometheusArgs', 'CertManagerPrometheusArgsDict']]] = None, replica_count: Optional[pulumi.Input[int]] = None, resources: Optional[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.ResourceRequirementsArgs']]] = None, security_context: Optional[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.PodSecurityContextArgs']]] = None, - service_account: Optional[pulumi.Input[pulumi.InputType['CertManagerServiceAccountArgs']]] = None, + service_account: Optional[pulumi.Input[Union['CertManagerServiceAccountArgs', 'CertManagerServiceAccountArgsDict']]] = None, service_annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, service_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, - startupapicheck: Optional[pulumi.Input[pulumi.InputType['CertManagerStartupAPICheckArgs']]] = None, + startupapicheck: Optional[pulumi.Input[Union['CertManagerStartupAPICheckArgs', 'CertManagerStartupAPICheckArgsDict']]] = None, strategy: Optional[pulumi.Input[pulumi.InputType['pulumi_kubernetes.apps.v1.DeploymentStrategyArgs']]] = None, tolerations: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.TolerationArgs']]]]] = None, - webhook: Optional[pulumi.Input[pulumi.InputType['CertManagerWebhookArgs']]] = None, + webhook: Optional[pulumi.Input[Union['CertManagerWebhookArgs', 'CertManagerWebhookArgsDict']]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): diff --git a/sdk/python/pulumi_kubernetes_cert_manager/outputs.py b/sdk/python/pulumi_kubernetes_cert_manager/outputs.py index ee9e0e8..c8f3cf9 100644 --- a/sdk/python/pulumi_kubernetes_cert_manager/outputs.py +++ b/sdk/python/pulumi_kubernetes_cert_manager/outputs.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities __all__ = [ diff --git a/sdk/python/pulumi_kubernetes_cert_manager/provider.py b/sdk/python/pulumi_kubernetes_cert_manager/provider.py index 58609f7..7ac72bf 100644 --- a/sdk/python/pulumi_kubernetes_cert_manager/provider.py +++ b/sdk/python/pulumi_kubernetes_cert_manager/provider.py @@ -4,9 +4,14 @@ import copy import warnings +import sys import pulumi import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities __all__ = ['ProviderArgs', 'Provider'] diff --git a/sdk/python/pyproject.toml b/sdk/python/pyproject.toml index 3478b28..2a7810d 100644 --- a/sdk/python/pyproject.toml +++ b/sdk/python/pyproject.toml @@ -1,7 +1,7 @@ [project] name = "pulumi_kubernetes_cert_manager" description = "Strongly-typed Cert Manager installation" - dependencies = ["parver>=0.2.1", "pulumi>=3.0.0,<4.0.0", "pulumi-kubernetes>=3.7.1,<5.0.0", "semver>=2.8.1"] + dependencies = ["parver>=0.2.1", "pulumi>=3.136.0,<4.0.0", "pulumi-kubernetes>=3.7.1,<5.0.0", "semver>=2.8.1", "typing-extensions>=4.11; python_version < \"3.11\""] keywords = ["pulumi", "kubernetes", "cert-manager", "kind/component", "category/infrastructure"] readme = "README.md" requires-python = ">=3.8"