pulumi-consul 3.12.0a1710156214__py3-none-any.whl → 3.13.0a1736849276__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.0a1736849276.dist-info}/METADATA +7 -6
  68. pulumi_consul-3.13.0a1736849276.dist-info/RECORD +72 -0
  69. {pulumi_consul-3.12.0a1710156214.dist-info → pulumi_consul-3.13.0a1736849276.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.0a1736849276.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 *
@@ -119,7 +124,7 @@ class AwaitableGetCatalogServiceResult(GetCatalogServiceResult):
119
124
  def get_catalog_service(datacenter: Optional[str] = None,
120
125
  filter: Optional[str] = None,
121
126
  name: Optional[str] = None,
122
- query_options: Optional[Sequence[pulumi.InputType['GetCatalogServiceQueryOptionArgs']]] = None,
127
+ query_options: Optional[Sequence[Union['GetCatalogServiceQueryOptionArgs', 'GetCatalogServiceQueryOptionArgsDict']]] = None,
123
128
  tag: Optional[str] = None,
124
129
  opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetCatalogServiceResult:
125
130
  """
@@ -132,15 +137,28 @@ def get_catalog_service(datacenter: Optional[str] = None,
132
137
  This data source is different from the `get_services` (plural) data
133
138
  source, which provides a summary of the current Consul services.
134
139
 
140
+ ## Example Usage
141
+
142
+ ```python
143
+ import pulumi
144
+ import pulumi_consul as consul
145
+ import pulumi_example as example
146
+ import pulumi_std as std
147
+
148
+ read_consul_dc1 = consul.get_service(name="consul",
149
+ datacenter="dc1")
150
+ # Set the description to a whitespace delimited list of the node names
151
+ app = example.index.Resource("app", description=std.join(separator= ,
152
+ input=nodes).result)
153
+ ```
154
+
135
155
 
136
156
  :param str datacenter: The Consul datacenter to query. Defaults to the
137
157
  same value found in `query_options` parameter specified below, or if that is
138
158
  empty, the `datacenter` value found in the Consul agent that this provider is
139
159
  configured to talk to.
140
- :param str filter: A filter expression to refine the query, see https://www.consul.io/api-docs/features/filtering
141
- and https://www.consul.io/api-docs/catalog#filtering-1.
142
160
  :param str name: The service name to select.
143
- :param Sequence[pulumi.InputType['GetCatalogServiceQueryOptionArgs']] query_options: See below.
161
+ :param Sequence[Union['GetCatalogServiceQueryOptionArgs', 'GetCatalogServiceQueryOptionArgsDict']] query_options: See below.
144
162
  :param str tag: A single tag that can be used to filter the list of nodes
145
163
  to return based on a single matching tag..
146
164
  """
@@ -162,15 +180,12 @@ def get_catalog_service(datacenter: Optional[str] = None,
162
180
  query_options=pulumi.get(__ret__, 'query_options'),
163
181
  services=pulumi.get(__ret__, 'services'),
164
182
  tag=pulumi.get(__ret__, 'tag'))
165
-
166
-
167
- @_utilities.lift_output_func(get_catalog_service)
168
183
  def get_catalog_service_output(datacenter: Optional[pulumi.Input[Optional[str]]] = None,
169
184
  filter: Optional[pulumi.Input[Optional[str]]] = None,
170
185
  name: Optional[pulumi.Input[str]] = None,
171
- query_options: Optional[pulumi.Input[Optional[Sequence[pulumi.InputType['GetCatalogServiceQueryOptionArgs']]]]] = None,
186
+ query_options: Optional[pulumi.Input[Optional[Sequence[Union['GetCatalogServiceQueryOptionArgs', 'GetCatalogServiceQueryOptionArgsDict']]]]] = None,
172
187
  tag: Optional[pulumi.Input[Optional[str]]] = None,
173
- opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetCatalogServiceResult]:
188
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetCatalogServiceResult]:
174
189
  """
175
190
  `Service` provides details about a specific Consul service in a
176
191
  given datacenter. The results include a list of nodes advertising the specified
@@ -181,17 +196,45 @@ def get_catalog_service_output(datacenter: Optional[pulumi.Input[Optional[str]]]
181
196
  This data source is different from the `get_services` (plural) data
182
197
  source, which provides a summary of the current Consul services.
183
198
 
199
+ ## Example Usage
200
+
201
+ ```python
202
+ import pulumi
203
+ import pulumi_consul as consul
204
+ import pulumi_example as example
205
+ import pulumi_std as std
206
+
207
+ read_consul_dc1 = consul.get_service(name="consul",
208
+ datacenter="dc1")
209
+ # Set the description to a whitespace delimited list of the node names
210
+ app = example.index.Resource("app", description=std.join(separator= ,
211
+ input=nodes).result)
212
+ ```
213
+
184
214
 
185
215
  :param str datacenter: The Consul datacenter to query. Defaults to the
186
216
  same value found in `query_options` parameter specified below, or if that is
187
217
  empty, the `datacenter` value found in the Consul agent that this provider is
188
218
  configured to talk to.
189
- :param str filter: A filter expression to refine the query, see https://www.consul.io/api-docs/features/filtering
190
- and https://www.consul.io/api-docs/catalog#filtering-1.
191
219
  :param str name: The service name to select.
192
- :param Sequence[pulumi.InputType['GetCatalogServiceQueryOptionArgs']] query_options: See below.
220
+ :param Sequence[Union['GetCatalogServiceQueryOptionArgs', 'GetCatalogServiceQueryOptionArgsDict']] query_options: See below.
193
221
  :param str tag: A single tag that can be used to filter the list of nodes
194
222
  to return based on a single matching tag..
195
223
  """
196
224
  pulumi.log.warn("""get_catalog_service is deprecated: getCatalogService has been deprecated in favor of getService""")
197
- ...
225
+ __args__ = dict()
226
+ __args__['datacenter'] = datacenter
227
+ __args__['filter'] = filter
228
+ __args__['name'] = name
229
+ __args__['queryOptions'] = query_options
230
+ __args__['tag'] = tag
231
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
232
+ __ret__ = pulumi.runtime.invoke_output('consul:index/getCatalogService:getCatalogService', __args__, opts=opts, typ=GetCatalogServiceResult)
233
+ return __ret__.apply(lambda __response__: GetCatalogServiceResult(
234
+ datacenter=pulumi.get(__response__, 'datacenter'),
235
+ filter=pulumi.get(__response__, 'filter'),
236
+ id=pulumi.get(__response__, 'id'),
237
+ name=pulumi.get(__response__, 'name'),
238
+ query_options=pulumi.get(__response__, 'query_options'),
239
+ services=pulumi.get(__response__, 'services'),
240
+ tag=pulumi.get(__response__, 'tag')))
@@ -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 *
@@ -102,7 +107,7 @@ class AwaitableGetCatalogServicesResult(GetCatalogServicesResult):
102
107
  tags=self.tags)
103
108
 
104
109
 
105
- def get_catalog_services(query_options: Optional[Sequence[pulumi.InputType['GetCatalogServicesQueryOptionArgs']]] = None,
110
+ def get_catalog_services(query_options: Optional[Sequence[Union['GetCatalogServicesQueryOptionArgs', 'GetCatalogServicesQueryOptionArgsDict']]] = None,
106
111
  opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetCatalogServicesResult:
107
112
  """
108
113
  The `get_services` data source returns a list of Consul services that
@@ -113,8 +118,24 @@ def get_catalog_services(query_options: Optional[Sequence[pulumi.InputType['GetC
113
118
  This data source is different from the `Service` (singular) data
114
119
  source, which provides a detailed response about a specific Consul service.
115
120
 
121
+ ## Example Usage
116
122
 
117
- :param Sequence[pulumi.InputType['GetCatalogServicesQueryOptionArgs']] query_options: See below.
123
+ ```python
124
+ import pulumi
125
+ import pulumi_consul as consul
126
+ import pulumi_example as example
127
+ import pulumi_std as std
128
+
129
+ read_dc1 = consul.get_services(query_options=[{
130
+ "datacenter": "dc1",
131
+ }])
132
+ # Set the description to a whitespace delimited list of the services
133
+ app = example.index.Resource("app", description=std.join(separator= ,
134
+ input=names).result)
135
+ ```
136
+
137
+
138
+ :param Sequence[Union['GetCatalogServicesQueryOptionArgs', 'GetCatalogServicesQueryOptionArgsDict']] query_options: See below.
118
139
  """
119
140
  pulumi.log.warn("""get_catalog_services is deprecated: getCatalogServices has been deprecated in favor of getServices""")
120
141
  __args__ = dict()
@@ -129,11 +150,8 @@ def get_catalog_services(query_options: Optional[Sequence[pulumi.InputType['GetC
129
150
  query_options=pulumi.get(__ret__, 'query_options'),
130
151
  services=pulumi.get(__ret__, 'services'),
131
152
  tags=pulumi.get(__ret__, 'tags'))
132
-
133
-
134
- @_utilities.lift_output_func(get_catalog_services)
135
- def get_catalog_services_output(query_options: Optional[pulumi.Input[Optional[Sequence[pulumi.InputType['GetCatalogServicesQueryOptionArgs']]]]] = None,
136
- opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetCatalogServicesResult]:
153
+ def get_catalog_services_output(query_options: Optional[pulumi.Input[Optional[Sequence[Union['GetCatalogServicesQueryOptionArgs', 'GetCatalogServicesQueryOptionArgsDict']]]]] = None,
154
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetCatalogServicesResult]:
137
155
  """
138
156
  The `get_services` data source returns a list of Consul services that
139
157
  have been registered with the Consul cluster in a given datacenter. By
@@ -143,8 +161,34 @@ def get_catalog_services_output(query_options: Optional[pulumi.Input[Optional[Se
143
161
  This data source is different from the `Service` (singular) data
144
162
  source, which provides a detailed response about a specific Consul service.
145
163
 
164
+ ## Example Usage
146
165
 
147
- :param Sequence[pulumi.InputType['GetCatalogServicesQueryOptionArgs']] query_options: See below.
166
+ ```python
167
+ import pulumi
168
+ import pulumi_consul as consul
169
+ import pulumi_example as example
170
+ import pulumi_std as std
171
+
172
+ read_dc1 = consul.get_services(query_options=[{
173
+ "datacenter": "dc1",
174
+ }])
175
+ # Set the description to a whitespace delimited list of the services
176
+ app = example.index.Resource("app", description=std.join(separator= ,
177
+ input=names).result)
178
+ ```
179
+
180
+
181
+ :param Sequence[Union['GetCatalogServicesQueryOptionArgs', 'GetCatalogServicesQueryOptionArgsDict']] query_options: See below.
148
182
  """
149
183
  pulumi.log.warn("""get_catalog_services is deprecated: getCatalogServices has been deprecated in favor of getServices""")
150
- ...
184
+ __args__ = dict()
185
+ __args__['queryOptions'] = query_options
186
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
187
+ __ret__ = pulumi.runtime.invoke_output('consul:index/getCatalogServices:getCatalogServices', __args__, opts=opts, typ=GetCatalogServicesResult)
188
+ return __ret__.apply(lambda __response__: GetCatalogServicesResult(
189
+ datacenter=pulumi.get(__response__, 'datacenter'),
190
+ id=pulumi.get(__response__, 'id'),
191
+ names=pulumi.get(__response__, 'names'),
192
+ query_options=pulumi.get(__response__, 'query_options'),
193
+ services=pulumi.get(__response__, 'services'),
194
+ tags=pulumi.get(__response__, 'tags')))
@@ -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
 
12
17
  __all__ = [
@@ -132,14 +137,11 @@ def get_config_entry(kind: Optional[str] = None,
132
137
  name=pulumi.get(__ret__, 'name'),
133
138
  namespace=pulumi.get(__ret__, 'namespace'),
134
139
  partition=pulumi.get(__ret__, 'partition'))
135
-
136
-
137
- @_utilities.lift_output_func(get_config_entry)
138
140
  def get_config_entry_output(kind: Optional[pulumi.Input[str]] = None,
139
141
  name: Optional[pulumi.Input[str]] = None,
140
142
  namespace: Optional[pulumi.Input[Optional[str]]] = None,
141
143
  partition: Optional[pulumi.Input[Optional[str]]] = None,
142
- opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetConfigEntryResult]:
144
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetConfigEntryResult]:
143
145
  """
144
146
  Use this data source to access information about an existing resource.
145
147
 
@@ -148,4 +150,17 @@ def get_config_entry_output(kind: Optional[pulumi.Input[str]] = None,
148
150
  :param str namespace: The namespace the config entry is associated with.
149
151
  :param str partition: The partition the config entry is associated with.
150
152
  """
151
- ...
153
+ __args__ = dict()
154
+ __args__['kind'] = kind
155
+ __args__['name'] = name
156
+ __args__['namespace'] = namespace
157
+ __args__['partition'] = partition
158
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
159
+ __ret__ = pulumi.runtime.invoke_output('consul:index/getConfigEntry:getConfigEntry', __args__, opts=opts, typ=GetConfigEntryResult)
160
+ return __ret__.apply(lambda __response__: GetConfigEntryResult(
161
+ config_json=pulumi.get(__response__, 'config_json'),
162
+ id=pulumi.get(__response__, 'id'),
163
+ kind=pulumi.get(__response__, 'kind'),
164
+ name=pulumi.get(__response__, 'name'),
165
+ namespace=pulumi.get(__response__, 'namespace'),
166
+ partition=pulumi.get(__response__, 'partition')))
@@ -0,0 +1,232 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
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
15
+ from . import _utilities
16
+
17
+ __all__ = [
18
+ 'GetConfigEntryV2ExportedServicesResult',
19
+ 'AwaitableGetConfigEntryV2ExportedServicesResult',
20
+ 'get_config_entry_v2_exported_services',
21
+ 'get_config_entry_v2_exported_services_output',
22
+ ]
23
+
24
+ @pulumi.output_type
25
+ class GetConfigEntryV2ExportedServicesResult:
26
+ """
27
+ A collection of values returned by getConfigEntryV2ExportedServices.
28
+ """
29
+ def __init__(__self__, id=None, kind=None, name=None, namespace=None, partition=None, partition_consumers=None, peer_consumers=None, sameness_group_consumers=None, services=None):
30
+ if id and not isinstance(id, str):
31
+ raise TypeError("Expected argument 'id' to be a str")
32
+ pulumi.set(__self__, "id", id)
33
+ if kind and not isinstance(kind, str):
34
+ raise TypeError("Expected argument 'kind' to be a str")
35
+ pulumi.set(__self__, "kind", kind)
36
+ if name and not isinstance(name, str):
37
+ raise TypeError("Expected argument 'name' to be a str")
38
+ pulumi.set(__self__, "name", name)
39
+ if namespace and not isinstance(namespace, str):
40
+ raise TypeError("Expected argument 'namespace' to be a str")
41
+ pulumi.set(__self__, "namespace", namespace)
42
+ if partition and not isinstance(partition, str):
43
+ raise TypeError("Expected argument 'partition' to be a str")
44
+ pulumi.set(__self__, "partition", partition)
45
+ if partition_consumers and not isinstance(partition_consumers, list):
46
+ raise TypeError("Expected argument 'partition_consumers' to be a list")
47
+ pulumi.set(__self__, "partition_consumers", partition_consumers)
48
+ if peer_consumers and not isinstance(peer_consumers, list):
49
+ raise TypeError("Expected argument 'peer_consumers' to be a list")
50
+ pulumi.set(__self__, "peer_consumers", peer_consumers)
51
+ if sameness_group_consumers and not isinstance(sameness_group_consumers, list):
52
+ raise TypeError("Expected argument 'sameness_group_consumers' to be a list")
53
+ pulumi.set(__self__, "sameness_group_consumers", sameness_group_consumers)
54
+ if services and not isinstance(services, list):
55
+ raise TypeError("Expected argument 'services' to be a list")
56
+ pulumi.set(__self__, "services", services)
57
+
58
+ @property
59
+ @pulumi.getter
60
+ def id(self) -> str:
61
+ """
62
+ The provider-assigned unique ID for this managed resource.
63
+ """
64
+ return pulumi.get(self, "id")
65
+
66
+ @property
67
+ @pulumi.getter
68
+ def kind(self) -> str:
69
+ """
70
+ The kind of exported services config (ExportedServices, NamespaceExportedServices, PartitionExportedServices).
71
+ """
72
+ return pulumi.get(self, "kind")
73
+
74
+ @property
75
+ @pulumi.getter
76
+ def name(self) -> str:
77
+ """
78
+ The name of the config entry to read.
79
+ """
80
+ return pulumi.get(self, "name")
81
+
82
+ @property
83
+ @pulumi.getter
84
+ def namespace(self) -> Optional[str]:
85
+ """
86
+ The namespace the config entry is associated with.
87
+ """
88
+ return pulumi.get(self, "namespace")
89
+
90
+ @property
91
+ @pulumi.getter
92
+ def partition(self) -> Optional[str]:
93
+ """
94
+ The partition the config entry is associated with.
95
+ """
96
+ return pulumi.get(self, "partition")
97
+
98
+ @property
99
+ @pulumi.getter(name="partitionConsumers")
100
+ def partition_consumers(self) -> Optional[Sequence[str]]:
101
+ """
102
+ The exported service partition consumers.
103
+ """
104
+ return pulumi.get(self, "partition_consumers")
105
+
106
+ @property
107
+ @pulumi.getter(name="peerConsumers")
108
+ def peer_consumers(self) -> Optional[Sequence[str]]:
109
+ """
110
+ The exported service peer consumers.
111
+ """
112
+ return pulumi.get(self, "peer_consumers")
113
+
114
+ @property
115
+ @pulumi.getter(name="samenessGroupConsumers")
116
+ def sameness_group_consumers(self) -> Optional[Sequence[str]]:
117
+ """
118
+ The exported service sameness group consumers.
119
+ """
120
+ return pulumi.get(self, "sameness_group_consumers")
121
+
122
+ @property
123
+ @pulumi.getter
124
+ def services(self) -> Optional[Sequence[str]]:
125
+ """
126
+ The exported services.
127
+ """
128
+ return pulumi.get(self, "services")
129
+
130
+
131
+ class AwaitableGetConfigEntryV2ExportedServicesResult(GetConfigEntryV2ExportedServicesResult):
132
+ # pylint: disable=using-constant-test
133
+ def __await__(self):
134
+ if False:
135
+ yield self
136
+ return GetConfigEntryV2ExportedServicesResult(
137
+ id=self.id,
138
+ kind=self.kind,
139
+ name=self.name,
140
+ namespace=self.namespace,
141
+ partition=self.partition,
142
+ partition_consumers=self.partition_consumers,
143
+ peer_consumers=self.peer_consumers,
144
+ sameness_group_consumers=self.sameness_group_consumers,
145
+ services=self.services)
146
+
147
+
148
+ def get_config_entry_v2_exported_services(kind: Optional[str] = None,
149
+ name: Optional[str] = None,
150
+ namespace: Optional[str] = None,
151
+ partition: Optional[str] = None,
152
+ partition_consumers: Optional[Sequence[str]] = None,
153
+ peer_consumers: Optional[Sequence[str]] = None,
154
+ sameness_group_consumers: Optional[Sequence[str]] = None,
155
+ services: Optional[Sequence[str]] = None,
156
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetConfigEntryV2ExportedServicesResult:
157
+ """
158
+ Use this data source to access information about an existing resource.
159
+
160
+ :param str kind: The kind of exported services config (ExportedServices, NamespaceExportedServices, PartitionExportedServices).
161
+ :param str name: The name of the config entry to read.
162
+ :param str namespace: The namespace the config entry is associated with.
163
+ :param str partition: The partition the config entry is associated with.
164
+ :param Sequence[str] partition_consumers: The exported service partition consumers.
165
+ :param Sequence[str] peer_consumers: The exported service peer consumers.
166
+ :param Sequence[str] sameness_group_consumers: The exported service sameness group consumers.
167
+ :param Sequence[str] services: The exported services.
168
+ """
169
+ __args__ = dict()
170
+ __args__['kind'] = kind
171
+ __args__['name'] = name
172
+ __args__['namespace'] = namespace
173
+ __args__['partition'] = partition
174
+ __args__['partitionConsumers'] = partition_consumers
175
+ __args__['peerConsumers'] = peer_consumers
176
+ __args__['samenessGroupConsumers'] = sameness_group_consumers
177
+ __args__['services'] = services
178
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
179
+ __ret__ = pulumi.runtime.invoke('consul:index/getConfigEntryV2ExportedServices:getConfigEntryV2ExportedServices', __args__, opts=opts, typ=GetConfigEntryV2ExportedServicesResult).value
180
+
181
+ return AwaitableGetConfigEntryV2ExportedServicesResult(
182
+ id=pulumi.get(__ret__, 'id'),
183
+ kind=pulumi.get(__ret__, 'kind'),
184
+ name=pulumi.get(__ret__, 'name'),
185
+ namespace=pulumi.get(__ret__, 'namespace'),
186
+ partition=pulumi.get(__ret__, 'partition'),
187
+ partition_consumers=pulumi.get(__ret__, 'partition_consumers'),
188
+ peer_consumers=pulumi.get(__ret__, 'peer_consumers'),
189
+ sameness_group_consumers=pulumi.get(__ret__, 'sameness_group_consumers'),
190
+ services=pulumi.get(__ret__, 'services'))
191
+ def get_config_entry_v2_exported_services_output(kind: Optional[pulumi.Input[str]] = None,
192
+ name: Optional[pulumi.Input[str]] = None,
193
+ namespace: Optional[pulumi.Input[Optional[str]]] = None,
194
+ partition: Optional[pulumi.Input[Optional[str]]] = None,
195
+ partition_consumers: Optional[pulumi.Input[Optional[Sequence[str]]]] = None,
196
+ peer_consumers: Optional[pulumi.Input[Optional[Sequence[str]]]] = None,
197
+ sameness_group_consumers: Optional[pulumi.Input[Optional[Sequence[str]]]] = None,
198
+ services: Optional[pulumi.Input[Optional[Sequence[str]]]] = None,
199
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetConfigEntryV2ExportedServicesResult]:
200
+ """
201
+ Use this data source to access information about an existing resource.
202
+
203
+ :param str kind: The kind of exported services config (ExportedServices, NamespaceExportedServices, PartitionExportedServices).
204
+ :param str name: The name of the config entry to read.
205
+ :param str namespace: The namespace the config entry is associated with.
206
+ :param str partition: The partition the config entry is associated with.
207
+ :param Sequence[str] partition_consumers: The exported service partition consumers.
208
+ :param Sequence[str] peer_consumers: The exported service peer consumers.
209
+ :param Sequence[str] sameness_group_consumers: The exported service sameness group consumers.
210
+ :param Sequence[str] services: The exported services.
211
+ """
212
+ __args__ = dict()
213
+ __args__['kind'] = kind
214
+ __args__['name'] = name
215
+ __args__['namespace'] = namespace
216
+ __args__['partition'] = partition
217
+ __args__['partitionConsumers'] = partition_consumers
218
+ __args__['peerConsumers'] = peer_consumers
219
+ __args__['samenessGroupConsumers'] = sameness_group_consumers
220
+ __args__['services'] = services
221
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
222
+ __ret__ = pulumi.runtime.invoke_output('consul:index/getConfigEntryV2ExportedServices:getConfigEntryV2ExportedServices', __args__, opts=opts, typ=GetConfigEntryV2ExportedServicesResult)
223
+ return __ret__.apply(lambda __response__: GetConfigEntryV2ExportedServicesResult(
224
+ id=pulumi.get(__response__, 'id'),
225
+ kind=pulumi.get(__response__, 'kind'),
226
+ name=pulumi.get(__response__, 'name'),
227
+ namespace=pulumi.get(__response__, 'namespace'),
228
+ partition=pulumi.get(__response__, 'partition'),
229
+ partition_consumers=pulumi.get(__response__, 'partition_consumers'),
230
+ peer_consumers=pulumi.get(__response__, 'peer_consumers'),
231
+ sameness_group_consumers=pulumi.get(__response__, 'sameness_group_consumers'),
232
+ services=pulumi.get(__response__, 'services')))
@@ -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
 
12
17
  __all__ = [
@@ -70,12 +75,14 @@ def get_datacenters(opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGet
70
75
  return AwaitableGetDatacentersResult(
71
76
  datacenters=pulumi.get(__ret__, 'datacenters'),
72
77
  id=pulumi.get(__ret__, 'id'))
73
-
74
-
75
- @_utilities.lift_output_func(get_datacenters)
76
- def get_datacenters_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDatacentersResult]:
78
+ def get_datacenters_output(opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDatacentersResult]:
77
79
  """
78
80
  The `get_datacenters` data source returns the list of all knwown Consul
79
81
  datacenters.
80
82
  """
81
- ...
83
+ __args__ = dict()
84
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
85
+ __ret__ = pulumi.runtime.invoke_output('consul:index/getDatacenters:getDatacenters', __args__, opts=opts, typ=GetDatacentersResult)
86
+ return __ret__.apply(lambda __response__: GetDatacentersResult(
87
+ datacenters=pulumi.get(__response__, 'datacenters'),
88
+ id=pulumi.get(__response__, 'id')))