pulumi-consul 3.12.0a1710156214__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 -22
  5. pulumi_consul/acl_binding_rule.py +12 -9
  6. pulumi_consul/acl_policy.py +7 -6
  7. pulumi_consul/acl_role.py +37 -32
  8. pulumi_consul/acl_role_policy_attachment.py +13 -10
  9. pulumi_consul/acl_token.py +34 -29
  10. pulumi_consul/acl_token_policy_attachment.py +5 -0
  11. pulumi_consul/acl_token_role_attachment.py +5 -0
  12. pulumi_consul/admin_partition.py +11 -6
  13. pulumi_consul/agent_service.py +7 -4
  14. pulumi_consul/autopilot_config.py +5 -4
  15. pulumi_consul/catalog_entry.py +16 -66
  16. pulumi_consul/certificate_authority.py +8 -49
  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 +57 -46
  21. pulumi_consul/config_entry_service_defaults.py +54 -49
  22. pulumi_consul/config_entry_service_intentions.py +80 -75
  23. pulumi_consul/config_entry_service_resolver.py +94 -91
  24. pulumi_consul/config_entry_service_router.py +31 -66
  25. pulumi_consul/config_entry_service_splitter.py +102 -95
  26. pulumi_consul/config_entry_v2_exported_services.py +479 -0
  27. pulumi_consul/get_acl_auth_method.py +26 -12
  28. pulumi_consul/get_acl_policy.py +20 -9
  29. pulumi_consul/get_acl_role.py +24 -9
  30. pulumi_consul/get_acl_token.py +25 -9
  31. pulumi_consul/get_acl_token_secret_id.py +29 -15
  32. pulumi_consul/get_agent_config.py +17 -9
  33. pulumi_consul/get_agent_self.py +82 -5
  34. pulumi_consul/get_autopilot_health.py +16 -9
  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 -46
  42. pulumi_consul/get_keys.py +44 -34
  43. pulumi_consul/get_network_area_members.py +26 -20
  44. pulumi_consul/get_network_segments.py +22 -18
  45. pulumi_consul/get_nodes.py +21 -9
  46. pulumi_consul/get_peering.py +22 -9
  47. pulumi_consul/get_peerings.py +14 -9
  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 +15 -18
  52. pulumi_consul/key_prefix.py +42 -50
  53. pulumi_consul/keys.py +26 -34
  54. pulumi_consul/license.py +9 -6
  55. pulumi_consul/namespace.py +7 -4
  56. pulumi_consul/namespace_policy_attachment.py +5 -0
  57. pulumi_consul/namespace_role_attachment.py +5 -0
  58. pulumi_consul/network_area.py +11 -19
  59. pulumi_consul/node.py +17 -21
  60. pulumi_consul/outputs.py +30 -27
  61. pulumi_consul/peering.py +13 -22
  62. pulumi_consul/peering_token.py +55 -15
  63. pulumi_consul/prepared_query.py +99 -103
  64. pulumi_consul/provider.py +11 -6
  65. pulumi_consul/pulumi-plugin.json +2 -1
  66. pulumi_consul/service.py +90 -29
  67. {pulumi_consul-3.12.0a1710156214.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.0a1710156214.dist-info → pulumi_consul-3.13.0a1736832526.dist-info}/WHEEL +1 -1
  70. pulumi_consul-3.12.0a1710156214.dist-info/RECORD +0 -70
  71. {pulumi_consul-3.12.0a1710156214.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,18 +202,18 @@ 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
204
209
 
205
- <!--Start PulumiCodeChooser -->
206
210
  ```python
207
211
  import pulumi
208
212
  import json
209
213
  import pulumi_consul as consul
210
214
 
211
215
  web = consul.ConfigEntry("web",
216
+ name="web",
212
217
  kind="service-defaults",
213
218
  config_json=json.dumps({
214
219
  "Protocol": "http",
@@ -216,61 +221,62 @@ class ConfigEntryServiceSplitter(pulumi.CustomResource):
216
221
  "MeshGateway": {},
217
222
  "TransparentProxy": {},
218
223
  }))
219
- service_resolver = consul.ConfigEntryServiceResolver("serviceResolver",
224
+ service_resolver = consul.ConfigEntryServiceResolver("service_resolver",
225
+ name="service-resolver",
220
226
  default_subset="v1",
221
227
  subsets=[
222
- consul.ConfigEntryServiceResolverSubsetArgs(
223
- name="v1",
224
- filter="Service.Meta.version == v1",
225
- ),
226
- consul.ConfigEntryServiceResolverSubsetArgs(
227
- name="v2",
228
- filter="Service.Meta.version == v2",
229
- ),
228
+ {
229
+ "name": "v1",
230
+ "filter": "Service.Meta.version == v1",
231
+ },
232
+ {
233
+ "name": "v2",
234
+ "filter": "Service.Meta.version == v2",
235
+ },
230
236
  ])
231
237
  foo = consul.ConfigEntryServiceSplitter("foo",
238
+ name=service_resolver.name,
232
239
  meta={
233
240
  "key": "value",
234
241
  },
235
242
  splits=[
236
- consul.ConfigEntryServiceSplitterSplitArgs(
237
- weight=80,
238
- service="web",
239
- service_subset="v1",
240
- request_headers=consul.ConfigEntryServiceSplitterSplitRequestHeadersArgs(
241
- set={
243
+ {
244
+ "weight": 80,
245
+ "service": "web",
246
+ "service_subset": "v1",
247
+ "request_headers": {
248
+ "set": {
242
249
  "x-web-version": "from-v1",
243
250
  },
244
- ),
245
- response_headers=consul.ConfigEntryServiceSplitterSplitResponseHeadersArgs(
246
- set={
251
+ },
252
+ "response_headers": {
253
+ "set": {
247
254
  "x-web-version": "to-v1",
248
255
  },
249
- ),
250
- ),
251
- consul.ConfigEntryServiceSplitterSplitArgs(
252
- weight=10,
253
- service="web",
254
- service_subset="v2",
255
- request_headers=consul.ConfigEntryServiceSplitterSplitRequestHeadersArgs(
256
- set={
256
+ },
257
+ },
258
+ {
259
+ "weight": 10,
260
+ "service": "web",
261
+ "service_subset": "v2",
262
+ "request_headers": {
263
+ "set": {
257
264
  "x-web-version": "from-v2",
258
265
  },
259
- ),
260
- response_headers=consul.ConfigEntryServiceSplitterSplitResponseHeadersArgs(
261
- set={
266
+ },
267
+ "response_headers": {
268
+ "set": {
262
269
  "x-web-version": "to-v2",
263
270
  },
264
- ),
265
- ),
266
- consul.ConfigEntryServiceSplitterSplitArgs(
267
- weight=10,
268
- service="web",
269
- service_subset="v2",
270
- ),
271
+ },
272
+ },
273
+ {
274
+ "weight": 10,
275
+ "service": "web",
276
+ "service_subset": "v2",
277
+ },
271
278
  ])
272
279
  ```
273
- <!--End PulumiCodeChooser -->
274
280
 
275
281
  ## Import
276
282
 
@@ -282,9 +288,9 @@ class ConfigEntryServiceSplitter(pulumi.CustomResource):
282
288
  :param pulumi.ResourceOptions opts: Options for the resource.
283
289
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] meta: Specifies key-value pairs to add to the KV store.
284
290
  :param pulumi.Input[str] name: Specifies a name for the configuration entry.
285
- :param pulumi.Input[str] namespace: Specifies the namespace to use in the FQDN when resolving the service.
286
- :param pulumi.Input[str] partition: Specifies the admin partition to use in the FQDN when resolving the service.
287
- :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.
288
294
  """
289
295
  ...
290
296
  @overload
@@ -295,13 +301,13 @@ class ConfigEntryServiceSplitter(pulumi.CustomResource):
295
301
  """
296
302
  ## Example Usage
297
303
 
298
- <!--Start PulumiCodeChooser -->
299
304
  ```python
300
305
  import pulumi
301
306
  import json
302
307
  import pulumi_consul as consul
303
308
 
304
309
  web = consul.ConfigEntry("web",
310
+ name="web",
305
311
  kind="service-defaults",
306
312
  config_json=json.dumps({
307
313
  "Protocol": "http",
@@ -309,61 +315,62 @@ class ConfigEntryServiceSplitter(pulumi.CustomResource):
309
315
  "MeshGateway": {},
310
316
  "TransparentProxy": {},
311
317
  }))
312
- service_resolver = consul.ConfigEntryServiceResolver("serviceResolver",
318
+ service_resolver = consul.ConfigEntryServiceResolver("service_resolver",
319
+ name="service-resolver",
313
320
  default_subset="v1",
314
321
  subsets=[
315
- consul.ConfigEntryServiceResolverSubsetArgs(
316
- name="v1",
317
- filter="Service.Meta.version == v1",
318
- ),
319
- consul.ConfigEntryServiceResolverSubsetArgs(
320
- name="v2",
321
- filter="Service.Meta.version == v2",
322
- ),
322
+ {
323
+ "name": "v1",
324
+ "filter": "Service.Meta.version == v1",
325
+ },
326
+ {
327
+ "name": "v2",
328
+ "filter": "Service.Meta.version == v2",
329
+ },
323
330
  ])
324
331
  foo = consul.ConfigEntryServiceSplitter("foo",
332
+ name=service_resolver.name,
325
333
  meta={
326
334
  "key": "value",
327
335
  },
328
336
  splits=[
329
- consul.ConfigEntryServiceSplitterSplitArgs(
330
- weight=80,
331
- service="web",
332
- service_subset="v1",
333
- request_headers=consul.ConfigEntryServiceSplitterSplitRequestHeadersArgs(
334
- set={
337
+ {
338
+ "weight": 80,
339
+ "service": "web",
340
+ "service_subset": "v1",
341
+ "request_headers": {
342
+ "set": {
335
343
  "x-web-version": "from-v1",
336
344
  },
337
- ),
338
- response_headers=consul.ConfigEntryServiceSplitterSplitResponseHeadersArgs(
339
- set={
345
+ },
346
+ "response_headers": {
347
+ "set": {
340
348
  "x-web-version": "to-v1",
341
349
  },
342
- ),
343
- ),
344
- consul.ConfigEntryServiceSplitterSplitArgs(
345
- weight=10,
346
- service="web",
347
- service_subset="v2",
348
- request_headers=consul.ConfigEntryServiceSplitterSplitRequestHeadersArgs(
349
- set={
350
+ },
351
+ },
352
+ {
353
+ "weight": 10,
354
+ "service": "web",
355
+ "service_subset": "v2",
356
+ "request_headers": {
357
+ "set": {
350
358
  "x-web-version": "from-v2",
351
359
  },
352
- ),
353
- response_headers=consul.ConfigEntryServiceSplitterSplitResponseHeadersArgs(
354
- set={
360
+ },
361
+ "response_headers": {
362
+ "set": {
355
363
  "x-web-version": "to-v2",
356
364
  },
357
- ),
358
- ),
359
- consul.ConfigEntryServiceSplitterSplitArgs(
360
- weight=10,
361
- service="web",
362
- service_subset="v2",
363
- ),
365
+ },
366
+ },
367
+ {
368
+ "weight": 10,
369
+ "service": "web",
370
+ "service_subset": "v2",
371
+ },
364
372
  ])
365
373
  ```
366
- <!--End PulumiCodeChooser -->
367
374
 
368
375
  ## Import
369
376
 
@@ -390,7 +397,7 @@ class ConfigEntryServiceSplitter(pulumi.CustomResource):
390
397
  name: Optional[pulumi.Input[str]] = None,
391
398
  namespace: Optional[pulumi.Input[str]] = None,
392
399
  partition: Optional[pulumi.Input[str]] = None,
393
- splits: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ConfigEntryServiceSplitterSplitArgs']]]]] = None,
400
+ splits: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ConfigEntryServiceSplitterSplitArgs', 'ConfigEntryServiceSplitterSplitArgsDict']]]]] = None,
394
401
  __props__=None):
395
402
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
396
403
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -421,7 +428,7 @@ class ConfigEntryServiceSplitter(pulumi.CustomResource):
421
428
  name: Optional[pulumi.Input[str]] = None,
422
429
  namespace: Optional[pulumi.Input[str]] = None,
423
430
  partition: Optional[pulumi.Input[str]] = None,
424
- 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':
425
432
  """
426
433
  Get an existing ConfigEntryServiceSplitter resource's state with the given name, id, and optional extra
427
434
  properties used to qualify the lookup.
@@ -431,9 +438,9 @@ class ConfigEntryServiceSplitter(pulumi.CustomResource):
431
438
  :param pulumi.ResourceOptions opts: Options for the resource.
432
439
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] meta: Specifies key-value pairs to add to the KV store.
433
440
  :param pulumi.Input[str] name: Specifies a name for the configuration entry.
434
- :param pulumi.Input[str] namespace: Specifies the namespace to use in the FQDN when resolving the service.
435
- :param pulumi.Input[str] partition: Specifies the admin partition to use in the FQDN when resolving the service.
436
- :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.
437
444
  """
438
445
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
439
446
 
@@ -466,7 +473,7 @@ class ConfigEntryServiceSplitter(pulumi.CustomResource):
466
473
  @pulumi.getter
467
474
  def namespace(self) -> pulumi.Output[Optional[str]]:
468
475
  """
469
- Specifies the namespace to use in the FQDN when resolving the service.
476
+ Specifies the namespace to apply the configuration entry.
470
477
  """
471
478
  return pulumi.get(self, "namespace")
472
479
 
@@ -474,7 +481,7 @@ class ConfigEntryServiceSplitter(pulumi.CustomResource):
474
481
  @pulumi.getter
475
482
  def partition(self) -> pulumi.Output[Optional[str]]:
476
483
  """
477
- Specifies the admin partition to use in the FQDN when resolving the service.
484
+ Specifies the admin partition to apply the configuration entry.
478
485
  """
479
486
  return pulumi.get(self, "partition")
480
487