pulumi-gcp 7.27.0a1718103841__py3-none-any.whl → 7.27.0a1718279079__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 (81) hide show
  1. pulumi_gcp/__init__.py +32 -0
  2. pulumi_gcp/appengine/_inputs.py +40 -0
  3. pulumi_gcp/appengine/flexible_app_version.py +47 -0
  4. pulumi_gcp/appengine/outputs.py +51 -0
  5. pulumi_gcp/bigtable/instance.py +47 -0
  6. pulumi_gcp/clouddeploy/_inputs.py +16 -0
  7. pulumi_gcp/clouddeploy/outputs.py +12 -0
  8. pulumi_gcp/compute/__init__.py +2 -0
  9. pulumi_gcp/compute/_inputs.py +84 -0
  10. pulumi_gcp/compute/backend_service.py +54 -0
  11. pulumi_gcp/compute/disk.py +68 -0
  12. pulumi_gcp/compute/get_backend_service.py +11 -1
  13. pulumi_gcp/compute/get_disk.py +11 -1
  14. pulumi_gcp/compute/get_instance.py +11 -1
  15. pulumi_gcp/compute/get_instance_group_manager.py +31 -1
  16. pulumi_gcp/compute/get_instance_template.py +11 -1
  17. pulumi_gcp/compute/get_region_instance_template.py +11 -1
  18. pulumi_gcp/compute/get_security_policy.py +214 -0
  19. pulumi_gcp/compute/instance.py +47 -0
  20. pulumi_gcp/compute/instance_from_machine_image.py +47 -0
  21. pulumi_gcp/compute/instance_from_template.py +47 -0
  22. pulumi_gcp/compute/instance_group_manager.py +185 -0
  23. pulumi_gcp/compute/instance_template.py +47 -0
  24. pulumi_gcp/compute/outputs.py +1039 -0
  25. pulumi_gcp/compute/project_cloud_armor_tier.py +336 -0
  26. pulumi_gcp/compute/region_instance_group_manager.py +185 -0
  27. pulumi_gcp/compute/region_instance_template.py +47 -0
  28. pulumi_gcp/config/__init__.pyi +2 -0
  29. pulumi_gcp/config/vars.py +4 -0
  30. pulumi_gcp/container/_inputs.py +33 -4
  31. pulumi_gcp/container/cluster.py +61 -0
  32. pulumi_gcp/container/get_cluster.py +11 -1
  33. pulumi_gcp/container/outputs.py +48 -4
  34. pulumi_gcp/dataloss/_inputs.py +185 -19
  35. pulumi_gcp/dataloss/outputs.py +206 -17
  36. pulumi_gcp/dataloss/prevention_inspect_template.py +54 -0
  37. pulumi_gcp/gkebackup/_inputs.py +282 -7
  38. pulumi_gcp/gkebackup/backup_plan.py +100 -0
  39. pulumi_gcp/gkebackup/outputs.py +312 -7
  40. pulumi_gcp/gkebackup/restore_plan.py +326 -0
  41. pulumi_gcp/gkebackup/restore_plan_iam_binding.py +326 -0
  42. pulumi_gcp/gkebackup/restore_plan_iam_member.py +326 -0
  43. pulumi_gcp/gkebackup/restore_plan_iam_policy.py +326 -0
  44. pulumi_gcp/healthcare/_inputs.py +17 -1
  45. pulumi_gcp/healthcare/dicom_store.py +2 -0
  46. pulumi_gcp/healthcare/fhir_store.py +44 -60
  47. pulumi_gcp/healthcare/outputs.py +15 -1
  48. pulumi_gcp/integrationconnectors/endpoint_attachment.py +47 -0
  49. pulumi_gcp/kms/crypto_key.py +14 -7
  50. pulumi_gcp/netapp/_inputs.py +58 -0
  51. pulumi_gcp/netapp/outputs.py +67 -0
  52. pulumi_gcp/netapp/volume.py +54 -0
  53. pulumi_gcp/networkservices/__init__.py +1 -0
  54. pulumi_gcp/networkservices/_inputs.py +47 -0
  55. pulumi_gcp/networkservices/outputs.py +56 -0
  56. pulumi_gcp/networkservices/service_lb_policies.py +782 -0
  57. pulumi_gcp/provider.py +20 -0
  58. pulumi_gcp/pulumi-plugin.json +1 -1
  59. pulumi_gcp/redis/_inputs.py +44 -0
  60. pulumi_gcp/redis/cluster.py +128 -3
  61. pulumi_gcp/redis/outputs.py +36 -0
  62. pulumi_gcp/secretmanager/_inputs.py +20 -0
  63. pulumi_gcp/secretmanager/outputs.py +20 -0
  64. pulumi_gcp/secretmanager/secret_iam_binding.py +244 -0
  65. pulumi_gcp/secretmanager/secret_iam_member.py +244 -0
  66. pulumi_gcp/secretmanager/secret_iam_policy.py +224 -0
  67. pulumi_gcp/securitycenter/__init__.py +1 -0
  68. pulumi_gcp/securitycenter/management_organization_event_threat_detection_custom_module.py +568 -0
  69. pulumi_gcp/spanner/__init__.py +1 -0
  70. pulumi_gcp/spanner/_inputs.py +68 -0
  71. pulumi_gcp/spanner/instance_config.py +569 -0
  72. pulumi_gcp/spanner/outputs.py +73 -0
  73. pulumi_gcp/sql/_inputs.py +8 -2
  74. pulumi_gcp/sql/outputs.py +9 -6
  75. pulumi_gcp/workstations/_inputs.py +51 -1
  76. pulumi_gcp/workstations/outputs.py +46 -2
  77. pulumi_gcp/workstations/workstation_config.py +10 -4
  78. {pulumi_gcp-7.27.0a1718103841.dist-info → pulumi_gcp-7.27.0a1718279079.dist-info}/METADATA +1 -1
  79. {pulumi_gcp-7.27.0a1718103841.dist-info → pulumi_gcp-7.27.0a1718279079.dist-info}/RECORD +81 -76
  80. {pulumi_gcp-7.27.0a1718103841.dist-info → pulumi_gcp-7.27.0a1718279079.dist-info}/WHEEL +0 -0
  81. {pulumi_gcp-7.27.0a1718103841.dist-info → pulumi_gcp-7.27.0a1718279079.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,782 @@
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 pulumi
8
+ import pulumi.runtime
9
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
10
+ from .. import _utilities
11
+ from . import outputs
12
+ from ._inputs import *
13
+
14
+ __all__ = ['ServiceLbPoliciesArgs', 'ServiceLbPolicies']
15
+
16
+ @pulumi.input_type
17
+ class ServiceLbPoliciesArgs:
18
+ def __init__(__self__, *,
19
+ location: pulumi.Input[str],
20
+ auto_capacity_drain: Optional[pulumi.Input['ServiceLbPoliciesAutoCapacityDrainArgs']] = None,
21
+ description: Optional[pulumi.Input[str]] = None,
22
+ failover_config: Optional[pulumi.Input['ServiceLbPoliciesFailoverConfigArgs']] = None,
23
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
24
+ load_balancing_algorithm: Optional[pulumi.Input[str]] = None,
25
+ name: Optional[pulumi.Input[str]] = None,
26
+ project: Optional[pulumi.Input[str]] = None):
27
+ """
28
+ The set of arguments for constructing a ServiceLbPolicies resource.
29
+ :param pulumi.Input[str] location: The location of the service lb policy.
30
+
31
+
32
+ - - -
33
+ :param pulumi.Input['ServiceLbPoliciesAutoCapacityDrainArgs'] auto_capacity_drain: Option to specify if an unhealthy MIG/NEG should be considered for global load balancing and traffic routing.
34
+ Structure is documented below.
35
+ :param pulumi.Input[str] description: A free-text description of the resource. Max length 1024 characters.
36
+ :param pulumi.Input['ServiceLbPoliciesFailoverConfigArgs'] failover_config: Option to specify health based failover behavior. This is not related to Network load balancer FailoverPolicy.
37
+ Structure is documented below.
38
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Set of label tags associated with the ServiceLbPolicy resource.
39
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
40
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
41
+ :param pulumi.Input[str] load_balancing_algorithm: The type of load balancing algorithm to be used. The default behavior is WATERFALL_BY_REGION.
42
+ Possible values are: `SPRAY_TO_REGION`, `SPRAY_TO_WORLD`, `WATERFALL_BY_REGION`, `WATERFALL_BY_ZONE`.
43
+ :param pulumi.Input[str] name: Name of the ServiceLbPolicy resource. It matches pattern `projects/{project}/locations/{location}/serviceLbPolicies/{service_lb_policy_name}`.
44
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
45
+ If it is not provided, the provider project is used.
46
+ """
47
+ pulumi.set(__self__, "location", location)
48
+ if auto_capacity_drain is not None:
49
+ pulumi.set(__self__, "auto_capacity_drain", auto_capacity_drain)
50
+ if description is not None:
51
+ pulumi.set(__self__, "description", description)
52
+ if failover_config is not None:
53
+ pulumi.set(__self__, "failover_config", failover_config)
54
+ if labels is not None:
55
+ pulumi.set(__self__, "labels", labels)
56
+ if load_balancing_algorithm is not None:
57
+ pulumi.set(__self__, "load_balancing_algorithm", load_balancing_algorithm)
58
+ if name is not None:
59
+ pulumi.set(__self__, "name", name)
60
+ if project is not None:
61
+ pulumi.set(__self__, "project", project)
62
+
63
+ @property
64
+ @pulumi.getter
65
+ def location(self) -> pulumi.Input[str]:
66
+ """
67
+ The location of the service lb policy.
68
+
69
+
70
+ - - -
71
+ """
72
+ return pulumi.get(self, "location")
73
+
74
+ @location.setter
75
+ def location(self, value: pulumi.Input[str]):
76
+ pulumi.set(self, "location", value)
77
+
78
+ @property
79
+ @pulumi.getter(name="autoCapacityDrain")
80
+ def auto_capacity_drain(self) -> Optional[pulumi.Input['ServiceLbPoliciesAutoCapacityDrainArgs']]:
81
+ """
82
+ Option to specify if an unhealthy MIG/NEG should be considered for global load balancing and traffic routing.
83
+ Structure is documented below.
84
+ """
85
+ return pulumi.get(self, "auto_capacity_drain")
86
+
87
+ @auto_capacity_drain.setter
88
+ def auto_capacity_drain(self, value: Optional[pulumi.Input['ServiceLbPoliciesAutoCapacityDrainArgs']]):
89
+ pulumi.set(self, "auto_capacity_drain", value)
90
+
91
+ @property
92
+ @pulumi.getter
93
+ def description(self) -> Optional[pulumi.Input[str]]:
94
+ """
95
+ A free-text description of the resource. Max length 1024 characters.
96
+ """
97
+ return pulumi.get(self, "description")
98
+
99
+ @description.setter
100
+ def description(self, value: Optional[pulumi.Input[str]]):
101
+ pulumi.set(self, "description", value)
102
+
103
+ @property
104
+ @pulumi.getter(name="failoverConfig")
105
+ def failover_config(self) -> Optional[pulumi.Input['ServiceLbPoliciesFailoverConfigArgs']]:
106
+ """
107
+ Option to specify health based failover behavior. This is not related to Network load balancer FailoverPolicy.
108
+ Structure is documented below.
109
+ """
110
+ return pulumi.get(self, "failover_config")
111
+
112
+ @failover_config.setter
113
+ def failover_config(self, value: Optional[pulumi.Input['ServiceLbPoliciesFailoverConfigArgs']]):
114
+ pulumi.set(self, "failover_config", value)
115
+
116
+ @property
117
+ @pulumi.getter
118
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
119
+ """
120
+ Set of label tags associated with the ServiceLbPolicy resource.
121
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
122
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
123
+ """
124
+ return pulumi.get(self, "labels")
125
+
126
+ @labels.setter
127
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
128
+ pulumi.set(self, "labels", value)
129
+
130
+ @property
131
+ @pulumi.getter(name="loadBalancingAlgorithm")
132
+ def load_balancing_algorithm(self) -> Optional[pulumi.Input[str]]:
133
+ """
134
+ The type of load balancing algorithm to be used. The default behavior is WATERFALL_BY_REGION.
135
+ Possible values are: `SPRAY_TO_REGION`, `SPRAY_TO_WORLD`, `WATERFALL_BY_REGION`, `WATERFALL_BY_ZONE`.
136
+ """
137
+ return pulumi.get(self, "load_balancing_algorithm")
138
+
139
+ @load_balancing_algorithm.setter
140
+ def load_balancing_algorithm(self, value: Optional[pulumi.Input[str]]):
141
+ pulumi.set(self, "load_balancing_algorithm", value)
142
+
143
+ @property
144
+ @pulumi.getter
145
+ def name(self) -> Optional[pulumi.Input[str]]:
146
+ """
147
+ Name of the ServiceLbPolicy resource. It matches pattern `projects/{project}/locations/{location}/serviceLbPolicies/{service_lb_policy_name}`.
148
+ """
149
+ return pulumi.get(self, "name")
150
+
151
+ @name.setter
152
+ def name(self, value: Optional[pulumi.Input[str]]):
153
+ pulumi.set(self, "name", value)
154
+
155
+ @property
156
+ @pulumi.getter
157
+ def project(self) -> Optional[pulumi.Input[str]]:
158
+ """
159
+ The ID of the project in which the resource belongs.
160
+ If it is not provided, the provider project is used.
161
+ """
162
+ return pulumi.get(self, "project")
163
+
164
+ @project.setter
165
+ def project(self, value: Optional[pulumi.Input[str]]):
166
+ pulumi.set(self, "project", value)
167
+
168
+
169
+ @pulumi.input_type
170
+ class _ServiceLbPoliciesState:
171
+ def __init__(__self__, *,
172
+ auto_capacity_drain: Optional[pulumi.Input['ServiceLbPoliciesAutoCapacityDrainArgs']] = None,
173
+ create_time: Optional[pulumi.Input[str]] = None,
174
+ description: Optional[pulumi.Input[str]] = None,
175
+ effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
176
+ failover_config: Optional[pulumi.Input['ServiceLbPoliciesFailoverConfigArgs']] = None,
177
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
178
+ load_balancing_algorithm: Optional[pulumi.Input[str]] = None,
179
+ location: Optional[pulumi.Input[str]] = None,
180
+ name: Optional[pulumi.Input[str]] = None,
181
+ project: Optional[pulumi.Input[str]] = None,
182
+ pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
183
+ update_time: Optional[pulumi.Input[str]] = None):
184
+ """
185
+ Input properties used for looking up and filtering ServiceLbPolicies resources.
186
+ :param pulumi.Input['ServiceLbPoliciesAutoCapacityDrainArgs'] auto_capacity_drain: Option to specify if an unhealthy MIG/NEG should be considered for global load balancing and traffic routing.
187
+ Structure is documented below.
188
+ :param pulumi.Input[str] create_time: Time the ServiceLbPolicy was created in UTC.
189
+ :param pulumi.Input[str] description: A free-text description of the resource. Max length 1024 characters.
190
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
191
+ :param pulumi.Input['ServiceLbPoliciesFailoverConfigArgs'] failover_config: Option to specify health based failover behavior. This is not related to Network load balancer FailoverPolicy.
192
+ Structure is documented below.
193
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Set of label tags associated with the ServiceLbPolicy resource.
194
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
195
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
196
+ :param pulumi.Input[str] load_balancing_algorithm: The type of load balancing algorithm to be used. The default behavior is WATERFALL_BY_REGION.
197
+ Possible values are: `SPRAY_TO_REGION`, `SPRAY_TO_WORLD`, `WATERFALL_BY_REGION`, `WATERFALL_BY_ZONE`.
198
+ :param pulumi.Input[str] location: The location of the service lb policy.
199
+
200
+
201
+ - - -
202
+ :param pulumi.Input[str] name: Name of the ServiceLbPolicy resource. It matches pattern `projects/{project}/locations/{location}/serviceLbPolicies/{service_lb_policy_name}`.
203
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
204
+ If it is not provided, the provider project is used.
205
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
206
+ and default labels configured on the provider.
207
+ :param pulumi.Input[str] update_time: Time the ServiceLbPolicy was updated in UTC.
208
+ """
209
+ if auto_capacity_drain is not None:
210
+ pulumi.set(__self__, "auto_capacity_drain", auto_capacity_drain)
211
+ if create_time is not None:
212
+ pulumi.set(__self__, "create_time", create_time)
213
+ if description is not None:
214
+ pulumi.set(__self__, "description", description)
215
+ if effective_labels is not None:
216
+ pulumi.set(__self__, "effective_labels", effective_labels)
217
+ if failover_config is not None:
218
+ pulumi.set(__self__, "failover_config", failover_config)
219
+ if labels is not None:
220
+ pulumi.set(__self__, "labels", labels)
221
+ if load_balancing_algorithm is not None:
222
+ pulumi.set(__self__, "load_balancing_algorithm", load_balancing_algorithm)
223
+ if location is not None:
224
+ pulumi.set(__self__, "location", location)
225
+ if name is not None:
226
+ pulumi.set(__self__, "name", name)
227
+ if project is not None:
228
+ pulumi.set(__self__, "project", project)
229
+ if pulumi_labels is not None:
230
+ pulumi.set(__self__, "pulumi_labels", pulumi_labels)
231
+ if update_time is not None:
232
+ pulumi.set(__self__, "update_time", update_time)
233
+
234
+ @property
235
+ @pulumi.getter(name="autoCapacityDrain")
236
+ def auto_capacity_drain(self) -> Optional[pulumi.Input['ServiceLbPoliciesAutoCapacityDrainArgs']]:
237
+ """
238
+ Option to specify if an unhealthy MIG/NEG should be considered for global load balancing and traffic routing.
239
+ Structure is documented below.
240
+ """
241
+ return pulumi.get(self, "auto_capacity_drain")
242
+
243
+ @auto_capacity_drain.setter
244
+ def auto_capacity_drain(self, value: Optional[pulumi.Input['ServiceLbPoliciesAutoCapacityDrainArgs']]):
245
+ pulumi.set(self, "auto_capacity_drain", value)
246
+
247
+ @property
248
+ @pulumi.getter(name="createTime")
249
+ def create_time(self) -> Optional[pulumi.Input[str]]:
250
+ """
251
+ Time the ServiceLbPolicy was created in UTC.
252
+ """
253
+ return pulumi.get(self, "create_time")
254
+
255
+ @create_time.setter
256
+ def create_time(self, value: Optional[pulumi.Input[str]]):
257
+ pulumi.set(self, "create_time", value)
258
+
259
+ @property
260
+ @pulumi.getter
261
+ def description(self) -> Optional[pulumi.Input[str]]:
262
+ """
263
+ A free-text description of the resource. Max length 1024 characters.
264
+ """
265
+ return pulumi.get(self, "description")
266
+
267
+ @description.setter
268
+ def description(self, value: Optional[pulumi.Input[str]]):
269
+ pulumi.set(self, "description", value)
270
+
271
+ @property
272
+ @pulumi.getter(name="effectiveLabels")
273
+ def effective_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
274
+ """
275
+ All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
276
+ """
277
+ return pulumi.get(self, "effective_labels")
278
+
279
+ @effective_labels.setter
280
+ def effective_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
281
+ pulumi.set(self, "effective_labels", value)
282
+
283
+ @property
284
+ @pulumi.getter(name="failoverConfig")
285
+ def failover_config(self) -> Optional[pulumi.Input['ServiceLbPoliciesFailoverConfigArgs']]:
286
+ """
287
+ Option to specify health based failover behavior. This is not related to Network load balancer FailoverPolicy.
288
+ Structure is documented below.
289
+ """
290
+ return pulumi.get(self, "failover_config")
291
+
292
+ @failover_config.setter
293
+ def failover_config(self, value: Optional[pulumi.Input['ServiceLbPoliciesFailoverConfigArgs']]):
294
+ pulumi.set(self, "failover_config", value)
295
+
296
+ @property
297
+ @pulumi.getter
298
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
299
+ """
300
+ Set of label tags associated with the ServiceLbPolicy resource.
301
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
302
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
303
+ """
304
+ return pulumi.get(self, "labels")
305
+
306
+ @labels.setter
307
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
308
+ pulumi.set(self, "labels", value)
309
+
310
+ @property
311
+ @pulumi.getter(name="loadBalancingAlgorithm")
312
+ def load_balancing_algorithm(self) -> Optional[pulumi.Input[str]]:
313
+ """
314
+ The type of load balancing algorithm to be used. The default behavior is WATERFALL_BY_REGION.
315
+ Possible values are: `SPRAY_TO_REGION`, `SPRAY_TO_WORLD`, `WATERFALL_BY_REGION`, `WATERFALL_BY_ZONE`.
316
+ """
317
+ return pulumi.get(self, "load_balancing_algorithm")
318
+
319
+ @load_balancing_algorithm.setter
320
+ def load_balancing_algorithm(self, value: Optional[pulumi.Input[str]]):
321
+ pulumi.set(self, "load_balancing_algorithm", value)
322
+
323
+ @property
324
+ @pulumi.getter
325
+ def location(self) -> Optional[pulumi.Input[str]]:
326
+ """
327
+ The location of the service lb policy.
328
+
329
+
330
+ - - -
331
+ """
332
+ return pulumi.get(self, "location")
333
+
334
+ @location.setter
335
+ def location(self, value: Optional[pulumi.Input[str]]):
336
+ pulumi.set(self, "location", value)
337
+
338
+ @property
339
+ @pulumi.getter
340
+ def name(self) -> Optional[pulumi.Input[str]]:
341
+ """
342
+ Name of the ServiceLbPolicy resource. It matches pattern `projects/{project}/locations/{location}/serviceLbPolicies/{service_lb_policy_name}`.
343
+ """
344
+ return pulumi.get(self, "name")
345
+
346
+ @name.setter
347
+ def name(self, value: Optional[pulumi.Input[str]]):
348
+ pulumi.set(self, "name", value)
349
+
350
+ @property
351
+ @pulumi.getter
352
+ def project(self) -> Optional[pulumi.Input[str]]:
353
+ """
354
+ The ID of the project in which the resource belongs.
355
+ If it is not provided, the provider project is used.
356
+ """
357
+ return pulumi.get(self, "project")
358
+
359
+ @project.setter
360
+ def project(self, value: Optional[pulumi.Input[str]]):
361
+ pulumi.set(self, "project", value)
362
+
363
+ @property
364
+ @pulumi.getter(name="pulumiLabels")
365
+ def pulumi_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
366
+ """
367
+ The combination of labels configured directly on the resource
368
+ and default labels configured on the provider.
369
+ """
370
+ return pulumi.get(self, "pulumi_labels")
371
+
372
+ @pulumi_labels.setter
373
+ def pulumi_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
374
+ pulumi.set(self, "pulumi_labels", value)
375
+
376
+ @property
377
+ @pulumi.getter(name="updateTime")
378
+ def update_time(self) -> Optional[pulumi.Input[str]]:
379
+ """
380
+ Time the ServiceLbPolicy was updated in UTC.
381
+ """
382
+ return pulumi.get(self, "update_time")
383
+
384
+ @update_time.setter
385
+ def update_time(self, value: Optional[pulumi.Input[str]]):
386
+ pulumi.set(self, "update_time", value)
387
+
388
+
389
+ class ServiceLbPolicies(pulumi.CustomResource):
390
+ @overload
391
+ def __init__(__self__,
392
+ resource_name: str,
393
+ opts: Optional[pulumi.ResourceOptions] = None,
394
+ auto_capacity_drain: Optional[pulumi.Input[pulumi.InputType['ServiceLbPoliciesAutoCapacityDrainArgs']]] = None,
395
+ description: Optional[pulumi.Input[str]] = None,
396
+ failover_config: Optional[pulumi.Input[pulumi.InputType['ServiceLbPoliciesFailoverConfigArgs']]] = None,
397
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
398
+ load_balancing_algorithm: Optional[pulumi.Input[str]] = None,
399
+ location: Optional[pulumi.Input[str]] = None,
400
+ name: Optional[pulumi.Input[str]] = None,
401
+ project: Optional[pulumi.Input[str]] = None,
402
+ __props__=None):
403
+ """
404
+ ## Example Usage
405
+
406
+ ### Network Services Service Lb Policies Basic
407
+
408
+ ```python
409
+ import pulumi
410
+ import pulumi_gcp as gcp
411
+
412
+ default = gcp.networkservices.ServiceLbPolicies("default",
413
+ name="my-lb-policy",
414
+ location="global")
415
+ ```
416
+ ### Network Services Service Lb Policies Advanced
417
+
418
+ ```python
419
+ import pulumi
420
+ import pulumi_gcp as gcp
421
+
422
+ default = gcp.networkservices.ServiceLbPolicies("default",
423
+ name="my-lb-policy",
424
+ location="global",
425
+ description="my description",
426
+ load_balancing_algorithm="SPRAY_TO_REGION",
427
+ auto_capacity_drain=gcp.networkservices.ServiceLbPoliciesAutoCapacityDrainArgs(
428
+ enable=True,
429
+ ),
430
+ failover_config=gcp.networkservices.ServiceLbPoliciesFailoverConfigArgs(
431
+ failover_health_threshold=70,
432
+ ),
433
+ labels={
434
+ "foo": "bar",
435
+ })
436
+ default_backend_service = gcp.compute.BackendService("default",
437
+ name="my-lb-backend",
438
+ description="my description",
439
+ load_balancing_scheme="INTERNAL_SELF_MANAGED",
440
+ protocol="HTTP",
441
+ service_lb_policy=default.id.apply(lambda id: f"//networkservices.googleapis.com/{id}"))
442
+ ```
443
+
444
+ ## Import
445
+
446
+ ServiceLbPolicies can be imported using any of these accepted formats:
447
+
448
+ * `projects/{{project}}/locations/{{location}}/serviceLbPolicies/{{name}}`
449
+
450
+ * `{{project}}/{{location}}/{{name}}`
451
+
452
+ * `{{location}}/{{name}}`
453
+
454
+ When using the `pulumi import` command, ServiceLbPolicies can be imported using one of the formats above. For example:
455
+
456
+ ```sh
457
+ $ pulumi import gcp:networkservices/serviceLbPolicies:ServiceLbPolicies default projects/{{project}}/locations/{{location}}/serviceLbPolicies/{{name}}
458
+ ```
459
+
460
+ ```sh
461
+ $ pulumi import gcp:networkservices/serviceLbPolicies:ServiceLbPolicies default {{project}}/{{location}}/{{name}}
462
+ ```
463
+
464
+ ```sh
465
+ $ pulumi import gcp:networkservices/serviceLbPolicies:ServiceLbPolicies default {{location}}/{{name}}
466
+ ```
467
+
468
+ :param str resource_name: The name of the resource.
469
+ :param pulumi.ResourceOptions opts: Options for the resource.
470
+ :param pulumi.Input[pulumi.InputType['ServiceLbPoliciesAutoCapacityDrainArgs']] auto_capacity_drain: Option to specify if an unhealthy MIG/NEG should be considered for global load balancing and traffic routing.
471
+ Structure is documented below.
472
+ :param pulumi.Input[str] description: A free-text description of the resource. Max length 1024 characters.
473
+ :param pulumi.Input[pulumi.InputType['ServiceLbPoliciesFailoverConfigArgs']] failover_config: Option to specify health based failover behavior. This is not related to Network load balancer FailoverPolicy.
474
+ Structure is documented below.
475
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Set of label tags associated with the ServiceLbPolicy resource.
476
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
477
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
478
+ :param pulumi.Input[str] load_balancing_algorithm: The type of load balancing algorithm to be used. The default behavior is WATERFALL_BY_REGION.
479
+ Possible values are: `SPRAY_TO_REGION`, `SPRAY_TO_WORLD`, `WATERFALL_BY_REGION`, `WATERFALL_BY_ZONE`.
480
+ :param pulumi.Input[str] location: The location of the service lb policy.
481
+
482
+
483
+ - - -
484
+ :param pulumi.Input[str] name: Name of the ServiceLbPolicy resource. It matches pattern `projects/{project}/locations/{location}/serviceLbPolicies/{service_lb_policy_name}`.
485
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
486
+ If it is not provided, the provider project is used.
487
+ """
488
+ ...
489
+ @overload
490
+ def __init__(__self__,
491
+ resource_name: str,
492
+ args: ServiceLbPoliciesArgs,
493
+ opts: Optional[pulumi.ResourceOptions] = None):
494
+ """
495
+ ## Example Usage
496
+
497
+ ### Network Services Service Lb Policies Basic
498
+
499
+ ```python
500
+ import pulumi
501
+ import pulumi_gcp as gcp
502
+
503
+ default = gcp.networkservices.ServiceLbPolicies("default",
504
+ name="my-lb-policy",
505
+ location="global")
506
+ ```
507
+ ### Network Services Service Lb Policies Advanced
508
+
509
+ ```python
510
+ import pulumi
511
+ import pulumi_gcp as gcp
512
+
513
+ default = gcp.networkservices.ServiceLbPolicies("default",
514
+ name="my-lb-policy",
515
+ location="global",
516
+ description="my description",
517
+ load_balancing_algorithm="SPRAY_TO_REGION",
518
+ auto_capacity_drain=gcp.networkservices.ServiceLbPoliciesAutoCapacityDrainArgs(
519
+ enable=True,
520
+ ),
521
+ failover_config=gcp.networkservices.ServiceLbPoliciesFailoverConfigArgs(
522
+ failover_health_threshold=70,
523
+ ),
524
+ labels={
525
+ "foo": "bar",
526
+ })
527
+ default_backend_service = gcp.compute.BackendService("default",
528
+ name="my-lb-backend",
529
+ description="my description",
530
+ load_balancing_scheme="INTERNAL_SELF_MANAGED",
531
+ protocol="HTTP",
532
+ service_lb_policy=default.id.apply(lambda id: f"//networkservices.googleapis.com/{id}"))
533
+ ```
534
+
535
+ ## Import
536
+
537
+ ServiceLbPolicies can be imported using any of these accepted formats:
538
+
539
+ * `projects/{{project}}/locations/{{location}}/serviceLbPolicies/{{name}}`
540
+
541
+ * `{{project}}/{{location}}/{{name}}`
542
+
543
+ * `{{location}}/{{name}}`
544
+
545
+ When using the `pulumi import` command, ServiceLbPolicies can be imported using one of the formats above. For example:
546
+
547
+ ```sh
548
+ $ pulumi import gcp:networkservices/serviceLbPolicies:ServiceLbPolicies default projects/{{project}}/locations/{{location}}/serviceLbPolicies/{{name}}
549
+ ```
550
+
551
+ ```sh
552
+ $ pulumi import gcp:networkservices/serviceLbPolicies:ServiceLbPolicies default {{project}}/{{location}}/{{name}}
553
+ ```
554
+
555
+ ```sh
556
+ $ pulumi import gcp:networkservices/serviceLbPolicies:ServiceLbPolicies default {{location}}/{{name}}
557
+ ```
558
+
559
+ :param str resource_name: The name of the resource.
560
+ :param ServiceLbPoliciesArgs args: The arguments to use to populate this resource's properties.
561
+ :param pulumi.ResourceOptions opts: Options for the resource.
562
+ """
563
+ ...
564
+ def __init__(__self__, resource_name: str, *args, **kwargs):
565
+ resource_args, opts = _utilities.get_resource_args_opts(ServiceLbPoliciesArgs, pulumi.ResourceOptions, *args, **kwargs)
566
+ if resource_args is not None:
567
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
568
+ else:
569
+ __self__._internal_init(resource_name, *args, **kwargs)
570
+
571
+ def _internal_init(__self__,
572
+ resource_name: str,
573
+ opts: Optional[pulumi.ResourceOptions] = None,
574
+ auto_capacity_drain: Optional[pulumi.Input[pulumi.InputType['ServiceLbPoliciesAutoCapacityDrainArgs']]] = None,
575
+ description: Optional[pulumi.Input[str]] = None,
576
+ failover_config: Optional[pulumi.Input[pulumi.InputType['ServiceLbPoliciesFailoverConfigArgs']]] = None,
577
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
578
+ load_balancing_algorithm: Optional[pulumi.Input[str]] = None,
579
+ location: Optional[pulumi.Input[str]] = None,
580
+ name: Optional[pulumi.Input[str]] = None,
581
+ project: Optional[pulumi.Input[str]] = None,
582
+ __props__=None):
583
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
584
+ if not isinstance(opts, pulumi.ResourceOptions):
585
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
586
+ if opts.id is None:
587
+ if __props__ is not None:
588
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
589
+ __props__ = ServiceLbPoliciesArgs.__new__(ServiceLbPoliciesArgs)
590
+
591
+ __props__.__dict__["auto_capacity_drain"] = auto_capacity_drain
592
+ __props__.__dict__["description"] = description
593
+ __props__.__dict__["failover_config"] = failover_config
594
+ __props__.__dict__["labels"] = labels
595
+ __props__.__dict__["load_balancing_algorithm"] = load_balancing_algorithm
596
+ if location is None and not opts.urn:
597
+ raise TypeError("Missing required property 'location'")
598
+ __props__.__dict__["location"] = location
599
+ __props__.__dict__["name"] = name
600
+ __props__.__dict__["project"] = project
601
+ __props__.__dict__["create_time"] = None
602
+ __props__.__dict__["effective_labels"] = None
603
+ __props__.__dict__["pulumi_labels"] = None
604
+ __props__.__dict__["update_time"] = None
605
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["effectiveLabels", "pulumiLabels"])
606
+ opts = pulumi.ResourceOptions.merge(opts, secret_opts)
607
+ super(ServiceLbPolicies, __self__).__init__(
608
+ 'gcp:networkservices/serviceLbPolicies:ServiceLbPolicies',
609
+ resource_name,
610
+ __props__,
611
+ opts)
612
+
613
+ @staticmethod
614
+ def get(resource_name: str,
615
+ id: pulumi.Input[str],
616
+ opts: Optional[pulumi.ResourceOptions] = None,
617
+ auto_capacity_drain: Optional[pulumi.Input[pulumi.InputType['ServiceLbPoliciesAutoCapacityDrainArgs']]] = None,
618
+ create_time: Optional[pulumi.Input[str]] = None,
619
+ description: Optional[pulumi.Input[str]] = None,
620
+ effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
621
+ failover_config: Optional[pulumi.Input[pulumi.InputType['ServiceLbPoliciesFailoverConfigArgs']]] = None,
622
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
623
+ load_balancing_algorithm: Optional[pulumi.Input[str]] = None,
624
+ location: Optional[pulumi.Input[str]] = None,
625
+ name: Optional[pulumi.Input[str]] = None,
626
+ project: Optional[pulumi.Input[str]] = None,
627
+ pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
628
+ update_time: Optional[pulumi.Input[str]] = None) -> 'ServiceLbPolicies':
629
+ """
630
+ Get an existing ServiceLbPolicies resource's state with the given name, id, and optional extra
631
+ properties used to qualify the lookup.
632
+
633
+ :param str resource_name: The unique name of the resulting resource.
634
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
635
+ :param pulumi.ResourceOptions opts: Options for the resource.
636
+ :param pulumi.Input[pulumi.InputType['ServiceLbPoliciesAutoCapacityDrainArgs']] auto_capacity_drain: Option to specify if an unhealthy MIG/NEG should be considered for global load balancing and traffic routing.
637
+ Structure is documented below.
638
+ :param pulumi.Input[str] create_time: Time the ServiceLbPolicy was created in UTC.
639
+ :param pulumi.Input[str] description: A free-text description of the resource. Max length 1024 characters.
640
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
641
+ :param pulumi.Input[pulumi.InputType['ServiceLbPoliciesFailoverConfigArgs']] failover_config: Option to specify health based failover behavior. This is not related to Network load balancer FailoverPolicy.
642
+ Structure is documented below.
643
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Set of label tags associated with the ServiceLbPolicy resource.
644
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
645
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
646
+ :param pulumi.Input[str] load_balancing_algorithm: The type of load balancing algorithm to be used. The default behavior is WATERFALL_BY_REGION.
647
+ Possible values are: `SPRAY_TO_REGION`, `SPRAY_TO_WORLD`, `WATERFALL_BY_REGION`, `WATERFALL_BY_ZONE`.
648
+ :param pulumi.Input[str] location: The location of the service lb policy.
649
+
650
+
651
+ - - -
652
+ :param pulumi.Input[str] name: Name of the ServiceLbPolicy resource. It matches pattern `projects/{project}/locations/{location}/serviceLbPolicies/{service_lb_policy_name}`.
653
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
654
+ If it is not provided, the provider project is used.
655
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
656
+ and default labels configured on the provider.
657
+ :param pulumi.Input[str] update_time: Time the ServiceLbPolicy was updated in UTC.
658
+ """
659
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
660
+
661
+ __props__ = _ServiceLbPoliciesState.__new__(_ServiceLbPoliciesState)
662
+
663
+ __props__.__dict__["auto_capacity_drain"] = auto_capacity_drain
664
+ __props__.__dict__["create_time"] = create_time
665
+ __props__.__dict__["description"] = description
666
+ __props__.__dict__["effective_labels"] = effective_labels
667
+ __props__.__dict__["failover_config"] = failover_config
668
+ __props__.__dict__["labels"] = labels
669
+ __props__.__dict__["load_balancing_algorithm"] = load_balancing_algorithm
670
+ __props__.__dict__["location"] = location
671
+ __props__.__dict__["name"] = name
672
+ __props__.__dict__["project"] = project
673
+ __props__.__dict__["pulumi_labels"] = pulumi_labels
674
+ __props__.__dict__["update_time"] = update_time
675
+ return ServiceLbPolicies(resource_name, opts=opts, __props__=__props__)
676
+
677
+ @property
678
+ @pulumi.getter(name="autoCapacityDrain")
679
+ def auto_capacity_drain(self) -> pulumi.Output[Optional['outputs.ServiceLbPoliciesAutoCapacityDrain']]:
680
+ """
681
+ Option to specify if an unhealthy MIG/NEG should be considered for global load balancing and traffic routing.
682
+ Structure is documented below.
683
+ """
684
+ return pulumi.get(self, "auto_capacity_drain")
685
+
686
+ @property
687
+ @pulumi.getter(name="createTime")
688
+ def create_time(self) -> pulumi.Output[str]:
689
+ """
690
+ Time the ServiceLbPolicy was created in UTC.
691
+ """
692
+ return pulumi.get(self, "create_time")
693
+
694
+ @property
695
+ @pulumi.getter
696
+ def description(self) -> pulumi.Output[Optional[str]]:
697
+ """
698
+ A free-text description of the resource. Max length 1024 characters.
699
+ """
700
+ return pulumi.get(self, "description")
701
+
702
+ @property
703
+ @pulumi.getter(name="effectiveLabels")
704
+ def effective_labels(self) -> pulumi.Output[Mapping[str, str]]:
705
+ """
706
+ All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
707
+ """
708
+ return pulumi.get(self, "effective_labels")
709
+
710
+ @property
711
+ @pulumi.getter(name="failoverConfig")
712
+ def failover_config(self) -> pulumi.Output[Optional['outputs.ServiceLbPoliciesFailoverConfig']]:
713
+ """
714
+ Option to specify health based failover behavior. This is not related to Network load balancer FailoverPolicy.
715
+ Structure is documented below.
716
+ """
717
+ return pulumi.get(self, "failover_config")
718
+
719
+ @property
720
+ @pulumi.getter
721
+ def labels(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
722
+ """
723
+ Set of label tags associated with the ServiceLbPolicy resource.
724
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
725
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
726
+ """
727
+ return pulumi.get(self, "labels")
728
+
729
+ @property
730
+ @pulumi.getter(name="loadBalancingAlgorithm")
731
+ def load_balancing_algorithm(self) -> pulumi.Output[Optional[str]]:
732
+ """
733
+ The type of load balancing algorithm to be used. The default behavior is WATERFALL_BY_REGION.
734
+ Possible values are: `SPRAY_TO_REGION`, `SPRAY_TO_WORLD`, `WATERFALL_BY_REGION`, `WATERFALL_BY_ZONE`.
735
+ """
736
+ return pulumi.get(self, "load_balancing_algorithm")
737
+
738
+ @property
739
+ @pulumi.getter
740
+ def location(self) -> pulumi.Output[str]:
741
+ """
742
+ The location of the service lb policy.
743
+
744
+
745
+ - - -
746
+ """
747
+ return pulumi.get(self, "location")
748
+
749
+ @property
750
+ @pulumi.getter
751
+ def name(self) -> pulumi.Output[str]:
752
+ """
753
+ Name of the ServiceLbPolicy resource. It matches pattern `projects/{project}/locations/{location}/serviceLbPolicies/{service_lb_policy_name}`.
754
+ """
755
+ return pulumi.get(self, "name")
756
+
757
+ @property
758
+ @pulumi.getter
759
+ def project(self) -> pulumi.Output[str]:
760
+ """
761
+ The ID of the project in which the resource belongs.
762
+ If it is not provided, the provider project is used.
763
+ """
764
+ return pulumi.get(self, "project")
765
+
766
+ @property
767
+ @pulumi.getter(name="pulumiLabels")
768
+ def pulumi_labels(self) -> pulumi.Output[Mapping[str, str]]:
769
+ """
770
+ The combination of labels configured directly on the resource
771
+ and default labels configured on the provider.
772
+ """
773
+ return pulumi.get(self, "pulumi_labels")
774
+
775
+ @property
776
+ @pulumi.getter(name="updateTime")
777
+ def update_time(self) -> pulumi.Output[str]:
778
+ """
779
+ Time the ServiceLbPolicy was updated in UTC.
780
+ """
781
+ return pulumi.get(self, "update_time")
782
+