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 *
@@ -34,9 +39,9 @@ class ConfigEntryServiceResolverArgs:
34
39
  :param pulumi.Input[Sequence[pulumi.Input['ConfigEntryServiceResolverFailoverArgs']]] failovers: Specifies controls for rerouting traffic to an alternate pool of service instances if the target service fails.
35
40
  :param pulumi.Input[Sequence[pulumi.Input['ConfigEntryServiceResolverLoadBalancerArgs']]] load_balancers: Specifies the load balancing policy and configuration for services issuing requests to this upstream.
36
41
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] meta: Specifies key-value pairs to add to the KV store.
37
- :param pulumi.Input[str] name: Name of subset.
38
- :param pulumi.Input[str] namespace: Specifies the namespace at the failover location where the failover services are deployed.
39
- :param pulumi.Input[str] partition: Specifies the admin partition within the same datacenter to use for the failover target. If empty, the default partition is used.
42
+ :param pulumi.Input[str] name: Specifies a name for the configuration entry.
43
+ :param pulumi.Input[str] namespace: Specifies the namespace that the service resolver applies to.
44
+ :param pulumi.Input[str] partition: Specifies the admin partition that the service resolver applies to.
40
45
  :param pulumi.Input[Sequence[pulumi.Input['ConfigEntryServiceResolverRedirectArgs']]] redirects: Specifies redirect instructions for local service traffic so that services deployed to a different network location resolve the upstream request instead.
41
46
  :param pulumi.Input[str] request_timeout: Specifies the timeout duration for receiving an HTTP response from this service.
42
47
  :param pulumi.Input[Sequence[pulumi.Input['ConfigEntryServiceResolverSubsetArgs']]] subsets: Specifies names for custom service subsets and the conditions under which service instances belong to each subset.
@@ -128,7 +133,7 @@ class ConfigEntryServiceResolverArgs:
128
133
  @pulumi.getter
129
134
  def name(self) -> Optional[pulumi.Input[str]]:
130
135
  """
131
- Name of subset.
136
+ Specifies a name for the configuration entry.
132
137
  """
133
138
  return pulumi.get(self, "name")
134
139
 
@@ -140,7 +145,7 @@ class ConfigEntryServiceResolverArgs:
140
145
  @pulumi.getter
141
146
  def namespace(self) -> Optional[pulumi.Input[str]]:
142
147
  """
143
- Specifies the namespace at the failover location where the failover services are deployed.
148
+ Specifies the namespace that the service resolver applies to.
144
149
  """
145
150
  return pulumi.get(self, "namespace")
146
151
 
@@ -152,7 +157,7 @@ class ConfigEntryServiceResolverArgs:
152
157
  @pulumi.getter
153
158
  def partition(self) -> Optional[pulumi.Input[str]]:
154
159
  """
155
- Specifies the admin partition within the same datacenter to use for the failover target. If empty, the default partition is used.
160
+ Specifies the admin partition that the service resolver applies to.
156
161
  """
157
162
  return pulumi.get(self, "partition")
158
163
 
@@ -218,9 +223,9 @@ class _ConfigEntryServiceResolverState:
218
223
  :param pulumi.Input[Sequence[pulumi.Input['ConfigEntryServiceResolverFailoverArgs']]] failovers: Specifies controls for rerouting traffic to an alternate pool of service instances if the target service fails.
219
224
  :param pulumi.Input[Sequence[pulumi.Input['ConfigEntryServiceResolverLoadBalancerArgs']]] load_balancers: Specifies the load balancing policy and configuration for services issuing requests to this upstream.
220
225
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] meta: Specifies key-value pairs to add to the KV store.
221
- :param pulumi.Input[str] name: Name of subset.
222
- :param pulumi.Input[str] namespace: Specifies the namespace at the failover location where the failover services are deployed.
223
- :param pulumi.Input[str] partition: Specifies the admin partition within the same datacenter to use for the failover target. If empty, the default partition is used.
226
+ :param pulumi.Input[str] name: Specifies a name for the configuration entry.
227
+ :param pulumi.Input[str] namespace: Specifies the namespace that the service resolver applies to.
228
+ :param pulumi.Input[str] partition: Specifies the admin partition that the service resolver applies to.
224
229
  :param pulumi.Input[Sequence[pulumi.Input['ConfigEntryServiceResolverRedirectArgs']]] redirects: Specifies redirect instructions for local service traffic so that services deployed to a different network location resolve the upstream request instead.
225
230
  :param pulumi.Input[str] request_timeout: Specifies the timeout duration for receiving an HTTP response from this service.
226
231
  :param pulumi.Input[Sequence[pulumi.Input['ConfigEntryServiceResolverSubsetArgs']]] subsets: Specifies names for custom service subsets and the conditions under which service instances belong to each subset.
@@ -312,7 +317,7 @@ class _ConfigEntryServiceResolverState:
312
317
  @pulumi.getter
313
318
  def name(self) -> Optional[pulumi.Input[str]]:
314
319
  """
315
- Name of subset.
320
+ Specifies a name for the configuration entry.
316
321
  """
317
322
  return pulumi.get(self, "name")
318
323
 
@@ -324,7 +329,7 @@ class _ConfigEntryServiceResolverState:
324
329
  @pulumi.getter
325
330
  def namespace(self) -> Optional[pulumi.Input[str]]:
326
331
  """
327
- Specifies the namespace at the failover location where the failover services are deployed.
332
+ Specifies the namespace that the service resolver applies to.
328
333
  """
329
334
  return pulumi.get(self, "namespace")
330
335
 
@@ -336,7 +341,7 @@ class _ConfigEntryServiceResolverState:
336
341
  @pulumi.getter
337
342
  def partition(self) -> Optional[pulumi.Input[str]]:
338
343
  """
339
- Specifies the admin partition within the same datacenter to use for the failover target. If empty, the default partition is used.
344
+ Specifies the admin partition that the service resolver applies to.
340
345
  """
341
346
  return pulumi.get(self, "partition")
342
347
 
@@ -388,15 +393,15 @@ class ConfigEntryServiceResolver(pulumi.CustomResource):
388
393
  opts: Optional[pulumi.ResourceOptions] = None,
389
394
  connect_timeout: Optional[pulumi.Input[str]] = None,
390
395
  default_subset: Optional[pulumi.Input[str]] = None,
391
- failovers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ConfigEntryServiceResolverFailoverArgs']]]]] = None,
392
- load_balancers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ConfigEntryServiceResolverLoadBalancerArgs']]]]] = None,
396
+ failovers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ConfigEntryServiceResolverFailoverArgs', 'ConfigEntryServiceResolverFailoverArgsDict']]]]] = None,
397
+ load_balancers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ConfigEntryServiceResolverLoadBalancerArgs', 'ConfigEntryServiceResolverLoadBalancerArgsDict']]]]] = None,
393
398
  meta: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
394
399
  name: Optional[pulumi.Input[str]] = None,
395
400
  namespace: Optional[pulumi.Input[str]] = None,
396
401
  partition: Optional[pulumi.Input[str]] = None,
397
- redirects: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ConfigEntryServiceResolverRedirectArgs']]]]] = None,
402
+ redirects: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ConfigEntryServiceResolverRedirectArgs', 'ConfigEntryServiceResolverRedirectArgsDict']]]]] = None,
398
403
  request_timeout: Optional[pulumi.Input[str]] = None,
399
- subsets: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ConfigEntryServiceResolverSubsetArgs']]]]] = None,
404
+ subsets: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ConfigEntryServiceResolverSubsetArgs', 'ConfigEntryServiceResolverSubsetArgsDict']]]]] = None,
400
405
  __props__=None):
401
406
  """
402
407
  ## Example Usage
@@ -406,34 +411,35 @@ class ConfigEntryServiceResolver(pulumi.CustomResource):
406
411
  import pulumi_consul as consul
407
412
 
408
413
  web = consul.ConfigEntryServiceResolver("web",
409
- connect_timeout="15s",
414
+ name="web",
410
415
  default_subset="v1",
416
+ connect_timeout="15s",
417
+ subsets=[
418
+ {
419
+ "name": "v1",
420
+ "filter": "Service.Meta.version == v1",
421
+ },
422
+ {
423
+ "name": "v2",
424
+ "filter": "Service.Meta.version == v2",
425
+ },
426
+ ],
427
+ redirects=[{
428
+ "service": "web",
429
+ "datacenter": "dc2",
430
+ }],
411
431
  failovers=[
412
- consul.ConfigEntryServiceResolverFailoverArgs(
413
- datacenters=["dc2"],
414
- subset_name="v2",
415
- ),
416
- consul.ConfigEntryServiceResolverFailoverArgs(
417
- datacenters=[
432
+ {
433
+ "subset_name": "v2",
434
+ "datacenters": ["dc2"],
435
+ },
436
+ {
437
+ "subset_name": "*",
438
+ "datacenters": [
418
439
  "dc3",
419
440
  "dc4",
420
441
  ],
421
- subset_name="*",
422
- ),
423
- ],
424
- redirects=[consul.ConfigEntryServiceResolverRedirectArgs(
425
- datacenter="dc2",
426
- service="web",
427
- )],
428
- subsets=[
429
- consul.ConfigEntryServiceResolverSubsetArgs(
430
- filter="Service.Meta.version == v1",
431
- name="v1",
432
- ),
433
- consul.ConfigEntryServiceResolverSubsetArgs(
434
- filter="Service.Meta.version == v2",
435
- name="v2",
436
- ),
442
+ },
437
443
  ])
438
444
  ```
439
445
 
@@ -441,15 +447,15 @@ class ConfigEntryServiceResolver(pulumi.CustomResource):
441
447
  :param pulumi.ResourceOptions opts: Options for the resource.
442
448
  :param pulumi.Input[str] connect_timeout: Specifies the timeout duration for establishing new network connections to this service.
443
449
  :param pulumi.Input[str] default_subset: Specifies a defined subset of service instances to use when no explicit subset is requested. If this parameter is not specified, Consul uses the unnamed default subset.
444
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ConfigEntryServiceResolverFailoverArgs']]]] failovers: Specifies controls for rerouting traffic to an alternate pool of service instances if the target service fails.
445
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ConfigEntryServiceResolverLoadBalancerArgs']]]] load_balancers: Specifies the load balancing policy and configuration for services issuing requests to this upstream.
450
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ConfigEntryServiceResolverFailoverArgs', 'ConfigEntryServiceResolverFailoverArgsDict']]]] failovers: Specifies controls for rerouting traffic to an alternate pool of service instances if the target service fails.
451
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ConfigEntryServiceResolverLoadBalancerArgs', 'ConfigEntryServiceResolverLoadBalancerArgsDict']]]] load_balancers: Specifies the load balancing policy and configuration for services issuing requests to this upstream.
446
452
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] meta: Specifies key-value pairs to add to the KV store.
447
- :param pulumi.Input[str] name: Name of subset.
448
- :param pulumi.Input[str] namespace: Specifies the namespace at the failover location where the failover services are deployed.
449
- :param pulumi.Input[str] partition: Specifies the admin partition within the same datacenter to use for the failover target. If empty, the default partition is used.
450
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ConfigEntryServiceResolverRedirectArgs']]]] redirects: Specifies redirect instructions for local service traffic so that services deployed to a different network location resolve the upstream request instead.
453
+ :param pulumi.Input[str] name: Specifies a name for the configuration entry.
454
+ :param pulumi.Input[str] namespace: Specifies the namespace that the service resolver applies to.
455
+ :param pulumi.Input[str] partition: Specifies the admin partition that the service resolver applies to.
456
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ConfigEntryServiceResolverRedirectArgs', 'ConfigEntryServiceResolverRedirectArgsDict']]]] redirects: Specifies redirect instructions for local service traffic so that services deployed to a different network location resolve the upstream request instead.
451
457
  :param pulumi.Input[str] request_timeout: Specifies the timeout duration for receiving an HTTP response from this service.
452
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ConfigEntryServiceResolverSubsetArgs']]]] subsets: Specifies names for custom service subsets and the conditions under which service instances belong to each subset.
458
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ConfigEntryServiceResolverSubsetArgs', 'ConfigEntryServiceResolverSubsetArgsDict']]]] subsets: Specifies names for custom service subsets and the conditions under which service instances belong to each subset.
453
459
  """
454
460
  ...
455
461
  @overload
@@ -465,34 +471,35 @@ class ConfigEntryServiceResolver(pulumi.CustomResource):
465
471
  import pulumi_consul as consul
466
472
 
467
473
  web = consul.ConfigEntryServiceResolver("web",
468
- connect_timeout="15s",
474
+ name="web",
469
475
  default_subset="v1",
476
+ connect_timeout="15s",
477
+ subsets=[
478
+ {
479
+ "name": "v1",
480
+ "filter": "Service.Meta.version == v1",
481
+ },
482
+ {
483
+ "name": "v2",
484
+ "filter": "Service.Meta.version == v2",
485
+ },
486
+ ],
487
+ redirects=[{
488
+ "service": "web",
489
+ "datacenter": "dc2",
490
+ }],
470
491
  failovers=[
471
- consul.ConfigEntryServiceResolverFailoverArgs(
472
- datacenters=["dc2"],
473
- subset_name="v2",
474
- ),
475
- consul.ConfigEntryServiceResolverFailoverArgs(
476
- datacenters=[
492
+ {
493
+ "subset_name": "v2",
494
+ "datacenters": ["dc2"],
495
+ },
496
+ {
497
+ "subset_name": "*",
498
+ "datacenters": [
477
499
  "dc3",
478
500
  "dc4",
479
501
  ],
480
- subset_name="*",
481
- ),
482
- ],
483
- redirects=[consul.ConfigEntryServiceResolverRedirectArgs(
484
- datacenter="dc2",
485
- service="web",
486
- )],
487
- subsets=[
488
- consul.ConfigEntryServiceResolverSubsetArgs(
489
- filter="Service.Meta.version == v1",
490
- name="v1",
491
- ),
492
- consul.ConfigEntryServiceResolverSubsetArgs(
493
- filter="Service.Meta.version == v2",
494
- name="v2",
495
- ),
502
+ },
496
503
  ])
497
504
  ```
498
505
 
@@ -513,15 +520,15 @@ class ConfigEntryServiceResolver(pulumi.CustomResource):
513
520
  opts: Optional[pulumi.ResourceOptions] = None,
514
521
  connect_timeout: Optional[pulumi.Input[str]] = None,
515
522
  default_subset: Optional[pulumi.Input[str]] = None,
516
- failovers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ConfigEntryServiceResolverFailoverArgs']]]]] = None,
517
- load_balancers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ConfigEntryServiceResolverLoadBalancerArgs']]]]] = None,
523
+ failovers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ConfigEntryServiceResolverFailoverArgs', 'ConfigEntryServiceResolverFailoverArgsDict']]]]] = None,
524
+ load_balancers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ConfigEntryServiceResolverLoadBalancerArgs', 'ConfigEntryServiceResolverLoadBalancerArgsDict']]]]] = None,
518
525
  meta: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
519
526
  name: Optional[pulumi.Input[str]] = None,
520
527
  namespace: Optional[pulumi.Input[str]] = None,
521
528
  partition: Optional[pulumi.Input[str]] = None,
522
- redirects: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ConfigEntryServiceResolverRedirectArgs']]]]] = None,
529
+ redirects: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ConfigEntryServiceResolverRedirectArgs', 'ConfigEntryServiceResolverRedirectArgsDict']]]]] = None,
523
530
  request_timeout: Optional[pulumi.Input[str]] = None,
524
- subsets: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ConfigEntryServiceResolverSubsetArgs']]]]] = None,
531
+ subsets: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ConfigEntryServiceResolverSubsetArgs', 'ConfigEntryServiceResolverSubsetArgsDict']]]]] = None,
525
532
  __props__=None):
526
533
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
527
534
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -554,15 +561,15 @@ class ConfigEntryServiceResolver(pulumi.CustomResource):
554
561
  opts: Optional[pulumi.ResourceOptions] = None,
555
562
  connect_timeout: Optional[pulumi.Input[str]] = None,
556
563
  default_subset: Optional[pulumi.Input[str]] = None,
557
- failovers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ConfigEntryServiceResolverFailoverArgs']]]]] = None,
558
- load_balancers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ConfigEntryServiceResolverLoadBalancerArgs']]]]] = None,
564
+ failovers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ConfigEntryServiceResolverFailoverArgs', 'ConfigEntryServiceResolverFailoverArgsDict']]]]] = None,
565
+ load_balancers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ConfigEntryServiceResolverLoadBalancerArgs', 'ConfigEntryServiceResolverLoadBalancerArgsDict']]]]] = None,
559
566
  meta: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
560
567
  name: Optional[pulumi.Input[str]] = None,
561
568
  namespace: Optional[pulumi.Input[str]] = None,
562
569
  partition: Optional[pulumi.Input[str]] = None,
563
- redirects: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ConfigEntryServiceResolverRedirectArgs']]]]] = None,
570
+ redirects: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ConfigEntryServiceResolverRedirectArgs', 'ConfigEntryServiceResolverRedirectArgsDict']]]]] = None,
564
571
  request_timeout: Optional[pulumi.Input[str]] = None,
565
- subsets: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ConfigEntryServiceResolverSubsetArgs']]]]] = None) -> 'ConfigEntryServiceResolver':
572
+ subsets: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ConfigEntryServiceResolverSubsetArgs', 'ConfigEntryServiceResolverSubsetArgsDict']]]]] = None) -> 'ConfigEntryServiceResolver':
566
573
  """
567
574
  Get an existing ConfigEntryServiceResolver resource's state with the given name, id, and optional extra
568
575
  properties used to qualify the lookup.
@@ -572,15 +579,15 @@ class ConfigEntryServiceResolver(pulumi.CustomResource):
572
579
  :param pulumi.ResourceOptions opts: Options for the resource.
573
580
  :param pulumi.Input[str] connect_timeout: Specifies the timeout duration for establishing new network connections to this service.
574
581
  :param pulumi.Input[str] default_subset: Specifies a defined subset of service instances to use when no explicit subset is requested. If this parameter is not specified, Consul uses the unnamed default subset.
575
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ConfigEntryServiceResolverFailoverArgs']]]] failovers: Specifies controls for rerouting traffic to an alternate pool of service instances if the target service fails.
576
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ConfigEntryServiceResolverLoadBalancerArgs']]]] load_balancers: Specifies the load balancing policy and configuration for services issuing requests to this upstream.
582
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ConfigEntryServiceResolverFailoverArgs', 'ConfigEntryServiceResolverFailoverArgsDict']]]] failovers: Specifies controls for rerouting traffic to an alternate pool of service instances if the target service fails.
583
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ConfigEntryServiceResolverLoadBalancerArgs', 'ConfigEntryServiceResolverLoadBalancerArgsDict']]]] load_balancers: Specifies the load balancing policy and configuration for services issuing requests to this upstream.
577
584
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] meta: Specifies key-value pairs to add to the KV store.
578
- :param pulumi.Input[str] name: Name of subset.
579
- :param pulumi.Input[str] namespace: Specifies the namespace at the failover location where the failover services are deployed.
580
- :param pulumi.Input[str] partition: Specifies the admin partition within the same datacenter to use for the failover target. If empty, the default partition is used.
581
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ConfigEntryServiceResolverRedirectArgs']]]] redirects: Specifies redirect instructions for local service traffic so that services deployed to a different network location resolve the upstream request instead.
585
+ :param pulumi.Input[str] name: Specifies a name for the configuration entry.
586
+ :param pulumi.Input[str] namespace: Specifies the namespace that the service resolver applies to.
587
+ :param pulumi.Input[str] partition: Specifies the admin partition that the service resolver applies to.
588
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ConfigEntryServiceResolverRedirectArgs', 'ConfigEntryServiceResolverRedirectArgsDict']]]] redirects: Specifies redirect instructions for local service traffic so that services deployed to a different network location resolve the upstream request instead.
582
589
  :param pulumi.Input[str] request_timeout: Specifies the timeout duration for receiving an HTTP response from this service.
583
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ConfigEntryServiceResolverSubsetArgs']]]] subsets: Specifies names for custom service subsets and the conditions under which service instances belong to each subset.
590
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ConfigEntryServiceResolverSubsetArgs', 'ConfigEntryServiceResolverSubsetArgsDict']]]] subsets: Specifies names for custom service subsets and the conditions under which service instances belong to each subset.
584
591
  """
585
592
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
586
593
 
@@ -643,7 +650,7 @@ class ConfigEntryServiceResolver(pulumi.CustomResource):
643
650
  @pulumi.getter
644
651
  def name(self) -> pulumi.Output[str]:
645
652
  """
646
- Name of subset.
653
+ Specifies a name for the configuration entry.
647
654
  """
648
655
  return pulumi.get(self, "name")
649
656
 
@@ -651,7 +658,7 @@ class ConfigEntryServiceResolver(pulumi.CustomResource):
651
658
  @pulumi.getter
652
659
  def namespace(self) -> pulumi.Output[Optional[str]]:
653
660
  """
654
- Specifies the namespace at the failover location where the failover services are deployed.
661
+ Specifies the namespace that the service resolver applies to.
655
662
  """
656
663
  return pulumi.get(self, "namespace")
657
664
 
@@ -659,7 +666,7 @@ class ConfigEntryServiceResolver(pulumi.CustomResource):
659
666
  @pulumi.getter
660
667
  def partition(self) -> pulumi.Output[Optional[str]]:
661
668
  """
662
- Specifies the admin partition within the same datacenter to use for the failover target. If empty, the default partition is used.
669
+ Specifies the admin partition that the service resolver applies to.
663
670
  """
664
671
  return pulumi.get(self, "partition")
665
672
 
@@ -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 *
@@ -24,9 +29,9 @@ class ConfigEntryServiceRouterArgs:
24
29
  """
25
30
  The set of arguments for constructing a ConfigEntryServiceRouter resource.
26
31
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] meta: Specifies key-value pairs to add to the KV store.
27
- :param pulumi.Input[str] name: Specifies the name of the HTTP header to match.
28
- :param pulumi.Input[str] namespace: Specifies the Consul namespace to resolve the service from instead of the current namespace.
29
- :param pulumi.Input[str] partition: Specifies the Consul admin partition to resolve the service from instead of the current partition.
32
+ :param pulumi.Input[str] name: Specifies a name for the configuration entry.
33
+ :param pulumi.Input[str] namespace: Specifies the namespace to apply the configuration entry.
34
+ :param pulumi.Input[str] partition: Specifies the admin partition to apply the configuration entry.
30
35
  :param pulumi.Input[Sequence[pulumi.Input['ConfigEntryServiceRouterRouteArgs']]] routes: Defines the possible routes for L7 requests.
31
36
  """
32
37
  if meta is not None:
@@ -56,7 +61,7 @@ class ConfigEntryServiceRouterArgs:
56
61
  @pulumi.getter
57
62
  def name(self) -> Optional[pulumi.Input[str]]:
58
63
  """
59
- Specifies the name of the HTTP header to match.
64
+ Specifies a name for the configuration entry.
60
65
  """
61
66
  return pulumi.get(self, "name")
62
67
 
@@ -68,7 +73,7 @@ class ConfigEntryServiceRouterArgs:
68
73
  @pulumi.getter
69
74
  def namespace(self) -> Optional[pulumi.Input[str]]:
70
75
  """
71
- Specifies the Consul namespace to resolve the service from instead of the current namespace.
76
+ Specifies the namespace to apply the configuration entry.
72
77
  """
73
78
  return pulumi.get(self, "namespace")
74
79
 
@@ -80,7 +85,7 @@ class ConfigEntryServiceRouterArgs:
80
85
  @pulumi.getter
81
86
  def partition(self) -> Optional[pulumi.Input[str]]:
82
87
  """
83
- Specifies the Consul admin partition to resolve the service from instead of the current partition.
88
+ Specifies the admin partition to apply the configuration entry.
84
89
  """
85
90
  return pulumi.get(self, "partition")
86
91
 
@@ -112,9 +117,9 @@ class _ConfigEntryServiceRouterState:
112
117
  """
113
118
  Input properties used for looking up and filtering ConfigEntryServiceRouter resources.
114
119
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] meta: Specifies key-value pairs to add to the KV store.
115
- :param pulumi.Input[str] name: Specifies the name of the HTTP header to match.
116
- :param pulumi.Input[str] namespace: Specifies the Consul namespace to resolve the service from instead of the current namespace.
117
- :param pulumi.Input[str] partition: Specifies the Consul admin partition to resolve the service from instead of the current partition.
120
+ :param pulumi.Input[str] name: Specifies a name for the configuration entry.
121
+ :param pulumi.Input[str] namespace: Specifies the namespace to apply the configuration entry.
122
+ :param pulumi.Input[str] partition: Specifies the admin partition to apply the configuration entry.
118
123
  :param pulumi.Input[Sequence[pulumi.Input['ConfigEntryServiceRouterRouteArgs']]] routes: Defines the possible routes for L7 requests.
119
124
  """
120
125
  if meta is not None:
@@ -144,7 +149,7 @@ class _ConfigEntryServiceRouterState:
144
149
  @pulumi.getter
145
150
  def name(self) -> Optional[pulumi.Input[str]]:
146
151
  """
147
- Specifies the name of the HTTP header to match.
152
+ Specifies a name for the configuration entry.
148
153
  """
149
154
  return pulumi.get(self, "name")
150
155
 
@@ -156,7 +161,7 @@ class _ConfigEntryServiceRouterState:
156
161
  @pulumi.getter
157
162
  def namespace(self) -> Optional[pulumi.Input[str]]:
158
163
  """
159
- Specifies the Consul namespace to resolve the service from instead of the current namespace.
164
+ Specifies the namespace to apply the configuration entry.
160
165
  """
161
166
  return pulumi.get(self, "namespace")
162
167
 
@@ -168,7 +173,7 @@ class _ConfigEntryServiceRouterState:
168
173
  @pulumi.getter
169
174
  def partition(self) -> Optional[pulumi.Input[str]]:
170
175
  """
171
- Specifies the Consul admin partition to resolve the service from instead of the current partition.
176
+ Specifies the admin partition to apply the configuration entry.
172
177
  """
173
178
  return pulumi.get(self, "partition")
174
179
 
@@ -198,36 +203,18 @@ class ConfigEntryServiceRouter(pulumi.CustomResource):
198
203
  name: Optional[pulumi.Input[str]] = None,
199
204
  namespace: Optional[pulumi.Input[str]] = None,
200
205
  partition: Optional[pulumi.Input[str]] = None,
201
- routes: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ConfigEntryServiceRouterRouteArgs']]]]] = None,
206
+ routes: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ConfigEntryServiceRouterRouteArgs', 'ConfigEntryServiceRouterRouteArgsDict']]]]] = None,
202
207
  __props__=None):
203
208
  """
204
209
  ## Example Usage
205
210
 
206
- ```python
207
- import pulumi
208
- import pulumi_consul as consul
209
-
210
- admin_service_defaults_config_entry_service_defaults = consul.ConfigEntryServiceDefaults("adminServiceDefaultsConfigEntryServiceDefaults", protocol="http")
211
- admin_service_defaults_index_config_entry_service_defaults_config_entry_service_defaults = consul.ConfigEntryServiceDefaults("adminServiceDefaultsIndex/configEntryServiceDefaultsConfigEntryServiceDefaults", protocol="http")
212
- foo = consul.ConfigEntryServiceRouter("foo", routes=[consul.ConfigEntryServiceRouterRouteArgs(
213
- match=consul.ConfigEntryServiceRouterRouteMatchArgs(
214
- http=consul.ConfigEntryServiceRouterRouteMatchHttpArgs(
215
- path_prefix="/admin",
216
- ),
217
- ),
218
- destination=consul.ConfigEntryServiceRouterRouteDestinationArgs(
219
- service=consul_config_entry["admin_service"]["name"],
220
- ),
221
- )])
222
- ```
223
-
224
211
  :param str resource_name: The name of the resource.
225
212
  :param pulumi.ResourceOptions opts: Options for the resource.
226
213
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] meta: Specifies key-value pairs to add to the KV store.
227
- :param pulumi.Input[str] name: Specifies the name of the HTTP header to match.
228
- :param pulumi.Input[str] namespace: Specifies the Consul namespace to resolve the service from instead of the current namespace.
229
- :param pulumi.Input[str] partition: Specifies the Consul admin partition to resolve the service from instead of the current partition.
230
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ConfigEntryServiceRouterRouteArgs']]]] routes: Defines the possible routes for L7 requests.
214
+ :param pulumi.Input[str] name: Specifies a name for the configuration entry.
215
+ :param pulumi.Input[str] namespace: Specifies the namespace to apply the configuration entry.
216
+ :param pulumi.Input[str] partition: Specifies the admin partition to apply the configuration entry.
217
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ConfigEntryServiceRouterRouteArgs', 'ConfigEntryServiceRouterRouteArgsDict']]]] routes: Defines the possible routes for L7 requests.
231
218
  """
232
219
  ...
233
220
  @overload
@@ -238,24 +225,6 @@ class ConfigEntryServiceRouter(pulumi.CustomResource):
238
225
  """
239
226
  ## Example Usage
240
227
 
241
- ```python
242
- import pulumi
243
- import pulumi_consul as consul
244
-
245
- admin_service_defaults_config_entry_service_defaults = consul.ConfigEntryServiceDefaults("adminServiceDefaultsConfigEntryServiceDefaults", protocol="http")
246
- admin_service_defaults_index_config_entry_service_defaults_config_entry_service_defaults = consul.ConfigEntryServiceDefaults("adminServiceDefaultsIndex/configEntryServiceDefaultsConfigEntryServiceDefaults", protocol="http")
247
- foo = consul.ConfigEntryServiceRouter("foo", routes=[consul.ConfigEntryServiceRouterRouteArgs(
248
- match=consul.ConfigEntryServiceRouterRouteMatchArgs(
249
- http=consul.ConfigEntryServiceRouterRouteMatchHttpArgs(
250
- path_prefix="/admin",
251
- ),
252
- ),
253
- destination=consul.ConfigEntryServiceRouterRouteDestinationArgs(
254
- service=consul_config_entry["admin_service"]["name"],
255
- ),
256
- )])
257
- ```
258
-
259
228
  :param str resource_name: The name of the resource.
260
229
  :param ConfigEntryServiceRouterArgs args: The arguments to use to populate this resource's properties.
261
230
  :param pulumi.ResourceOptions opts: Options for the resource.
@@ -275,7 +244,7 @@ class ConfigEntryServiceRouter(pulumi.CustomResource):
275
244
  name: Optional[pulumi.Input[str]] = None,
276
245
  namespace: Optional[pulumi.Input[str]] = None,
277
246
  partition: Optional[pulumi.Input[str]] = None,
278
- routes: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ConfigEntryServiceRouterRouteArgs']]]]] = None,
247
+ routes: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ConfigEntryServiceRouterRouteArgs', 'ConfigEntryServiceRouterRouteArgsDict']]]]] = None,
279
248
  __props__=None):
280
249
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
281
250
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -304,7 +273,7 @@ class ConfigEntryServiceRouter(pulumi.CustomResource):
304
273
  name: Optional[pulumi.Input[str]] = None,
305
274
  namespace: Optional[pulumi.Input[str]] = None,
306
275
  partition: Optional[pulumi.Input[str]] = None,
307
- routes: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ConfigEntryServiceRouterRouteArgs']]]]] = None) -> 'ConfigEntryServiceRouter':
276
+ routes: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ConfigEntryServiceRouterRouteArgs', 'ConfigEntryServiceRouterRouteArgsDict']]]]] = None) -> 'ConfigEntryServiceRouter':
308
277
  """
309
278
  Get an existing ConfigEntryServiceRouter resource's state with the given name, id, and optional extra
310
279
  properties used to qualify the lookup.
@@ -313,10 +282,10 @@ class ConfigEntryServiceRouter(pulumi.CustomResource):
313
282
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
314
283
  :param pulumi.ResourceOptions opts: Options for the resource.
315
284
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] meta: Specifies key-value pairs to add to the KV store.
316
- :param pulumi.Input[str] name: Specifies the name of the HTTP header to match.
317
- :param pulumi.Input[str] namespace: Specifies the Consul namespace to resolve the service from instead of the current namespace.
318
- :param pulumi.Input[str] partition: Specifies the Consul admin partition to resolve the service from instead of the current partition.
319
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ConfigEntryServiceRouterRouteArgs']]]] routes: Defines the possible routes for L7 requests.
285
+ :param pulumi.Input[str] name: Specifies a name for the configuration entry.
286
+ :param pulumi.Input[str] namespace: Specifies the namespace to apply the configuration entry.
287
+ :param pulumi.Input[str] partition: Specifies the admin partition to apply the configuration entry.
288
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ConfigEntryServiceRouterRouteArgs', 'ConfigEntryServiceRouterRouteArgsDict']]]] routes: Defines the possible routes for L7 requests.
320
289
  """
321
290
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
322
291
 
@@ -341,7 +310,7 @@ class ConfigEntryServiceRouter(pulumi.CustomResource):
341
310
  @pulumi.getter
342
311
  def name(self) -> pulumi.Output[str]:
343
312
  """
344
- Specifies the name of the HTTP header to match.
313
+ Specifies a name for the configuration entry.
345
314
  """
346
315
  return pulumi.get(self, "name")
347
316
 
@@ -349,7 +318,7 @@ class ConfigEntryServiceRouter(pulumi.CustomResource):
349
318
  @pulumi.getter
350
319
  def namespace(self) -> pulumi.Output[Optional[str]]:
351
320
  """
352
- Specifies the Consul namespace to resolve the service from instead of the current namespace.
321
+ Specifies the namespace to apply the configuration entry.
353
322
  """
354
323
  return pulumi.get(self, "namespace")
355
324
 
@@ -357,7 +326,7 @@ class ConfigEntryServiceRouter(pulumi.CustomResource):
357
326
  @pulumi.getter
358
327
  def partition(self) -> pulumi.Output[Optional[str]]:
359
328
  """
360
- Specifies the Consul admin partition to resolve the service from instead of the current partition.
329
+ Specifies the admin partition to apply the configuration entry.
361
330
  """
362
331
  return pulumi.get(self, "partition")
363
332