pulumi-consul 3.12.0a1709360320__py3-none-any.whl → 3.13.0a1736832526__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of pulumi-consul might be problematic. Click here for more details.

Files changed (71) hide show
  1. pulumi_consul/__init__.py +10 -0
  2. pulumi_consul/_inputs.py +1592 -31
  3. pulumi_consul/_utilities.py +41 -5
  4. pulumi_consul/acl_auth_method.py +17 -14
  5. pulumi_consul/acl_binding_rule.py +12 -5
  6. pulumi_consul/acl_policy.py +9 -4
  7. pulumi_consul/acl_role.py +39 -30
  8. pulumi_consul/acl_role_policy_attachment.py +15 -8
  9. pulumi_consul/acl_token.py +36 -27
  10. pulumi_consul/acl_token_policy_attachment.py +7 -2
  11. pulumi_consul/acl_token_role_attachment.py +11 -4
  12. pulumi_consul/admin_partition.py +13 -4
  13. pulumi_consul/agent_service.py +7 -0
  14. pulumi_consul/autopilot_config.py +5 -0
  15. pulumi_consul/catalog_entry.py +16 -62
  16. pulumi_consul/certificate_authority.py +10 -51
  17. pulumi_consul/config/__init__.pyi +5 -0
  18. pulumi_consul/config/outputs.py +5 -0
  19. pulumi_consul/config/vars.py +5 -0
  20. pulumi_consul/config_entry.py +75 -26
  21. pulumi_consul/config_entry_service_defaults.py +58 -51
  22. pulumi_consul/config_entry_service_intentions.py +80 -71
  23. pulumi_consul/config_entry_service_resolver.py +94 -87
  24. pulumi_consul/config_entry_service_router.py +31 -62
  25. pulumi_consul/config_entry_service_splitter.py +104 -93
  26. pulumi_consul/config_entry_v2_exported_services.py +479 -0
  27. pulumi_consul/get_acl_auth_method.py +26 -8
  28. pulumi_consul/get_acl_policy.py +20 -5
  29. pulumi_consul/get_acl_role.py +24 -5
  30. pulumi_consul/get_acl_token.py +25 -5
  31. pulumi_consul/get_acl_token_secret_id.py +29 -11
  32. pulumi_consul/get_agent_config.py +17 -5
  33. pulumi_consul/get_agent_self.py +82 -5
  34. pulumi_consul/get_autopilot_health.py +16 -5
  35. pulumi_consul/get_catalog_nodes.py +21 -9
  36. pulumi_consul/get_catalog_service.py +56 -13
  37. pulumi_consul/get_catalog_services.py +53 -9
  38. pulumi_consul/get_config_entry.py +20 -5
  39. pulumi_consul/get_config_entry_v2_exported_services.py +232 -0
  40. pulumi_consul/get_datacenters.py +12 -5
  41. pulumi_consul/get_key_prefix.py +55 -38
  42. pulumi_consul/get_keys.py +44 -30
  43. pulumi_consul/get_network_area_members.py +26 -16
  44. pulumi_consul/get_network_segments.py +22 -14
  45. pulumi_consul/get_nodes.py +21 -9
  46. pulumi_consul/get_peering.py +22 -5
  47. pulumi_consul/get_peerings.py +14 -5
  48. pulumi_consul/get_service.py +56 -13
  49. pulumi_consul/get_service_health.py +28 -5
  50. pulumi_consul/get_services.py +53 -9
  51. pulumi_consul/intention.py +17 -12
  52. pulumi_consul/key_prefix.py +48 -50
  53. pulumi_consul/keys.py +26 -30
  54. pulumi_consul/license.py +9 -2
  55. pulumi_consul/namespace.py +13 -4
  56. pulumi_consul/namespace_policy_attachment.py +11 -4
  57. pulumi_consul/namespace_role_attachment.py +11 -4
  58. pulumi_consul/network_area.py +11 -15
  59. pulumi_consul/node.py +19 -19
  60. pulumi_consul/outputs.py +30 -27
  61. pulumi_consul/peering.py +13 -18
  62. pulumi_consul/peering_token.py +55 -11
  63. pulumi_consul/prepared_query.py +101 -101
  64. pulumi_consul/provider.py +11 -6
  65. pulumi_consul/pulumi-plugin.json +2 -1
  66. pulumi_consul/service.py +144 -19
  67. {pulumi_consul-3.12.0a1709360320.dist-info → pulumi_consul-3.13.0a1736832526.dist-info}/METADATA +7 -6
  68. pulumi_consul-3.13.0a1736832526.dist-info/RECORD +72 -0
  69. {pulumi_consul-3.12.0a1709360320.dist-info → pulumi_consul-3.13.0a1736832526.dist-info}/WHEEL +1 -1
  70. pulumi_consul-3.12.0a1709360320.dist-info/RECORD +0 -70
  71. {pulumi_consul-3.12.0a1709360320.dist-info → pulumi_consul-3.13.0a1736832526.dist-info}/top_level.txt +0 -0
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
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
10
15
  from . import _utilities
11
16
  from . import outputs
12
17
  from ._inputs import *
@@ -26,8 +31,8 @@ class ConfigEntryServiceSplitterArgs:
26
31
  :param pulumi.Input[Sequence[pulumi.Input['ConfigEntryServiceSplitterSplitArgs']]] splits: Defines how much traffic to send to sets of service instances during a traffic split.
27
32
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] meta: Specifies key-value pairs to add to the KV store.
28
33
  :param pulumi.Input[str] name: Specifies a name for the configuration entry.
29
- :param pulumi.Input[str] namespace: Specifies the namespace to use in the FQDN when resolving the service.
30
- :param pulumi.Input[str] partition: Specifies the admin partition to use in the FQDN when resolving the service.
34
+ :param pulumi.Input[str] namespace: Specifies the namespace to apply the configuration entry.
35
+ :param pulumi.Input[str] partition: Specifies the admin partition to apply the configuration entry.
31
36
  """
32
37
  pulumi.set(__self__, "splits", splits)
33
38
  if meta is not None:
@@ -79,7 +84,7 @@ class ConfigEntryServiceSplitterArgs:
79
84
  @pulumi.getter
80
85
  def namespace(self) -> Optional[pulumi.Input[str]]:
81
86
  """
82
- Specifies the namespace to use in the FQDN when resolving the service.
87
+ Specifies the namespace to apply the configuration entry.
83
88
  """
84
89
  return pulumi.get(self, "namespace")
85
90
 
@@ -91,7 +96,7 @@ class ConfigEntryServiceSplitterArgs:
91
96
  @pulumi.getter
92
97
  def partition(self) -> Optional[pulumi.Input[str]]:
93
98
  """
94
- Specifies the admin partition to use in the FQDN when resolving the service.
99
+ Specifies the admin partition to apply the configuration entry.
95
100
  """
96
101
  return pulumi.get(self, "partition")
97
102
 
@@ -112,8 +117,8 @@ class _ConfigEntryServiceSplitterState:
112
117
  Input properties used for looking up and filtering ConfigEntryServiceSplitter resources.
113
118
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] meta: Specifies key-value pairs to add to the KV store.
114
119
  :param pulumi.Input[str] name: Specifies a name for the configuration entry.
115
- :param pulumi.Input[str] namespace: Specifies the namespace to use in the FQDN when resolving the service.
116
- :param pulumi.Input[str] partition: Specifies the admin partition to use in the FQDN when resolving the service.
120
+ :param pulumi.Input[str] namespace: Specifies the namespace to apply the configuration entry.
121
+ :param pulumi.Input[str] partition: Specifies the admin partition to apply the configuration entry.
117
122
  :param pulumi.Input[Sequence[pulumi.Input['ConfigEntryServiceSplitterSplitArgs']]] splits: Defines how much traffic to send to sets of service instances during a traffic split.
118
123
  """
119
124
  if meta is not None:
@@ -155,7 +160,7 @@ class _ConfigEntryServiceSplitterState:
155
160
  @pulumi.getter
156
161
  def namespace(self) -> Optional[pulumi.Input[str]]:
157
162
  """
158
- Specifies the namespace to use in the FQDN when resolving the service.
163
+ Specifies the namespace to apply the configuration entry.
159
164
  """
160
165
  return pulumi.get(self, "namespace")
161
166
 
@@ -167,7 +172,7 @@ class _ConfigEntryServiceSplitterState:
167
172
  @pulumi.getter
168
173
  def partition(self) -> Optional[pulumi.Input[str]]:
169
174
  """
170
- Specifies the admin partition to use in the FQDN when resolving the service.
175
+ Specifies the admin partition to apply the configuration entry.
171
176
  """
172
177
  return pulumi.get(self, "partition")
173
178
 
@@ -197,7 +202,7 @@ class ConfigEntryServiceSplitter(pulumi.CustomResource):
197
202
  name: Optional[pulumi.Input[str]] = None,
198
203
  namespace: Optional[pulumi.Input[str]] = None,
199
204
  partition: Optional[pulumi.Input[str]] = None,
200
- splits: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ConfigEntryServiceSplitterSplitArgs']]]]] = None,
205
+ splits: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ConfigEntryServiceSplitterSplitArgs', 'ConfigEntryServiceSplitterSplitArgsDict']]]]] = None,
201
206
  __props__=None):
202
207
  """
203
208
  ## Example Usage
@@ -208,6 +213,7 @@ class ConfigEntryServiceSplitter(pulumi.CustomResource):
208
213
  import pulumi_consul as consul
209
214
 
210
215
  web = consul.ConfigEntry("web",
216
+ name="web",
211
217
  kind="service-defaults",
212
218
  config_json=json.dumps({
213
219
  "Protocol": "http",
@@ -215,74 +221,76 @@ class ConfigEntryServiceSplitter(pulumi.CustomResource):
215
221
  "MeshGateway": {},
216
222
  "TransparentProxy": {},
217
223
  }))
218
- service_resolver = consul.ConfigEntryServiceResolver("serviceResolver",
224
+ service_resolver = consul.ConfigEntryServiceResolver("service_resolver",
225
+ name="service-resolver",
219
226
  default_subset="v1",
220
227
  subsets=[
221
- consul.ConfigEntryServiceResolverSubsetArgs(
222
- name="v1",
223
- filter="Service.Meta.version == v1",
224
- ),
225
- consul.ConfigEntryServiceResolverSubsetArgs(
226
- name="v2",
227
- filter="Service.Meta.version == v2",
228
- ),
228
+ {
229
+ "name": "v1",
230
+ "filter": "Service.Meta.version == v1",
231
+ },
232
+ {
233
+ "name": "v2",
234
+ "filter": "Service.Meta.version == v2",
235
+ },
229
236
  ])
230
237
  foo = consul.ConfigEntryServiceSplitter("foo",
238
+ name=service_resolver.name,
231
239
  meta={
232
240
  "key": "value",
233
241
  },
234
242
  splits=[
235
- consul.ConfigEntryServiceSplitterSplitArgs(
236
- weight=80,
237
- service="web",
238
- service_subset="v1",
239
- request_headers=consul.ConfigEntryServiceSplitterSplitRequestHeadersArgs(
240
- set={
243
+ {
244
+ "weight": 80,
245
+ "service": "web",
246
+ "service_subset": "v1",
247
+ "request_headers": {
248
+ "set": {
241
249
  "x-web-version": "from-v1",
242
250
  },
243
- ),
244
- response_headers=consul.ConfigEntryServiceSplitterSplitResponseHeadersArgs(
245
- set={
251
+ },
252
+ "response_headers": {
253
+ "set": {
246
254
  "x-web-version": "to-v1",
247
255
  },
248
- ),
249
- ),
250
- consul.ConfigEntryServiceSplitterSplitArgs(
251
- weight=10,
252
- service="web",
253
- service_subset="v2",
254
- request_headers=consul.ConfigEntryServiceSplitterSplitRequestHeadersArgs(
255
- set={
256
+ },
257
+ },
258
+ {
259
+ "weight": 10,
260
+ "service": "web",
261
+ "service_subset": "v2",
262
+ "request_headers": {
263
+ "set": {
256
264
  "x-web-version": "from-v2",
257
265
  },
258
- ),
259
- response_headers=consul.ConfigEntryServiceSplitterSplitResponseHeadersArgs(
260
- set={
266
+ },
267
+ "response_headers": {
268
+ "set": {
261
269
  "x-web-version": "to-v2",
262
270
  },
263
- ),
264
- ),
265
- consul.ConfigEntryServiceSplitterSplitArgs(
266
- weight=10,
267
- service="web",
268
- service_subset="v2",
269
- ),
271
+ },
272
+ },
273
+ {
274
+ "weight": 10,
275
+ "service": "web",
276
+ "service_subset": "v2",
277
+ },
270
278
  ])
271
279
  ```
272
280
 
273
281
  ## Import
274
282
 
275
283
  ```sh
276
- $ pulumi import consul:index/configEntryServiceSplitter:ConfigEntryServiceSplitter foo web
284
+ $ pulumi import consul:index/configEntryServiceSplitter:ConfigEntryServiceSplitter foo web
277
285
  ```
278
286
 
279
287
  :param str resource_name: The name of the resource.
280
288
  :param pulumi.ResourceOptions opts: Options for the resource.
281
289
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] meta: Specifies key-value pairs to add to the KV store.
282
290
  :param pulumi.Input[str] name: Specifies a name for the configuration entry.
283
- :param pulumi.Input[str] namespace: Specifies the namespace to use in the FQDN when resolving the service.
284
- :param pulumi.Input[str] partition: Specifies the admin partition to use in the FQDN when resolving the service.
285
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ConfigEntryServiceSplitterSplitArgs']]]] splits: Defines how much traffic to send to sets of service instances during a traffic split.
291
+ :param pulumi.Input[str] namespace: Specifies the namespace to apply the configuration entry.
292
+ :param pulumi.Input[str] partition: Specifies the admin partition to apply the configuration entry.
293
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ConfigEntryServiceSplitterSplitArgs', 'ConfigEntryServiceSplitterSplitArgsDict']]]] splits: Defines how much traffic to send to sets of service instances during a traffic split.
286
294
  """
287
295
  ...
288
296
  @overload
@@ -299,6 +307,7 @@ class ConfigEntryServiceSplitter(pulumi.CustomResource):
299
307
  import pulumi_consul as consul
300
308
 
301
309
  web = consul.ConfigEntry("web",
310
+ name="web",
302
311
  kind="service-defaults",
303
312
  config_json=json.dumps({
304
313
  "Protocol": "http",
@@ -306,65 +315,67 @@ class ConfigEntryServiceSplitter(pulumi.CustomResource):
306
315
  "MeshGateway": {},
307
316
  "TransparentProxy": {},
308
317
  }))
309
- service_resolver = consul.ConfigEntryServiceResolver("serviceResolver",
318
+ service_resolver = consul.ConfigEntryServiceResolver("service_resolver",
319
+ name="service-resolver",
310
320
  default_subset="v1",
311
321
  subsets=[
312
- consul.ConfigEntryServiceResolverSubsetArgs(
313
- name="v1",
314
- filter="Service.Meta.version == v1",
315
- ),
316
- consul.ConfigEntryServiceResolverSubsetArgs(
317
- name="v2",
318
- filter="Service.Meta.version == v2",
319
- ),
322
+ {
323
+ "name": "v1",
324
+ "filter": "Service.Meta.version == v1",
325
+ },
326
+ {
327
+ "name": "v2",
328
+ "filter": "Service.Meta.version == v2",
329
+ },
320
330
  ])
321
331
  foo = consul.ConfigEntryServiceSplitter("foo",
332
+ name=service_resolver.name,
322
333
  meta={
323
334
  "key": "value",
324
335
  },
325
336
  splits=[
326
- consul.ConfigEntryServiceSplitterSplitArgs(
327
- weight=80,
328
- service="web",
329
- service_subset="v1",
330
- request_headers=consul.ConfigEntryServiceSplitterSplitRequestHeadersArgs(
331
- set={
337
+ {
338
+ "weight": 80,
339
+ "service": "web",
340
+ "service_subset": "v1",
341
+ "request_headers": {
342
+ "set": {
332
343
  "x-web-version": "from-v1",
333
344
  },
334
- ),
335
- response_headers=consul.ConfigEntryServiceSplitterSplitResponseHeadersArgs(
336
- set={
345
+ },
346
+ "response_headers": {
347
+ "set": {
337
348
  "x-web-version": "to-v1",
338
349
  },
339
- ),
340
- ),
341
- consul.ConfigEntryServiceSplitterSplitArgs(
342
- weight=10,
343
- service="web",
344
- service_subset="v2",
345
- request_headers=consul.ConfigEntryServiceSplitterSplitRequestHeadersArgs(
346
- set={
350
+ },
351
+ },
352
+ {
353
+ "weight": 10,
354
+ "service": "web",
355
+ "service_subset": "v2",
356
+ "request_headers": {
357
+ "set": {
347
358
  "x-web-version": "from-v2",
348
359
  },
349
- ),
350
- response_headers=consul.ConfigEntryServiceSplitterSplitResponseHeadersArgs(
351
- set={
360
+ },
361
+ "response_headers": {
362
+ "set": {
352
363
  "x-web-version": "to-v2",
353
364
  },
354
- ),
355
- ),
356
- consul.ConfigEntryServiceSplitterSplitArgs(
357
- weight=10,
358
- service="web",
359
- service_subset="v2",
360
- ),
365
+ },
366
+ },
367
+ {
368
+ "weight": 10,
369
+ "service": "web",
370
+ "service_subset": "v2",
371
+ },
361
372
  ])
362
373
  ```
363
374
 
364
375
  ## Import
365
376
 
366
377
  ```sh
367
- $ pulumi import consul:index/configEntryServiceSplitter:ConfigEntryServiceSplitter foo web
378
+ $ pulumi import consul:index/configEntryServiceSplitter:ConfigEntryServiceSplitter foo web
368
379
  ```
369
380
 
370
381
  :param str resource_name: The name of the resource.
@@ -386,7 +397,7 @@ class ConfigEntryServiceSplitter(pulumi.CustomResource):
386
397
  name: Optional[pulumi.Input[str]] = None,
387
398
  namespace: Optional[pulumi.Input[str]] = None,
388
399
  partition: Optional[pulumi.Input[str]] = None,
389
- splits: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ConfigEntryServiceSplitterSplitArgs']]]]] = None,
400
+ splits: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ConfigEntryServiceSplitterSplitArgs', 'ConfigEntryServiceSplitterSplitArgsDict']]]]] = None,
390
401
  __props__=None):
391
402
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
392
403
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -417,7 +428,7 @@ class ConfigEntryServiceSplitter(pulumi.CustomResource):
417
428
  name: Optional[pulumi.Input[str]] = None,
418
429
  namespace: Optional[pulumi.Input[str]] = None,
419
430
  partition: Optional[pulumi.Input[str]] = None,
420
- splits: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ConfigEntryServiceSplitterSplitArgs']]]]] = None) -> 'ConfigEntryServiceSplitter':
431
+ splits: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ConfigEntryServiceSplitterSplitArgs', 'ConfigEntryServiceSplitterSplitArgsDict']]]]] = None) -> 'ConfigEntryServiceSplitter':
421
432
  """
422
433
  Get an existing ConfigEntryServiceSplitter resource's state with the given name, id, and optional extra
423
434
  properties used to qualify the lookup.
@@ -427,9 +438,9 @@ class ConfigEntryServiceSplitter(pulumi.CustomResource):
427
438
  :param pulumi.ResourceOptions opts: Options for the resource.
428
439
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] meta: Specifies key-value pairs to add to the KV store.
429
440
  :param pulumi.Input[str] name: Specifies a name for the configuration entry.
430
- :param pulumi.Input[str] namespace: Specifies the namespace to use in the FQDN when resolving the service.
431
- :param pulumi.Input[str] partition: Specifies the admin partition to use in the FQDN when resolving the service.
432
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ConfigEntryServiceSplitterSplitArgs']]]] splits: Defines how much traffic to send to sets of service instances during a traffic split.
441
+ :param pulumi.Input[str] namespace: Specifies the namespace to apply the configuration entry.
442
+ :param pulumi.Input[str] partition: Specifies the admin partition to apply the configuration entry.
443
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ConfigEntryServiceSplitterSplitArgs', 'ConfigEntryServiceSplitterSplitArgsDict']]]] splits: Defines how much traffic to send to sets of service instances during a traffic split.
433
444
  """
434
445
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
435
446
 
@@ -462,7 +473,7 @@ class ConfigEntryServiceSplitter(pulumi.CustomResource):
462
473
  @pulumi.getter
463
474
  def namespace(self) -> pulumi.Output[Optional[str]]:
464
475
  """
465
- Specifies the namespace to use in the FQDN when resolving the service.
476
+ Specifies the namespace to apply the configuration entry.
466
477
  """
467
478
  return pulumi.get(self, "namespace")
468
479
 
@@ -470,7 +481,7 @@ class ConfigEntryServiceSplitter(pulumi.CustomResource):
470
481
  @pulumi.getter
471
482
  def partition(self) -> pulumi.Output[Optional[str]]:
472
483
  """
473
- Specifies the admin partition to use in the FQDN when resolving the service.
484
+ Specifies the admin partition to apply the configuration entry.
474
485
  """
475
486
  return pulumi.get(self, "partition")
476
487