pulumi-gcp 8.9.3a1731934815__py3-none-any.whl → 8.10.0__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 (51) hide show
  1. pulumi_gcp/__init__.py +24 -0
  2. pulumi_gcp/accesscontextmanager/__init__.py +1 -0
  3. pulumi_gcp/accesscontextmanager/_inputs.py +90 -54
  4. pulumi_gcp/accesscontextmanager/get_access_policy.py +158 -0
  5. pulumi_gcp/accesscontextmanager/outputs.py +60 -36
  6. pulumi_gcp/artifactregistry/_inputs.py +56 -0
  7. pulumi_gcp/artifactregistry/outputs.py +65 -0
  8. pulumi_gcp/artifactregistry/repository.py +48 -0
  9. pulumi_gcp/backupdisasterrecovery/__init__.py +1 -0
  10. pulumi_gcp/backupdisasterrecovery/backup_vault.py +63 -0
  11. pulumi_gcp/backupdisasterrecovery/get_data_source.py +263 -0
  12. pulumi_gcp/backupdisasterrecovery/outputs.py +402 -0
  13. pulumi_gcp/certificateauthority/authority.py +28 -138
  14. pulumi_gcp/cloudrun/service.py +0 -10
  15. pulumi_gcp/cloudrunv2/get_service.py +15 -4
  16. pulumi_gcp/cloudrunv2/service.py +30 -2
  17. pulumi_gcp/compute/_inputs.py +12 -12
  18. pulumi_gcp/compute/outputs.py +10 -10
  19. pulumi_gcp/dataproc/__init__.py +1 -0
  20. pulumi_gcp/dataproc/_inputs.py +490 -0
  21. pulumi_gcp/dataproc/gdc_spark_application.py +1658 -0
  22. pulumi_gcp/dataproc/outputs.py +385 -0
  23. pulumi_gcp/filestore/_inputs.py +152 -0
  24. pulumi_gcp/filestore/get_instance.py +12 -1
  25. pulumi_gcp/filestore/instance.py +47 -0
  26. pulumi_gcp/filestore/outputs.py +229 -0
  27. pulumi_gcp/iam/__init__.py +2 -0
  28. pulumi_gcp/iam/_inputs.py +274 -0
  29. pulumi_gcp/iam/folders_policy_binding.py +917 -0
  30. pulumi_gcp/iam/organizations_policy_binding.py +901 -0
  31. pulumi_gcp/iam/outputs.py +198 -0
  32. pulumi_gcp/managedkafka/cluster.py +4 -0
  33. pulumi_gcp/managedkafka/topic.py +4 -0
  34. pulumi_gcp/pubsub/subscription.py +8 -8
  35. pulumi_gcp/pulumi-plugin.json +1 -1
  36. pulumi_gcp/redis/_inputs.py +213 -0
  37. pulumi_gcp/redis/cluster.py +289 -0
  38. pulumi_gcp/redis/outputs.py +185 -0
  39. pulumi_gcp/securesourcemanager/_inputs.py +33 -0
  40. pulumi_gcp/securesourcemanager/instance.py +90 -3
  41. pulumi_gcp/securesourcemanager/outputs.py +19 -0
  42. pulumi_gcp/spanner/database.py +14 -14
  43. pulumi_gcp/sql/_inputs.py +73 -0
  44. pulumi_gcp/sql/database_instance.py +60 -0
  45. pulumi_gcp/sql/outputs.py +146 -0
  46. pulumi_gcp/sql/user.py +2 -2
  47. pulumi_gcp/tags/location_tag_binding.py +8 -8
  48. {pulumi_gcp-8.9.3a1731934815.dist-info → pulumi_gcp-8.10.0.dist-info}/METADATA +5 -5
  49. {pulumi_gcp-8.9.3a1731934815.dist-info → pulumi_gcp-8.10.0.dist-info}/RECORD +51 -46
  50. {pulumi_gcp-8.9.3a1731934815.dist-info → pulumi_gcp-8.10.0.dist-info}/WHEEL +1 -1
  51. {pulumi_gcp-8.9.3a1731934815.dist-info → pulumi_gcp-8.10.0.dist-info}/top_level.txt +0 -0
@@ -22,6 +22,7 @@ class BackupVaultArgs:
22
22
  backup_minimum_enforced_retention_duration: pulumi.Input[str],
23
23
  backup_vault_id: pulumi.Input[str],
24
24
  location: pulumi.Input[str],
25
+ access_restriction: Optional[pulumi.Input[str]] = None,
25
26
  allow_missing: Optional[pulumi.Input[bool]] = None,
26
27
  annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
27
28
  description: Optional[pulumi.Input[str]] = None,
@@ -40,6 +41,9 @@ class BackupVaultArgs:
40
41
 
41
42
  - - -
42
43
  :param pulumi.Input[str] location: The GCP location for the backup vault.
44
+ :param pulumi.Input[str] access_restriction: Access restriction for the backup vault. Default value is `WITHIN_ORGANIZATION` if not provided during creation.
45
+ Default value is `WITHIN_ORGANIZATION`.
46
+ Possible values are: `ACCESS_RESTRICTION_UNSPECIFIED`, `WITHIN_PROJECT`, `WITHIN_ORGANIZATION`, `UNRESTRICTED`, `WITHIN_ORG_BUT_UNRESTRICTED_FOR_BA`.
43
47
  :param pulumi.Input[bool] allow_missing: Allow idempotent deletion of backup vault. The request will still succeed in case the backup vault does not exist.
44
48
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] annotations: Optional. User annotations. See https://google.aip.dev/128#annotations
45
49
  Stores small amounts of arbitrary data.
@@ -70,6 +74,8 @@ class BackupVaultArgs:
70
74
  pulumi.set(__self__, "backup_minimum_enforced_retention_duration", backup_minimum_enforced_retention_duration)
71
75
  pulumi.set(__self__, "backup_vault_id", backup_vault_id)
72
76
  pulumi.set(__self__, "location", location)
77
+ if access_restriction is not None:
78
+ pulumi.set(__self__, "access_restriction", access_restriction)
73
79
  if allow_missing is not None:
74
80
  pulumi.set(__self__, "allow_missing", allow_missing)
75
81
  if annotations is not None:
@@ -133,6 +139,20 @@ class BackupVaultArgs:
133
139
  def location(self, value: pulumi.Input[str]):
134
140
  pulumi.set(self, "location", value)
135
141
 
142
+ @property
143
+ @pulumi.getter(name="accessRestriction")
144
+ def access_restriction(self) -> Optional[pulumi.Input[str]]:
145
+ """
146
+ Access restriction for the backup vault. Default value is `WITHIN_ORGANIZATION` if not provided during creation.
147
+ Default value is `WITHIN_ORGANIZATION`.
148
+ Possible values are: `ACCESS_RESTRICTION_UNSPECIFIED`, `WITHIN_PROJECT`, `WITHIN_ORGANIZATION`, `UNRESTRICTED`, `WITHIN_ORG_BUT_UNRESTRICTED_FOR_BA`.
149
+ """
150
+ return pulumi.get(self, "access_restriction")
151
+
152
+ @access_restriction.setter
153
+ def access_restriction(self, value: Optional[pulumi.Input[str]]):
154
+ pulumi.set(self, "access_restriction", value)
155
+
136
156
  @property
137
157
  @pulumi.getter(name="allowMissing")
138
158
  def allow_missing(self) -> Optional[pulumi.Input[bool]]:
@@ -274,6 +294,7 @@ class BackupVaultArgs:
274
294
  @pulumi.input_type
275
295
  class _BackupVaultState:
276
296
  def __init__(__self__, *,
297
+ access_restriction: Optional[pulumi.Input[str]] = None,
277
298
  allow_missing: Optional[pulumi.Input[bool]] = None,
278
299
  annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
279
300
  backup_count: Optional[pulumi.Input[str]] = None,
@@ -302,6 +323,9 @@ class _BackupVaultState:
302
323
  update_time: Optional[pulumi.Input[str]] = None):
303
324
  """
304
325
  Input properties used for looking up and filtering BackupVault resources.
326
+ :param pulumi.Input[str] access_restriction: Access restriction for the backup vault. Default value is `WITHIN_ORGANIZATION` if not provided during creation.
327
+ Default value is `WITHIN_ORGANIZATION`.
328
+ Possible values are: `ACCESS_RESTRICTION_UNSPECIFIED`, `WITHIN_PROJECT`, `WITHIN_ORGANIZATION`, `UNRESTRICTED`, `WITHIN_ORG_BUT_UNRESTRICTED_FOR_BA`.
305
329
  :param pulumi.Input[bool] allow_missing: Allow idempotent deletion of backup vault. The request will still succeed in case the backup vault does not exist.
306
330
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] annotations: Optional. User annotations. See https://google.aip.dev/128#annotations
307
331
  Stores small amounts of arbitrary data.
@@ -354,6 +378,8 @@ class _BackupVaultState:
354
378
  :param pulumi.Input[str] uid: Output only. Output only Immutable after resource creation until resource deletion.
355
379
  :param pulumi.Input[str] update_time: Output only. The time when the instance was updated.
356
380
  """
381
+ if access_restriction is not None:
382
+ pulumi.set(__self__, "access_restriction", access_restriction)
357
383
  if allow_missing is not None:
358
384
  pulumi.set(__self__, "allow_missing", allow_missing)
359
385
  if annotations is not None:
@@ -410,6 +436,20 @@ class _BackupVaultState:
410
436
  if update_time is not None:
411
437
  pulumi.set(__self__, "update_time", update_time)
412
438
 
439
+ @property
440
+ @pulumi.getter(name="accessRestriction")
441
+ def access_restriction(self) -> Optional[pulumi.Input[str]]:
442
+ """
443
+ Access restriction for the backup vault. Default value is `WITHIN_ORGANIZATION` if not provided during creation.
444
+ Default value is `WITHIN_ORGANIZATION`.
445
+ Possible values are: `ACCESS_RESTRICTION_UNSPECIFIED`, `WITHIN_PROJECT`, `WITHIN_ORGANIZATION`, `UNRESTRICTED`, `WITHIN_ORG_BUT_UNRESTRICTED_FOR_BA`.
446
+ """
447
+ return pulumi.get(self, "access_restriction")
448
+
449
+ @access_restriction.setter
450
+ def access_restriction(self, value: Optional[pulumi.Input[str]]):
451
+ pulumi.set(self, "access_restriction", value)
452
+
413
453
  @property
414
454
  @pulumi.getter(name="allowMissing")
415
455
  def allow_missing(self) -> Optional[pulumi.Input[bool]]:
@@ -752,6 +792,7 @@ class BackupVault(pulumi.CustomResource):
752
792
  def __init__(__self__,
753
793
  resource_name: str,
754
794
  opts: Optional[pulumi.ResourceOptions] = None,
795
+ access_restriction: Optional[pulumi.Input[str]] = None,
755
796
  allow_missing: Optional[pulumi.Input[bool]] = None,
756
797
  annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
757
798
  backup_minimum_enforced_retention_duration: Optional[pulumi.Input[str]] = None,
@@ -789,6 +830,7 @@ class BackupVault(pulumi.CustomResource):
789
830
  "annotations2": "baz1",
790
831
  },
791
832
  force_update=True,
833
+ access_restriction="WITHIN_ORGANIZATION",
792
834
  ignore_inactive_datasources=True,
793
835
  ignore_backup_plan_references=True,
794
836
  allow_missing=True)
@@ -820,6 +862,9 @@ class BackupVault(pulumi.CustomResource):
820
862
 
821
863
  :param str resource_name: The name of the resource.
822
864
  :param pulumi.ResourceOptions opts: Options for the resource.
865
+ :param pulumi.Input[str] access_restriction: Access restriction for the backup vault. Default value is `WITHIN_ORGANIZATION` if not provided during creation.
866
+ Default value is `WITHIN_ORGANIZATION`.
867
+ Possible values are: `ACCESS_RESTRICTION_UNSPECIFIED`, `WITHIN_PROJECT`, `WITHIN_ORGANIZATION`, `UNRESTRICTED`, `WITHIN_ORG_BUT_UNRESTRICTED_FOR_BA`.
823
868
  :param pulumi.Input[bool] allow_missing: Allow idempotent deletion of backup vault. The request will still succeed in case the backup vault does not exist.
824
869
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] annotations: Optional. User annotations. See https://google.aip.dev/128#annotations
825
870
  Stores small amounts of arbitrary data.
@@ -882,6 +927,7 @@ class BackupVault(pulumi.CustomResource):
882
927
  "annotations2": "baz1",
883
928
  },
884
929
  force_update=True,
930
+ access_restriction="WITHIN_ORGANIZATION",
885
931
  ignore_inactive_datasources=True,
886
932
  ignore_backup_plan_references=True,
887
933
  allow_missing=True)
@@ -926,6 +972,7 @@ class BackupVault(pulumi.CustomResource):
926
972
  def _internal_init(__self__,
927
973
  resource_name: str,
928
974
  opts: Optional[pulumi.ResourceOptions] = None,
975
+ access_restriction: Optional[pulumi.Input[str]] = None,
929
976
  allow_missing: Optional[pulumi.Input[bool]] = None,
930
977
  annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
931
978
  backup_minimum_enforced_retention_duration: Optional[pulumi.Input[str]] = None,
@@ -948,6 +995,7 @@ class BackupVault(pulumi.CustomResource):
948
995
  raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
949
996
  __props__ = BackupVaultArgs.__new__(BackupVaultArgs)
950
997
 
998
+ __props__.__dict__["access_restriction"] = access_restriction
951
999
  __props__.__dict__["allow_missing"] = allow_missing
952
1000
  __props__.__dict__["annotations"] = annotations
953
1001
  if backup_minimum_enforced_retention_duration is None and not opts.urn:
@@ -992,6 +1040,7 @@ class BackupVault(pulumi.CustomResource):
992
1040
  def get(resource_name: str,
993
1041
  id: pulumi.Input[str],
994
1042
  opts: Optional[pulumi.ResourceOptions] = None,
1043
+ access_restriction: Optional[pulumi.Input[str]] = None,
995
1044
  allow_missing: Optional[pulumi.Input[bool]] = None,
996
1045
  annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
997
1046
  backup_count: Optional[pulumi.Input[str]] = None,
@@ -1025,6 +1074,9 @@ class BackupVault(pulumi.CustomResource):
1025
1074
  :param str resource_name: The unique name of the resulting resource.
1026
1075
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
1027
1076
  :param pulumi.ResourceOptions opts: Options for the resource.
1077
+ :param pulumi.Input[str] access_restriction: Access restriction for the backup vault. Default value is `WITHIN_ORGANIZATION` if not provided during creation.
1078
+ Default value is `WITHIN_ORGANIZATION`.
1079
+ Possible values are: `ACCESS_RESTRICTION_UNSPECIFIED`, `WITHIN_PROJECT`, `WITHIN_ORGANIZATION`, `UNRESTRICTED`, `WITHIN_ORG_BUT_UNRESTRICTED_FOR_BA`.
1028
1080
  :param pulumi.Input[bool] allow_missing: Allow idempotent deletion of backup vault. The request will still succeed in case the backup vault does not exist.
1029
1081
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] annotations: Optional. User annotations. See https://google.aip.dev/128#annotations
1030
1082
  Stores small amounts of arbitrary data.
@@ -1081,6 +1133,7 @@ class BackupVault(pulumi.CustomResource):
1081
1133
 
1082
1134
  __props__ = _BackupVaultState.__new__(_BackupVaultState)
1083
1135
 
1136
+ __props__.__dict__["access_restriction"] = access_restriction
1084
1137
  __props__.__dict__["allow_missing"] = allow_missing
1085
1138
  __props__.__dict__["annotations"] = annotations
1086
1139
  __props__.__dict__["backup_count"] = backup_count
@@ -1109,6 +1162,16 @@ class BackupVault(pulumi.CustomResource):
1109
1162
  __props__.__dict__["update_time"] = update_time
1110
1163
  return BackupVault(resource_name, opts=opts, __props__=__props__)
1111
1164
 
1165
+ @property
1166
+ @pulumi.getter(name="accessRestriction")
1167
+ def access_restriction(self) -> pulumi.Output[Optional[str]]:
1168
+ """
1169
+ Access restriction for the backup vault. Default value is `WITHIN_ORGANIZATION` if not provided during creation.
1170
+ Default value is `WITHIN_ORGANIZATION`.
1171
+ Possible values are: `ACCESS_RESTRICTION_UNSPECIFIED`, `WITHIN_PROJECT`, `WITHIN_ORGANIZATION`, `UNRESTRICTED`, `WITHIN_ORG_BUT_UNRESTRICTED_FOR_BA`.
1172
+ """
1173
+ return pulumi.get(self, "access_restriction")
1174
+
1112
1175
  @property
1113
1176
  @pulumi.getter(name="allowMissing")
1114
1177
  def allow_missing(self) -> pulumi.Output[Optional[bool]]:
@@ -0,0 +1,263 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+ from . import outputs
17
+
18
+ __all__ = [
19
+ 'GetDataSourceResult',
20
+ 'AwaitableGetDataSourceResult',
21
+ 'get_data_source',
22
+ 'get_data_source_output',
23
+ ]
24
+
25
+ @pulumi.output_type
26
+ class GetDataSourceResult:
27
+ """
28
+ A collection of values returned by getDataSource.
29
+ """
30
+ def __init__(__self__, backup_config_infos=None, backup_count=None, backup_vault_id=None, config_state=None, create_time=None, data_source_backup_appliance_applications=None, data_source_gcp_resources=None, data_source_id=None, etag=None, id=None, labels=None, location=None, name=None, project=None, state=None, total_stored_bytes=None, update_time=None):
31
+ if backup_config_infos and not isinstance(backup_config_infos, list):
32
+ raise TypeError("Expected argument 'backup_config_infos' to be a list")
33
+ pulumi.set(__self__, "backup_config_infos", backup_config_infos)
34
+ if backup_count and not isinstance(backup_count, str):
35
+ raise TypeError("Expected argument 'backup_count' to be a str")
36
+ pulumi.set(__self__, "backup_count", backup_count)
37
+ if backup_vault_id and not isinstance(backup_vault_id, str):
38
+ raise TypeError("Expected argument 'backup_vault_id' to be a str")
39
+ pulumi.set(__self__, "backup_vault_id", backup_vault_id)
40
+ if config_state and not isinstance(config_state, str):
41
+ raise TypeError("Expected argument 'config_state' to be a str")
42
+ pulumi.set(__self__, "config_state", config_state)
43
+ if create_time and not isinstance(create_time, str):
44
+ raise TypeError("Expected argument 'create_time' to be a str")
45
+ pulumi.set(__self__, "create_time", create_time)
46
+ if data_source_backup_appliance_applications and not isinstance(data_source_backup_appliance_applications, list):
47
+ raise TypeError("Expected argument 'data_source_backup_appliance_applications' to be a list")
48
+ pulumi.set(__self__, "data_source_backup_appliance_applications", data_source_backup_appliance_applications)
49
+ if data_source_gcp_resources and not isinstance(data_source_gcp_resources, list):
50
+ raise TypeError("Expected argument 'data_source_gcp_resources' to be a list")
51
+ pulumi.set(__self__, "data_source_gcp_resources", data_source_gcp_resources)
52
+ if data_source_id and not isinstance(data_source_id, str):
53
+ raise TypeError("Expected argument 'data_source_id' to be a str")
54
+ pulumi.set(__self__, "data_source_id", data_source_id)
55
+ if etag and not isinstance(etag, str):
56
+ raise TypeError("Expected argument 'etag' to be a str")
57
+ pulumi.set(__self__, "etag", etag)
58
+ if id and not isinstance(id, str):
59
+ raise TypeError("Expected argument 'id' to be a str")
60
+ pulumi.set(__self__, "id", id)
61
+ if labels and not isinstance(labels, dict):
62
+ raise TypeError("Expected argument 'labels' to be a dict")
63
+ pulumi.set(__self__, "labels", labels)
64
+ if location and not isinstance(location, str):
65
+ raise TypeError("Expected argument 'location' to be a str")
66
+ pulumi.set(__self__, "location", location)
67
+ if name and not isinstance(name, str):
68
+ raise TypeError("Expected argument 'name' to be a str")
69
+ pulumi.set(__self__, "name", name)
70
+ if project and not isinstance(project, str):
71
+ raise TypeError("Expected argument 'project' to be a str")
72
+ pulumi.set(__self__, "project", project)
73
+ if state and not isinstance(state, str):
74
+ raise TypeError("Expected argument 'state' to be a str")
75
+ pulumi.set(__self__, "state", state)
76
+ if total_stored_bytes and not isinstance(total_stored_bytes, str):
77
+ raise TypeError("Expected argument 'total_stored_bytes' to be a str")
78
+ pulumi.set(__self__, "total_stored_bytes", total_stored_bytes)
79
+ if update_time and not isinstance(update_time, str):
80
+ raise TypeError("Expected argument 'update_time' to be a str")
81
+ pulumi.set(__self__, "update_time", update_time)
82
+
83
+ @property
84
+ @pulumi.getter(name="backupConfigInfos")
85
+ def backup_config_infos(self) -> Sequence['outputs.GetDataSourceBackupConfigInfoResult']:
86
+ return pulumi.get(self, "backup_config_infos")
87
+
88
+ @property
89
+ @pulumi.getter(name="backupCount")
90
+ def backup_count(self) -> str:
91
+ return pulumi.get(self, "backup_count")
92
+
93
+ @property
94
+ @pulumi.getter(name="backupVaultId")
95
+ def backup_vault_id(self) -> str:
96
+ return pulumi.get(self, "backup_vault_id")
97
+
98
+ @property
99
+ @pulumi.getter(name="configState")
100
+ def config_state(self) -> str:
101
+ return pulumi.get(self, "config_state")
102
+
103
+ @property
104
+ @pulumi.getter(name="createTime")
105
+ def create_time(self) -> str:
106
+ return pulumi.get(self, "create_time")
107
+
108
+ @property
109
+ @pulumi.getter(name="dataSourceBackupApplianceApplications")
110
+ def data_source_backup_appliance_applications(self) -> Sequence['outputs.GetDataSourceDataSourceBackupApplianceApplicationResult']:
111
+ return pulumi.get(self, "data_source_backup_appliance_applications")
112
+
113
+ @property
114
+ @pulumi.getter(name="dataSourceGcpResources")
115
+ def data_source_gcp_resources(self) -> Sequence['outputs.GetDataSourceDataSourceGcpResourceResult']:
116
+ return pulumi.get(self, "data_source_gcp_resources")
117
+
118
+ @property
119
+ @pulumi.getter(name="dataSourceId")
120
+ def data_source_id(self) -> str:
121
+ return pulumi.get(self, "data_source_id")
122
+
123
+ @property
124
+ @pulumi.getter
125
+ def etag(self) -> str:
126
+ return pulumi.get(self, "etag")
127
+
128
+ @property
129
+ @pulumi.getter
130
+ def id(self) -> str:
131
+ """
132
+ The provider-assigned unique ID for this managed resource.
133
+ """
134
+ return pulumi.get(self, "id")
135
+
136
+ @property
137
+ @pulumi.getter
138
+ def labels(self) -> Mapping[str, str]:
139
+ return pulumi.get(self, "labels")
140
+
141
+ @property
142
+ @pulumi.getter
143
+ def location(self) -> str:
144
+ return pulumi.get(self, "location")
145
+
146
+ @property
147
+ @pulumi.getter
148
+ def name(self) -> str:
149
+ return pulumi.get(self, "name")
150
+
151
+ @property
152
+ @pulumi.getter
153
+ def project(self) -> str:
154
+ return pulumi.get(self, "project")
155
+
156
+ @property
157
+ @pulumi.getter
158
+ def state(self) -> str:
159
+ return pulumi.get(self, "state")
160
+
161
+ @property
162
+ @pulumi.getter(name="totalStoredBytes")
163
+ def total_stored_bytes(self) -> str:
164
+ return pulumi.get(self, "total_stored_bytes")
165
+
166
+ @property
167
+ @pulumi.getter(name="updateTime")
168
+ def update_time(self) -> str:
169
+ return pulumi.get(self, "update_time")
170
+
171
+
172
+ class AwaitableGetDataSourceResult(GetDataSourceResult):
173
+ # pylint: disable=using-constant-test
174
+ def __await__(self):
175
+ if False:
176
+ yield self
177
+ return GetDataSourceResult(
178
+ backup_config_infos=self.backup_config_infos,
179
+ backup_count=self.backup_count,
180
+ backup_vault_id=self.backup_vault_id,
181
+ config_state=self.config_state,
182
+ create_time=self.create_time,
183
+ data_source_backup_appliance_applications=self.data_source_backup_appliance_applications,
184
+ data_source_gcp_resources=self.data_source_gcp_resources,
185
+ data_source_id=self.data_source_id,
186
+ etag=self.etag,
187
+ id=self.id,
188
+ labels=self.labels,
189
+ location=self.location,
190
+ name=self.name,
191
+ project=self.project,
192
+ state=self.state,
193
+ total_stored_bytes=self.total_stored_bytes,
194
+ update_time=self.update_time)
195
+
196
+
197
+ def get_data_source(backup_vault_id: Optional[str] = None,
198
+ data_source_id: Optional[str] = None,
199
+ location: Optional[str] = None,
200
+ project: Optional[str] = None,
201
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDataSourceResult:
202
+ """
203
+ Use this data source to access information about an existing resource.
204
+ """
205
+ __args__ = dict()
206
+ __args__['backupVaultId'] = backup_vault_id
207
+ __args__['dataSourceId'] = data_source_id
208
+ __args__['location'] = location
209
+ __args__['project'] = project
210
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
211
+ __ret__ = pulumi.runtime.invoke('gcp:backupdisasterrecovery/getDataSource:getDataSource', __args__, opts=opts, typ=GetDataSourceResult).value
212
+
213
+ return AwaitableGetDataSourceResult(
214
+ backup_config_infos=pulumi.get(__ret__, 'backup_config_infos'),
215
+ backup_count=pulumi.get(__ret__, 'backup_count'),
216
+ backup_vault_id=pulumi.get(__ret__, 'backup_vault_id'),
217
+ config_state=pulumi.get(__ret__, 'config_state'),
218
+ create_time=pulumi.get(__ret__, 'create_time'),
219
+ data_source_backup_appliance_applications=pulumi.get(__ret__, 'data_source_backup_appliance_applications'),
220
+ data_source_gcp_resources=pulumi.get(__ret__, 'data_source_gcp_resources'),
221
+ data_source_id=pulumi.get(__ret__, 'data_source_id'),
222
+ etag=pulumi.get(__ret__, 'etag'),
223
+ id=pulumi.get(__ret__, 'id'),
224
+ labels=pulumi.get(__ret__, 'labels'),
225
+ location=pulumi.get(__ret__, 'location'),
226
+ name=pulumi.get(__ret__, 'name'),
227
+ project=pulumi.get(__ret__, 'project'),
228
+ state=pulumi.get(__ret__, 'state'),
229
+ total_stored_bytes=pulumi.get(__ret__, 'total_stored_bytes'),
230
+ update_time=pulumi.get(__ret__, 'update_time'))
231
+ def get_data_source_output(backup_vault_id: Optional[pulumi.Input[str]] = None,
232
+ data_source_id: Optional[pulumi.Input[str]] = None,
233
+ location: Optional[pulumi.Input[str]] = None,
234
+ project: Optional[pulumi.Input[str]] = None,
235
+ opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDataSourceResult]:
236
+ """
237
+ Use this data source to access information about an existing resource.
238
+ """
239
+ __args__ = dict()
240
+ __args__['backupVaultId'] = backup_vault_id
241
+ __args__['dataSourceId'] = data_source_id
242
+ __args__['location'] = location
243
+ __args__['project'] = project
244
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
245
+ __ret__ = pulumi.runtime.invoke_output('gcp:backupdisasterrecovery/getDataSource:getDataSource', __args__, opts=opts, typ=GetDataSourceResult)
246
+ return __ret__.apply(lambda __response__: GetDataSourceResult(
247
+ backup_config_infos=pulumi.get(__response__, 'backup_config_infos'),
248
+ backup_count=pulumi.get(__response__, 'backup_count'),
249
+ backup_vault_id=pulumi.get(__response__, 'backup_vault_id'),
250
+ config_state=pulumi.get(__response__, 'config_state'),
251
+ create_time=pulumi.get(__response__, 'create_time'),
252
+ data_source_backup_appliance_applications=pulumi.get(__response__, 'data_source_backup_appliance_applications'),
253
+ data_source_gcp_resources=pulumi.get(__response__, 'data_source_gcp_resources'),
254
+ data_source_id=pulumi.get(__response__, 'data_source_id'),
255
+ etag=pulumi.get(__response__, 'etag'),
256
+ id=pulumi.get(__response__, 'id'),
257
+ labels=pulumi.get(__response__, 'labels'),
258
+ location=pulumi.get(__response__, 'location'),
259
+ name=pulumi.get(__response__, 'name'),
260
+ project=pulumi.get(__response__, 'project'),
261
+ state=pulumi.get(__response__, 'state'),
262
+ total_stored_bytes=pulumi.get(__response__, 'total_stored_bytes'),
263
+ update_time=pulumi.get(__response__, 'update_time')))