pulumi-consul 3.13.0a1749706342__py3-none-any.whl → 3.14.0a1768432677__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.
Files changed (71) hide show
  1. pulumi_consul/__init__.py +1 -1
  2. pulumi_consul/_inputs.py +1604 -1605
  3. pulumi_consul/acl_auth_method.py +174 -175
  4. pulumi_consul/acl_binding_rule.py +123 -124
  5. pulumi_consul/acl_policy.py +107 -108
  6. pulumi_consul/acl_role.py +95 -96
  7. pulumi_consul/acl_role_policy_attachment.py +35 -36
  8. pulumi_consul/acl_token.py +154 -155
  9. pulumi_consul/acl_token_policy_attachment.py +35 -36
  10. pulumi_consul/acl_token_role_attachment.py +35 -36
  11. pulumi_consul/admin_partition.py +82 -36
  12. pulumi_consul/agent_service.py +69 -70
  13. pulumi_consul/autopilot_config.py +137 -138
  14. pulumi_consul/catalog_entry.py +114 -73
  15. pulumi_consul/certificate_authority.py +44 -45
  16. pulumi_consul/config/__init__.py +1 -1
  17. pulumi_consul/config/__init__.pyi +6 -12
  18. pulumi_consul/config/outputs.py +24 -25
  19. pulumi_consul/config/vars.py +22 -28
  20. pulumi_consul/config_entry.py +86 -87
  21. pulumi_consul/config_entry_service_defaults.py +275 -224
  22. pulumi_consul/config_entry_service_intentions.py +75 -76
  23. pulumi_consul/config_entry_service_resolver.py +132 -133
  24. pulumi_consul/config_entry_service_router.py +72 -73
  25. pulumi_consul/config_entry_service_splitter.py +72 -73
  26. pulumi_consul/config_entry_v2_exported_services.py +137 -138
  27. pulumi_consul/get_acl_auth_method.py +36 -37
  28. pulumi_consul/get_acl_policy.py +27 -28
  29. pulumi_consul/get_acl_role.py +27 -28
  30. pulumi_consul/get_acl_token.py +32 -33
  31. pulumi_consul/get_acl_token_secret_id.py +29 -30
  32. pulumi_consul/get_agent_config.py +15 -16
  33. pulumi_consul/get_agent_self.py +149 -146
  34. pulumi_consul/get_autopilot_health.py +14 -15
  35. pulumi_consul/get_catalog_nodes.py +45 -12
  36. pulumi_consul/get_catalog_service.py +27 -28
  37. pulumi_consul/get_catalog_services.py +12 -13
  38. pulumi_consul/get_config_entry.py +29 -30
  39. pulumi_consul/get_config_entry_v2_exported_services.py +51 -52
  40. pulumi_consul/get_datacenters.py +73 -6
  41. pulumi_consul/get_key_prefix.py +38 -39
  42. pulumi_consul/get_keys.py +36 -37
  43. pulumi_consul/get_network_area_members.py +22 -23
  44. pulumi_consul/get_network_segments.py +17 -18
  45. pulumi_consul/get_nodes.py +45 -12
  46. pulumi_consul/get_peering.py +25 -26
  47. pulumi_consul/get_peerings.py +8 -9
  48. pulumi_consul/get_service.py +27 -28
  49. pulumi_consul/get_service_health.py +54 -51
  50. pulumi_consul/get_services.py +12 -13
  51. pulumi_consul/intention.py +137 -138
  52. pulumi_consul/key_prefix.py +106 -107
  53. pulumi_consul/keys.py +79 -80
  54. pulumi_consul/license.py +125 -126
  55. pulumi_consul/namespace.py +103 -104
  56. pulumi_consul/namespace_policy_attachment.py +35 -36
  57. pulumi_consul/namespace_role_attachment.py +35 -36
  58. pulumi_consul/network_area.py +86 -87
  59. pulumi_consul/node.py +99 -100
  60. pulumi_consul/outputs.py +1464 -1465
  61. pulumi_consul/peering.py +107 -108
  62. pulumi_consul/peering_token.py +74 -75
  63. pulumi_consul/prepared_query.py +231 -232
  64. pulumi_consul/provider.py +150 -169
  65. pulumi_consul/pulumi-plugin.json +1 -1
  66. pulumi_consul/service.py +251 -205
  67. {pulumi_consul-3.13.0a1749706342.dist-info → pulumi_consul-3.14.0a1768432677.dist-info}/METADATA +1 -1
  68. pulumi_consul-3.14.0a1768432677.dist-info/RECORD +72 -0
  69. pulumi_consul-3.13.0a1749706342.dist-info/RECORD +0 -72
  70. {pulumi_consul-3.13.0a1749706342.dist-info → pulumi_consul-3.14.0a1768432677.dist-info}/WHEEL +0 -0
  71. {pulumi_consul-3.13.0a1749706342.dist-info → pulumi_consul-3.14.0a1768432677.dist-info}/top_level.txt +0 -0
pulumi_consul/service.py CHANGED
@@ -2,8 +2,7 @@
2
2
  # *** WARNING: this file was generated by pulumi-language-python. ***
3
3
  # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
4
 
5
- import builtins
6
- import copy
5
+ import builtins as _builtins
7
6
  import warnings
8
7
  import sys
9
8
  import pulumi
@@ -22,32 +21,34 @@ __all__ = ['ServiceArgs', 'Service']
22
21
  @pulumi.input_type
23
22
  class ServiceArgs:
24
23
  def __init__(__self__, *,
25
- node: pulumi.Input[builtins.str],
26
- address: Optional[pulumi.Input[builtins.str]] = None,
24
+ node: pulumi.Input[_builtins.str],
25
+ address: Optional[pulumi.Input[_builtins.str]] = None,
27
26
  checks: Optional[pulumi.Input[Sequence[pulumi.Input['ServiceCheckArgs']]]] = None,
28
- datacenter: Optional[pulumi.Input[builtins.str]] = None,
29
- enable_tag_override: Optional[pulumi.Input[builtins.bool]] = None,
30
- external: Optional[pulumi.Input[builtins.bool]] = None,
31
- meta: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
32
- name: Optional[pulumi.Input[builtins.str]] = None,
33
- namespace: Optional[pulumi.Input[builtins.str]] = None,
34
- partition: Optional[pulumi.Input[builtins.str]] = None,
35
- port: Optional[pulumi.Input[builtins.int]] = None,
36
- service_id: Optional[pulumi.Input[builtins.str]] = None,
37
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None):
27
+ datacenter: Optional[pulumi.Input[_builtins.str]] = None,
28
+ enable_tag_override: Optional[pulumi.Input[_builtins.bool]] = None,
29
+ external: Optional[pulumi.Input[_builtins.bool]] = None,
30
+ meta: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
31
+ name: Optional[pulumi.Input[_builtins.str]] = None,
32
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
33
+ partition: Optional[pulumi.Input[_builtins.str]] = None,
34
+ port: Optional[pulumi.Input[_builtins.int]] = None,
35
+ service_id: Optional[pulumi.Input[_builtins.str]] = None,
36
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
37
+ weights: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.int]]]] = None):
38
38
  """
39
39
  The set of arguments for constructing a Service resource.
40
- :param pulumi.Input[builtins.str] node: The name of the node the to register the service on.
41
- :param pulumi.Input[builtins.str] address: The address of the service. Defaults to the address of the node.
42
- :param pulumi.Input[builtins.str] datacenter: The datacenter to use. This overrides the agent's default datacenter and the datacenter in the provider setup.
43
- :param pulumi.Input[builtins.bool] enable_tag_override: Specifies to disable the anti-entropy feature for this service's tags. Defaults to `false`.
44
- :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] meta: A map of arbitrary KV metadata linked to the service instance.
45
- :param pulumi.Input[builtins.str] name: The name of the service.
46
- :param pulumi.Input[builtins.str] namespace: The namespace to create the service within.
47
- :param pulumi.Input[builtins.str] partition: The partition the service is associated with.
48
- :param pulumi.Input[builtins.int] port: The port of the service.
49
- :param pulumi.Input[builtins.str] service_id: If the service ID is not provided, it will be defaulted to the value of the `name` attribute.
50
- :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] tags: A list of values that are opaque to Consul, but can be used to distinguish between services or nodes.
40
+ :param pulumi.Input[_builtins.str] node: The name of the node the to register the service on.
41
+ :param pulumi.Input[_builtins.str] address: The address of the service. Defaults to the address of the node.
42
+ :param pulumi.Input[_builtins.str] datacenter: The datacenter to use. This overrides the agent's default datacenter and the datacenter in the provider setup.
43
+ :param pulumi.Input[_builtins.bool] enable_tag_override: Specifies to disable the anti-entropy feature for this service's tags. Defaults to `false`.
44
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] meta: A map of arbitrary KV metadata linked to the service instance.
45
+ :param pulumi.Input[_builtins.str] name: The name of the service.
46
+ :param pulumi.Input[_builtins.str] namespace: The namespace to create the service within.
47
+ :param pulumi.Input[_builtins.str] partition: The partition the service is associated with.
48
+ :param pulumi.Input[_builtins.int] port: The port of the service.
49
+ :param pulumi.Input[_builtins.str] service_id: If the service ID is not provided, it will be defaulted to the value of the `name` attribute.
50
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: A list of values that are opaque to Consul, but can be used to distinguish between services or nodes.
51
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.int]]] weights: Object that configures how the service responds to DNS SRV requests based on the service's health status. You can specify one or more of the following states and configure an integer value indicating its weight: `passing`, `warning`.
51
52
  """
52
53
  pulumi.set(__self__, "node", node)
53
54
  if address is not None:
@@ -77,32 +78,34 @@ class ServiceArgs:
77
78
  pulumi.set(__self__, "service_id", service_id)
78
79
  if tags is not None:
79
80
  pulumi.set(__self__, "tags", tags)
81
+ if weights is not None:
82
+ pulumi.set(__self__, "weights", weights)
80
83
 
81
- @property
84
+ @_builtins.property
82
85
  @pulumi.getter
83
- def node(self) -> pulumi.Input[builtins.str]:
86
+ def node(self) -> pulumi.Input[_builtins.str]:
84
87
  """
85
88
  The name of the node the to register the service on.
86
89
  """
87
90
  return pulumi.get(self, "node")
88
91
 
89
92
  @node.setter
90
- def node(self, value: pulumi.Input[builtins.str]):
93
+ def node(self, value: pulumi.Input[_builtins.str]):
91
94
  pulumi.set(self, "node", value)
92
95
 
93
- @property
96
+ @_builtins.property
94
97
  @pulumi.getter
95
- def address(self) -> Optional[pulumi.Input[builtins.str]]:
98
+ def address(self) -> Optional[pulumi.Input[_builtins.str]]:
96
99
  """
97
100
  The address of the service. Defaults to the address of the node.
98
101
  """
99
102
  return pulumi.get(self, "address")
100
103
 
101
104
  @address.setter
102
- def address(self, value: Optional[pulumi.Input[builtins.str]]):
105
+ def address(self, value: Optional[pulumi.Input[_builtins.str]]):
103
106
  pulumi.set(self, "address", value)
104
107
 
105
- @property
108
+ @_builtins.property
106
109
  @pulumi.getter
107
110
  def checks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ServiceCheckArgs']]]]:
108
111
  return pulumi.get(self, "checks")
@@ -111,154 +114,168 @@ class ServiceArgs:
111
114
  def checks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ServiceCheckArgs']]]]):
112
115
  pulumi.set(self, "checks", value)
113
116
 
114
- @property
117
+ @_builtins.property
115
118
  @pulumi.getter
116
- def datacenter(self) -> Optional[pulumi.Input[builtins.str]]:
119
+ def datacenter(self) -> Optional[pulumi.Input[_builtins.str]]:
117
120
  """
118
121
  The datacenter to use. This overrides the agent's default datacenter and the datacenter in the provider setup.
119
122
  """
120
123
  return pulumi.get(self, "datacenter")
121
124
 
122
125
  @datacenter.setter
123
- def datacenter(self, value: Optional[pulumi.Input[builtins.str]]):
126
+ def datacenter(self, value: Optional[pulumi.Input[_builtins.str]]):
124
127
  pulumi.set(self, "datacenter", value)
125
128
 
126
- @property
129
+ @_builtins.property
127
130
  @pulumi.getter(name="enableTagOverride")
128
- def enable_tag_override(self) -> Optional[pulumi.Input[builtins.bool]]:
131
+ def enable_tag_override(self) -> Optional[pulumi.Input[_builtins.bool]]:
129
132
  """
130
133
  Specifies to disable the anti-entropy feature for this service's tags. Defaults to `false`.
131
134
  """
132
135
  return pulumi.get(self, "enable_tag_override")
133
136
 
134
137
  @enable_tag_override.setter
135
- def enable_tag_override(self, value: Optional[pulumi.Input[builtins.bool]]):
138
+ def enable_tag_override(self, value: Optional[pulumi.Input[_builtins.bool]]):
136
139
  pulumi.set(self, "enable_tag_override", value)
137
140
 
138
- @property
141
+ @_builtins.property
139
142
  @pulumi.getter
140
143
  @_utilities.deprecated("""The external field has been deprecated and does nothing.""")
141
- def external(self) -> Optional[pulumi.Input[builtins.bool]]:
144
+ def external(self) -> Optional[pulumi.Input[_builtins.bool]]:
142
145
  return pulumi.get(self, "external")
143
146
 
144
147
  @external.setter
145
- def external(self, value: Optional[pulumi.Input[builtins.bool]]):
148
+ def external(self, value: Optional[pulumi.Input[_builtins.bool]]):
146
149
  pulumi.set(self, "external", value)
147
150
 
148
- @property
151
+ @_builtins.property
149
152
  @pulumi.getter
150
- def meta(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]:
153
+ def meta(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
151
154
  """
152
155
  A map of arbitrary KV metadata linked to the service instance.
153
156
  """
154
157
  return pulumi.get(self, "meta")
155
158
 
156
159
  @meta.setter
157
- def meta(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]):
160
+ def meta(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
158
161
  pulumi.set(self, "meta", value)
159
162
 
160
- @property
163
+ @_builtins.property
161
164
  @pulumi.getter
162
- def name(self) -> Optional[pulumi.Input[builtins.str]]:
165
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
163
166
  """
164
167
  The name of the service.
165
168
  """
166
169
  return pulumi.get(self, "name")
167
170
 
168
171
  @name.setter
169
- def name(self, value: Optional[pulumi.Input[builtins.str]]):
172
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
170
173
  pulumi.set(self, "name", value)
171
174
 
172
- @property
175
+ @_builtins.property
173
176
  @pulumi.getter
174
- def namespace(self) -> Optional[pulumi.Input[builtins.str]]:
177
+ def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
175
178
  """
176
179
  The namespace to create the service within.
177
180
  """
178
181
  return pulumi.get(self, "namespace")
179
182
 
180
183
  @namespace.setter
181
- def namespace(self, value: Optional[pulumi.Input[builtins.str]]):
184
+ def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
182
185
  pulumi.set(self, "namespace", value)
183
186
 
184
- @property
187
+ @_builtins.property
185
188
  @pulumi.getter
186
- def partition(self) -> Optional[pulumi.Input[builtins.str]]:
189
+ def partition(self) -> Optional[pulumi.Input[_builtins.str]]:
187
190
  """
188
191
  The partition the service is associated with.
189
192
  """
190
193
  return pulumi.get(self, "partition")
191
194
 
192
195
  @partition.setter
193
- def partition(self, value: Optional[pulumi.Input[builtins.str]]):
196
+ def partition(self, value: Optional[pulumi.Input[_builtins.str]]):
194
197
  pulumi.set(self, "partition", value)
195
198
 
196
- @property
199
+ @_builtins.property
197
200
  @pulumi.getter
198
- def port(self) -> Optional[pulumi.Input[builtins.int]]:
201
+ def port(self) -> Optional[pulumi.Input[_builtins.int]]:
199
202
  """
200
203
  The port of the service.
201
204
  """
202
205
  return pulumi.get(self, "port")
203
206
 
204
207
  @port.setter
205
- def port(self, value: Optional[pulumi.Input[builtins.int]]):
208
+ def port(self, value: Optional[pulumi.Input[_builtins.int]]):
206
209
  pulumi.set(self, "port", value)
207
210
 
208
- @property
211
+ @_builtins.property
209
212
  @pulumi.getter(name="serviceId")
210
- def service_id(self) -> Optional[pulumi.Input[builtins.str]]:
213
+ def service_id(self) -> Optional[pulumi.Input[_builtins.str]]:
211
214
  """
212
215
  If the service ID is not provided, it will be defaulted to the value of the `name` attribute.
213
216
  """
214
217
  return pulumi.get(self, "service_id")
215
218
 
216
219
  @service_id.setter
217
- def service_id(self, value: Optional[pulumi.Input[builtins.str]]):
220
+ def service_id(self, value: Optional[pulumi.Input[_builtins.str]]):
218
221
  pulumi.set(self, "service_id", value)
219
222
 
220
- @property
223
+ @_builtins.property
221
224
  @pulumi.getter
222
- def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
225
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
223
226
  """
224
227
  A list of values that are opaque to Consul, but can be used to distinguish between services or nodes.
225
228
  """
226
229
  return pulumi.get(self, "tags")
227
230
 
228
231
  @tags.setter
229
- def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]):
232
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
230
233
  pulumi.set(self, "tags", value)
231
234
 
235
+ @_builtins.property
236
+ @pulumi.getter
237
+ def weights(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.int]]]]:
238
+ """
239
+ Object that configures how the service responds to DNS SRV requests based on the service's health status. You can specify one or more of the following states and configure an integer value indicating its weight: `passing`, `warning`.
240
+ """
241
+ return pulumi.get(self, "weights")
242
+
243
+ @weights.setter
244
+ def weights(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.int]]]]):
245
+ pulumi.set(self, "weights", value)
246
+
232
247
 
233
248
  @pulumi.input_type
234
249
  class _ServiceState:
235
250
  def __init__(__self__, *,
236
- address: Optional[pulumi.Input[builtins.str]] = None,
251
+ address: Optional[pulumi.Input[_builtins.str]] = None,
237
252
  checks: Optional[pulumi.Input[Sequence[pulumi.Input['ServiceCheckArgs']]]] = None,
238
- datacenter: Optional[pulumi.Input[builtins.str]] = None,
239
- enable_tag_override: Optional[pulumi.Input[builtins.bool]] = None,
240
- external: Optional[pulumi.Input[builtins.bool]] = None,
241
- meta: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
242
- name: Optional[pulumi.Input[builtins.str]] = None,
243
- namespace: Optional[pulumi.Input[builtins.str]] = None,
244
- node: Optional[pulumi.Input[builtins.str]] = None,
245
- partition: Optional[pulumi.Input[builtins.str]] = None,
246
- port: Optional[pulumi.Input[builtins.int]] = None,
247
- service_id: Optional[pulumi.Input[builtins.str]] = None,
248
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None):
253
+ datacenter: Optional[pulumi.Input[_builtins.str]] = None,
254
+ enable_tag_override: Optional[pulumi.Input[_builtins.bool]] = None,
255
+ external: Optional[pulumi.Input[_builtins.bool]] = None,
256
+ meta: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
257
+ name: Optional[pulumi.Input[_builtins.str]] = None,
258
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
259
+ node: Optional[pulumi.Input[_builtins.str]] = None,
260
+ partition: Optional[pulumi.Input[_builtins.str]] = None,
261
+ port: Optional[pulumi.Input[_builtins.int]] = None,
262
+ service_id: Optional[pulumi.Input[_builtins.str]] = None,
263
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
264
+ weights: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.int]]]] = None):
249
265
  """
250
266
  Input properties used for looking up and filtering Service resources.
251
- :param pulumi.Input[builtins.str] address: The address of the service. Defaults to the address of the node.
252
- :param pulumi.Input[builtins.str] datacenter: The datacenter to use. This overrides the agent's default datacenter and the datacenter in the provider setup.
253
- :param pulumi.Input[builtins.bool] enable_tag_override: Specifies to disable the anti-entropy feature for this service's tags. Defaults to `false`.
254
- :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] meta: A map of arbitrary KV metadata linked to the service instance.
255
- :param pulumi.Input[builtins.str] name: The name of the service.
256
- :param pulumi.Input[builtins.str] namespace: The namespace to create the service within.
257
- :param pulumi.Input[builtins.str] node: The name of the node the to register the service on.
258
- :param pulumi.Input[builtins.str] partition: The partition the service is associated with.
259
- :param pulumi.Input[builtins.int] port: The port of the service.
260
- :param pulumi.Input[builtins.str] service_id: If the service ID is not provided, it will be defaulted to the value of the `name` attribute.
261
- :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] tags: A list of values that are opaque to Consul, but can be used to distinguish between services or nodes.
267
+ :param pulumi.Input[_builtins.str] address: The address of the service. Defaults to the address of the node.
268
+ :param pulumi.Input[_builtins.str] datacenter: The datacenter to use. This overrides the agent's default datacenter and the datacenter in the provider setup.
269
+ :param pulumi.Input[_builtins.bool] enable_tag_override: Specifies to disable the anti-entropy feature for this service's tags. Defaults to `false`.
270
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] meta: A map of arbitrary KV metadata linked to the service instance.
271
+ :param pulumi.Input[_builtins.str] name: The name of the service.
272
+ :param pulumi.Input[_builtins.str] namespace: The namespace to create the service within.
273
+ :param pulumi.Input[_builtins.str] node: The name of the node the to register the service on.
274
+ :param pulumi.Input[_builtins.str] partition: The partition the service is associated with.
275
+ :param pulumi.Input[_builtins.int] port: The port of the service.
276
+ :param pulumi.Input[_builtins.str] service_id: If the service ID is not provided, it will be defaulted to the value of the `name` attribute.
277
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: A list of values that are opaque to Consul, but can be used to distinguish between services or nodes.
278
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.int]]] weights: Object that configures how the service responds to DNS SRV requests based on the service's health status. You can specify one or more of the following states and configure an integer value indicating its weight: `passing`, `warning`.
262
279
  """
263
280
  if address is not None:
264
281
  pulumi.set(__self__, "address", address)
@@ -289,20 +306,22 @@ class _ServiceState:
289
306
  pulumi.set(__self__, "service_id", service_id)
290
307
  if tags is not None:
291
308
  pulumi.set(__self__, "tags", tags)
309
+ if weights is not None:
310
+ pulumi.set(__self__, "weights", weights)
292
311
 
293
- @property
312
+ @_builtins.property
294
313
  @pulumi.getter
295
- def address(self) -> Optional[pulumi.Input[builtins.str]]:
314
+ def address(self) -> Optional[pulumi.Input[_builtins.str]]:
296
315
  """
297
316
  The address of the service. Defaults to the address of the node.
298
317
  """
299
318
  return pulumi.get(self, "address")
300
319
 
301
320
  @address.setter
302
- def address(self, value: Optional[pulumi.Input[builtins.str]]):
321
+ def address(self, value: Optional[pulumi.Input[_builtins.str]]):
303
322
  pulumi.set(self, "address", value)
304
323
 
305
- @property
324
+ @_builtins.property
306
325
  @pulumi.getter
307
326
  def checks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ServiceCheckArgs']]]]:
308
327
  return pulumi.get(self, "checks")
@@ -311,136 +330,148 @@ class _ServiceState:
311
330
  def checks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ServiceCheckArgs']]]]):
312
331
  pulumi.set(self, "checks", value)
313
332
 
314
- @property
333
+ @_builtins.property
315
334
  @pulumi.getter
316
- def datacenter(self) -> Optional[pulumi.Input[builtins.str]]:
335
+ def datacenter(self) -> Optional[pulumi.Input[_builtins.str]]:
317
336
  """
318
337
  The datacenter to use. This overrides the agent's default datacenter and the datacenter in the provider setup.
319
338
  """
320
339
  return pulumi.get(self, "datacenter")
321
340
 
322
341
  @datacenter.setter
323
- def datacenter(self, value: Optional[pulumi.Input[builtins.str]]):
342
+ def datacenter(self, value: Optional[pulumi.Input[_builtins.str]]):
324
343
  pulumi.set(self, "datacenter", value)
325
344
 
326
- @property
345
+ @_builtins.property
327
346
  @pulumi.getter(name="enableTagOverride")
328
- def enable_tag_override(self) -> Optional[pulumi.Input[builtins.bool]]:
347
+ def enable_tag_override(self) -> Optional[pulumi.Input[_builtins.bool]]:
329
348
  """
330
349
  Specifies to disable the anti-entropy feature for this service's tags. Defaults to `false`.
331
350
  """
332
351
  return pulumi.get(self, "enable_tag_override")
333
352
 
334
353
  @enable_tag_override.setter
335
- def enable_tag_override(self, value: Optional[pulumi.Input[builtins.bool]]):
354
+ def enable_tag_override(self, value: Optional[pulumi.Input[_builtins.bool]]):
336
355
  pulumi.set(self, "enable_tag_override", value)
337
356
 
338
- @property
357
+ @_builtins.property
339
358
  @pulumi.getter
340
359
  @_utilities.deprecated("""The external field has been deprecated and does nothing.""")
341
- def external(self) -> Optional[pulumi.Input[builtins.bool]]:
360
+ def external(self) -> Optional[pulumi.Input[_builtins.bool]]:
342
361
  return pulumi.get(self, "external")
343
362
 
344
363
  @external.setter
345
- def external(self, value: Optional[pulumi.Input[builtins.bool]]):
364
+ def external(self, value: Optional[pulumi.Input[_builtins.bool]]):
346
365
  pulumi.set(self, "external", value)
347
366
 
348
- @property
367
+ @_builtins.property
349
368
  @pulumi.getter
350
- def meta(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]:
369
+ def meta(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
351
370
  """
352
371
  A map of arbitrary KV metadata linked to the service instance.
353
372
  """
354
373
  return pulumi.get(self, "meta")
355
374
 
356
375
  @meta.setter
357
- def meta(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]):
376
+ def meta(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
358
377
  pulumi.set(self, "meta", value)
359
378
 
360
- @property
379
+ @_builtins.property
361
380
  @pulumi.getter
362
- def name(self) -> Optional[pulumi.Input[builtins.str]]:
381
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
363
382
  """
364
383
  The name of the service.
365
384
  """
366
385
  return pulumi.get(self, "name")
367
386
 
368
387
  @name.setter
369
- def name(self, value: Optional[pulumi.Input[builtins.str]]):
388
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
370
389
  pulumi.set(self, "name", value)
371
390
 
372
- @property
391
+ @_builtins.property
373
392
  @pulumi.getter
374
- def namespace(self) -> Optional[pulumi.Input[builtins.str]]:
393
+ def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
375
394
  """
376
395
  The namespace to create the service within.
377
396
  """
378
397
  return pulumi.get(self, "namespace")
379
398
 
380
399
  @namespace.setter
381
- def namespace(self, value: Optional[pulumi.Input[builtins.str]]):
400
+ def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
382
401
  pulumi.set(self, "namespace", value)
383
402
 
384
- @property
403
+ @_builtins.property
385
404
  @pulumi.getter
386
- def node(self) -> Optional[pulumi.Input[builtins.str]]:
405
+ def node(self) -> Optional[pulumi.Input[_builtins.str]]:
387
406
  """
388
407
  The name of the node the to register the service on.
389
408
  """
390
409
  return pulumi.get(self, "node")
391
410
 
392
411
  @node.setter
393
- def node(self, value: Optional[pulumi.Input[builtins.str]]):
412
+ def node(self, value: Optional[pulumi.Input[_builtins.str]]):
394
413
  pulumi.set(self, "node", value)
395
414
 
396
- @property
415
+ @_builtins.property
397
416
  @pulumi.getter
398
- def partition(self) -> Optional[pulumi.Input[builtins.str]]:
417
+ def partition(self) -> Optional[pulumi.Input[_builtins.str]]:
399
418
  """
400
419
  The partition the service is associated with.
401
420
  """
402
421
  return pulumi.get(self, "partition")
403
422
 
404
423
  @partition.setter
405
- def partition(self, value: Optional[pulumi.Input[builtins.str]]):
424
+ def partition(self, value: Optional[pulumi.Input[_builtins.str]]):
406
425
  pulumi.set(self, "partition", value)
407
426
 
408
- @property
427
+ @_builtins.property
409
428
  @pulumi.getter
410
- def port(self) -> Optional[pulumi.Input[builtins.int]]:
429
+ def port(self) -> Optional[pulumi.Input[_builtins.int]]:
411
430
  """
412
431
  The port of the service.
413
432
  """
414
433
  return pulumi.get(self, "port")
415
434
 
416
435
  @port.setter
417
- def port(self, value: Optional[pulumi.Input[builtins.int]]):
436
+ def port(self, value: Optional[pulumi.Input[_builtins.int]]):
418
437
  pulumi.set(self, "port", value)
419
438
 
420
- @property
439
+ @_builtins.property
421
440
  @pulumi.getter(name="serviceId")
422
- def service_id(self) -> Optional[pulumi.Input[builtins.str]]:
441
+ def service_id(self) -> Optional[pulumi.Input[_builtins.str]]:
423
442
  """
424
443
  If the service ID is not provided, it will be defaulted to the value of the `name` attribute.
425
444
  """
426
445
  return pulumi.get(self, "service_id")
427
446
 
428
447
  @service_id.setter
429
- def service_id(self, value: Optional[pulumi.Input[builtins.str]]):
448
+ def service_id(self, value: Optional[pulumi.Input[_builtins.str]]):
430
449
  pulumi.set(self, "service_id", value)
431
450
 
432
- @property
451
+ @_builtins.property
433
452
  @pulumi.getter
434
- def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
453
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
435
454
  """
436
455
  A list of values that are opaque to Consul, but can be used to distinguish between services or nodes.
437
456
  """
438
457
  return pulumi.get(self, "tags")
439
458
 
440
459
  @tags.setter
441
- def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]):
460
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
442
461
  pulumi.set(self, "tags", value)
443
462
 
463
+ @_builtins.property
464
+ @pulumi.getter
465
+ def weights(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.int]]]]:
466
+ """
467
+ Object that configures how the service responds to DNS SRV requests based on the service's health status. You can specify one or more of the following states and configure an integer value indicating its weight: `passing`, `warning`.
468
+ """
469
+ return pulumi.get(self, "weights")
470
+
471
+ @weights.setter
472
+ def weights(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.int]]]]):
473
+ pulumi.set(self, "weights", value)
474
+
444
475
 
445
476
  @pulumi.type_token("consul:index/service:Service")
446
477
  class Service(pulumi.CustomResource):
@@ -448,19 +479,20 @@ class Service(pulumi.CustomResource):
448
479
  def __init__(__self__,
449
480
  resource_name: str,
450
481
  opts: Optional[pulumi.ResourceOptions] = None,
451
- address: Optional[pulumi.Input[builtins.str]] = None,
482
+ address: Optional[pulumi.Input[_builtins.str]] = None,
452
483
  checks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ServiceCheckArgs', 'ServiceCheckArgsDict']]]]] = None,
453
- datacenter: Optional[pulumi.Input[builtins.str]] = None,
454
- enable_tag_override: Optional[pulumi.Input[builtins.bool]] = None,
455
- external: Optional[pulumi.Input[builtins.bool]] = None,
456
- meta: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
457
- name: Optional[pulumi.Input[builtins.str]] = None,
458
- namespace: Optional[pulumi.Input[builtins.str]] = None,
459
- node: Optional[pulumi.Input[builtins.str]] = None,
460
- partition: Optional[pulumi.Input[builtins.str]] = None,
461
- port: Optional[pulumi.Input[builtins.int]] = None,
462
- service_id: Optional[pulumi.Input[builtins.str]] = None,
463
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
484
+ datacenter: Optional[pulumi.Input[_builtins.str]] = None,
485
+ enable_tag_override: Optional[pulumi.Input[_builtins.bool]] = None,
486
+ external: Optional[pulumi.Input[_builtins.bool]] = None,
487
+ meta: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
488
+ name: Optional[pulumi.Input[_builtins.str]] = None,
489
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
490
+ node: Optional[pulumi.Input[_builtins.str]] = None,
491
+ partition: Optional[pulumi.Input[_builtins.str]] = None,
492
+ port: Optional[pulumi.Input[_builtins.int]] = None,
493
+ service_id: Optional[pulumi.Input[_builtins.str]] = None,
494
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
495
+ weights: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.int]]]] = None,
464
496
  __props__=None):
465
497
  """
466
498
  A high-level resource for creating a Service in Consul in the Consul catalog. This
@@ -537,17 +569,18 @@ class Service(pulumi.CustomResource):
537
569
 
538
570
  :param str resource_name: The name of the resource.
539
571
  :param pulumi.ResourceOptions opts: Options for the resource.
540
- :param pulumi.Input[builtins.str] address: The address of the service. Defaults to the address of the node.
541
- :param pulumi.Input[builtins.str] datacenter: The datacenter to use. This overrides the agent's default datacenter and the datacenter in the provider setup.
542
- :param pulumi.Input[builtins.bool] enable_tag_override: Specifies to disable the anti-entropy feature for this service's tags. Defaults to `false`.
543
- :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] meta: A map of arbitrary KV metadata linked to the service instance.
544
- :param pulumi.Input[builtins.str] name: The name of the service.
545
- :param pulumi.Input[builtins.str] namespace: The namespace to create the service within.
546
- :param pulumi.Input[builtins.str] node: The name of the node the to register the service on.
547
- :param pulumi.Input[builtins.str] partition: The partition the service is associated with.
548
- :param pulumi.Input[builtins.int] port: The port of the service.
549
- :param pulumi.Input[builtins.str] service_id: If the service ID is not provided, it will be defaulted to the value of the `name` attribute.
550
- :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] tags: A list of values that are opaque to Consul, but can be used to distinguish between services or nodes.
572
+ :param pulumi.Input[_builtins.str] address: The address of the service. Defaults to the address of the node.
573
+ :param pulumi.Input[_builtins.str] datacenter: The datacenter to use. This overrides the agent's default datacenter and the datacenter in the provider setup.
574
+ :param pulumi.Input[_builtins.bool] enable_tag_override: Specifies to disable the anti-entropy feature for this service's tags. Defaults to `false`.
575
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] meta: A map of arbitrary KV metadata linked to the service instance.
576
+ :param pulumi.Input[_builtins.str] name: The name of the service.
577
+ :param pulumi.Input[_builtins.str] namespace: The namespace to create the service within.
578
+ :param pulumi.Input[_builtins.str] node: The name of the node the to register the service on.
579
+ :param pulumi.Input[_builtins.str] partition: The partition the service is associated with.
580
+ :param pulumi.Input[_builtins.int] port: The port of the service.
581
+ :param pulumi.Input[_builtins.str] service_id: If the service ID is not provided, it will be defaulted to the value of the `name` attribute.
582
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: A list of values that are opaque to Consul, but can be used to distinguish between services or nodes.
583
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.int]]] weights: Object that configures how the service responds to DNS SRV requests based on the service's health status. You can specify one or more of the following states and configure an integer value indicating its weight: `passing`, `warning`.
551
584
  """
552
585
  ...
553
586
  @overload
@@ -643,19 +676,20 @@ class Service(pulumi.CustomResource):
643
676
  def _internal_init(__self__,
644
677
  resource_name: str,
645
678
  opts: Optional[pulumi.ResourceOptions] = None,
646
- address: Optional[pulumi.Input[builtins.str]] = None,
679
+ address: Optional[pulumi.Input[_builtins.str]] = None,
647
680
  checks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ServiceCheckArgs', 'ServiceCheckArgsDict']]]]] = None,
648
- datacenter: Optional[pulumi.Input[builtins.str]] = None,
649
- enable_tag_override: Optional[pulumi.Input[builtins.bool]] = None,
650
- external: Optional[pulumi.Input[builtins.bool]] = None,
651
- meta: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
652
- name: Optional[pulumi.Input[builtins.str]] = None,
653
- namespace: Optional[pulumi.Input[builtins.str]] = None,
654
- node: Optional[pulumi.Input[builtins.str]] = None,
655
- partition: Optional[pulumi.Input[builtins.str]] = None,
656
- port: Optional[pulumi.Input[builtins.int]] = None,
657
- service_id: Optional[pulumi.Input[builtins.str]] = None,
658
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
681
+ datacenter: Optional[pulumi.Input[_builtins.str]] = None,
682
+ enable_tag_override: Optional[pulumi.Input[_builtins.bool]] = None,
683
+ external: Optional[pulumi.Input[_builtins.bool]] = None,
684
+ meta: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
685
+ name: Optional[pulumi.Input[_builtins.str]] = None,
686
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
687
+ node: Optional[pulumi.Input[_builtins.str]] = None,
688
+ partition: Optional[pulumi.Input[_builtins.str]] = None,
689
+ port: Optional[pulumi.Input[_builtins.int]] = None,
690
+ service_id: Optional[pulumi.Input[_builtins.str]] = None,
691
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
692
+ weights: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.int]]]] = None,
659
693
  __props__=None):
660
694
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
661
695
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -680,6 +714,7 @@ class Service(pulumi.CustomResource):
680
714
  __props__.__dict__["port"] = port
681
715
  __props__.__dict__["service_id"] = service_id
682
716
  __props__.__dict__["tags"] = tags
717
+ __props__.__dict__["weights"] = weights
683
718
  super(Service, __self__).__init__(
684
719
  'consul:index/service:Service',
685
720
  resource_name,
@@ -690,19 +725,20 @@ class Service(pulumi.CustomResource):
690
725
  def get(resource_name: str,
691
726
  id: pulumi.Input[str],
692
727
  opts: Optional[pulumi.ResourceOptions] = None,
693
- address: Optional[pulumi.Input[builtins.str]] = None,
728
+ address: Optional[pulumi.Input[_builtins.str]] = None,
694
729
  checks: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ServiceCheckArgs', 'ServiceCheckArgsDict']]]]] = None,
695
- datacenter: Optional[pulumi.Input[builtins.str]] = None,
696
- enable_tag_override: Optional[pulumi.Input[builtins.bool]] = None,
697
- external: Optional[pulumi.Input[builtins.bool]] = None,
698
- meta: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
699
- name: Optional[pulumi.Input[builtins.str]] = None,
700
- namespace: Optional[pulumi.Input[builtins.str]] = None,
701
- node: Optional[pulumi.Input[builtins.str]] = None,
702
- partition: Optional[pulumi.Input[builtins.str]] = None,
703
- port: Optional[pulumi.Input[builtins.int]] = None,
704
- service_id: Optional[pulumi.Input[builtins.str]] = None,
705
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None) -> 'Service':
730
+ datacenter: Optional[pulumi.Input[_builtins.str]] = None,
731
+ enable_tag_override: Optional[pulumi.Input[_builtins.bool]] = None,
732
+ external: Optional[pulumi.Input[_builtins.bool]] = None,
733
+ meta: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
734
+ name: Optional[pulumi.Input[_builtins.str]] = None,
735
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
736
+ node: Optional[pulumi.Input[_builtins.str]] = None,
737
+ partition: Optional[pulumi.Input[_builtins.str]] = None,
738
+ port: Optional[pulumi.Input[_builtins.int]] = None,
739
+ service_id: Optional[pulumi.Input[_builtins.str]] = None,
740
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
741
+ weights: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.int]]]] = None) -> 'Service':
706
742
  """
707
743
  Get an existing Service resource's state with the given name, id, and optional extra
708
744
  properties used to qualify the lookup.
@@ -710,17 +746,18 @@ class Service(pulumi.CustomResource):
710
746
  :param str resource_name: The unique name of the resulting resource.
711
747
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
712
748
  :param pulumi.ResourceOptions opts: Options for the resource.
713
- :param pulumi.Input[builtins.str] address: The address of the service. Defaults to the address of the node.
714
- :param pulumi.Input[builtins.str] datacenter: The datacenter to use. This overrides the agent's default datacenter and the datacenter in the provider setup.
715
- :param pulumi.Input[builtins.bool] enable_tag_override: Specifies to disable the anti-entropy feature for this service's tags. Defaults to `false`.
716
- :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] meta: A map of arbitrary KV metadata linked to the service instance.
717
- :param pulumi.Input[builtins.str] name: The name of the service.
718
- :param pulumi.Input[builtins.str] namespace: The namespace to create the service within.
719
- :param pulumi.Input[builtins.str] node: The name of the node the to register the service on.
720
- :param pulumi.Input[builtins.str] partition: The partition the service is associated with.
721
- :param pulumi.Input[builtins.int] port: The port of the service.
722
- :param pulumi.Input[builtins.str] service_id: If the service ID is not provided, it will be defaulted to the value of the `name` attribute.
723
- :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] tags: A list of values that are opaque to Consul, but can be used to distinguish between services or nodes.
749
+ :param pulumi.Input[_builtins.str] address: The address of the service. Defaults to the address of the node.
750
+ :param pulumi.Input[_builtins.str] datacenter: The datacenter to use. This overrides the agent's default datacenter and the datacenter in the provider setup.
751
+ :param pulumi.Input[_builtins.bool] enable_tag_override: Specifies to disable the anti-entropy feature for this service's tags. Defaults to `false`.
752
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] meta: A map of arbitrary KV metadata linked to the service instance.
753
+ :param pulumi.Input[_builtins.str] name: The name of the service.
754
+ :param pulumi.Input[_builtins.str] namespace: The namespace to create the service within.
755
+ :param pulumi.Input[_builtins.str] node: The name of the node the to register the service on.
756
+ :param pulumi.Input[_builtins.str] partition: The partition the service is associated with.
757
+ :param pulumi.Input[_builtins.int] port: The port of the service.
758
+ :param pulumi.Input[_builtins.str] service_id: If the service ID is not provided, it will be defaulted to the value of the `name` attribute.
759
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: A list of values that are opaque to Consul, but can be used to distinguish between services or nodes.
760
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.int]]] weights: Object that configures how the service responds to DNS SRV requests based on the service's health status. You can specify one or more of the following states and configure an integer value indicating its weight: `passing`, `warning`.
724
761
  """
725
762
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
726
763
 
@@ -739,104 +776,113 @@ class Service(pulumi.CustomResource):
739
776
  __props__.__dict__["port"] = port
740
777
  __props__.__dict__["service_id"] = service_id
741
778
  __props__.__dict__["tags"] = tags
779
+ __props__.__dict__["weights"] = weights
742
780
  return Service(resource_name, opts=opts, __props__=__props__)
743
781
 
744
- @property
782
+ @_builtins.property
745
783
  @pulumi.getter
746
- def address(self) -> pulumi.Output[builtins.str]:
784
+ def address(self) -> pulumi.Output[_builtins.str]:
747
785
  """
748
786
  The address of the service. Defaults to the address of the node.
749
787
  """
750
788
  return pulumi.get(self, "address")
751
789
 
752
- @property
790
+ @_builtins.property
753
791
  @pulumi.getter
754
792
  def checks(self) -> pulumi.Output[Optional[Sequence['outputs.ServiceCheck']]]:
755
793
  return pulumi.get(self, "checks")
756
794
 
757
- @property
795
+ @_builtins.property
758
796
  @pulumi.getter
759
- def datacenter(self) -> pulumi.Output[builtins.str]:
797
+ def datacenter(self) -> pulumi.Output[_builtins.str]:
760
798
  """
761
799
  The datacenter to use. This overrides the agent's default datacenter and the datacenter in the provider setup.
762
800
  """
763
801
  return pulumi.get(self, "datacenter")
764
802
 
765
- @property
803
+ @_builtins.property
766
804
  @pulumi.getter(name="enableTagOverride")
767
- def enable_tag_override(self) -> pulumi.Output[Optional[builtins.bool]]:
805
+ def enable_tag_override(self) -> pulumi.Output[Optional[_builtins.bool]]:
768
806
  """
769
807
  Specifies to disable the anti-entropy feature for this service's tags. Defaults to `false`.
770
808
  """
771
809
  return pulumi.get(self, "enable_tag_override")
772
810
 
773
- @property
811
+ @_builtins.property
774
812
  @pulumi.getter
775
813
  @_utilities.deprecated("""The external field has been deprecated and does nothing.""")
776
- def external(self) -> pulumi.Output[Optional[builtins.bool]]:
814
+ def external(self) -> pulumi.Output[Optional[_builtins.bool]]:
777
815
  return pulumi.get(self, "external")
778
816
 
779
- @property
817
+ @_builtins.property
780
818
  @pulumi.getter
781
- def meta(self) -> pulumi.Output[Optional[Mapping[str, builtins.str]]]:
819
+ def meta(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]:
782
820
  """
783
821
  A map of arbitrary KV metadata linked to the service instance.
784
822
  """
785
823
  return pulumi.get(self, "meta")
786
824
 
787
- @property
825
+ @_builtins.property
788
826
  @pulumi.getter
789
- def name(self) -> pulumi.Output[builtins.str]:
827
+ def name(self) -> pulumi.Output[_builtins.str]:
790
828
  """
791
829
  The name of the service.
792
830
  """
793
831
  return pulumi.get(self, "name")
794
832
 
795
- @property
833
+ @_builtins.property
796
834
  @pulumi.getter
797
- def namespace(self) -> pulumi.Output[Optional[builtins.str]]:
835
+ def namespace(self) -> pulumi.Output[Optional[_builtins.str]]:
798
836
  """
799
837
  The namespace to create the service within.
800
838
  """
801
839
  return pulumi.get(self, "namespace")
802
840
 
803
- @property
841
+ @_builtins.property
804
842
  @pulumi.getter
805
- def node(self) -> pulumi.Output[builtins.str]:
843
+ def node(self) -> pulumi.Output[_builtins.str]:
806
844
  """
807
845
  The name of the node the to register the service on.
808
846
  """
809
847
  return pulumi.get(self, "node")
810
848
 
811
- @property
849
+ @_builtins.property
812
850
  @pulumi.getter
813
- def partition(self) -> pulumi.Output[Optional[builtins.str]]:
851
+ def partition(self) -> pulumi.Output[Optional[_builtins.str]]:
814
852
  """
815
853
  The partition the service is associated with.
816
854
  """
817
855
  return pulumi.get(self, "partition")
818
856
 
819
- @property
857
+ @_builtins.property
820
858
  @pulumi.getter
821
- def port(self) -> pulumi.Output[Optional[builtins.int]]:
859
+ def port(self) -> pulumi.Output[Optional[_builtins.int]]:
822
860
  """
823
861
  The port of the service.
824
862
  """
825
863
  return pulumi.get(self, "port")
826
864
 
827
- @property
865
+ @_builtins.property
828
866
  @pulumi.getter(name="serviceId")
829
- def service_id(self) -> pulumi.Output[builtins.str]:
867
+ def service_id(self) -> pulumi.Output[_builtins.str]:
830
868
  """
831
869
  If the service ID is not provided, it will be defaulted to the value of the `name` attribute.
832
870
  """
833
871
  return pulumi.get(self, "service_id")
834
872
 
835
- @property
873
+ @_builtins.property
836
874
  @pulumi.getter
837
- def tags(self) -> pulumi.Output[Optional[Sequence[builtins.str]]]:
875
+ def tags(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
838
876
  """
839
877
  A list of values that are opaque to Consul, but can be used to distinguish between services or nodes.
840
878
  """
841
879
  return pulumi.get(self, "tags")
842
880
 
881
+ @_builtins.property
882
+ @pulumi.getter
883
+ def weights(self) -> pulumi.Output[Optional[Mapping[str, _builtins.int]]]:
884
+ """
885
+ Object that configures how the service responds to DNS SRV requests based on the service's health status. You can specify one or more of the following states and configure an integer value indicating its weight: `passing`, `warning`.
886
+ """
887
+ return pulumi.get(self, "weights")
888
+