pulumi-gcp 8.28.0a1745598508__py3-none-any.whl → 8.29.0a1746076904__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 (78) hide show
  1. pulumi_gcp/__init__.py +88 -0
  2. pulumi_gcp/accesscontextmanager/_inputs.py +399 -0
  3. pulumi_gcp/accesscontextmanager/gcp_user_access_binding.py +54 -0
  4. pulumi_gcp/accesscontextmanager/outputs.py +369 -0
  5. pulumi_gcp/alloydb/_inputs.py +47 -1
  6. pulumi_gcp/alloydb/outputs.py +61 -3
  7. pulumi_gcp/apigee/keystores_aliases_self_signed_cert.py +8 -2
  8. pulumi_gcp/applicationintegration/client.py +34 -12
  9. pulumi_gcp/artifactregistry/outputs.py +2 -2
  10. pulumi_gcp/certificateauthority/_inputs.py +32 -0
  11. pulumi_gcp/certificateauthority/ca_pool.py +2 -0
  12. pulumi_gcp/certificateauthority/outputs.py +22 -0
  13. pulumi_gcp/clouddeploy/_inputs.py +0 -6
  14. pulumi_gcp/clouddeploy/delivery_pipeline.py +84 -77
  15. pulumi_gcp/clouddeploy/outputs.py +0 -4
  16. pulumi_gcp/cloudrunv2/_inputs.py +3 -3
  17. pulumi_gcp/cloudrunv2/outputs.py +4 -4
  18. pulumi_gcp/colab/runtime_template.py +3 -3
  19. pulumi_gcp/compute/__init__.py +7 -0
  20. pulumi_gcp/compute/_inputs.py +809 -1
  21. pulumi_gcp/compute/backend_service.py +89 -0
  22. pulumi_gcp/compute/firewall_policy_with_rules.py +2 -2
  23. pulumi_gcp/compute/get_backend_service.py +12 -1
  24. pulumi_gcp/compute/get_storage_pool_iam_policy.py +183 -0
  25. pulumi_gcp/compute/get_storage_pool_types.py +268 -0
  26. pulumi_gcp/compute/outputs.py +743 -3
  27. pulumi_gcp/compute/resource_policy_attachment.py +476 -0
  28. pulumi_gcp/compute/storage_pool.py +1045 -0
  29. pulumi_gcp/compute/storage_pool_iam_binding.py +1088 -0
  30. pulumi_gcp/compute/storage_pool_iam_member.py +1088 -0
  31. pulumi_gcp/compute/storage_pool_iam_policy.py +907 -0
  32. pulumi_gcp/config/__init__.pyi +2 -0
  33. pulumi_gcp/config/vars.py +4 -0
  34. pulumi_gcp/container/_inputs.py +63 -3
  35. pulumi_gcp/container/outputs.py +70 -6
  36. pulumi_gcp/dataproc/get_metastore_service.py +12 -1
  37. pulumi_gcp/dataproc/metastore_service.py +61 -0
  38. pulumi_gcp/datastream/connection_profile.py +40 -0
  39. pulumi_gcp/discoveryengine/_inputs.py +38 -0
  40. pulumi_gcp/discoveryengine/chat_engine.py +6 -4
  41. pulumi_gcp/discoveryengine/outputs.py +26 -0
  42. pulumi_gcp/firebaserules/_inputs.py +6 -6
  43. pulumi_gcp/firebaserules/outputs.py +4 -4
  44. pulumi_gcp/gkebackup/__init__.py +2 -0
  45. pulumi_gcp/gkebackup/backup_channel.py +737 -0
  46. pulumi_gcp/gkebackup/restore_channel.py +737 -0
  47. pulumi_gcp/gkehub/_inputs.py +208 -0
  48. pulumi_gcp/gkehub/outputs.py +171 -1
  49. pulumi_gcp/healthcare/pipeline_job.py +2 -2
  50. pulumi_gcp/iap/__init__.py +4 -0
  51. pulumi_gcp/iap/_inputs.py +130 -0
  52. pulumi_gcp/iap/get_web_cloud_run_service_iam_policy.py +183 -0
  53. pulumi_gcp/iap/outputs.py +76 -0
  54. pulumi_gcp/iap/web_cloud_run_service_iam_binding.py +1089 -0
  55. pulumi_gcp/iap/web_cloud_run_service_iam_member.py +1089 -0
  56. pulumi_gcp/iap/web_cloud_run_service_iam_policy.py +908 -0
  57. pulumi_gcp/kms/key_ring_import_job.py +7 -7
  58. pulumi_gcp/managedkafka/connect_cluster.py +8 -4
  59. pulumi_gcp/managedkafka/connector.py +8 -4
  60. pulumi_gcp/monitoring/uptime_check_config.py +49 -0
  61. pulumi_gcp/networkconnectivity/internal_range.py +82 -0
  62. pulumi_gcp/projects/_inputs.py +0 -6
  63. pulumi_gcp/projects/api_key.py +28 -0
  64. pulumi_gcp/projects/outputs.py +0 -4
  65. pulumi_gcp/provider.py +20 -0
  66. pulumi_gcp/pulumi-plugin.json +1 -1
  67. pulumi_gcp/redis/get_instance.py +12 -1
  68. pulumi_gcp/redis/instance.py +61 -0
  69. pulumi_gcp/sql/_inputs.py +86 -6
  70. pulumi_gcp/sql/outputs.py +156 -12
  71. pulumi_gcp/storage/__init__.py +1 -0
  72. pulumi_gcp/storage/_inputs.py +457 -0
  73. pulumi_gcp/storage/batch_operations_job.py +776 -0
  74. pulumi_gcp/storage/outputs.py +403 -0
  75. {pulumi_gcp-8.28.0a1745598508.dist-info → pulumi_gcp-8.29.0a1746076904.dist-info}/METADATA +1 -1
  76. {pulumi_gcp-8.28.0a1745598508.dist-info → pulumi_gcp-8.29.0a1746076904.dist-info}/RECORD +78 -64
  77. {pulumi_gcp-8.28.0a1745598508.dist-info → pulumi_gcp-8.29.0a1746076904.dist-info}/WHEEL +1 -1
  78. {pulumi_gcp-8.28.0a1745598508.dist-info → pulumi_gcp-8.29.0a1746076904.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,737 @@
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 builtins
6
+ import copy
7
+ import warnings
8
+ import sys
9
+ import pulumi
10
+ import pulumi.runtime
11
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
12
+ if sys.version_info >= (3, 11):
13
+ from typing import NotRequired, TypedDict, TypeAlias
14
+ else:
15
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
16
+ from .. import _utilities
17
+
18
+ __all__ = ['RestoreChannelArgs', 'RestoreChannel']
19
+
20
+ @pulumi.input_type
21
+ class RestoreChannelArgs:
22
+ def __init__(__self__, *,
23
+ destination_project: pulumi.Input[builtins.str],
24
+ location: pulumi.Input[builtins.str],
25
+ description: Optional[pulumi.Input[builtins.str]] = None,
26
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
27
+ name: Optional[pulumi.Input[builtins.str]] = None,
28
+ project: Optional[pulumi.Input[builtins.str]] = None):
29
+ """
30
+ The set of arguments for constructing a RestoreChannel resource.
31
+ :param pulumi.Input[builtins.str] destination_project: The project where Backups will be restored.
32
+ The format is `projects/{project}`.
33
+ {project} can only be a project number.
34
+ :param pulumi.Input[builtins.str] location: The region of the Restore Channel.
35
+
36
+
37
+ - - -
38
+ :param pulumi.Input[builtins.str] description: User specified descriptive string for this RestoreChannel.
39
+ :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] labels: Description: A set of custom labels supplied by the user.
40
+ A list of key->value pairs.
41
+ Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
42
+
43
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
44
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
45
+ :param pulumi.Input[builtins.str] name: The full name of the RestoreChannel Resource.
46
+ :param pulumi.Input[builtins.str] project: The ID of the project in which the resource belongs.
47
+ If it is not provided, the provider project is used.
48
+ """
49
+ pulumi.set(__self__, "destination_project", destination_project)
50
+ pulumi.set(__self__, "location", location)
51
+ if description is not None:
52
+ pulumi.set(__self__, "description", description)
53
+ if labels is not None:
54
+ pulumi.set(__self__, "labels", labels)
55
+ if name is not None:
56
+ pulumi.set(__self__, "name", name)
57
+ if project is not None:
58
+ pulumi.set(__self__, "project", project)
59
+
60
+ @property
61
+ @pulumi.getter(name="destinationProject")
62
+ def destination_project(self) -> pulumi.Input[builtins.str]:
63
+ """
64
+ The project where Backups will be restored.
65
+ The format is `projects/{project}`.
66
+ {project} can only be a project number.
67
+ """
68
+ return pulumi.get(self, "destination_project")
69
+
70
+ @destination_project.setter
71
+ def destination_project(self, value: pulumi.Input[builtins.str]):
72
+ pulumi.set(self, "destination_project", value)
73
+
74
+ @property
75
+ @pulumi.getter
76
+ def location(self) -> pulumi.Input[builtins.str]:
77
+ """
78
+ The region of the Restore Channel.
79
+
80
+
81
+ - - -
82
+ """
83
+ return pulumi.get(self, "location")
84
+
85
+ @location.setter
86
+ def location(self, value: pulumi.Input[builtins.str]):
87
+ pulumi.set(self, "location", value)
88
+
89
+ @property
90
+ @pulumi.getter
91
+ def description(self) -> Optional[pulumi.Input[builtins.str]]:
92
+ """
93
+ User specified descriptive string for this RestoreChannel.
94
+ """
95
+ return pulumi.get(self, "description")
96
+
97
+ @description.setter
98
+ def description(self, value: Optional[pulumi.Input[builtins.str]]):
99
+ pulumi.set(self, "description", value)
100
+
101
+ @property
102
+ @pulumi.getter
103
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]:
104
+ """
105
+ Description: A set of custom labels supplied by the user.
106
+ A list of key->value pairs.
107
+ Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
108
+
109
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
110
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
111
+ """
112
+ return pulumi.get(self, "labels")
113
+
114
+ @labels.setter
115
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]):
116
+ pulumi.set(self, "labels", value)
117
+
118
+ @property
119
+ @pulumi.getter
120
+ def name(self) -> Optional[pulumi.Input[builtins.str]]:
121
+ """
122
+ The full name of the RestoreChannel Resource.
123
+ """
124
+ return pulumi.get(self, "name")
125
+
126
+ @name.setter
127
+ def name(self, value: Optional[pulumi.Input[builtins.str]]):
128
+ pulumi.set(self, "name", value)
129
+
130
+ @property
131
+ @pulumi.getter
132
+ def project(self) -> Optional[pulumi.Input[builtins.str]]:
133
+ """
134
+ The ID of the project in which the resource belongs.
135
+ If it is not provided, the provider project is used.
136
+ """
137
+ return pulumi.get(self, "project")
138
+
139
+ @project.setter
140
+ def project(self, value: Optional[pulumi.Input[builtins.str]]):
141
+ pulumi.set(self, "project", value)
142
+
143
+
144
+ @pulumi.input_type
145
+ class _RestoreChannelState:
146
+ def __init__(__self__, *,
147
+ description: Optional[pulumi.Input[builtins.str]] = None,
148
+ destination_project: Optional[pulumi.Input[builtins.str]] = None,
149
+ destination_project_id: Optional[pulumi.Input[builtins.str]] = None,
150
+ effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
151
+ etag: Optional[pulumi.Input[builtins.str]] = None,
152
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
153
+ location: Optional[pulumi.Input[builtins.str]] = None,
154
+ name: Optional[pulumi.Input[builtins.str]] = None,
155
+ project: Optional[pulumi.Input[builtins.str]] = None,
156
+ pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
157
+ uid: Optional[pulumi.Input[builtins.str]] = None):
158
+ """
159
+ Input properties used for looking up and filtering RestoreChannel resources.
160
+ :param pulumi.Input[builtins.str] description: User specified descriptive string for this RestoreChannel.
161
+ :param pulumi.Input[builtins.str] destination_project: The project where Backups will be restored.
162
+ The format is `projects/{project}`.
163
+ {project} can only be a project number.
164
+ :param pulumi.Input[builtins.str] destination_project_id: The project_id where Backups will be restored.
165
+ Example Project ID: "my-project-id".
166
+ :param pulumi.Input[Mapping[str, pulumi.Input[builtins.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.
167
+ :param pulumi.Input[builtins.str] etag: etag is used for optimistic concurrency control as a way to help prevent simultaneous
168
+ updates of a restore channel from overwriting each other. It is strongly suggested that
169
+ systems make use of the 'etag' in the read-modify-write cycle to perform RestoreChannel updates
170
+ in order to avoid race conditions: An etag is returned in the response to restoreChannels.get,
171
+ and systems are expected to put that etag in the request to restoreChannels.patch or
172
+ restoreChannels.delete to ensure that their change will be applied to the same version of the resource.
173
+ :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] labels: Description: A set of custom labels supplied by the user.
174
+ A list of key->value pairs.
175
+ Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
176
+
177
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
178
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
179
+ :param pulumi.Input[builtins.str] location: The region of the Restore Channel.
180
+
181
+
182
+ - - -
183
+ :param pulumi.Input[builtins.str] name: The full name of the RestoreChannel Resource.
184
+ :param pulumi.Input[builtins.str] project: The ID of the project in which the resource belongs.
185
+ If it is not provided, the provider project is used.
186
+ :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] pulumi_labels: The combination of labels configured directly on the resource
187
+ and default labels configured on the provider.
188
+ :param pulumi.Input[builtins.str] uid: Server generated, unique identifier of UUID format.
189
+ """
190
+ if description is not None:
191
+ pulumi.set(__self__, "description", description)
192
+ if destination_project is not None:
193
+ pulumi.set(__self__, "destination_project", destination_project)
194
+ if destination_project_id is not None:
195
+ pulumi.set(__self__, "destination_project_id", destination_project_id)
196
+ if effective_labels is not None:
197
+ pulumi.set(__self__, "effective_labels", effective_labels)
198
+ if etag is not None:
199
+ pulumi.set(__self__, "etag", etag)
200
+ if labels is not None:
201
+ pulumi.set(__self__, "labels", labels)
202
+ if location is not None:
203
+ pulumi.set(__self__, "location", location)
204
+ if name is not None:
205
+ pulumi.set(__self__, "name", name)
206
+ if project is not None:
207
+ pulumi.set(__self__, "project", project)
208
+ if pulumi_labels is not None:
209
+ pulumi.set(__self__, "pulumi_labels", pulumi_labels)
210
+ if uid is not None:
211
+ pulumi.set(__self__, "uid", uid)
212
+
213
+ @property
214
+ @pulumi.getter
215
+ def description(self) -> Optional[pulumi.Input[builtins.str]]:
216
+ """
217
+ User specified descriptive string for this RestoreChannel.
218
+ """
219
+ return pulumi.get(self, "description")
220
+
221
+ @description.setter
222
+ def description(self, value: Optional[pulumi.Input[builtins.str]]):
223
+ pulumi.set(self, "description", value)
224
+
225
+ @property
226
+ @pulumi.getter(name="destinationProject")
227
+ def destination_project(self) -> Optional[pulumi.Input[builtins.str]]:
228
+ """
229
+ The project where Backups will be restored.
230
+ The format is `projects/{project}`.
231
+ {project} can only be a project number.
232
+ """
233
+ return pulumi.get(self, "destination_project")
234
+
235
+ @destination_project.setter
236
+ def destination_project(self, value: Optional[pulumi.Input[builtins.str]]):
237
+ pulumi.set(self, "destination_project", value)
238
+
239
+ @property
240
+ @pulumi.getter(name="destinationProjectId")
241
+ def destination_project_id(self) -> Optional[pulumi.Input[builtins.str]]:
242
+ """
243
+ The project_id where Backups will be restored.
244
+ Example Project ID: "my-project-id".
245
+ """
246
+ return pulumi.get(self, "destination_project_id")
247
+
248
+ @destination_project_id.setter
249
+ def destination_project_id(self, value: Optional[pulumi.Input[builtins.str]]):
250
+ pulumi.set(self, "destination_project_id", value)
251
+
252
+ @property
253
+ @pulumi.getter(name="effectiveLabels")
254
+ def effective_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]:
255
+ """
256
+ All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
257
+ """
258
+ return pulumi.get(self, "effective_labels")
259
+
260
+ @effective_labels.setter
261
+ def effective_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]):
262
+ pulumi.set(self, "effective_labels", value)
263
+
264
+ @property
265
+ @pulumi.getter
266
+ def etag(self) -> Optional[pulumi.Input[builtins.str]]:
267
+ """
268
+ etag is used for optimistic concurrency control as a way to help prevent simultaneous
269
+ updates of a restore channel from overwriting each other. It is strongly suggested that
270
+ systems make use of the 'etag' in the read-modify-write cycle to perform RestoreChannel updates
271
+ in order to avoid race conditions: An etag is returned in the response to restoreChannels.get,
272
+ and systems are expected to put that etag in the request to restoreChannels.patch or
273
+ restoreChannels.delete to ensure that their change will be applied to the same version of the resource.
274
+ """
275
+ return pulumi.get(self, "etag")
276
+
277
+ @etag.setter
278
+ def etag(self, value: Optional[pulumi.Input[builtins.str]]):
279
+ pulumi.set(self, "etag", value)
280
+
281
+ @property
282
+ @pulumi.getter
283
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]:
284
+ """
285
+ Description: A set of custom labels supplied by the user.
286
+ A list of key->value pairs.
287
+ Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
288
+
289
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
290
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
291
+ """
292
+ return pulumi.get(self, "labels")
293
+
294
+ @labels.setter
295
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]):
296
+ pulumi.set(self, "labels", value)
297
+
298
+ @property
299
+ @pulumi.getter
300
+ def location(self) -> Optional[pulumi.Input[builtins.str]]:
301
+ """
302
+ The region of the Restore Channel.
303
+
304
+
305
+ - - -
306
+ """
307
+ return pulumi.get(self, "location")
308
+
309
+ @location.setter
310
+ def location(self, value: Optional[pulumi.Input[builtins.str]]):
311
+ pulumi.set(self, "location", value)
312
+
313
+ @property
314
+ @pulumi.getter
315
+ def name(self) -> Optional[pulumi.Input[builtins.str]]:
316
+ """
317
+ The full name of the RestoreChannel Resource.
318
+ """
319
+ return pulumi.get(self, "name")
320
+
321
+ @name.setter
322
+ def name(self, value: Optional[pulumi.Input[builtins.str]]):
323
+ pulumi.set(self, "name", value)
324
+
325
+ @property
326
+ @pulumi.getter
327
+ def project(self) -> Optional[pulumi.Input[builtins.str]]:
328
+ """
329
+ The ID of the project in which the resource belongs.
330
+ If it is not provided, the provider project is used.
331
+ """
332
+ return pulumi.get(self, "project")
333
+
334
+ @project.setter
335
+ def project(self, value: Optional[pulumi.Input[builtins.str]]):
336
+ pulumi.set(self, "project", value)
337
+
338
+ @property
339
+ @pulumi.getter(name="pulumiLabels")
340
+ def pulumi_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]:
341
+ """
342
+ The combination of labels configured directly on the resource
343
+ and default labels configured on the provider.
344
+ """
345
+ return pulumi.get(self, "pulumi_labels")
346
+
347
+ @pulumi_labels.setter
348
+ def pulumi_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]):
349
+ pulumi.set(self, "pulumi_labels", value)
350
+
351
+ @property
352
+ @pulumi.getter
353
+ def uid(self) -> Optional[pulumi.Input[builtins.str]]:
354
+ """
355
+ Server generated, unique identifier of UUID format.
356
+ """
357
+ return pulumi.get(self, "uid")
358
+
359
+ @uid.setter
360
+ def uid(self, value: Optional[pulumi.Input[builtins.str]]):
361
+ pulumi.set(self, "uid", value)
362
+
363
+
364
+ class RestoreChannel(pulumi.CustomResource):
365
+ @overload
366
+ def __init__(__self__,
367
+ resource_name: str,
368
+ opts: Optional[pulumi.ResourceOptions] = None,
369
+ description: Optional[pulumi.Input[builtins.str]] = None,
370
+ destination_project: Optional[pulumi.Input[builtins.str]] = None,
371
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
372
+ location: Optional[pulumi.Input[builtins.str]] = None,
373
+ name: Optional[pulumi.Input[builtins.str]] = None,
374
+ project: Optional[pulumi.Input[builtins.str]] = None,
375
+ __props__=None):
376
+ """
377
+ A RestoreChannel imposes constraints on where backups can be restored.
378
+ The RestoreChannel should be in the same project and region
379
+ as the backups. The backups can only be restored in the
380
+ destination_project.
381
+
382
+ To get more information about RestoreChannel, see:
383
+
384
+ * [API documentation](https://cloud.google.com/kubernetes-engine/docs/add-on/backup-for-gke/reference/rest/v1/projects.locations.restoreChannels)
385
+ * How-to Guides
386
+ * [Official Documentation](https://cloud.google.com/kubernetes-engine/docs/add-on/backup-for-gke)
387
+
388
+ ## Example Usage
389
+
390
+ ### Gkebackup Restorechannel Basic
391
+
392
+ ```python
393
+ import pulumi
394
+ import pulumi_gcp as gcp
395
+
396
+ basic = gcp.gkebackup.RestoreChannel("basic",
397
+ name="basic-channel",
398
+ location="us-central1",
399
+ description="",
400
+ destination_project="projects/24240755850",
401
+ labels={
402
+ "key": "some-value",
403
+ })
404
+ ```
405
+
406
+ ## Import
407
+
408
+ RestoreChannel can be imported using any of these accepted formats:
409
+
410
+ * `projects/{{project}}/locations/{{location}}/restoreChannels/{{name}}`
411
+
412
+ * `{{project}}/{{location}}/{{name}}`
413
+
414
+ * `{{location}}/{{name}}`
415
+
416
+ When using the `pulumi import` command, RestoreChannel can be imported using one of the formats above. For example:
417
+
418
+ ```sh
419
+ $ pulumi import gcp:gkebackup/restoreChannel:RestoreChannel default projects/{{project}}/locations/{{location}}/restoreChannels/{{name}}
420
+ ```
421
+
422
+ ```sh
423
+ $ pulumi import gcp:gkebackup/restoreChannel:RestoreChannel default {{project}}/{{location}}/{{name}}
424
+ ```
425
+
426
+ ```sh
427
+ $ pulumi import gcp:gkebackup/restoreChannel:RestoreChannel default {{location}}/{{name}}
428
+ ```
429
+
430
+ :param str resource_name: The name of the resource.
431
+ :param pulumi.ResourceOptions opts: Options for the resource.
432
+ :param pulumi.Input[builtins.str] description: User specified descriptive string for this RestoreChannel.
433
+ :param pulumi.Input[builtins.str] destination_project: The project where Backups will be restored.
434
+ The format is `projects/{project}`.
435
+ {project} can only be a project number.
436
+ :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] labels: Description: A set of custom labels supplied by the user.
437
+ A list of key->value pairs.
438
+ Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
439
+
440
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
441
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
442
+ :param pulumi.Input[builtins.str] location: The region of the Restore Channel.
443
+
444
+
445
+ - - -
446
+ :param pulumi.Input[builtins.str] name: The full name of the RestoreChannel Resource.
447
+ :param pulumi.Input[builtins.str] project: The ID of the project in which the resource belongs.
448
+ If it is not provided, the provider project is used.
449
+ """
450
+ ...
451
+ @overload
452
+ def __init__(__self__,
453
+ resource_name: str,
454
+ args: RestoreChannelArgs,
455
+ opts: Optional[pulumi.ResourceOptions] = None):
456
+ """
457
+ A RestoreChannel imposes constraints on where backups can be restored.
458
+ The RestoreChannel should be in the same project and region
459
+ as the backups. The backups can only be restored in the
460
+ destination_project.
461
+
462
+ To get more information about RestoreChannel, see:
463
+
464
+ * [API documentation](https://cloud.google.com/kubernetes-engine/docs/add-on/backup-for-gke/reference/rest/v1/projects.locations.restoreChannels)
465
+ * How-to Guides
466
+ * [Official Documentation](https://cloud.google.com/kubernetes-engine/docs/add-on/backup-for-gke)
467
+
468
+ ## Example Usage
469
+
470
+ ### Gkebackup Restorechannel Basic
471
+
472
+ ```python
473
+ import pulumi
474
+ import pulumi_gcp as gcp
475
+
476
+ basic = gcp.gkebackup.RestoreChannel("basic",
477
+ name="basic-channel",
478
+ location="us-central1",
479
+ description="",
480
+ destination_project="projects/24240755850",
481
+ labels={
482
+ "key": "some-value",
483
+ })
484
+ ```
485
+
486
+ ## Import
487
+
488
+ RestoreChannel can be imported using any of these accepted formats:
489
+
490
+ * `projects/{{project}}/locations/{{location}}/restoreChannels/{{name}}`
491
+
492
+ * `{{project}}/{{location}}/{{name}}`
493
+
494
+ * `{{location}}/{{name}}`
495
+
496
+ When using the `pulumi import` command, RestoreChannel can be imported using one of the formats above. For example:
497
+
498
+ ```sh
499
+ $ pulumi import gcp:gkebackup/restoreChannel:RestoreChannel default projects/{{project}}/locations/{{location}}/restoreChannels/{{name}}
500
+ ```
501
+
502
+ ```sh
503
+ $ pulumi import gcp:gkebackup/restoreChannel:RestoreChannel default {{project}}/{{location}}/{{name}}
504
+ ```
505
+
506
+ ```sh
507
+ $ pulumi import gcp:gkebackup/restoreChannel:RestoreChannel default {{location}}/{{name}}
508
+ ```
509
+
510
+ :param str resource_name: The name of the resource.
511
+ :param RestoreChannelArgs args: The arguments to use to populate this resource's properties.
512
+ :param pulumi.ResourceOptions opts: Options for the resource.
513
+ """
514
+ ...
515
+ def __init__(__self__, resource_name: str, *args, **kwargs):
516
+ resource_args, opts = _utilities.get_resource_args_opts(RestoreChannelArgs, pulumi.ResourceOptions, *args, **kwargs)
517
+ if resource_args is not None:
518
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
519
+ else:
520
+ __self__._internal_init(resource_name, *args, **kwargs)
521
+
522
+ def _internal_init(__self__,
523
+ resource_name: str,
524
+ opts: Optional[pulumi.ResourceOptions] = None,
525
+ description: Optional[pulumi.Input[builtins.str]] = None,
526
+ destination_project: Optional[pulumi.Input[builtins.str]] = None,
527
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
528
+ location: Optional[pulumi.Input[builtins.str]] = None,
529
+ name: Optional[pulumi.Input[builtins.str]] = None,
530
+ project: Optional[pulumi.Input[builtins.str]] = None,
531
+ __props__=None):
532
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
533
+ if not isinstance(opts, pulumi.ResourceOptions):
534
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
535
+ if opts.id is None:
536
+ if __props__ is not None:
537
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
538
+ __props__ = RestoreChannelArgs.__new__(RestoreChannelArgs)
539
+
540
+ __props__.__dict__["description"] = description
541
+ if destination_project is None and not opts.urn:
542
+ raise TypeError("Missing required property 'destination_project'")
543
+ __props__.__dict__["destination_project"] = destination_project
544
+ __props__.__dict__["labels"] = labels
545
+ if location is None and not opts.urn:
546
+ raise TypeError("Missing required property 'location'")
547
+ __props__.__dict__["location"] = location
548
+ __props__.__dict__["name"] = name
549
+ __props__.__dict__["project"] = project
550
+ __props__.__dict__["destination_project_id"] = None
551
+ __props__.__dict__["effective_labels"] = None
552
+ __props__.__dict__["etag"] = None
553
+ __props__.__dict__["pulumi_labels"] = None
554
+ __props__.__dict__["uid"] = None
555
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["effectiveLabels", "pulumiLabels"])
556
+ opts = pulumi.ResourceOptions.merge(opts, secret_opts)
557
+ super(RestoreChannel, __self__).__init__(
558
+ 'gcp:gkebackup/restoreChannel:RestoreChannel',
559
+ resource_name,
560
+ __props__,
561
+ opts)
562
+
563
+ @staticmethod
564
+ def get(resource_name: str,
565
+ id: pulumi.Input[str],
566
+ opts: Optional[pulumi.ResourceOptions] = None,
567
+ description: Optional[pulumi.Input[builtins.str]] = None,
568
+ destination_project: Optional[pulumi.Input[builtins.str]] = None,
569
+ destination_project_id: Optional[pulumi.Input[builtins.str]] = None,
570
+ effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
571
+ etag: Optional[pulumi.Input[builtins.str]] = None,
572
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
573
+ location: Optional[pulumi.Input[builtins.str]] = None,
574
+ name: Optional[pulumi.Input[builtins.str]] = None,
575
+ project: Optional[pulumi.Input[builtins.str]] = None,
576
+ pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
577
+ uid: Optional[pulumi.Input[builtins.str]] = None) -> 'RestoreChannel':
578
+ """
579
+ Get an existing RestoreChannel resource's state with the given name, id, and optional extra
580
+ properties used to qualify the lookup.
581
+
582
+ :param str resource_name: The unique name of the resulting resource.
583
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
584
+ :param pulumi.ResourceOptions opts: Options for the resource.
585
+ :param pulumi.Input[builtins.str] description: User specified descriptive string for this RestoreChannel.
586
+ :param pulumi.Input[builtins.str] destination_project: The project where Backups will be restored.
587
+ The format is `projects/{project}`.
588
+ {project} can only be a project number.
589
+ :param pulumi.Input[builtins.str] destination_project_id: The project_id where Backups will be restored.
590
+ Example Project ID: "my-project-id".
591
+ :param pulumi.Input[Mapping[str, pulumi.Input[builtins.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.
592
+ :param pulumi.Input[builtins.str] etag: etag is used for optimistic concurrency control as a way to help prevent simultaneous
593
+ updates of a restore channel from overwriting each other. It is strongly suggested that
594
+ systems make use of the 'etag' in the read-modify-write cycle to perform RestoreChannel updates
595
+ in order to avoid race conditions: An etag is returned in the response to restoreChannels.get,
596
+ and systems are expected to put that etag in the request to restoreChannels.patch or
597
+ restoreChannels.delete to ensure that their change will be applied to the same version of the resource.
598
+ :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] labels: Description: A set of custom labels supplied by the user.
599
+ A list of key->value pairs.
600
+ Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
601
+
602
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
603
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
604
+ :param pulumi.Input[builtins.str] location: The region of the Restore Channel.
605
+
606
+
607
+ - - -
608
+ :param pulumi.Input[builtins.str] name: The full name of the RestoreChannel Resource.
609
+ :param pulumi.Input[builtins.str] project: The ID of the project in which the resource belongs.
610
+ If it is not provided, the provider project is used.
611
+ :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] pulumi_labels: The combination of labels configured directly on the resource
612
+ and default labels configured on the provider.
613
+ :param pulumi.Input[builtins.str] uid: Server generated, unique identifier of UUID format.
614
+ """
615
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
616
+
617
+ __props__ = _RestoreChannelState.__new__(_RestoreChannelState)
618
+
619
+ __props__.__dict__["description"] = description
620
+ __props__.__dict__["destination_project"] = destination_project
621
+ __props__.__dict__["destination_project_id"] = destination_project_id
622
+ __props__.__dict__["effective_labels"] = effective_labels
623
+ __props__.__dict__["etag"] = etag
624
+ __props__.__dict__["labels"] = labels
625
+ __props__.__dict__["location"] = location
626
+ __props__.__dict__["name"] = name
627
+ __props__.__dict__["project"] = project
628
+ __props__.__dict__["pulumi_labels"] = pulumi_labels
629
+ __props__.__dict__["uid"] = uid
630
+ return RestoreChannel(resource_name, opts=opts, __props__=__props__)
631
+
632
+ @property
633
+ @pulumi.getter
634
+ def description(self) -> pulumi.Output[Optional[builtins.str]]:
635
+ """
636
+ User specified descriptive string for this RestoreChannel.
637
+ """
638
+ return pulumi.get(self, "description")
639
+
640
+ @property
641
+ @pulumi.getter(name="destinationProject")
642
+ def destination_project(self) -> pulumi.Output[builtins.str]:
643
+ """
644
+ The project where Backups will be restored.
645
+ The format is `projects/{project}`.
646
+ {project} can only be a project number.
647
+ """
648
+ return pulumi.get(self, "destination_project")
649
+
650
+ @property
651
+ @pulumi.getter(name="destinationProjectId")
652
+ def destination_project_id(self) -> pulumi.Output[builtins.str]:
653
+ """
654
+ The project_id where Backups will be restored.
655
+ Example Project ID: "my-project-id".
656
+ """
657
+ return pulumi.get(self, "destination_project_id")
658
+
659
+ @property
660
+ @pulumi.getter(name="effectiveLabels")
661
+ def effective_labels(self) -> pulumi.Output[Mapping[str, builtins.str]]:
662
+ """
663
+ All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
664
+ """
665
+ return pulumi.get(self, "effective_labels")
666
+
667
+ @property
668
+ @pulumi.getter
669
+ def etag(self) -> pulumi.Output[builtins.str]:
670
+ """
671
+ etag is used for optimistic concurrency control as a way to help prevent simultaneous
672
+ updates of a restore channel from overwriting each other. It is strongly suggested that
673
+ systems make use of the 'etag' in the read-modify-write cycle to perform RestoreChannel updates
674
+ in order to avoid race conditions: An etag is returned in the response to restoreChannels.get,
675
+ and systems are expected to put that etag in the request to restoreChannels.patch or
676
+ restoreChannels.delete to ensure that their change will be applied to the same version of the resource.
677
+ """
678
+ return pulumi.get(self, "etag")
679
+
680
+ @property
681
+ @pulumi.getter
682
+ def labels(self) -> pulumi.Output[Optional[Mapping[str, builtins.str]]]:
683
+ """
684
+ Description: A set of custom labels supplied by the user.
685
+ A list of key->value pairs.
686
+ Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
687
+
688
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
689
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
690
+ """
691
+ return pulumi.get(self, "labels")
692
+
693
+ @property
694
+ @pulumi.getter
695
+ def location(self) -> pulumi.Output[builtins.str]:
696
+ """
697
+ The region of the Restore Channel.
698
+
699
+
700
+ - - -
701
+ """
702
+ return pulumi.get(self, "location")
703
+
704
+ @property
705
+ @pulumi.getter
706
+ def name(self) -> pulumi.Output[builtins.str]:
707
+ """
708
+ The full name of the RestoreChannel Resource.
709
+ """
710
+ return pulumi.get(self, "name")
711
+
712
+ @property
713
+ @pulumi.getter
714
+ def project(self) -> pulumi.Output[builtins.str]:
715
+ """
716
+ The ID of the project in which the resource belongs.
717
+ If it is not provided, the provider project is used.
718
+ """
719
+ return pulumi.get(self, "project")
720
+
721
+ @property
722
+ @pulumi.getter(name="pulumiLabels")
723
+ def pulumi_labels(self) -> pulumi.Output[Mapping[str, builtins.str]]:
724
+ """
725
+ The combination of labels configured directly on the resource
726
+ and default labels configured on the provider.
727
+ """
728
+ return pulumi.get(self, "pulumi_labels")
729
+
730
+ @property
731
+ @pulumi.getter
732
+ def uid(self) -> pulumi.Output[builtins.str]:
733
+ """
734
+ Server generated, unique identifier of UUID format.
735
+ """
736
+ return pulumi.get(self, "uid")
737
+