pulumi-kubernetes-coredns 0.0.2__tar.gz → 0.1.0__tar.gz
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.
- {pulumi_kubernetes_coredns-0.0.2 → pulumi_kubernetes_coredns-0.1.0}/PKG-INFO +12 -8
- {pulumi_kubernetes_coredns-0.0.2 → pulumi_kubernetes_coredns-0.1.0}/pulumi_kubernetes_coredns/__init__.py +1 -1
- {pulumi_kubernetes_coredns-0.0.2 → pulumi_kubernetes_coredns-0.1.0}/pulumi_kubernetes_coredns/_inputs.py +435 -1
- {pulumi_kubernetes_coredns-0.0.2 → pulumi_kubernetes_coredns-0.1.0}/pulumi_kubernetes_coredns/_utilities.py +97 -6
- {pulumi_kubernetes_coredns-0.0.2 → pulumi_kubernetes_coredns-0.1.0}/pulumi_kubernetes_coredns/core_dns.py +44 -41
- {pulumi_kubernetes_coredns-0.0.2 → pulumi_kubernetes_coredns-0.1.0}/pulumi_kubernetes_coredns/outputs.py +7 -1
- {pulumi_kubernetes_coredns-0.0.2 → pulumi_kubernetes_coredns-0.1.0}/pulumi_kubernetes_coredns/provider.py +8 -5
- pulumi_kubernetes_coredns-0.1.0/pulumi_kubernetes_coredns/pulumi-plugin.json +5 -0
- {pulumi_kubernetes_coredns-0.0.2 → pulumi_kubernetes_coredns-0.1.0}/pulumi_kubernetes_coredns.egg-info/PKG-INFO +13 -9
- {pulumi_kubernetes_coredns-0.0.2 → pulumi_kubernetes_coredns-0.1.0}/pulumi_kubernetes_coredns.egg-info/SOURCES.txt +1 -2
- pulumi_kubernetes_coredns-0.1.0/pulumi_kubernetes_coredns.egg-info/requires.txt +7 -0
- pulumi_kubernetes_coredns-0.1.0/pyproject.toml +22 -0
- pulumi_kubernetes_coredns-0.0.2/pulumi_kubernetes_coredns/pulumi-plugin.json +0 -4
- pulumi_kubernetes_coredns-0.0.2/pulumi_kubernetes_coredns.egg-info/not-zip-safe +0 -1
- pulumi_kubernetes_coredns-0.0.2/pulumi_kubernetes_coredns.egg-info/requires.txt +0 -4
- pulumi_kubernetes_coredns-0.0.2/setup.py +0 -61
- {pulumi_kubernetes_coredns-0.0.2 → pulumi_kubernetes_coredns-0.1.0}/README.md +0 -0
- {pulumi_kubernetes_coredns-0.0.2 → pulumi_kubernetes_coredns-0.1.0}/pulumi_kubernetes_coredns/py.typed +0 -0
- {pulumi_kubernetes_coredns-0.0.2 → pulumi_kubernetes_coredns-0.1.0}/pulumi_kubernetes_coredns.egg-info/dependency_links.txt +0 -0
- {pulumi_kubernetes_coredns-0.0.2 → pulumi_kubernetes_coredns-0.1.0}/pulumi_kubernetes_coredns.egg-info/top_level.txt +0 -0
- {pulumi_kubernetes_coredns-0.0.2 → pulumi_kubernetes_coredns-0.1.0}/setup.cfg +0 -0
@@ -1,12 +1,18 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: pulumi_kubernetes_coredns
|
3
|
-
Version: 0.0
|
4
|
-
Summary:
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
3
|
+
Version: 0.1.0
|
4
|
+
Summary: Strongly-typed CoreDNS installation
|
5
|
+
License: Apache-2.0
|
6
|
+
Project-URL: Homepage, https://pulumi.io
|
7
|
+
Project-URL: Repository, https://github.com/pulumi/pulumi-kubernetes-coredns
|
8
|
+
Keywords: pulumi,kubernetes,coredns,kind/component,category/infrastructure
|
9
|
+
Requires-Python: >=3.9
|
9
10
|
Description-Content-Type: text/markdown
|
11
|
+
Requires-Dist: parver>=0.2.1
|
12
|
+
Requires-Dist: pulumi<4.0.0,>=3.0.0
|
13
|
+
Requires-Dist: pulumi-kubernetes<5.0.0,>=4.19.0
|
14
|
+
Requires-Dist: semver>=2.8.1
|
15
|
+
Requires-Dist: typing-extensions>=4.11; python_version < "3.11"
|
10
16
|
|
11
17
|
# Pulumi Kubernetes CoreDNS Component
|
12
18
|
|
@@ -37,5 +43,3 @@ if you need to override them, you may do so using the `helmOptions` parameter. R
|
|
37
43
|
https://www.pulumi.com/docs/reference/pkg/kubernetes/helm/v3/release/#inputs) for a full set of choices.
|
38
44
|
|
39
45
|
For complete details, refer to the Pulumi Package details within the Pulumi Registry.
|
40
|
-
|
41
|
-
|
@@ -1,33 +1,94 @@
|
|
1
1
|
# coding=utf-8
|
2
|
-
# *** WARNING: this file was generated by
|
2
|
+
# *** WARNING: this file was generated by pulumi-language-python. ***
|
3
3
|
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
4
4
|
|
5
|
+
import copy
|
5
6
|
import warnings
|
7
|
+
import sys
|
6
8
|
import pulumi
|
7
9
|
import pulumi.runtime
|
8
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
|
9
15
|
from . import _utilities
|
10
16
|
import pulumi_kubernetes
|
11
17
|
|
12
18
|
__all__ = [
|
13
19
|
'CoreDNSAutoscalerArgs',
|
20
|
+
'CoreDNSAutoscalerArgsDict',
|
14
21
|
'CoreDNSDeploymentArgs',
|
22
|
+
'CoreDNSDeploymentArgsDict',
|
15
23
|
'CoreDNSHPAArgs',
|
24
|
+
'CoreDNSHPAArgsDict',
|
16
25
|
'CoreDNSImageArgs',
|
26
|
+
'CoreDNSImageArgsDict',
|
17
27
|
'CoreDNSPrometheusMonitorArgs',
|
28
|
+
'CoreDNSPrometheusMonitorArgsDict',
|
18
29
|
'CoreDNSPrometheusServiceArgs',
|
30
|
+
'CoreDNSPrometheusServiceArgsDict',
|
19
31
|
'CoreDNSPrometheusArgs',
|
32
|
+
'CoreDNSPrometheusArgsDict',
|
20
33
|
'CoreDNSRBACArgs',
|
34
|
+
'CoreDNSRBACArgsDict',
|
21
35
|
'CoreDNSServerPluginArgs',
|
36
|
+
'CoreDNSServerPluginArgsDict',
|
22
37
|
'CoreDNSServerZoneArgs',
|
38
|
+
'CoreDNSServerZoneArgsDict',
|
23
39
|
'CoreDNSServerArgs',
|
40
|
+
'CoreDNSServerArgsDict',
|
24
41
|
'CoreDNSServiceAccountArgs',
|
42
|
+
'CoreDNSServiceAccountArgsDict',
|
25
43
|
'CoreDNSServiceArgs',
|
44
|
+
'CoreDNSServiceArgsDict',
|
26
45
|
'CoreDNSZoneFileArgs',
|
46
|
+
'CoreDNSZoneFileArgsDict',
|
27
47
|
'ReleaseArgs',
|
48
|
+
'ReleaseArgsDict',
|
28
49
|
'RepositoryOptsArgs',
|
50
|
+
'RepositoryOptsArgsDict',
|
29
51
|
]
|
30
52
|
|
53
|
+
MYPY = False
|
54
|
+
|
55
|
+
if not MYPY:
|
56
|
+
class CoreDNSAutoscalerArgsDict(TypedDict):
|
57
|
+
cores_per_replica: NotRequired[pulumi.Input[int]]
|
58
|
+
"""
|
59
|
+
Number of cores in the cluster per coredns replica.
|
60
|
+
"""
|
61
|
+
enabled: NotRequired[pulumi.Input[bool]]
|
62
|
+
"""
|
63
|
+
Enabled the cluster-proportional-autoscaler.
|
64
|
+
"""
|
65
|
+
image: NotRequired[pulumi.Input['CoreDNSImageArgsDict']]
|
66
|
+
"""
|
67
|
+
The image to pull from for the autoscaler.
|
68
|
+
"""
|
69
|
+
include_unschedulable_nodes: NotRequired[pulumi.Input[bool]]
|
70
|
+
"""
|
71
|
+
Whether to include unschedulable nodes in the nodes/cores calculations - this requires version 1.8.0+ of the autoscaler.
|
72
|
+
"""
|
73
|
+
max: NotRequired[pulumi.Input[int]]
|
74
|
+
"""
|
75
|
+
Max size of replicaCount
|
76
|
+
"""
|
77
|
+
min: NotRequired[pulumi.Input[int]]
|
78
|
+
"""
|
79
|
+
Min size of replicaCount
|
80
|
+
"""
|
81
|
+
nodes_per_replica: NotRequired[pulumi.Input[int]]
|
82
|
+
"""
|
83
|
+
Number of nodes in the cluster per coredns replica.
|
84
|
+
"""
|
85
|
+
prevent_single_point_failure: NotRequired[pulumi.Input[bool]]
|
86
|
+
"""
|
87
|
+
If true does not allow single points of failure to form.
|
88
|
+
"""
|
89
|
+
elif False:
|
90
|
+
CoreDNSAutoscalerArgsDict: TypeAlias = Mapping[str, Any]
|
91
|
+
|
31
92
|
@pulumi.input_type
|
32
93
|
class CoreDNSAutoscalerArgs:
|
33
94
|
def __init__(__self__, *,
|
@@ -163,6 +224,19 @@ class CoreDNSAutoscalerArgs:
|
|
163
224
|
pulumi.set(self, "prevent_single_point_failure", value)
|
164
225
|
|
165
226
|
|
227
|
+
if not MYPY:
|
228
|
+
class CoreDNSDeploymentArgsDict(TypedDict):
|
229
|
+
enabled: NotRequired[pulumi.Input[bool]]
|
230
|
+
"""
|
231
|
+
Optionally disable the main deployment and its respective resources.
|
232
|
+
"""
|
233
|
+
name: NotRequired[pulumi.Input[str]]
|
234
|
+
"""
|
235
|
+
Name of the deployment if deployment.enabled is true. Otherwise the name of an existing deployment for the autoscaler or HPA to target.
|
236
|
+
"""
|
237
|
+
elif False:
|
238
|
+
CoreDNSDeploymentArgsDict: TypeAlias = Mapping[str, Any]
|
239
|
+
|
166
240
|
@pulumi.input_type
|
167
241
|
class CoreDNSDeploymentArgs:
|
168
242
|
def __init__(__self__, *,
|
@@ -202,6 +276,15 @@ class CoreDNSDeploymentArgs:
|
|
202
276
|
pulumi.set(self, "name", value)
|
203
277
|
|
204
278
|
|
279
|
+
if not MYPY:
|
280
|
+
class CoreDNSHPAArgsDict(TypedDict):
|
281
|
+
enabled: NotRequired[pulumi.Input[bool]]
|
282
|
+
max_replicas: NotRequired[pulumi.Input[int]]
|
283
|
+
metrics: NotRequired[pulumi.Input['pulumi_kubernetes.autoscaling.v2beta2.MetricSpecArgsDict']]
|
284
|
+
min_replicas: NotRequired[pulumi.Input[int]]
|
285
|
+
elif False:
|
286
|
+
CoreDNSHPAArgsDict: TypeAlias = Mapping[str, Any]
|
287
|
+
|
205
288
|
@pulumi.input_type
|
206
289
|
class CoreDNSHPAArgs:
|
207
290
|
def __init__(__self__, *,
|
@@ -255,6 +338,27 @@ class CoreDNSHPAArgs:
|
|
255
338
|
pulumi.set(self, "min_replicas", value)
|
256
339
|
|
257
340
|
|
341
|
+
if not MYPY:
|
342
|
+
class CoreDNSImageArgsDict(TypedDict):
|
343
|
+
pull_policy: NotRequired[pulumi.Input[str]]
|
344
|
+
"""
|
345
|
+
Image pull policy.
|
346
|
+
"""
|
347
|
+
pull_secrets: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
|
348
|
+
"""
|
349
|
+
Specify container image pull secrets.
|
350
|
+
"""
|
351
|
+
repository: NotRequired[pulumi.Input[str]]
|
352
|
+
"""
|
353
|
+
The image repository to pull from.
|
354
|
+
"""
|
355
|
+
tag: NotRequired[pulumi.Input[str]]
|
356
|
+
"""
|
357
|
+
The image tag to pull from.
|
358
|
+
"""
|
359
|
+
elif False:
|
360
|
+
CoreDNSImageArgsDict: TypeAlias = Mapping[str, Any]
|
361
|
+
|
258
362
|
@pulumi.input_type
|
259
363
|
class CoreDNSImageArgs:
|
260
364
|
def __init__(__self__, *,
|
@@ -326,6 +430,23 @@ class CoreDNSImageArgs:
|
|
326
430
|
pulumi.set(self, "tag", value)
|
327
431
|
|
328
432
|
|
433
|
+
if not MYPY:
|
434
|
+
class CoreDNSPrometheusMonitorArgsDict(TypedDict):
|
435
|
+
additional_labels: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]]
|
436
|
+
"""
|
437
|
+
Additional labels that can be used so ServiceMonitor will be discovered by Prometheus.
|
438
|
+
"""
|
439
|
+
enabled: NotRequired[pulumi.Input[bool]]
|
440
|
+
"""
|
441
|
+
Set this to true to create ServiceMonitor for Prometheus operator.
|
442
|
+
"""
|
443
|
+
namespace: NotRequired[pulumi.Input[str]]
|
444
|
+
"""
|
445
|
+
Selector to select which namespaces the Endpoints objects are discovered from.
|
446
|
+
"""
|
447
|
+
elif False:
|
448
|
+
CoreDNSPrometheusMonitorArgsDict: TypeAlias = Mapping[str, Any]
|
449
|
+
|
329
450
|
@pulumi.input_type
|
330
451
|
class CoreDNSPrometheusMonitorArgs:
|
331
452
|
def __init__(__self__, *,
|
@@ -381,6 +502,19 @@ class CoreDNSPrometheusMonitorArgs:
|
|
381
502
|
pulumi.set(self, "namespace", value)
|
382
503
|
|
383
504
|
|
505
|
+
if not MYPY:
|
506
|
+
class CoreDNSPrometheusServiceArgsDict(TypedDict):
|
507
|
+
annotations: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]]
|
508
|
+
"""
|
509
|
+
Annotations to add to the metrics Service.
|
510
|
+
"""
|
511
|
+
enabled: NotRequired[pulumi.Input[bool]]
|
512
|
+
"""
|
513
|
+
Set this to true to create Service for Prometheus metrics.
|
514
|
+
"""
|
515
|
+
elif False:
|
516
|
+
CoreDNSPrometheusServiceArgsDict: TypeAlias = Mapping[str, Any]
|
517
|
+
|
384
518
|
@pulumi.input_type
|
385
519
|
class CoreDNSPrometheusServiceArgs:
|
386
520
|
def __init__(__self__, *,
|
@@ -420,6 +554,13 @@ class CoreDNSPrometheusServiceArgs:
|
|
420
554
|
pulumi.set(self, "enabled", value)
|
421
555
|
|
422
556
|
|
557
|
+
if not MYPY:
|
558
|
+
class CoreDNSPrometheusArgsDict(TypedDict):
|
559
|
+
monitor: NotRequired[pulumi.Input['CoreDNSPrometheusMonitorArgsDict']]
|
560
|
+
service: NotRequired[pulumi.Input['CoreDNSPrometheusServiceArgsDict']]
|
561
|
+
elif False:
|
562
|
+
CoreDNSPrometheusArgsDict: TypeAlias = Mapping[str, Any]
|
563
|
+
|
423
564
|
@pulumi.input_type
|
424
565
|
class CoreDNSPrometheusArgs:
|
425
566
|
def __init__(__self__, *,
|
@@ -449,6 +590,23 @@ class CoreDNSPrometheusArgs:
|
|
449
590
|
pulumi.set(self, "service", value)
|
450
591
|
|
451
592
|
|
593
|
+
if not MYPY:
|
594
|
+
class CoreDNSRBACArgsDict(TypedDict):
|
595
|
+
create: NotRequired[pulumi.Input[bool]]
|
596
|
+
"""
|
597
|
+
If true, create & use RBAC resources
|
598
|
+
"""
|
599
|
+
name: NotRequired[pulumi.Input[str]]
|
600
|
+
"""
|
601
|
+
The name of the ServiceAccount to use. If not set and create is true, a name is generated using the fullname template.
|
602
|
+
"""
|
603
|
+
psp_enable: NotRequired[pulumi.Input[bool]]
|
604
|
+
"""
|
605
|
+
If true, create and use PodSecurityPolicy
|
606
|
+
"""
|
607
|
+
elif False:
|
608
|
+
CoreDNSRBACArgsDict: TypeAlias = Mapping[str, Any]
|
609
|
+
|
452
610
|
@pulumi.input_type
|
453
611
|
class CoreDNSRBACArgs:
|
454
612
|
def __init__(__self__, *,
|
@@ -504,6 +662,23 @@ class CoreDNSRBACArgs:
|
|
504
662
|
pulumi.set(self, "psp_enable", value)
|
505
663
|
|
506
664
|
|
665
|
+
if not MYPY:
|
666
|
+
class CoreDNSServerPluginArgsDict(TypedDict):
|
667
|
+
config_block: NotRequired[pulumi.Input[str]]
|
668
|
+
"""
|
669
|
+
if the plugin supports extra block style config, supply it here
|
670
|
+
"""
|
671
|
+
name: NotRequired[pulumi.Input[str]]
|
672
|
+
"""
|
673
|
+
name of plugin, if used multiple times ensure that the plugin supports it!
|
674
|
+
"""
|
675
|
+
parameters: NotRequired[pulumi.Input[str]]
|
676
|
+
"""
|
677
|
+
list of parameters after the plugin
|
678
|
+
"""
|
679
|
+
elif False:
|
680
|
+
CoreDNSServerPluginArgsDict: TypeAlias = Mapping[str, Any]
|
681
|
+
|
507
682
|
@pulumi.input_type
|
508
683
|
class CoreDNSServerPluginArgs:
|
509
684
|
def __init__(__self__, *,
|
@@ -559,6 +734,23 @@ class CoreDNSServerPluginArgs:
|
|
559
734
|
pulumi.set(self, "parameters", value)
|
560
735
|
|
561
736
|
|
737
|
+
if not MYPY:
|
738
|
+
class CoreDNSServerZoneArgsDict(TypedDict):
|
739
|
+
scheme: NotRequired[pulumi.Input[str]]
|
740
|
+
"""
|
741
|
+
optional, defaults to "" (which equals "dns://" in CoreDNS)
|
742
|
+
"""
|
743
|
+
use_tcp: NotRequired[pulumi.Input[bool]]
|
744
|
+
"""
|
745
|
+
set this parameter to optionally expose the port on tcp as well as udp for the DNS protocol. Note that this will not work if you are also exposing tls or grpc on the same server.
|
746
|
+
"""
|
747
|
+
zone: NotRequired[pulumi.Input[str]]
|
748
|
+
"""
|
749
|
+
optional, defaults to "."
|
750
|
+
"""
|
751
|
+
elif False:
|
752
|
+
CoreDNSServerZoneArgsDict: TypeAlias = Mapping[str, Any]
|
753
|
+
|
562
754
|
@pulumi.input_type
|
563
755
|
class CoreDNSServerZoneArgs:
|
564
756
|
def __init__(__self__, *,
|
@@ -614,6 +806,23 @@ class CoreDNSServerZoneArgs:
|
|
614
806
|
pulumi.set(self, "zone", value)
|
615
807
|
|
616
808
|
|
809
|
+
if not MYPY:
|
810
|
+
class CoreDNSServerArgsDict(TypedDict):
|
811
|
+
plugins: NotRequired[pulumi.Input[Sequence[pulumi.Input['CoreDNSServerPluginArgsDict']]]]
|
812
|
+
"""
|
813
|
+
the plugins to use for this server block.
|
814
|
+
"""
|
815
|
+
port: NotRequired[pulumi.Input[int]]
|
816
|
+
"""
|
817
|
+
optional, defaults to "" (which equals 53 in CoreDNS).
|
818
|
+
"""
|
819
|
+
zones: NotRequired[pulumi.Input[Sequence[pulumi.Input['CoreDNSServerZoneArgsDict']]]]
|
820
|
+
"""
|
821
|
+
the `zones` block can be left out entirely, defaults to "."
|
822
|
+
"""
|
823
|
+
elif False:
|
824
|
+
CoreDNSServerArgsDict: TypeAlias = Mapping[str, Any]
|
825
|
+
|
617
826
|
@pulumi.input_type
|
618
827
|
class CoreDNSServerArgs:
|
619
828
|
def __init__(__self__, *,
|
@@ -669,6 +878,20 @@ class CoreDNSServerArgs:
|
|
669
878
|
pulumi.set(self, "zones", value)
|
670
879
|
|
671
880
|
|
881
|
+
if not MYPY:
|
882
|
+
class CoreDNSServiceAccountArgsDict(TypedDict):
|
883
|
+
annotations: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]]
|
884
|
+
create: NotRequired[pulumi.Input[bool]]
|
885
|
+
"""
|
886
|
+
If true, create & use serviceAccount.
|
887
|
+
"""
|
888
|
+
name: NotRequired[pulumi.Input[str]]
|
889
|
+
"""
|
890
|
+
The name of the ServiceAccount to use. If not set and create is true, a name is generated using the fullname template
|
891
|
+
"""
|
892
|
+
elif False:
|
893
|
+
CoreDNSServiceAccountArgsDict: TypeAlias = Mapping[str, Any]
|
894
|
+
|
672
895
|
@pulumi.input_type
|
673
896
|
class CoreDNSServiceAccountArgs:
|
674
897
|
def __init__(__self__, *,
|
@@ -720,6 +943,35 @@ class CoreDNSServiceAccountArgs:
|
|
720
943
|
pulumi.set(self, "name", value)
|
721
944
|
|
722
945
|
|
946
|
+
if not MYPY:
|
947
|
+
class CoreDNSServiceArgsDict(TypedDict):
|
948
|
+
annotations: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]]
|
949
|
+
"""
|
950
|
+
Annotations to add to service.
|
951
|
+
"""
|
952
|
+
cluster_ip: NotRequired[pulumi.Input[str]]
|
953
|
+
"""
|
954
|
+
IP address to assign to service.
|
955
|
+
"""
|
956
|
+
external_ips: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
|
957
|
+
"""
|
958
|
+
External IP addresses.
|
959
|
+
"""
|
960
|
+
external_traffic_policy: NotRequired[pulumi.Input[str]]
|
961
|
+
"""
|
962
|
+
Enable client source IP preservation.
|
963
|
+
"""
|
964
|
+
load_balancer_ip: NotRequired[pulumi.Input[str]]
|
965
|
+
"""
|
966
|
+
IP address to assign to load balancer (if supported).
|
967
|
+
"""
|
968
|
+
name: NotRequired[pulumi.Input[str]]
|
969
|
+
"""
|
970
|
+
The name of the Service. If not set, a name is generated using the fullname template.
|
971
|
+
"""
|
972
|
+
elif False:
|
973
|
+
CoreDNSServiceArgsDict: TypeAlias = Mapping[str, Any]
|
974
|
+
|
723
975
|
@pulumi.input_type
|
724
976
|
class CoreDNSServiceArgs:
|
725
977
|
def __init__(__self__, *,
|
@@ -823,6 +1075,14 @@ class CoreDNSServiceArgs:
|
|
823
1075
|
pulumi.set(self, "name", value)
|
824
1076
|
|
825
1077
|
|
1078
|
+
if not MYPY:
|
1079
|
+
class CoreDNSZoneFileArgsDict(TypedDict):
|
1080
|
+
contents: NotRequired[pulumi.Input[str]]
|
1081
|
+
domain: NotRequired[pulumi.Input[str]]
|
1082
|
+
string: NotRequired[pulumi.Input[str]]
|
1083
|
+
elif False:
|
1084
|
+
CoreDNSZoneFileArgsDict: TypeAlias = Mapping[str, Any]
|
1085
|
+
|
826
1086
|
@pulumi.input_type
|
827
1087
|
class CoreDNSZoneFileArgs:
|
828
1088
|
def __init__(__self__, *,
|
@@ -864,6 +1124,148 @@ class CoreDNSZoneFileArgs:
|
|
864
1124
|
pulumi.set(self, "string", value)
|
865
1125
|
|
866
1126
|
|
1127
|
+
if not MYPY:
|
1128
|
+
class ReleaseArgsDict(TypedDict):
|
1129
|
+
"""
|
1130
|
+
A Release is an instance of a chart running in a Kubernetes cluster.
|
1131
|
+
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.
|
1132
|
+
Note - Helm Release is currently in BETA and may change. Use in production environment is discouraged.
|
1133
|
+
"""
|
1134
|
+
atomic: NotRequired[pulumi.Input[bool]]
|
1135
|
+
"""
|
1136
|
+
If set, installation process purges chart on fail. `skipAwait` will be disabled automatically if atomic is used.
|
1137
|
+
"""
|
1138
|
+
chart: NotRequired[pulumi.Input[str]]
|
1139
|
+
"""
|
1140
|
+
Chart name to be installed. A path may be used.
|
1141
|
+
"""
|
1142
|
+
cleanup_on_fail: NotRequired[pulumi.Input[bool]]
|
1143
|
+
"""
|
1144
|
+
Allow deletion of new resources created in this upgrade when upgrade fails.
|
1145
|
+
"""
|
1146
|
+
create_namespace: NotRequired[pulumi.Input[bool]]
|
1147
|
+
"""
|
1148
|
+
Create the namespace if it does not exist.
|
1149
|
+
"""
|
1150
|
+
dependency_update: NotRequired[pulumi.Input[bool]]
|
1151
|
+
"""
|
1152
|
+
Run helm dependency update before installing the chart.
|
1153
|
+
"""
|
1154
|
+
description: NotRequired[pulumi.Input[str]]
|
1155
|
+
"""
|
1156
|
+
Add a custom description
|
1157
|
+
"""
|
1158
|
+
devel: NotRequired[pulumi.Input[bool]]
|
1159
|
+
"""
|
1160
|
+
Use chart development versions, too. Equivalent to version '>0.0.0-0'. If `version` is set, this is ignored.
|
1161
|
+
"""
|
1162
|
+
disable_crd_hooks: NotRequired[pulumi.Input[bool]]
|
1163
|
+
"""
|
1164
|
+
Prevent CRD hooks from, running, but run other hooks. See helm install --no-crd-hook
|
1165
|
+
"""
|
1166
|
+
disable_openapi_validation: NotRequired[pulumi.Input[bool]]
|
1167
|
+
"""
|
1168
|
+
If set, the installation process will not validate rendered templates against the Kubernetes OpenAPI Schema
|
1169
|
+
"""
|
1170
|
+
disable_webhooks: NotRequired[pulumi.Input[bool]]
|
1171
|
+
"""
|
1172
|
+
Prevent hooks from running.
|
1173
|
+
"""
|
1174
|
+
force_update: NotRequired[pulumi.Input[bool]]
|
1175
|
+
"""
|
1176
|
+
Force resource update through delete/recreate if needed.
|
1177
|
+
"""
|
1178
|
+
keyring: NotRequired[pulumi.Input[str]]
|
1179
|
+
"""
|
1180
|
+
Location of public keys used for verification. Used only if `verify` is true
|
1181
|
+
"""
|
1182
|
+
lint: NotRequired[pulumi.Input[bool]]
|
1183
|
+
"""
|
1184
|
+
Run helm lint when planning.
|
1185
|
+
"""
|
1186
|
+
manifest: NotRequired[pulumi.Input[Mapping[str, Any]]]
|
1187
|
+
"""
|
1188
|
+
The rendered manifests as JSON. Not yet supported.
|
1189
|
+
"""
|
1190
|
+
max_history: NotRequired[pulumi.Input[int]]
|
1191
|
+
"""
|
1192
|
+
Limit the maximum number of revisions saved per release. Use 0 for no limit.
|
1193
|
+
"""
|
1194
|
+
name: NotRequired[pulumi.Input[str]]
|
1195
|
+
"""
|
1196
|
+
Release name.
|
1197
|
+
"""
|
1198
|
+
namespace: NotRequired[pulumi.Input[str]]
|
1199
|
+
"""
|
1200
|
+
Namespace to install the release into.
|
1201
|
+
"""
|
1202
|
+
postrender: NotRequired[pulumi.Input[str]]
|
1203
|
+
"""
|
1204
|
+
Postrender command to run.
|
1205
|
+
"""
|
1206
|
+
recreate_pods: NotRequired[pulumi.Input[bool]]
|
1207
|
+
"""
|
1208
|
+
Perform pods restart during upgrade/rollback.
|
1209
|
+
"""
|
1210
|
+
render_subchart_notes: NotRequired[pulumi.Input[bool]]
|
1211
|
+
"""
|
1212
|
+
If set, render subchart notes along with the parent.
|
1213
|
+
"""
|
1214
|
+
replace: NotRequired[pulumi.Input[bool]]
|
1215
|
+
"""
|
1216
|
+
Re-use the given name, even if that name is already used. This is unsafe in production
|
1217
|
+
"""
|
1218
|
+
repository_opts: NotRequired[pulumi.Input['RepositoryOptsArgsDict']]
|
1219
|
+
"""
|
1220
|
+
Specification defining the Helm chart repository to use.
|
1221
|
+
"""
|
1222
|
+
reset_values: NotRequired[pulumi.Input[bool]]
|
1223
|
+
"""
|
1224
|
+
When upgrading, reset the values to the ones built into the chart.
|
1225
|
+
"""
|
1226
|
+
resource_names: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[Sequence[pulumi.Input[str]]]]]]
|
1227
|
+
"""
|
1228
|
+
Names of resources created by the release grouped by "kind/version".
|
1229
|
+
"""
|
1230
|
+
reuse_values: NotRequired[pulumi.Input[bool]]
|
1231
|
+
"""
|
1232
|
+
When upgrading, reuse the last release's values and merge in any overrides. If 'resetValues' is specified, this is ignored
|
1233
|
+
"""
|
1234
|
+
skip_await: NotRequired[pulumi.Input[bool]]
|
1235
|
+
"""
|
1236
|
+
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.
|
1237
|
+
"""
|
1238
|
+
skip_crds: NotRequired[pulumi.Input[bool]]
|
1239
|
+
"""
|
1240
|
+
If set, no CRDs will be installed. By default, CRDs are installed if not already present.
|
1241
|
+
"""
|
1242
|
+
timeout: NotRequired[pulumi.Input[int]]
|
1243
|
+
"""
|
1244
|
+
Time in seconds to wait for any individual kubernetes operation.
|
1245
|
+
"""
|
1246
|
+
value_yaml_files: NotRequired[pulumi.Input[Sequence[pulumi.Input[Union[pulumi.Asset, pulumi.Archive]]]]]
|
1247
|
+
"""
|
1248
|
+
List of assets (raw yaml files). Content is read and merged with values. Not yet supported.
|
1249
|
+
"""
|
1250
|
+
values: NotRequired[pulumi.Input[Mapping[str, Any]]]
|
1251
|
+
"""
|
1252
|
+
Custom values set for the release.
|
1253
|
+
"""
|
1254
|
+
verify: NotRequired[pulumi.Input[bool]]
|
1255
|
+
"""
|
1256
|
+
Verify the package before installing it.
|
1257
|
+
"""
|
1258
|
+
version: NotRequired[pulumi.Input[str]]
|
1259
|
+
"""
|
1260
|
+
Specify the exact chart version to install. If this is not specified, the latest version is installed.
|
1261
|
+
"""
|
1262
|
+
wait_for_jobs: NotRequired[pulumi.Input[bool]]
|
1263
|
+
"""
|
1264
|
+
Will wait until all Jobs have been completed before marking the release as successful. This is ignored if `skipAwait` is enabled.
|
1265
|
+
"""
|
1266
|
+
elif False:
|
1267
|
+
ReleaseArgsDict: TypeAlias = Mapping[str, Any]
|
1268
|
+
|
867
1269
|
@pulumi.input_type
|
868
1270
|
class ReleaseArgs:
|
869
1271
|
def __init__(__self__, *,
|
@@ -1402,6 +1804,38 @@ class ReleaseArgs:
|
|
1402
1804
|
pulumi.set(self, "wait_for_jobs", value)
|
1403
1805
|
|
1404
1806
|
|
1807
|
+
if not MYPY:
|
1808
|
+
class RepositoryOptsArgsDict(TypedDict):
|
1809
|
+
"""
|
1810
|
+
Specification defining the Helm chart repository to use.
|
1811
|
+
"""
|
1812
|
+
ca_file: NotRequired[pulumi.Input[str]]
|
1813
|
+
"""
|
1814
|
+
The Repository's CA File
|
1815
|
+
"""
|
1816
|
+
cert_file: NotRequired[pulumi.Input[str]]
|
1817
|
+
"""
|
1818
|
+
The repository's cert file
|
1819
|
+
"""
|
1820
|
+
key_file: NotRequired[pulumi.Input[str]]
|
1821
|
+
"""
|
1822
|
+
The repository's cert key file
|
1823
|
+
"""
|
1824
|
+
password: NotRequired[pulumi.Input[str]]
|
1825
|
+
"""
|
1826
|
+
Password for HTTP basic authentication
|
1827
|
+
"""
|
1828
|
+
repo: NotRequired[pulumi.Input[str]]
|
1829
|
+
"""
|
1830
|
+
Repository where to locate the requested chart. If is a URL the chart is installed without installing the repository.
|
1831
|
+
"""
|
1832
|
+
username: NotRequired[pulumi.Input[str]]
|
1833
|
+
"""
|
1834
|
+
Username for HTTP basic authentication
|
1835
|
+
"""
|
1836
|
+
elif False:
|
1837
|
+
RepositoryOptsArgsDict: TypeAlias = Mapping[str, Any]
|
1838
|
+
|
1405
1839
|
@pulumi.input_type
|
1406
1840
|
class RepositoryOptsArgs:
|
1407
1841
|
def __init__(__self__, *,
|
@@ -1,22 +1,30 @@
|
|
1
1
|
# coding=utf-8
|
2
|
-
# *** WARNING: this file was generated by
|
2
|
+
# *** WARNING: this file was generated by pulumi-language-python. ***
|
3
3
|
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
4
4
|
|
5
5
|
|
6
|
+
import asyncio
|
7
|
+
import functools
|
8
|
+
import importlib.metadata
|
6
9
|
import importlib.util
|
7
10
|
import inspect
|
8
11
|
import json
|
9
12
|
import os
|
10
|
-
import pkg_resources
|
11
13
|
import sys
|
12
14
|
import typing
|
15
|
+
import warnings
|
16
|
+
import base64
|
13
17
|
|
14
18
|
import pulumi
|
15
19
|
import pulumi.runtime
|
20
|
+
from pulumi.runtime.sync_await import _sync_await
|
21
|
+
from pulumi.runtime.proto import resource_pb2
|
16
22
|
|
17
23
|
from semver import VersionInfo as SemverVersion
|
18
24
|
from parver import Version as PEP440Version
|
19
25
|
|
26
|
+
C = typing.TypeVar("C", bound=typing.Callable)
|
27
|
+
|
20
28
|
|
21
29
|
def get_env(*args):
|
22
30
|
for v in args:
|
@@ -70,7 +78,7 @@ def _get_semver_version():
|
|
70
78
|
# to receive a valid semver string when receiving requests from the language host, so it's our
|
71
79
|
# responsibility as the library to convert our own PEP440 version into a valid semver string.
|
72
80
|
|
73
|
-
pep440_version_string =
|
81
|
+
pep440_version_string = importlib.metadata.version(root_package)
|
74
82
|
pep440_version = PEP440Version.parse(pep440_version_string)
|
75
83
|
(major, minor, patch) = pep440_version.release
|
76
84
|
prerelease = None
|
@@ -94,10 +102,17 @@ def _get_semver_version():
|
|
94
102
|
_version = _get_semver_version()
|
95
103
|
_version_str = str(_version)
|
96
104
|
|
105
|
+
def get_resource_opts_defaults() -> pulumi.ResourceOptions:
|
106
|
+
return pulumi.ResourceOptions(
|
107
|
+
version=get_version(),
|
108
|
+
plugin_download_url=get_plugin_download_url(),
|
109
|
+
)
|
97
110
|
|
98
|
-
def
|
99
|
-
return
|
100
|
-
|
111
|
+
def get_invoke_opts_defaults() -> pulumi.InvokeOptions:
|
112
|
+
return pulumi.InvokeOptions(
|
113
|
+
version=get_version(),
|
114
|
+
plugin_download_url=get_plugin_download_url(),
|
115
|
+
)
|
101
116
|
|
102
117
|
def get_resource_args_opts(resource_args_type, resource_options_type, *args, **kwargs):
|
103
118
|
"""
|
@@ -234,3 +249,79 @@ def lift_output_func(func: typing.Any) -> typing.Callable[[_F], _F]:
|
|
234
249
|
**resolved_args['kwargs']))
|
235
250
|
|
236
251
|
return (lambda _: lifted_func)
|
252
|
+
|
253
|
+
|
254
|
+
def call_plain(
|
255
|
+
tok: str,
|
256
|
+
props: pulumi.Inputs,
|
257
|
+
res: typing.Optional[pulumi.Resource] = None,
|
258
|
+
typ: typing.Optional[type] = None,
|
259
|
+
) -> typing.Any:
|
260
|
+
"""
|
261
|
+
Wraps pulumi.runtime.plain to force the output and return it plainly.
|
262
|
+
"""
|
263
|
+
|
264
|
+
output = pulumi.runtime.call(tok, props, res, typ)
|
265
|
+
|
266
|
+
# Ingoring deps silently. They are typically non-empty, r.f() calls include r as a dependency.
|
267
|
+
result, known, secret, _ = _sync_await(asyncio.create_task(_await_output(output)))
|
268
|
+
|
269
|
+
problem = None
|
270
|
+
if not known:
|
271
|
+
problem = ' an unknown value'
|
272
|
+
elif secret:
|
273
|
+
problem = ' a secret value'
|
274
|
+
|
275
|
+
if problem:
|
276
|
+
raise AssertionError(
|
277
|
+
f"Plain resource method '{tok}' incorrectly returned {problem}. "
|
278
|
+
+ "This is an error in the provider, please report this to the provider developer."
|
279
|
+
)
|
280
|
+
|
281
|
+
return result
|
282
|
+
|
283
|
+
|
284
|
+
async def _await_output(o: pulumi.Output[typing.Any]) -> typing.Tuple[object, bool, bool, set]:
|
285
|
+
return (
|
286
|
+
await o._future,
|
287
|
+
await o._is_known,
|
288
|
+
await o._is_secret,
|
289
|
+
await o._resources,
|
290
|
+
)
|
291
|
+
|
292
|
+
|
293
|
+
# This is included to provide an upgrade path for users who are using a version
|
294
|
+
# of the Pulumi SDK (<3.121.0) that does not include the `deprecated` decorator.
|
295
|
+
def deprecated(message: str) -> typing.Callable[[C], C]:
|
296
|
+
"""
|
297
|
+
Decorator to indicate a function is deprecated.
|
298
|
+
|
299
|
+
As well as inserting appropriate statements to indicate that the function is
|
300
|
+
deprecated, this decorator also tags the function with a special attribute
|
301
|
+
so that Pulumi code can detect that it is deprecated and react appropriately
|
302
|
+
in certain situations.
|
303
|
+
|
304
|
+
message is the deprecation message that should be printed if the function is called.
|
305
|
+
"""
|
306
|
+
|
307
|
+
def decorator(fn: C) -> C:
|
308
|
+
if not callable(fn):
|
309
|
+
raise TypeError("Expected fn to be callable")
|
310
|
+
|
311
|
+
@functools.wraps(fn)
|
312
|
+
def deprecated_fn(*args, **kwargs):
|
313
|
+
warnings.warn(message)
|
314
|
+
pulumi.warn(f"{fn.__name__} is deprecated: {message}")
|
315
|
+
|
316
|
+
return fn(*args, **kwargs)
|
317
|
+
|
318
|
+
deprecated_fn.__dict__["_pulumi_deprecated_callable"] = fn
|
319
|
+
return typing.cast(C, deprecated_fn)
|
320
|
+
|
321
|
+
return decorator
|
322
|
+
|
323
|
+
def get_plugin_download_url():
|
324
|
+
return None
|
325
|
+
|
326
|
+
def get_version():
|
327
|
+
return _version_str
|
@@ -1,11 +1,17 @@
|
|
1
1
|
# coding=utf-8
|
2
|
-
# *** WARNING: this file was generated by
|
2
|
+
# *** WARNING: this file was generated by pulumi-language-python. ***
|
3
3
|
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
4
4
|
|
5
|
+
import copy
|
5
6
|
import warnings
|
7
|
+
import sys
|
6
8
|
import pulumi
|
7
9
|
import pulumi.runtime
|
8
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
|
9
15
|
from . import _utilities
|
10
16
|
from . import outputs
|
11
17
|
from ._inputs import *
|
@@ -48,7 +54,7 @@ class CoreDNSArgs:
|
|
48
54
|
zone_files: Optional[pulumi.Input[Sequence[pulumi.Input['CoreDNSZoneFileArgs']]]] = None):
|
49
55
|
"""
|
50
56
|
The set of arguments for constructing a CoreDNS resource.
|
51
|
-
:param pulumi.Input['pulumi_kubernetes.core.v1.AffinityArgs'] affinity: Affinity settings for pod assignment
|
57
|
+
:param pulumi.Input['pulumi_kubernetes.core.v1.AffinityArgs'] affinity: Affinity settings for pod assignment.
|
52
58
|
:param pulumi.Input['CoreDNSAutoscalerArgs'] autoscaler: Configue a cluster-proportional-autoscaler for coredns. See https://github.com/kubernetes-incubator/cluster-proportional-autoscaler.
|
53
59
|
:param pulumi.Input['pulumi_kubernetes.autoscaling.v2beta2.HorizontalPodAutoscalerSpecArgs'] autoscaling: Create HorizontalPodAutoscaler object.
|
54
60
|
:param pulumi.Input['CoreDNSDeploymentArgs'] deployment: Configure the CoreDNS Deployment.
|
@@ -143,7 +149,7 @@ class CoreDNSArgs:
|
|
143
149
|
@pulumi.getter
|
144
150
|
def affinity(self) -> Optional[pulumi.Input['pulumi_kubernetes.core.v1.AffinityArgs']]:
|
145
151
|
"""
|
146
|
-
Affinity settings for pod assignment
|
152
|
+
Affinity settings for pod assignment.
|
147
153
|
"""
|
148
154
|
return pulumi.get(self, "affinity")
|
149
155
|
|
@@ -503,15 +509,15 @@ class CoreDNS(pulumi.ComponentResource):
|
|
503
509
|
resource_name: str,
|
504
510
|
opts: Optional[pulumi.ResourceOptions] = None,
|
505
511
|
affinity: Optional[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.AffinityArgs']]] = None,
|
506
|
-
autoscaler: Optional[pulumi.Input[
|
512
|
+
autoscaler: Optional[pulumi.Input[Union['CoreDNSAutoscalerArgs', 'CoreDNSAutoscalerArgsDict']]] = None,
|
507
513
|
autoscaling: Optional[pulumi.Input[pulumi.InputType['pulumi_kubernetes.autoscaling.v2beta2.HorizontalPodAutoscalerSpecArgs']]] = None,
|
508
|
-
deployment: Optional[pulumi.Input[
|
514
|
+
deployment: Optional[pulumi.Input[Union['CoreDNSDeploymentArgs', 'CoreDNSDeploymentArgsDict']]] = None,
|
509
515
|
extra_secrets: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.VolumeMountArgs']]]]] = None,
|
510
516
|
extra_volume_mounts: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.VolumeMountArgs']]]]] = None,
|
511
517
|
extra_volumes: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.VolumeArgs']]]]] = None,
|
512
|
-
helm_options: Optional[pulumi.Input[
|
513
|
-
hpa: Optional[pulumi.Input[
|
514
|
-
image: Optional[pulumi.Input[
|
518
|
+
helm_options: Optional[pulumi.Input[Union['ReleaseArgs', 'ReleaseArgsDict']]] = None,
|
519
|
+
hpa: Optional[pulumi.Input[Union['CoreDNSHPAArgs', 'CoreDNSHPAArgsDict']]] = None,
|
520
|
+
image: Optional[pulumi.Input[Union['CoreDNSImageArgs', 'CoreDNSImageArgsDict']]] = None,
|
515
521
|
is_cluster_service: Optional[pulumi.Input[bool]] = None,
|
516
522
|
liveness_probe: Optional[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.ProbeArgs']]] = None,
|
517
523
|
node_selector: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
@@ -519,35 +525,35 @@ class CoreDNS(pulumi.ComponentResource):
|
|
519
525
|
pod_disruption_budget: Optional[pulumi.Input[pulumi.InputType['pulumi_kubernetes.policy.v1.PodDisruptionBudgetSpecArgs']]] = None,
|
520
526
|
pre_stop_sleep: Optional[pulumi.Input[int]] = None,
|
521
527
|
priority_class_name: Optional[pulumi.Input[str]] = None,
|
522
|
-
prometheus: Optional[pulumi.Input[
|
523
|
-
rbac: Optional[pulumi.Input[
|
528
|
+
prometheus: Optional[pulumi.Input[Union['CoreDNSPrometheusArgs', 'CoreDNSPrometheusArgsDict']]] = None,
|
529
|
+
rbac: Optional[pulumi.Input[Union['CoreDNSRBACArgs', 'CoreDNSRBACArgsDict']]] = None,
|
524
530
|
readiness_probe: Optional[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.ProbeArgs']]] = None,
|
525
531
|
replica_count: Optional[pulumi.Input[int]] = None,
|
526
532
|
resources: Optional[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.ResourceRequirementsArgs']]] = None,
|
527
533
|
rolling_update: Optional[pulumi.Input[pulumi.InputType['pulumi_kubernetes.apps.v1.RollingUpdateDeploymentArgs']]] = None,
|
528
|
-
servers: Optional[pulumi.Input[Sequence[pulumi.Input[
|
529
|
-
service: Optional[pulumi.Input[
|
530
|
-
service_account: Optional[pulumi.Input[
|
534
|
+
servers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['CoreDNSServerArgs', 'CoreDNSServerArgsDict']]]]] = None,
|
535
|
+
service: Optional[pulumi.Input[Union['CoreDNSServiceArgs', 'CoreDNSServiceArgsDict']]] = None,
|
536
|
+
service_account: Optional[pulumi.Input[Union['CoreDNSServiceAccountArgs', 'CoreDNSServiceAccountArgsDict']]] = None,
|
531
537
|
service_type: Optional[pulumi.Input[str]] = None,
|
532
538
|
termination_grace_period_seconds: Optional[pulumi.Input[int]] = None,
|
533
539
|
tolerations: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.TolerationArgs']]]]] = None,
|
534
|
-
zone_files: Optional[pulumi.Input[Sequence[pulumi.Input[
|
540
|
+
zone_files: Optional[pulumi.Input[Sequence[pulumi.Input[Union['CoreDNSZoneFileArgs', 'CoreDNSZoneFileArgsDict']]]]] = None,
|
535
541
|
__props__=None):
|
536
542
|
"""
|
537
543
|
Enable fast and flexible in-cluster DNS.
|
538
544
|
|
539
545
|
:param str resource_name: The name of the resource.
|
540
546
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
541
|
-
:param pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.AffinityArgs']] affinity: Affinity settings for pod assignment
|
542
|
-
:param pulumi.Input[
|
547
|
+
:param pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.AffinityArgs']] affinity: Affinity settings for pod assignment.
|
548
|
+
:param pulumi.Input[Union['CoreDNSAutoscalerArgs', 'CoreDNSAutoscalerArgsDict']] autoscaler: Configue a cluster-proportional-autoscaler for coredns. See https://github.com/kubernetes-incubator/cluster-proportional-autoscaler.
|
543
549
|
:param pulumi.Input[pulumi.InputType['pulumi_kubernetes.autoscaling.v2beta2.HorizontalPodAutoscalerSpecArgs']] autoscaling: Create HorizontalPodAutoscaler object.
|
544
|
-
:param pulumi.Input[
|
550
|
+
:param pulumi.Input[Union['CoreDNSDeploymentArgs', 'CoreDNSDeploymentArgsDict']] deployment: Configure the CoreDNS Deployment.
|
545
551
|
:param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.VolumeMountArgs']]]] extra_secrets: Optional array of secrets to mount inside coredns container. Possible usecase: need for secure connection with etcd backend. Optional array of mount points for extraVolumes.
|
546
552
|
:param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.VolumeMountArgs']]]] extra_volume_mounts: Optional array of mount points for extraVolumes.
|
547
553
|
:param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.VolumeArgs']]]] extra_volumes: Optional array of extra volumes to create.
|
548
|
-
:param pulumi.Input[
|
549
|
-
:param pulumi.Input[
|
550
|
-
:param pulumi.Input[
|
554
|
+
: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.
|
555
|
+
:param pulumi.Input[Union['CoreDNSHPAArgs', 'CoreDNSHPAArgsDict']] hpa: Alternative configuration for HPA deployment if wanted.
|
556
|
+
:param pulumi.Input[Union['CoreDNSImageArgs', 'CoreDNSImageArgsDict']] image: The image to pull.
|
551
557
|
:param pulumi.Input[bool] is_cluster_service: Specifies whether chart should be deployed as cluster-service or normal k8s app.
|
552
558
|
:param pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.ProbeArgs']] liveness_probe: Configure the liveness probe. To use the livenessProbe, the health plugin needs to be enabled in CoreDNS' server config.
|
553
559
|
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] node_selector: Node labels for pod assignment.
|
@@ -555,18 +561,18 @@ class CoreDNS(pulumi.ComponentResource):
|
|
555
561
|
:param pulumi.Input[pulumi.InputType['pulumi_kubernetes.policy.v1.PodDisruptionBudgetSpecArgs']] pod_disruption_budget: Optional PodDisruptionBudget.
|
556
562
|
:param pulumi.Input[int] pre_stop_sleep: Under heavy load it takes more that standard time to remove Pod endpoint from a cluster. This will delay termination of our pod by `preStopSleep`. To make sure kube-proxy has enough time to catch up.
|
557
563
|
:param pulumi.Input[str] priority_class_name: Optional priority class to be used for the coredns pods. Used for autoscaler if autoscaler.priorityClassName not set.
|
558
|
-
:param pulumi.Input[
|
559
|
-
:param pulumi.Input[
|
564
|
+
:param pulumi.Input[Union['CoreDNSPrometheusArgs', 'CoreDNSPrometheusArgsDict']] prometheus: Configure Prometheus installation.
|
565
|
+
:param pulumi.Input[Union['CoreDNSRBACArgs', 'CoreDNSRBACArgsDict']] rbac: Configure CoreDNS RBAC resources.
|
560
566
|
:param pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.ProbeArgs']] readiness_probe: Configure the readiness probe. To use the readinessProbe, the health plugin needs to be enabled in CoreDNS' server config.
|
561
567
|
:param pulumi.Input[int] replica_count: Number of replicas.
|
562
568
|
:param pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.ResourceRequirementsArgs']] resources: Container resource limits.
|
563
|
-
:param pulumi.Input[Sequence[pulumi.Input[
|
564
|
-
:param pulumi.Input[
|
565
|
-
:param pulumi.Input[
|
569
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['CoreDNSServerArgs', 'CoreDNSServerArgsDict']]]] servers: Configuration for CoreDNS and plugins. Default zone is what Kubernetes recommends: https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/#coredns-configmap-options
|
570
|
+
:param pulumi.Input[Union['CoreDNSServiceArgs', 'CoreDNSServiceArgsDict']] service: Configure CoreDNS Service parameters.
|
571
|
+
:param pulumi.Input[Union['CoreDNSServiceAccountArgs', 'CoreDNSServiceAccountArgsDict']] service_account: Configure CoreDNS Service Account.
|
566
572
|
:param pulumi.Input[str] service_type: Kubernetes Service type.
|
567
573
|
:param pulumi.Input[int] termination_grace_period_seconds: Optional duration in seconds the pod needs to terminate gracefully.
|
568
574
|
:param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.TolerationArgs']]]] tolerations: Tolerations for pod assignment.
|
569
|
-
:param pulumi.Input[Sequence[pulumi.Input[
|
575
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['CoreDNSZoneFileArgs', 'CoreDNSZoneFileArgsDict']]]] zone_files: Configure custom Zone files.
|
570
576
|
"""
|
571
577
|
...
|
572
578
|
@overload
|
@@ -593,15 +599,15 @@ class CoreDNS(pulumi.ComponentResource):
|
|
593
599
|
resource_name: str,
|
594
600
|
opts: Optional[pulumi.ResourceOptions] = None,
|
595
601
|
affinity: Optional[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.AffinityArgs']]] = None,
|
596
|
-
autoscaler: Optional[pulumi.Input[
|
602
|
+
autoscaler: Optional[pulumi.Input[Union['CoreDNSAutoscalerArgs', 'CoreDNSAutoscalerArgsDict']]] = None,
|
597
603
|
autoscaling: Optional[pulumi.Input[pulumi.InputType['pulumi_kubernetes.autoscaling.v2beta2.HorizontalPodAutoscalerSpecArgs']]] = None,
|
598
|
-
deployment: Optional[pulumi.Input[
|
604
|
+
deployment: Optional[pulumi.Input[Union['CoreDNSDeploymentArgs', 'CoreDNSDeploymentArgsDict']]] = None,
|
599
605
|
extra_secrets: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.VolumeMountArgs']]]]] = None,
|
600
606
|
extra_volume_mounts: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.VolumeMountArgs']]]]] = None,
|
601
607
|
extra_volumes: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.VolumeArgs']]]]] = None,
|
602
|
-
helm_options: Optional[pulumi.Input[
|
603
|
-
hpa: Optional[pulumi.Input[
|
604
|
-
image: Optional[pulumi.Input[
|
608
|
+
helm_options: Optional[pulumi.Input[Union['ReleaseArgs', 'ReleaseArgsDict']]] = None,
|
609
|
+
hpa: Optional[pulumi.Input[Union['CoreDNSHPAArgs', 'CoreDNSHPAArgsDict']]] = None,
|
610
|
+
image: Optional[pulumi.Input[Union['CoreDNSImageArgs', 'CoreDNSImageArgsDict']]] = None,
|
605
611
|
is_cluster_service: Optional[pulumi.Input[bool]] = None,
|
606
612
|
liveness_probe: Optional[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.ProbeArgs']]] = None,
|
607
613
|
node_selector: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
@@ -609,26 +615,23 @@ class CoreDNS(pulumi.ComponentResource):
|
|
609
615
|
pod_disruption_budget: Optional[pulumi.Input[pulumi.InputType['pulumi_kubernetes.policy.v1.PodDisruptionBudgetSpecArgs']]] = None,
|
610
616
|
pre_stop_sleep: Optional[pulumi.Input[int]] = None,
|
611
617
|
priority_class_name: Optional[pulumi.Input[str]] = None,
|
612
|
-
prometheus: Optional[pulumi.Input[
|
613
|
-
rbac: Optional[pulumi.Input[
|
618
|
+
prometheus: Optional[pulumi.Input[Union['CoreDNSPrometheusArgs', 'CoreDNSPrometheusArgsDict']]] = None,
|
619
|
+
rbac: Optional[pulumi.Input[Union['CoreDNSRBACArgs', 'CoreDNSRBACArgsDict']]] = None,
|
614
620
|
readiness_probe: Optional[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.ProbeArgs']]] = None,
|
615
621
|
replica_count: Optional[pulumi.Input[int]] = None,
|
616
622
|
resources: Optional[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.ResourceRequirementsArgs']]] = None,
|
617
623
|
rolling_update: Optional[pulumi.Input[pulumi.InputType['pulumi_kubernetes.apps.v1.RollingUpdateDeploymentArgs']]] = None,
|
618
|
-
servers: Optional[pulumi.Input[Sequence[pulumi.Input[
|
619
|
-
service: Optional[pulumi.Input[
|
620
|
-
service_account: Optional[pulumi.Input[
|
624
|
+
servers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['CoreDNSServerArgs', 'CoreDNSServerArgsDict']]]]] = None,
|
625
|
+
service: Optional[pulumi.Input[Union['CoreDNSServiceArgs', 'CoreDNSServiceArgsDict']]] = None,
|
626
|
+
service_account: Optional[pulumi.Input[Union['CoreDNSServiceAccountArgs', 'CoreDNSServiceAccountArgsDict']]] = None,
|
621
627
|
service_type: Optional[pulumi.Input[str]] = None,
|
622
628
|
termination_grace_period_seconds: Optional[pulumi.Input[int]] = None,
|
623
629
|
tolerations: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['pulumi_kubernetes.core.v1.TolerationArgs']]]]] = None,
|
624
|
-
zone_files: Optional[pulumi.Input[Sequence[pulumi.Input[
|
630
|
+
zone_files: Optional[pulumi.Input[Sequence[pulumi.Input[Union['CoreDNSZoneFileArgs', 'CoreDNSZoneFileArgsDict']]]]] = None,
|
625
631
|
__props__=None):
|
626
|
-
|
627
|
-
opts = pulumi.ResourceOptions()
|
632
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
628
633
|
if not isinstance(opts, pulumi.ResourceOptions):
|
629
634
|
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
630
|
-
if opts.version is None:
|
631
|
-
opts.version = _utilities.get_version()
|
632
635
|
if opts.id is not None:
|
633
636
|
raise ValueError('ComponentResource classes do not support opts.id')
|
634
637
|
else:
|
@@ -1,11 +1,17 @@
|
|
1
1
|
# coding=utf-8
|
2
|
-
# *** WARNING: this file was generated by
|
2
|
+
# *** WARNING: this file was generated by pulumi-language-python. ***
|
3
3
|
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
4
4
|
|
5
|
+
import copy
|
5
6
|
import warnings
|
7
|
+
import sys
|
6
8
|
import pulumi
|
7
9
|
import pulumi.runtime
|
8
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
|
9
15
|
from . import _utilities
|
10
16
|
|
11
17
|
__all__ = [
|
@@ -1,11 +1,17 @@
|
|
1
1
|
# coding=utf-8
|
2
|
-
# *** WARNING: this file was generated by
|
2
|
+
# *** WARNING: this file was generated by pulumi-language-python. ***
|
3
3
|
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
4
4
|
|
5
|
+
import copy
|
5
6
|
import warnings
|
7
|
+
import sys
|
6
8
|
import pulumi
|
7
9
|
import pulumi.runtime
|
8
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
|
9
15
|
from . import _utilities
|
10
16
|
|
11
17
|
__all__ = ['ProviderArgs', 'Provider']
|
@@ -54,12 +60,9 @@ class Provider(pulumi.ProviderResource):
|
|
54
60
|
resource_name: str,
|
55
61
|
opts: Optional[pulumi.ResourceOptions] = None,
|
56
62
|
__props__=None):
|
57
|
-
|
58
|
-
opts = pulumi.ResourceOptions()
|
63
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
59
64
|
if not isinstance(opts, pulumi.ResourceOptions):
|
60
65
|
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
61
|
-
if opts.version is None:
|
62
|
-
opts.version = _utilities.get_version()
|
63
66
|
if opts.id is None:
|
64
67
|
if __props__ is not None:
|
65
68
|
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
@@ -1,12 +1,18 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
|
-
Name:
|
3
|
-
Version: 0.0
|
4
|
-
Summary:
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
2
|
+
Name: pulumi_kubernetes_coredns
|
3
|
+
Version: 0.1.0
|
4
|
+
Summary: Strongly-typed CoreDNS installation
|
5
|
+
License: Apache-2.0
|
6
|
+
Project-URL: Homepage, https://pulumi.io
|
7
|
+
Project-URL: Repository, https://github.com/pulumi/pulumi-kubernetes-coredns
|
8
|
+
Keywords: pulumi,kubernetes,coredns,kind/component,category/infrastructure
|
9
|
+
Requires-Python: >=3.9
|
9
10
|
Description-Content-Type: text/markdown
|
11
|
+
Requires-Dist: parver>=0.2.1
|
12
|
+
Requires-Dist: pulumi<4.0.0,>=3.0.0
|
13
|
+
Requires-Dist: pulumi-kubernetes<5.0.0,>=4.19.0
|
14
|
+
Requires-Dist: semver>=2.8.1
|
15
|
+
Requires-Dist: typing-extensions>=4.11; python_version < "3.11"
|
10
16
|
|
11
17
|
# Pulumi Kubernetes CoreDNS Component
|
12
18
|
|
@@ -37,5 +43,3 @@ if you need to override them, you may do so using the `helmOptions` parameter. R
|
|
37
43
|
https://www.pulumi.com/docs/reference/pkg/kubernetes/helm/v3/release/#inputs) for a full set of choices.
|
38
44
|
|
39
45
|
For complete details, refer to the Pulumi Package details within the Pulumi Registry.
|
40
|
-
|
41
|
-
|
@@ -1,5 +1,5 @@
|
|
1
1
|
README.md
|
2
|
-
|
2
|
+
pyproject.toml
|
3
3
|
pulumi_kubernetes_coredns/__init__.py
|
4
4
|
pulumi_kubernetes_coredns/_inputs.py
|
5
5
|
pulumi_kubernetes_coredns/_utilities.py
|
@@ -11,6 +11,5 @@ pulumi_kubernetes_coredns/py.typed
|
|
11
11
|
pulumi_kubernetes_coredns.egg-info/PKG-INFO
|
12
12
|
pulumi_kubernetes_coredns.egg-info/SOURCES.txt
|
13
13
|
pulumi_kubernetes_coredns.egg-info/dependency_links.txt
|
14
|
-
pulumi_kubernetes_coredns.egg-info/not-zip-safe
|
15
14
|
pulumi_kubernetes_coredns.egg-info/requires.txt
|
16
15
|
pulumi_kubernetes_coredns.egg-info/top_level.txt
|
@@ -0,0 +1,22 @@
|
|
1
|
+
[project]
|
2
|
+
name = "pulumi_kubernetes_coredns"
|
3
|
+
description = "Strongly-typed CoreDNS installation"
|
4
|
+
dependencies = ["parver>=0.2.1", "pulumi>=3.0.0,<4.0.0", "pulumi-kubernetes>=4.19.0,<5.0.0", "semver>=2.8.1", "typing-extensions>=4.11; python_version < \"3.11\""]
|
5
|
+
keywords = ["pulumi", "kubernetes", "coredns", "kind/component", "category/infrastructure"]
|
6
|
+
readme = "README.md"
|
7
|
+
requires-python = ">=3.9"
|
8
|
+
version = "0.1.0"
|
9
|
+
[project.license]
|
10
|
+
text = "Apache-2.0"
|
11
|
+
[project.urls]
|
12
|
+
Homepage = "https://pulumi.io"
|
13
|
+
Repository = "https://github.com/pulumi/pulumi-kubernetes-coredns"
|
14
|
+
|
15
|
+
[build-system]
|
16
|
+
requires = ["setuptools>=61.0"]
|
17
|
+
build-backend = "setuptools.build_meta"
|
18
|
+
|
19
|
+
[tool]
|
20
|
+
[tool.setuptools]
|
21
|
+
[tool.setuptools.package-data]
|
22
|
+
pulumi_kubernetes_coredns = ["py.typed", "pulumi-plugin.json"]
|
@@ -1 +0,0 @@
|
|
1
|
-
|
@@ -1,61 +0,0 @@
|
|
1
|
-
# coding=utf-8
|
2
|
-
# *** WARNING: this file was generated by Pulumi SDK Generator. ***
|
3
|
-
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
4
|
-
|
5
|
-
import errno
|
6
|
-
from setuptools import setup, find_packages
|
7
|
-
from setuptools.command.install import install
|
8
|
-
from subprocess import check_call
|
9
|
-
|
10
|
-
|
11
|
-
VERSION = "0.0.2"
|
12
|
-
PLUGIN_VERSION = "0.0.2"
|
13
|
-
|
14
|
-
class InstallPluginCommand(install):
|
15
|
-
def run(self):
|
16
|
-
install.run(self)
|
17
|
-
try:
|
18
|
-
check_call(['pulumi', 'plugin', 'install', 'resource', 'kubernetes-coredns', PLUGIN_VERSION])
|
19
|
-
except OSError as error:
|
20
|
-
if error.errno == errno.ENOENT:
|
21
|
-
print(f"""
|
22
|
-
There was an error installing the kubernetes-coredns resource provider plugin.
|
23
|
-
It looks like `pulumi` is not installed on your system.
|
24
|
-
Please visit https://pulumi.com/ to install the Pulumi CLI.
|
25
|
-
You may try manually installing the plugin by running
|
26
|
-
`pulumi plugin install resource kubernetes-coredns {PLUGIN_VERSION}`
|
27
|
-
""")
|
28
|
-
else:
|
29
|
-
raise
|
30
|
-
|
31
|
-
|
32
|
-
def readme():
|
33
|
-
try:
|
34
|
-
with open('README.md', encoding='utf-8') as f:
|
35
|
-
return f.read()
|
36
|
-
except FileNotFoundError:
|
37
|
-
return "kubernetes-coredns Pulumi Package - Development Version"
|
38
|
-
|
39
|
-
|
40
|
-
setup(name='pulumi_kubernetes_coredns',
|
41
|
-
version=VERSION,
|
42
|
-
long_description=readme(),
|
43
|
-
long_description_content_type='text/markdown',
|
44
|
-
cmdclass={
|
45
|
-
'install': InstallPluginCommand,
|
46
|
-
},
|
47
|
-
keywords='pulumi kubernetes coredns kind/component category/infrastructure',
|
48
|
-
packages=find_packages(),
|
49
|
-
package_data={
|
50
|
-
'pulumi_kubernetes_coredns': [
|
51
|
-
'py.typed',
|
52
|
-
'pulumi-plugin.json',
|
53
|
-
]
|
54
|
-
},
|
55
|
-
install_requires=[
|
56
|
-
'parver>=0.2.1',
|
57
|
-
'pulumi>=3.0.0,<4.0.0',
|
58
|
-
'pulumi-kubernetes>=3.7.1,<4.0.0',
|
59
|
-
'semver>=2.8.1'
|
60
|
-
],
|
61
|
-
zip_safe=False)
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|