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.
Files changed (21) hide show
  1. {pulumi_kubernetes_coredns-0.0.2 → pulumi_kubernetes_coredns-0.1.0}/PKG-INFO +12 -8
  2. {pulumi_kubernetes_coredns-0.0.2 → pulumi_kubernetes_coredns-0.1.0}/pulumi_kubernetes_coredns/__init__.py +1 -1
  3. {pulumi_kubernetes_coredns-0.0.2 → pulumi_kubernetes_coredns-0.1.0}/pulumi_kubernetes_coredns/_inputs.py +435 -1
  4. {pulumi_kubernetes_coredns-0.0.2 → pulumi_kubernetes_coredns-0.1.0}/pulumi_kubernetes_coredns/_utilities.py +97 -6
  5. {pulumi_kubernetes_coredns-0.0.2 → pulumi_kubernetes_coredns-0.1.0}/pulumi_kubernetes_coredns/core_dns.py +44 -41
  6. {pulumi_kubernetes_coredns-0.0.2 → pulumi_kubernetes_coredns-0.1.0}/pulumi_kubernetes_coredns/outputs.py +7 -1
  7. {pulumi_kubernetes_coredns-0.0.2 → pulumi_kubernetes_coredns-0.1.0}/pulumi_kubernetes_coredns/provider.py +8 -5
  8. pulumi_kubernetes_coredns-0.1.0/pulumi_kubernetes_coredns/pulumi-plugin.json +5 -0
  9. {pulumi_kubernetes_coredns-0.0.2 → pulumi_kubernetes_coredns-0.1.0}/pulumi_kubernetes_coredns.egg-info/PKG-INFO +13 -9
  10. {pulumi_kubernetes_coredns-0.0.2 → pulumi_kubernetes_coredns-0.1.0}/pulumi_kubernetes_coredns.egg-info/SOURCES.txt +1 -2
  11. pulumi_kubernetes_coredns-0.1.0/pulumi_kubernetes_coredns.egg-info/requires.txt +7 -0
  12. pulumi_kubernetes_coredns-0.1.0/pyproject.toml +22 -0
  13. pulumi_kubernetes_coredns-0.0.2/pulumi_kubernetes_coredns/pulumi-plugin.json +0 -4
  14. pulumi_kubernetes_coredns-0.0.2/pulumi_kubernetes_coredns.egg-info/not-zip-safe +0 -1
  15. pulumi_kubernetes_coredns-0.0.2/pulumi_kubernetes_coredns.egg-info/requires.txt +0 -4
  16. pulumi_kubernetes_coredns-0.0.2/setup.py +0 -61
  17. {pulumi_kubernetes_coredns-0.0.2 → pulumi_kubernetes_coredns-0.1.0}/README.md +0 -0
  18. {pulumi_kubernetes_coredns-0.0.2 → pulumi_kubernetes_coredns-0.1.0}/pulumi_kubernetes_coredns/py.typed +0 -0
  19. {pulumi_kubernetes_coredns-0.0.2 → pulumi_kubernetes_coredns-0.1.0}/pulumi_kubernetes_coredns.egg-info/dependency_links.txt +0 -0
  20. {pulumi_kubernetes_coredns-0.0.2 → pulumi_kubernetes_coredns-0.1.0}/pulumi_kubernetes_coredns.egg-info/top_level.txt +0 -0
  21. {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.2
4
- Summary: UNKNOWN
5
- Home-page: UNKNOWN
6
- License: UNKNOWN
7
- Keywords: pulumi kubernetes coredns kind/component category/infrastructure
8
- Platform: UNKNOWN
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
  # coding=utf-8
2
- # *** WARNING: this file was generated by Pulumi SDK Generator. ***
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
  from . import _utilities
@@ -1,33 +1,94 @@
1
1
  # coding=utf-8
2
- # *** WARNING: this file was generated by Pulumi SDK Generator. ***
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 Pulumi SDK Generator. ***
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 = pkg_resources.require(root_package)[0].version
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 get_version():
99
- return _version_str
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 Pulumi SDK Generator. ***
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[pulumi.InputType['CoreDNSAutoscalerArgs']]] = None,
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[pulumi.InputType['CoreDNSDeploymentArgs']]] = None,
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[pulumi.InputType['ReleaseArgs']]] = None,
513
- hpa: Optional[pulumi.Input[pulumi.InputType['CoreDNSHPAArgs']]] = None,
514
- image: Optional[pulumi.Input[pulumi.InputType['CoreDNSImageArgs']]] = None,
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[pulumi.InputType['CoreDNSPrometheusArgs']]] = None,
523
- rbac: Optional[pulumi.Input[pulumi.InputType['CoreDNSRBACArgs']]] = None,
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[pulumi.InputType['CoreDNSServerArgs']]]]] = None,
529
- service: Optional[pulumi.Input[pulumi.InputType['CoreDNSServiceArgs']]] = None,
530
- service_account: Optional[pulumi.Input[pulumi.InputType['CoreDNSServiceAccountArgs']]] = None,
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[pulumi.InputType['CoreDNSZoneFileArgs']]]]] = None,
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[pulumi.InputType['CoreDNSAutoscalerArgs']] autoscaler: Configue a cluster-proportional-autoscaler for coredns. See https://github.com/kubernetes-incubator/cluster-proportional-autoscaler.
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[pulumi.InputType['CoreDNSDeploymentArgs']] deployment: Configure the CoreDNS Deployment.
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[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.
549
- :param pulumi.Input[pulumi.InputType['CoreDNSHPAArgs']] hpa: Alternative configuration for HPA deployment if wanted.
550
- :param pulumi.Input[pulumi.InputType['CoreDNSImageArgs']] image: The image to pull.
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[pulumi.InputType['CoreDNSPrometheusArgs']] prometheus: Configure Prometheus installation.
559
- :param pulumi.Input[pulumi.InputType['CoreDNSRBACArgs']] rbac: Configure CoreDNS RBAC resources.
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[pulumi.InputType['CoreDNSServerArgs']]]] 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
564
- :param pulumi.Input[pulumi.InputType['CoreDNSServiceArgs']] service: Configure CoreDNS Service parameters.
565
- :param pulumi.Input[pulumi.InputType['CoreDNSServiceAccountArgs']] service_account: Configure CoreDNS Service Account.
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[pulumi.InputType['CoreDNSZoneFileArgs']]]] zone_files: Configure custom Zone files.
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[pulumi.InputType['CoreDNSAutoscalerArgs']]] = None,
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[pulumi.InputType['CoreDNSDeploymentArgs']]] = None,
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[pulumi.InputType['ReleaseArgs']]] = None,
603
- hpa: Optional[pulumi.Input[pulumi.InputType['CoreDNSHPAArgs']]] = None,
604
- image: Optional[pulumi.Input[pulumi.InputType['CoreDNSImageArgs']]] = None,
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[pulumi.InputType['CoreDNSPrometheusArgs']]] = None,
613
- rbac: Optional[pulumi.Input[pulumi.InputType['CoreDNSRBACArgs']]] = None,
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[pulumi.InputType['CoreDNSServerArgs']]]]] = None,
619
- service: Optional[pulumi.Input[pulumi.InputType['CoreDNSServiceArgs']]] = None,
620
- service_account: Optional[pulumi.Input[pulumi.InputType['CoreDNSServiceAccountArgs']]] = None,
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[pulumi.InputType['CoreDNSZoneFileArgs']]]]] = None,
630
+ zone_files: Optional[pulumi.Input[Sequence[pulumi.Input[Union['CoreDNSZoneFileArgs', 'CoreDNSZoneFileArgsDict']]]]] = None,
625
631
  __props__=None):
626
- if opts is None:
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 Pulumi SDK Generator. ***
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 Pulumi SDK Generator. ***
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
- if opts is None:
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')
@@ -0,0 +1,5 @@
1
+ {
2
+ "resource": true,
3
+ "name": "kubernetes-coredns",
4
+ "version": "0.1.0"
5
+ }
@@ -1,12 +1,18 @@
1
1
  Metadata-Version: 2.1
2
- Name: pulumi-kubernetes-coredns
3
- Version: 0.0.2
4
- Summary: UNKNOWN
5
- Home-page: UNKNOWN
6
- License: UNKNOWN
7
- Keywords: pulumi kubernetes coredns kind/component category/infrastructure
8
- Platform: UNKNOWN
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
- setup.py
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,7 @@
1
+ parver>=0.2.1
2
+ pulumi<4.0.0,>=3.0.0
3
+ pulumi-kubernetes<5.0.0,>=4.19.0
4
+ semver>=2.8.1
5
+
6
+ [:python_version < "3.11"]
7
+ typing-extensions>=4.11
@@ -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,4 +0,0 @@
1
- {
2
- "resource": true,
3
- "name": "kubernetes-coredns"
4
- }
@@ -1,4 +0,0 @@
1
- parver>=0.2.1
2
- pulumi<4.0.0,>=3.0.0
3
- pulumi-kubernetes<4.0.0,>=3.7.1
4
- semver>=2.8.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)