pulumi-kubernetes-cert-manager 0.2.0a1736827123__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,657 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from . import _utilities
16
+ from . import outputs
17
+ from ._inputs import *
18
+ import pulumi_kubernetes
19
+
20
+ __all__ = ['CertManagerArgs', 'CertManager']
21
+
22
+ @pulumi.input_type
23
+ class CertManagerArgs:
24
+ def __init__(__self__, *,
25
+ affinity: Optional[pulumi.Input['pulumi_kubernetes.core.v1.AffinityArgs']] = None,
26
+ cainjector: Optional[pulumi.Input['CertManagerCaInjectorArgs']] = None,
27
+ cluster_resource_namespace: Optional[pulumi.Input[str]] = None,
28
+ container_security_context: Optional[pulumi.Input['pulumi_kubernetes.core.v1.SecurityContextArgs']] = None,
29
+ deployment_annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
30
+ extra_args: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
31
+ extra_env: Optional[pulumi.Input[Sequence[pulumi.Input['pulumi_kubernetes.core.v1.EnvVarArgs']]]] = None,
32
+ extra_volume_mounts: Optional[pulumi.Input[Sequence[pulumi.Input['pulumi_kubernetes.core.v1.VolumeMountArgs']]]] = None,
33
+ extra_volumes: Optional[pulumi.Input[Sequence[pulumi.Input['pulumi_kubernetes.core.v1.VolumeArgs']]]] = None,
34
+ feature_gates: Optional[pulumi.Input[str]] = None,
35
+ global_: Optional[pulumi.Input['CertManagerGlobalArgs']] = None,
36
+ helm_options: Optional[pulumi.Input['ReleaseArgs']] = None,
37
+ http_proxy: Optional[pulumi.Input[str]] = None,
38
+ https_proxy: Optional[pulumi.Input[str]] = None,
39
+ image: Optional[pulumi.Input['CertManagerImageArgs']] = None,
40
+ ingress_shim: Optional[pulumi.Input['CertManagerIngressShimArgs']] = None,
41
+ install_crds: Optional[pulumi.Input[bool]] = None,
42
+ no_proxy: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
43
+ node_selector: Optional[pulumi.Input['pulumi_kubernetes.core.v1.NodeSelectorArgs']] = None,
44
+ pod_annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
45
+ pod_dns_config: Optional[pulumi.Input['pulumi_kubernetes.core.v1.PodDNSConfigArgs']] = None,
46
+ pod_dns_policy: Optional[pulumi.Input[str]] = None,
47
+ pod_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
48
+ prometheus: Optional[pulumi.Input['CertManagerPrometheusArgs']] = None,
49
+ replica_count: Optional[pulumi.Input[int]] = None,
50
+ resources: Optional[pulumi.Input['pulumi_kubernetes.core.v1.ResourceRequirementsArgs']] = None,
51
+ security_context: Optional[pulumi.Input['pulumi_kubernetes.core.v1.PodSecurityContextArgs']] = None,
52
+ service_account: Optional[pulumi.Input['CertManagerServiceAccountArgs']] = None,
53
+ service_annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
54
+ service_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
55
+ startupapicheck: Optional[pulumi.Input['CertManagerStartupAPICheckArgs']] = None,
56
+ strategy: Optional[pulumi.Input['pulumi_kubernetes.apps.v1.DeploymentStrategyArgs']] = None,
57
+ tolerations: Optional[pulumi.Input[Sequence[pulumi.Input['pulumi_kubernetes.core.v1.TolerationArgs']]]] = None,
58
+ webhook: Optional[pulumi.Input['CertManagerWebhookArgs']] = None):
59
+ """
60
+ The set of arguments for constructing a CertManager resource.
61
+ :param pulumi.Input[str] cluster_resource_namespace: Override the namespace used to store DNS provider credentials etc. for ClusterIssuer resources. By default, the same namespace as cert-manager is deployed within is used. This namespace will not be automatically created by the Helm chart.
62
+ :param pulumi.Input['pulumi_kubernetes.core.v1.SecurityContextArgs'] container_security_context: Container Security Context to be set on the controller component container. ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
63
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] deployment_annotations: Optional additional annotations to add to the controller Deployment
64
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] extra_args: Optional additional arguments.
65
+ :param pulumi.Input[str] feature_gates: Comma separated list of feature gates that should be enabled on the controller pod.
66
+ :param pulumi.Input['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.
67
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pod_annotations: Optional additional annotations to add to the controller Pods
68
+ :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.
69
+ :param pulumi.Input['pulumi_kubernetes.core.v1.PodSecurityContextArgs'] security_context: Pod Security Context. ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
70
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] service_annotations: Optional additional annotations to add to the controller service
71
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] service_labels: Optional additional labels to add to the controller Service
72
+ """
73
+ if affinity is not None:
74
+ pulumi.set(__self__, "affinity", affinity)
75
+ if cainjector is not None:
76
+ pulumi.set(__self__, "cainjector", cainjector)
77
+ if cluster_resource_namespace is not None:
78
+ pulumi.set(__self__, "cluster_resource_namespace", cluster_resource_namespace)
79
+ if container_security_context is not None:
80
+ pulumi.set(__self__, "container_security_context", container_security_context)
81
+ if deployment_annotations is not None:
82
+ pulumi.set(__self__, "deployment_annotations", deployment_annotations)
83
+ if extra_args is not None:
84
+ pulumi.set(__self__, "extra_args", extra_args)
85
+ if extra_env is not None:
86
+ pulumi.set(__self__, "extra_env", extra_env)
87
+ if extra_volume_mounts is not None:
88
+ pulumi.set(__self__, "extra_volume_mounts", extra_volume_mounts)
89
+ if extra_volumes is not None:
90
+ pulumi.set(__self__, "extra_volumes", extra_volumes)
91
+ if feature_gates is not None:
92
+ pulumi.set(__self__, "feature_gates", feature_gates)
93
+ if global_ is not None:
94
+ pulumi.set(__self__, "global_", global_)
95
+ if helm_options is not None:
96
+ pulumi.set(__self__, "helm_options", helm_options)
97
+ if http_proxy is not None:
98
+ pulumi.set(__self__, "http_proxy", http_proxy)
99
+ if https_proxy is not None:
100
+ pulumi.set(__self__, "https_proxy", https_proxy)
101
+ if image is not None:
102
+ pulumi.set(__self__, "image", image)
103
+ if ingress_shim is not None:
104
+ pulumi.set(__self__, "ingress_shim", ingress_shim)
105
+ if install_crds is not None:
106
+ pulumi.set(__self__, "install_crds", install_crds)
107
+ if no_proxy is not None:
108
+ pulumi.set(__self__, "no_proxy", no_proxy)
109
+ if node_selector is not None:
110
+ pulumi.set(__self__, "node_selector", node_selector)
111
+ if pod_annotations is not None:
112
+ pulumi.set(__self__, "pod_annotations", pod_annotations)
113
+ if pod_dns_config is not None:
114
+ pulumi.set(__self__, "pod_dns_config", pod_dns_config)
115
+ if pod_dns_policy is not None:
116
+ pulumi.set(__self__, "pod_dns_policy", pod_dns_policy)
117
+ if pod_labels is not None:
118
+ pulumi.set(__self__, "pod_labels", pod_labels)
119
+ if prometheus is not None:
120
+ pulumi.set(__self__, "prometheus", prometheus)
121
+ if replica_count is not None:
122
+ pulumi.set(__self__, "replica_count", replica_count)
123
+ if resources is not None:
124
+ pulumi.set(__self__, "resources", resources)
125
+ if security_context is not None:
126
+ pulumi.set(__self__, "security_context", security_context)
127
+ if service_account is not None:
128
+ pulumi.set(__self__, "service_account", service_account)
129
+ if service_annotations is not None:
130
+ pulumi.set(__self__, "service_annotations", service_annotations)
131
+ if service_labels is not None:
132
+ pulumi.set(__self__, "service_labels", service_labels)
133
+ if startupapicheck is not None:
134
+ pulumi.set(__self__, "startupapicheck", startupapicheck)
135
+ if strategy is not None:
136
+ pulumi.set(__self__, "strategy", strategy)
137
+ if tolerations is not None:
138
+ pulumi.set(__self__, "tolerations", tolerations)
139
+ if webhook is not None:
140
+ pulumi.set(__self__, "webhook", webhook)
141
+
142
+ @property
143
+ @pulumi.getter
144
+ def affinity(self) -> Optional[pulumi.Input['pulumi_kubernetes.core.v1.AffinityArgs']]:
145
+ return pulumi.get(self, "affinity")
146
+
147
+ @affinity.setter
148
+ def affinity(self, value: Optional[pulumi.Input['pulumi_kubernetes.core.v1.AffinityArgs']]):
149
+ pulumi.set(self, "affinity", value)
150
+
151
+ @property
152
+ @pulumi.getter
153
+ def cainjector(self) -> Optional[pulumi.Input['CertManagerCaInjectorArgs']]:
154
+ return pulumi.get(self, "cainjector")
155
+
156
+ @cainjector.setter
157
+ def cainjector(self, value: Optional[pulumi.Input['CertManagerCaInjectorArgs']]):
158
+ pulumi.set(self, "cainjector", value)
159
+
160
+ @property
161
+ @pulumi.getter(name="clusterResourceNamespace")
162
+ def cluster_resource_namespace(self) -> Optional[pulumi.Input[str]]:
163
+ """
164
+ Override the namespace used to store DNS provider credentials etc. for ClusterIssuer resources. By default, the same namespace as cert-manager is deployed within is used. This namespace will not be automatically created by the Helm chart.
165
+ """
166
+ return pulumi.get(self, "cluster_resource_namespace")
167
+
168
+ @cluster_resource_namespace.setter
169
+ def cluster_resource_namespace(self, value: Optional[pulumi.Input[str]]):
170
+ pulumi.set(self, "cluster_resource_namespace", value)
171
+
172
+ @property
173
+ @pulumi.getter(name="containerSecurityContext")
174
+ def container_security_context(self) -> Optional[pulumi.Input['pulumi_kubernetes.core.v1.SecurityContextArgs']]:
175
+ """
176
+ Container Security Context to be set on the controller component container. ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
177
+ """
178
+ return pulumi.get(self, "container_security_context")
179
+
180
+ @container_security_context.setter
181
+ def container_security_context(self, value: Optional[pulumi.Input['pulumi_kubernetes.core.v1.SecurityContextArgs']]):
182
+ pulumi.set(self, "container_security_context", value)
183
+
184
+ @property
185
+ @pulumi.getter(name="deploymentAnnotations")
186
+ def deployment_annotations(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
187
+ """
188
+ Optional additional annotations to add to the controller Deployment
189
+ """
190
+ return pulumi.get(self, "deployment_annotations")
191
+
192
+ @deployment_annotations.setter
193
+ def deployment_annotations(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
194
+ pulumi.set(self, "deployment_annotations", value)
195
+
196
+ @property
197
+ @pulumi.getter(name="extraArgs")
198
+ def extra_args(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
199
+ """
200
+ Optional additional arguments.
201
+ """
202
+ return pulumi.get(self, "extra_args")
203
+
204
+ @extra_args.setter
205
+ def extra_args(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
206
+ pulumi.set(self, "extra_args", value)
207
+
208
+ @property
209
+ @pulumi.getter(name="extraEnv")
210
+ def extra_env(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['pulumi_kubernetes.core.v1.EnvVarArgs']]]]:
211
+ return pulumi.get(self, "extra_env")
212
+
213
+ @extra_env.setter
214
+ def extra_env(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['pulumi_kubernetes.core.v1.EnvVarArgs']]]]):
215
+ pulumi.set(self, "extra_env", value)
216
+
217
+ @property
218
+ @pulumi.getter(name="extraVolumeMounts")
219
+ def extra_volume_mounts(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['pulumi_kubernetes.core.v1.VolumeMountArgs']]]]:
220
+ return pulumi.get(self, "extra_volume_mounts")
221
+
222
+ @extra_volume_mounts.setter
223
+ def extra_volume_mounts(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['pulumi_kubernetes.core.v1.VolumeMountArgs']]]]):
224
+ pulumi.set(self, "extra_volume_mounts", value)
225
+
226
+ @property
227
+ @pulumi.getter(name="extraVolumes")
228
+ def extra_volumes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['pulumi_kubernetes.core.v1.VolumeArgs']]]]:
229
+ return pulumi.get(self, "extra_volumes")
230
+
231
+ @extra_volumes.setter
232
+ def extra_volumes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['pulumi_kubernetes.core.v1.VolumeArgs']]]]):
233
+ pulumi.set(self, "extra_volumes", value)
234
+
235
+ @property
236
+ @pulumi.getter(name="featureGates")
237
+ def feature_gates(self) -> Optional[pulumi.Input[str]]:
238
+ """
239
+ Comma separated list of feature gates that should be enabled on the controller pod.
240
+ """
241
+ return pulumi.get(self, "feature_gates")
242
+
243
+ @feature_gates.setter
244
+ def feature_gates(self, value: Optional[pulumi.Input[str]]):
245
+ pulumi.set(self, "feature_gates", value)
246
+
247
+ @property
248
+ @pulumi.getter(name="global")
249
+ def global_(self) -> Optional[pulumi.Input['CertManagerGlobalArgs']]:
250
+ return pulumi.get(self, "global_")
251
+
252
+ @global_.setter
253
+ def global_(self, value: Optional[pulumi.Input['CertManagerGlobalArgs']]):
254
+ pulumi.set(self, "global_", value)
255
+
256
+ @property
257
+ @pulumi.getter(name="helmOptions")
258
+ def helm_options(self) -> Optional[pulumi.Input['ReleaseArgs']]:
259
+ """
260
+ 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.
261
+ """
262
+ return pulumi.get(self, "helm_options")
263
+
264
+ @helm_options.setter
265
+ def helm_options(self, value: Optional[pulumi.Input['ReleaseArgs']]):
266
+ pulumi.set(self, "helm_options", value)
267
+
268
+ @property
269
+ @pulumi.getter
270
+ def http_proxy(self) -> Optional[pulumi.Input[str]]:
271
+ return pulumi.get(self, "http_proxy")
272
+
273
+ @http_proxy.setter
274
+ def http_proxy(self, value: Optional[pulumi.Input[str]]):
275
+ pulumi.set(self, "http_proxy", value)
276
+
277
+ @property
278
+ @pulumi.getter
279
+ def https_proxy(self) -> Optional[pulumi.Input[str]]:
280
+ return pulumi.get(self, "https_proxy")
281
+
282
+ @https_proxy.setter
283
+ def https_proxy(self, value: Optional[pulumi.Input[str]]):
284
+ pulumi.set(self, "https_proxy", value)
285
+
286
+ @property
287
+ @pulumi.getter
288
+ def image(self) -> Optional[pulumi.Input['CertManagerImageArgs']]:
289
+ return pulumi.get(self, "image")
290
+
291
+ @image.setter
292
+ def image(self, value: Optional[pulumi.Input['CertManagerImageArgs']]):
293
+ pulumi.set(self, "image", value)
294
+
295
+ @property
296
+ @pulumi.getter(name="ingressShim")
297
+ def ingress_shim(self) -> Optional[pulumi.Input['CertManagerIngressShimArgs']]:
298
+ return pulumi.get(self, "ingress_shim")
299
+
300
+ @ingress_shim.setter
301
+ def ingress_shim(self, value: Optional[pulumi.Input['CertManagerIngressShimArgs']]):
302
+ pulumi.set(self, "ingress_shim", value)
303
+
304
+ @property
305
+ @pulumi.getter(name="installCRDs")
306
+ def install_crds(self) -> Optional[pulumi.Input[bool]]:
307
+ return pulumi.get(self, "install_crds")
308
+
309
+ @install_crds.setter
310
+ def install_crds(self, value: Optional[pulumi.Input[bool]]):
311
+ pulumi.set(self, "install_crds", value)
312
+
313
+ @property
314
+ @pulumi.getter
315
+ def no_proxy(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
316
+ return pulumi.get(self, "no_proxy")
317
+
318
+ @no_proxy.setter
319
+ def no_proxy(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
320
+ pulumi.set(self, "no_proxy", value)
321
+
322
+ @property
323
+ @pulumi.getter(name="nodeSelector")
324
+ def node_selector(self) -> Optional[pulumi.Input['pulumi_kubernetes.core.v1.NodeSelectorArgs']]:
325
+ return pulumi.get(self, "node_selector")
326
+
327
+ @node_selector.setter
328
+ def node_selector(self, value: Optional[pulumi.Input['pulumi_kubernetes.core.v1.NodeSelectorArgs']]):
329
+ pulumi.set(self, "node_selector", value)
330
+
331
+ @property
332
+ @pulumi.getter(name="podAnnotations")
333
+ def pod_annotations(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
334
+ """
335
+ Optional additional annotations to add to the controller Pods
336
+ """
337
+ return pulumi.get(self, "pod_annotations")
338
+
339
+ @pod_annotations.setter
340
+ def pod_annotations(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
341
+ pulumi.set(self, "pod_annotations", value)
342
+
343
+ @property
344
+ @pulumi.getter(name="podDnsConfig")
345
+ def pod_dns_config(self) -> Optional[pulumi.Input['pulumi_kubernetes.core.v1.PodDNSConfigArgs']]:
346
+ return pulumi.get(self, "pod_dns_config")
347
+
348
+ @pod_dns_config.setter
349
+ def pod_dns_config(self, value: Optional[pulumi.Input['pulumi_kubernetes.core.v1.PodDNSConfigArgs']]):
350
+ pulumi.set(self, "pod_dns_config", value)
351
+
352
+ @property
353
+ @pulumi.getter(name="podDnsPolicy")
354
+ def pod_dns_policy(self) -> Optional[pulumi.Input[str]]:
355
+ """
356
+ 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.
357
+ """
358
+ return pulumi.get(self, "pod_dns_policy")
359
+
360
+ @pod_dns_policy.setter
361
+ def pod_dns_policy(self, value: Optional[pulumi.Input[str]]):
362
+ pulumi.set(self, "pod_dns_policy", value)
363
+
364
+ @property
365
+ @pulumi.getter(name="podLabels")
366
+ def pod_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
367
+ return pulumi.get(self, "pod_labels")
368
+
369
+ @pod_labels.setter
370
+ def pod_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
371
+ pulumi.set(self, "pod_labels", value)
372
+
373
+ @property
374
+ @pulumi.getter
375
+ def prometheus(self) -> Optional[pulumi.Input['CertManagerPrometheusArgs']]:
376
+ return pulumi.get(self, "prometheus")
377
+
378
+ @prometheus.setter
379
+ def prometheus(self, value: Optional[pulumi.Input['CertManagerPrometheusArgs']]):
380
+ pulumi.set(self, "prometheus", value)
381
+
382
+ @property
383
+ @pulumi.getter(name="replicaCount")
384
+ def replica_count(self) -> Optional[pulumi.Input[int]]:
385
+ return pulumi.get(self, "replica_count")
386
+
387
+ @replica_count.setter
388
+ def replica_count(self, value: Optional[pulumi.Input[int]]):
389
+ pulumi.set(self, "replica_count", value)
390
+
391
+ @property
392
+ @pulumi.getter
393
+ def resources(self) -> Optional[pulumi.Input['pulumi_kubernetes.core.v1.ResourceRequirementsArgs']]:
394
+ return pulumi.get(self, "resources")
395
+
396
+ @resources.setter
397
+ def resources(self, value: Optional[pulumi.Input['pulumi_kubernetes.core.v1.ResourceRequirementsArgs']]):
398
+ pulumi.set(self, "resources", value)
399
+
400
+ @property
401
+ @pulumi.getter(name="securityContext")
402
+ def security_context(self) -> Optional[pulumi.Input['pulumi_kubernetes.core.v1.PodSecurityContextArgs']]:
403
+ """
404
+ Pod Security Context. ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
405
+ """
406
+ return pulumi.get(self, "security_context")
407
+
408
+ @security_context.setter
409
+ def security_context(self, value: Optional[pulumi.Input['pulumi_kubernetes.core.v1.PodSecurityContextArgs']]):
410
+ pulumi.set(self, "security_context", value)
411
+
412
+ @property
413
+ @pulumi.getter(name="serviceAccount")
414
+ def service_account(self) -> Optional[pulumi.Input['CertManagerServiceAccountArgs']]:
415
+ return pulumi.get(self, "service_account")
416
+
417
+ @service_account.setter
418
+ def service_account(self, value: Optional[pulumi.Input['CertManagerServiceAccountArgs']]):
419
+ pulumi.set(self, "service_account", value)
420
+
421
+ @property
422
+ @pulumi.getter(name="serviceAnnotations")
423
+ def service_annotations(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
424
+ """
425
+ Optional additional annotations to add to the controller service
426
+ """
427
+ return pulumi.get(self, "service_annotations")
428
+
429
+ @service_annotations.setter
430
+ def service_annotations(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
431
+ pulumi.set(self, "service_annotations", value)
432
+
433
+ @property
434
+ @pulumi.getter(name="serviceLabels")
435
+ def service_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
436
+ """
437
+ Optional additional labels to add to the controller Service
438
+ """
439
+ return pulumi.get(self, "service_labels")
440
+
441
+ @service_labels.setter
442
+ def service_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
443
+ pulumi.set(self, "service_labels", value)
444
+
445
+ @property
446
+ @pulumi.getter
447
+ def startupapicheck(self) -> Optional[pulumi.Input['CertManagerStartupAPICheckArgs']]:
448
+ return pulumi.get(self, "startupapicheck")
449
+
450
+ @startupapicheck.setter
451
+ def startupapicheck(self, value: Optional[pulumi.Input['CertManagerStartupAPICheckArgs']]):
452
+ pulumi.set(self, "startupapicheck", value)
453
+
454
+ @property
455
+ @pulumi.getter
456
+ def strategy(self) -> Optional[pulumi.Input['pulumi_kubernetes.apps.v1.DeploymentStrategyArgs']]:
457
+ return pulumi.get(self, "strategy")
458
+
459
+ @strategy.setter
460
+ def strategy(self, value: Optional[pulumi.Input['pulumi_kubernetes.apps.v1.DeploymentStrategyArgs']]):
461
+ pulumi.set(self, "strategy", value)
462
+
463
+ @property
464
+ @pulumi.getter
465
+ def tolerations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['pulumi_kubernetes.core.v1.TolerationArgs']]]]:
466
+ return pulumi.get(self, "tolerations")
467
+
468
+ @tolerations.setter
469
+ def tolerations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['pulumi_kubernetes.core.v1.TolerationArgs']]]]):
470
+ pulumi.set(self, "tolerations", value)
471
+
472
+ @property
473
+ @pulumi.getter
474
+ def webhook(self) -> Optional[pulumi.Input['CertManagerWebhookArgs']]:
475
+ return pulumi.get(self, "webhook")
476
+
477
+ @webhook.setter
478
+ def webhook(self, value: Optional[pulumi.Input['CertManagerWebhookArgs']]):
479
+ pulumi.set(self, "webhook", value)
480
+
481
+
482
+ class CertManager(pulumi.ComponentResource):
483
+ @overload
484
+ def __init__(__self__,
485
+ resource_name: str,
486
+ opts: Optional[pulumi.ResourceOptions] = None,
487
+ affinity: Optional[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.AffinityArgs']]] = None,
488
+ cainjector: Optional[pulumi.Input[Union['CertManagerCaInjectorArgs', 'CertManagerCaInjectorArgsDict']]] = None,
489
+ cluster_resource_namespace: Optional[pulumi.Input[str]] = None,
490
+ container_security_context: Optional[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.SecurityContextArgs']]] = None,
491
+ deployment_annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
492
+ extra_args: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
493
+ extra_env: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.EnvVarArgs']]]]] = None,
494
+ extra_volume_mounts: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.VolumeMountArgs']]]]] = None,
495
+ extra_volumes: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.VolumeArgs']]]]] = None,
496
+ feature_gates: Optional[pulumi.Input[str]] = None,
497
+ global_: Optional[pulumi.Input[Union['CertManagerGlobalArgs', 'CertManagerGlobalArgsDict']]] = None,
498
+ helm_options: Optional[pulumi.Input[Union['ReleaseArgs', 'ReleaseArgsDict']]] = None,
499
+ http_proxy: Optional[pulumi.Input[str]] = None,
500
+ https_proxy: Optional[pulumi.Input[str]] = None,
501
+ image: Optional[pulumi.Input[Union['CertManagerImageArgs', 'CertManagerImageArgsDict']]] = None,
502
+ ingress_shim: Optional[pulumi.Input[Union['CertManagerIngressShimArgs', 'CertManagerIngressShimArgsDict']]] = None,
503
+ install_crds: Optional[pulumi.Input[bool]] = None,
504
+ no_proxy: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
505
+ node_selector: Optional[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.NodeSelectorArgs']]] = None,
506
+ pod_annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
507
+ pod_dns_config: Optional[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.PodDNSConfigArgs']]] = None,
508
+ pod_dns_policy: Optional[pulumi.Input[str]] = None,
509
+ pod_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
510
+ prometheus: Optional[pulumi.Input[Union['CertManagerPrometheusArgs', 'CertManagerPrometheusArgsDict']]] = None,
511
+ replica_count: Optional[pulumi.Input[int]] = None,
512
+ resources: Optional[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.ResourceRequirementsArgs']]] = None,
513
+ security_context: Optional[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.PodSecurityContextArgs']]] = None,
514
+ service_account: Optional[pulumi.Input[Union['CertManagerServiceAccountArgs', 'CertManagerServiceAccountArgsDict']]] = None,
515
+ service_annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
516
+ service_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
517
+ startupapicheck: Optional[pulumi.Input[Union['CertManagerStartupAPICheckArgs', 'CertManagerStartupAPICheckArgsDict']]] = None,
518
+ strategy: Optional[pulumi.Input[pulumi.InputType['pulumi_kubernetes.apps.v1.DeploymentStrategyArgs']]] = None,
519
+ tolerations: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.TolerationArgs']]]]] = None,
520
+ webhook: Optional[pulumi.Input[Union['CertManagerWebhookArgs', 'CertManagerWebhookArgsDict']]] = None,
521
+ __props__=None):
522
+ """
523
+ Automates the management and issuance of TLS certificates from various issuing sources within Kubernetes
524
+
525
+ :param str resource_name: The name of the resource.
526
+ :param pulumi.ResourceOptions opts: Options for the resource.
527
+ :param pulumi.Input[str] cluster_resource_namespace: Override the namespace used to store DNS provider credentials etc. for ClusterIssuer resources. By default, the same namespace as cert-manager is deployed within is used. This namespace will not be automatically created by the Helm chart.
528
+ :param pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.SecurityContextArgs']] container_security_context: Container Security Context to be set on the controller component container. ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
529
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] deployment_annotations: Optional additional annotations to add to the controller Deployment
530
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] extra_args: Optional additional arguments.
531
+ :param pulumi.Input[str] feature_gates: Comma separated list of feature gates that should be enabled on the controller pod.
532
+ :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.
533
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pod_annotations: Optional additional annotations to add to the controller Pods
534
+ :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.
535
+ :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/
536
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] service_annotations: Optional additional annotations to add to the controller service
537
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] service_labels: Optional additional labels to add to the controller Service
538
+ """
539
+ ...
540
+ @overload
541
+ def __init__(__self__,
542
+ resource_name: str,
543
+ args: Optional[CertManagerArgs] = None,
544
+ opts: Optional[pulumi.ResourceOptions] = None):
545
+ """
546
+ Automates the management and issuance of TLS certificates from various issuing sources within Kubernetes
547
+
548
+ :param str resource_name: The name of the resource.
549
+ :param CertManagerArgs args: The arguments to use to populate this resource's properties.
550
+ :param pulumi.ResourceOptions opts: Options for the resource.
551
+ """
552
+ ...
553
+ def __init__(__self__, resource_name: str, *args, **kwargs):
554
+ resource_args, opts = _utilities.get_resource_args_opts(CertManagerArgs, pulumi.ResourceOptions, *args, **kwargs)
555
+ if resource_args is not None:
556
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
557
+ else:
558
+ __self__._internal_init(resource_name, *args, **kwargs)
559
+
560
+ def _internal_init(__self__,
561
+ resource_name: str,
562
+ opts: Optional[pulumi.ResourceOptions] = None,
563
+ affinity: Optional[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.AffinityArgs']]] = None,
564
+ cainjector: Optional[pulumi.Input[Union['CertManagerCaInjectorArgs', 'CertManagerCaInjectorArgsDict']]] = None,
565
+ cluster_resource_namespace: Optional[pulumi.Input[str]] = None,
566
+ container_security_context: Optional[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.SecurityContextArgs']]] = None,
567
+ deployment_annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
568
+ extra_args: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
569
+ extra_env: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.EnvVarArgs']]]]] = None,
570
+ extra_volume_mounts: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.VolumeMountArgs']]]]] = None,
571
+ extra_volumes: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.VolumeArgs']]]]] = None,
572
+ feature_gates: Optional[pulumi.Input[str]] = None,
573
+ global_: Optional[pulumi.Input[Union['CertManagerGlobalArgs', 'CertManagerGlobalArgsDict']]] = None,
574
+ helm_options: Optional[pulumi.Input[Union['ReleaseArgs', 'ReleaseArgsDict']]] = None,
575
+ http_proxy: Optional[pulumi.Input[str]] = None,
576
+ https_proxy: Optional[pulumi.Input[str]] = None,
577
+ image: Optional[pulumi.Input[Union['CertManagerImageArgs', 'CertManagerImageArgsDict']]] = None,
578
+ ingress_shim: Optional[pulumi.Input[Union['CertManagerIngressShimArgs', 'CertManagerIngressShimArgsDict']]] = None,
579
+ install_crds: Optional[pulumi.Input[bool]] = None,
580
+ no_proxy: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
581
+ node_selector: Optional[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.NodeSelectorArgs']]] = None,
582
+ pod_annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
583
+ pod_dns_config: Optional[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.PodDNSConfigArgs']]] = None,
584
+ pod_dns_policy: Optional[pulumi.Input[str]] = None,
585
+ pod_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
586
+ prometheus: Optional[pulumi.Input[Union['CertManagerPrometheusArgs', 'CertManagerPrometheusArgsDict']]] = None,
587
+ replica_count: Optional[pulumi.Input[int]] = None,
588
+ resources: Optional[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.ResourceRequirementsArgs']]] = None,
589
+ security_context: Optional[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.PodSecurityContextArgs']]] = None,
590
+ service_account: Optional[pulumi.Input[Union['CertManagerServiceAccountArgs', 'CertManagerServiceAccountArgsDict']]] = None,
591
+ service_annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
592
+ service_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
593
+ startupapicheck: Optional[pulumi.Input[Union['CertManagerStartupAPICheckArgs', 'CertManagerStartupAPICheckArgsDict']]] = None,
594
+ strategy: Optional[pulumi.Input[pulumi.InputType['pulumi_kubernetes.apps.v1.DeploymentStrategyArgs']]] = None,
595
+ tolerations: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.TolerationArgs']]]]] = None,
596
+ webhook: Optional[pulumi.Input[Union['CertManagerWebhookArgs', 'CertManagerWebhookArgsDict']]] = None,
597
+ __props__=None):
598
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
599
+ if not isinstance(opts, pulumi.ResourceOptions):
600
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
601
+ if opts.id is not None:
602
+ raise ValueError('ComponentResource classes do not support opts.id')
603
+ else:
604
+ if __props__ is not None:
605
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
606
+ __props__ = CertManagerArgs.__new__(CertManagerArgs)
607
+
608
+ __props__.__dict__["affinity"] = affinity
609
+ __props__.__dict__["cainjector"] = cainjector
610
+ __props__.__dict__["cluster_resource_namespace"] = cluster_resource_namespace
611
+ __props__.__dict__["container_security_context"] = container_security_context
612
+ __props__.__dict__["deployment_annotations"] = deployment_annotations
613
+ __props__.__dict__["extra_args"] = extra_args
614
+ __props__.__dict__["extra_env"] = extra_env
615
+ __props__.__dict__["extra_volume_mounts"] = extra_volume_mounts
616
+ __props__.__dict__["extra_volumes"] = extra_volumes
617
+ __props__.__dict__["feature_gates"] = feature_gates
618
+ __props__.__dict__["global_"] = global_
619
+ __props__.__dict__["helm_options"] = helm_options
620
+ __props__.__dict__["http_proxy"] = http_proxy
621
+ __props__.__dict__["https_proxy"] = https_proxy
622
+ __props__.__dict__["image"] = image
623
+ __props__.__dict__["ingress_shim"] = ingress_shim
624
+ __props__.__dict__["install_crds"] = install_crds
625
+ __props__.__dict__["no_proxy"] = no_proxy
626
+ __props__.__dict__["node_selector"] = node_selector
627
+ __props__.__dict__["pod_annotations"] = pod_annotations
628
+ __props__.__dict__["pod_dns_config"] = pod_dns_config
629
+ __props__.__dict__["pod_dns_policy"] = pod_dns_policy
630
+ __props__.__dict__["pod_labels"] = pod_labels
631
+ __props__.__dict__["prometheus"] = prometheus
632
+ __props__.__dict__["replica_count"] = replica_count
633
+ __props__.__dict__["resources"] = resources
634
+ __props__.__dict__["security_context"] = security_context
635
+ __props__.__dict__["service_account"] = service_account
636
+ __props__.__dict__["service_annotations"] = service_annotations
637
+ __props__.__dict__["service_labels"] = service_labels
638
+ __props__.__dict__["startupapicheck"] = startupapicheck
639
+ __props__.__dict__["strategy"] = strategy
640
+ __props__.__dict__["tolerations"] = tolerations
641
+ __props__.__dict__["webhook"] = webhook
642
+ __props__.__dict__["status"] = None
643
+ super(CertManager, __self__).__init__(
644
+ 'kubernetes-cert-manager:index:CertManager',
645
+ resource_name,
646
+ __props__,
647
+ opts,
648
+ remote=True)
649
+
650
+ @property
651
+ @pulumi.getter
652
+ def status(self) -> pulumi.Output['outputs.ReleaseStatus']:
653
+ """
654
+ Detailed information about the status of the underlying Helm deployment.
655
+ """
656
+ return pulumi.get(self, "status")
657
+