pulumi-gcp 8.42.0a1756925793__py3-none-any.whl → 9.0.0a1__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 (149) hide show
  1. pulumi_gcp/__init__.py +35 -48
  2. pulumi_gcp/alloydb/backup.py +8 -4
  3. pulumi_gcp/alloydb/cluster.py +56 -10
  4. pulumi_gcp/alloydb/get_cluster.py +12 -1
  5. pulumi_gcp/alloydb/instance.py +10 -4
  6. pulumi_gcp/alloydb/user.py +8 -4
  7. pulumi_gcp/apigee/_inputs.py +151 -108
  8. pulumi_gcp/apigee/keystores_aliases_key_cert_file.py +52 -40
  9. pulumi_gcp/apigee/outputs.py +92 -88
  10. pulumi_gcp/artifactregistry/__init__.py +1 -0
  11. pulumi_gcp/artifactregistry/_inputs.py +0 -12
  12. pulumi_gcp/artifactregistry/get_npm_package.py +251 -0
  13. pulumi_gcp/artifactregistry/outputs.py +8 -16
  14. pulumi_gcp/beyondcorp/__init__.py +0 -5
  15. pulumi_gcp/beyondcorp/_inputs.py +0 -312
  16. pulumi_gcp/beyondcorp/outputs.py +0 -200
  17. pulumi_gcp/bigquery/_inputs.py +114 -4
  18. pulumi_gcp/bigquery/app_profile.py +52 -19
  19. pulumi_gcp/bigquery/dataset_access.py +8 -4
  20. pulumi_gcp/bigquery/outputs.py +75 -5
  21. pulumi_gcp/bigquery/table.py +21 -7
  22. pulumi_gcp/bigtable/app_profile.py +50 -15
  23. pulumi_gcp/bigtable/get_table_iam_policy.py +16 -18
  24. pulumi_gcp/bigtable/table.py +42 -42
  25. pulumi_gcp/bigtable/table_iam_binding.py +43 -43
  26. pulumi_gcp/bigtable/table_iam_member.py +43 -43
  27. pulumi_gcp/bigtable/table_iam_policy.py +43 -43
  28. pulumi_gcp/billing/_inputs.py +0 -6
  29. pulumi_gcp/billing/outputs.py +0 -4
  30. pulumi_gcp/certificatemanager/__init__.py +1 -0
  31. pulumi_gcp/certificatemanager/get_dns_authorization.py +229 -0
  32. pulumi_gcp/certificatemanager/outputs.py +41 -0
  33. pulumi_gcp/cloudbuild/_inputs.py +289 -45
  34. pulumi_gcp/cloudbuild/bitbucket_server_config.py +2 -6
  35. pulumi_gcp/cloudbuild/get_trigger.py +12 -1
  36. pulumi_gcp/cloudbuild/outputs.py +366 -30
  37. pulumi_gcp/cloudbuild/trigger.py +156 -0
  38. pulumi_gcp/cloudbuild/worker_pool.py +23 -34
  39. pulumi_gcp/cloudfunctions/function.py +8 -4
  40. pulumi_gcp/cloudfunctionsv2/_inputs.py +23 -21
  41. pulumi_gcp/cloudfunctionsv2/outputs.py +17 -16
  42. pulumi_gcp/cloudrunv2/_inputs.py +23 -26
  43. pulumi_gcp/cloudrunv2/outputs.py +28 -30
  44. pulumi_gcp/cloudrunv2/service.py +18 -12
  45. pulumi_gcp/cloudtasks/queue.py +98 -2
  46. pulumi_gcp/colab/_inputs.py +1 -114
  47. pulumi_gcp/colab/outputs.py +1 -106
  48. pulumi_gcp/composer/environment.py +49 -28
  49. pulumi_gcp/compute/_inputs.py +80 -0
  50. pulumi_gcp/compute/backend_bucket.py +54 -0
  51. pulumi_gcp/compute/backend_service.py +54 -0
  52. pulumi_gcp/compute/get_backend_bucket.py +12 -1
  53. pulumi_gcp/compute/get_backend_service.py +12 -1
  54. pulumi_gcp/compute/instance_from_machine_image.py +110 -75
  55. pulumi_gcp/compute/instance_from_template.py +110 -75
  56. pulumi_gcp/compute/instance_group_manager.py +14 -7
  57. pulumi_gcp/compute/instance_template.py +14 -7
  58. pulumi_gcp/compute/interconnect.py +8 -4
  59. pulumi_gcp/compute/network_peering_routes_config.py +0 -100
  60. pulumi_gcp/compute/organization_security_policy.py +83 -51
  61. pulumi_gcp/compute/outputs.py +128 -0
  62. pulumi_gcp/compute/packet_mirroring.py +6 -0
  63. pulumi_gcp/compute/region_instance_group_manager.py +14 -7
  64. pulumi_gcp/compute/subnetwork.py +0 -98
  65. pulumi_gcp/config/__init__.pyi +2 -2
  66. pulumi_gcp/config/vars.py +4 -4
  67. pulumi_gcp/container/_inputs.py +20 -0
  68. pulumi_gcp/container/aws_cluster.py +42 -28
  69. pulumi_gcp/container/aws_node_pool.py +42 -28
  70. pulumi_gcp/container/azure_cluster.py +70 -35
  71. pulumi_gcp/container/azure_node_pool.py +42 -28
  72. pulumi_gcp/container/outputs.py +25 -0
  73. pulumi_gcp/databasemigrationservice/connection_profile.py +4 -2
  74. pulumi_gcp/databasemigrationservice/migration_job.py +4 -2
  75. pulumi_gcp/dataplex/asset.py +21 -28
  76. pulumi_gcp/dataplex/zone.py +21 -28
  77. pulumi_gcp/dataproc/cluster.py +14 -21
  78. pulumi_gcp/dataproc/workflow_template.py +105 -42
  79. pulumi_gcp/diagflow/_inputs.py +152 -0
  80. pulumi_gcp/diagflow/cx_agent.py +425 -0
  81. pulumi_gcp/diagflow/outputs.py +143 -0
  82. pulumi_gcp/firebase/app_check_play_integrity_config.py +4 -8
  83. pulumi_gcp/firebase/app_check_recaptcha_enterprise_config.py +2 -4
  84. pulumi_gcp/firebase/app_check_service_config.py +6 -12
  85. pulumi_gcp/firebase/app_hosting_backend.py +4 -8
  86. pulumi_gcp/firebase/app_hosting_build.py +4 -8
  87. pulumi_gcp/firebase/app_hosting_traffic.py +6 -12
  88. pulumi_gcp/firebase/data_connect_service.py +4 -8
  89. pulumi_gcp/firebase/database_instance.py +4 -8
  90. pulumi_gcp/gkehub/_inputs.py +0 -60
  91. pulumi_gcp/gkehub/get_membership.py +1 -12
  92. pulumi_gcp/gkehub/membership.py +0 -70
  93. pulumi_gcp/gkehub/outputs.py +0 -36
  94. pulumi_gcp/iap/__init__.py +4 -0
  95. pulumi_gcp/iap/_inputs.py +130 -0
  96. pulumi_gcp/iap/get_web_region_forwarding_rule_service_iam_policy.py +182 -0
  97. pulumi_gcp/iap/outputs.py +76 -0
  98. pulumi_gcp/{beyondcorp/application_iam_binding.py → iap/web_region_forwarding_rule_service_iam_binding.py} +321 -314
  99. pulumi_gcp/{beyondcorp/application_iam_member.py → iap/web_region_forwarding_rule_service_iam_member.py} +321 -314
  100. pulumi_gcp/iap/web_region_forwarding_rule_service_iam_policy.py +910 -0
  101. pulumi_gcp/kms/autokey_config.py +0 -2
  102. pulumi_gcp/kms/key_handle.py +0 -2
  103. pulumi_gcp/logging/billing_account_bucket_config.py +21 -7
  104. pulumi_gcp/logging/folder_bucket_config.py +21 -7
  105. pulumi_gcp/logging/organization_bucket_config.py +21 -7
  106. pulumi_gcp/memorystore/get_instance.py +1 -12
  107. pulumi_gcp/memorystore/instance.py +0 -70
  108. pulumi_gcp/monitoring/dashboard.py +14 -7
  109. pulumi_gcp/networkservices/lb_traffic_extension.py +24 -23
  110. pulumi_gcp/notebooks/__init__.py +0 -1
  111. pulumi_gcp/oracledatabase/cloud_vm_cluster.py +3 -3
  112. pulumi_gcp/organizations/project.py +21 -7
  113. pulumi_gcp/projects/service.py +2 -4
  114. pulumi_gcp/provider.py +20 -20
  115. pulumi_gcp/pulumi-plugin.json +1 -1
  116. pulumi_gcp/redis/cluster.py +0 -70
  117. pulumi_gcp/redis/get_cluster.py +1 -12
  118. pulumi_gcp/saasruntime/__init__.py +11 -0
  119. pulumi_gcp/saasruntime/_inputs.py +55 -0
  120. pulumi_gcp/saasruntime/outputs.py +39 -0
  121. pulumi_gcp/saasruntime/saa_s.py +815 -0
  122. pulumi_gcp/securesourcemanager/_inputs.py +20 -19
  123. pulumi_gcp/securesourcemanager/outputs.py +15 -14
  124. pulumi_gcp/serviceaccount/get_account_key.py +1 -21
  125. pulumi_gcp/sql/database_instance.py +61 -7
  126. pulumi_gcp/sql/get_database_instance.py +12 -1
  127. pulumi_gcp/sql/outputs.py +11 -0
  128. pulumi_gcp/sql/user.py +61 -0
  129. pulumi_gcp/storage/_inputs.py +7 -7
  130. pulumi_gcp/storage/bucket.py +14 -7
  131. pulumi_gcp/storage/outputs.py +7 -7
  132. pulumi_gcp/tpu/__init__.py +0 -2
  133. pulumi_gcp/tpu/_inputs.py +0 -93
  134. pulumi_gcp/tpu/outputs.py +0 -72
  135. pulumi_gcp/vertex/_inputs.py +8 -9
  136. pulumi_gcp/vertex/ai_endpoint.py +2 -4
  137. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +0 -2
  138. pulumi_gcp/vertex/ai_index.py +24 -23
  139. pulumi_gcp/vertex/outputs.py +7 -8
  140. {pulumi_gcp-8.42.0a1756925793.dist-info → pulumi_gcp-9.0.0a1.dist-info}/METADATA +1 -1
  141. {pulumi_gcp-8.42.0a1756925793.dist-info → pulumi_gcp-9.0.0a1.dist-info}/RECORD +143 -141
  142. pulumi_gcp/beyondcorp/application.py +0 -746
  143. pulumi_gcp/beyondcorp/application_iam_policy.py +0 -903
  144. pulumi_gcp/beyondcorp/get_application_iam_policy.py +0 -182
  145. pulumi_gcp/notebooks/location.py +0 -285
  146. pulumi_gcp/tpu/get_tensorflow_versions.py +0 -184
  147. pulumi_gcp/tpu/node.py +0 -1062
  148. {pulumi_gcp-8.42.0a1756925793.dist-info → pulumi_gcp-9.0.0a1.dist-info}/WHEEL +0 -0
  149. {pulumi_gcp-8.42.0a1756925793.dist-info → pulumi_gcp-9.0.0a1.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,815 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import builtins as _builtins
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
+ from ._inputs import *
18
+
19
+ __all__ = ['SaaSArgs', 'SaaS']
20
+
21
+ @pulumi.input_type
22
+ class SaaSArgs:
23
+ def __init__(__self__, *,
24
+ location: pulumi.Input[_builtins.str],
25
+ saas_id: pulumi.Input[_builtins.str],
26
+ annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
27
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
28
+ locations: Optional[pulumi.Input[Sequence[pulumi.Input['SaaSLocationArgs']]]] = None,
29
+ project: Optional[pulumi.Input[_builtins.str]] = None):
30
+ """
31
+ The set of arguments for constructing a SaaS resource.
32
+ :param pulumi.Input[_builtins.str] location: Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
33
+ :param pulumi.Input[_builtins.str] saas_id: The ID value for the new saas.
34
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] annotations: Annotations is an unstructured key-value map stored with a resource that
35
+ may be set by external tools to store and retrieve arbitrary metadata.
36
+ They are not queryable and should be preserved when modifying objects.
37
+ More info: https://kubernetes.io/docs/user-guide/annotations
38
+ **Note**: This field is non-authoritative, and will only manage the annotations present in your configuration.
39
+ Please refer to the field `effective_annotations` for all of the annotations present on the resource.
40
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: The labels on the resource, which can be used for categorization.
41
+ similar to Kubernetes resource labels.
42
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
43
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
44
+ :param pulumi.Input[Sequence[pulumi.Input['SaaSLocationArgs']]] locations: List of locations that the service is available in. Rollout refers to the
45
+ list to generate a rollout plan.
46
+ Structure is documented below.
47
+ :param pulumi.Input[_builtins.str] project: The ID of the project in which the resource belongs.
48
+ If it is not provided, the provider project is used.
49
+ """
50
+ pulumi.set(__self__, "location", location)
51
+ pulumi.set(__self__, "saas_id", saas_id)
52
+ if annotations is not None:
53
+ pulumi.set(__self__, "annotations", annotations)
54
+ if labels is not None:
55
+ pulumi.set(__self__, "labels", labels)
56
+ if locations is not None:
57
+ pulumi.set(__self__, "locations", locations)
58
+ if project is not None:
59
+ pulumi.set(__self__, "project", project)
60
+
61
+ @_builtins.property
62
+ @pulumi.getter
63
+ def location(self) -> pulumi.Input[_builtins.str]:
64
+ """
65
+ Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
66
+ """
67
+ return pulumi.get(self, "location")
68
+
69
+ @location.setter
70
+ def location(self, value: pulumi.Input[_builtins.str]):
71
+ pulumi.set(self, "location", value)
72
+
73
+ @_builtins.property
74
+ @pulumi.getter(name="saasId")
75
+ def saas_id(self) -> pulumi.Input[_builtins.str]:
76
+ """
77
+ The ID value for the new saas.
78
+ """
79
+ return pulumi.get(self, "saas_id")
80
+
81
+ @saas_id.setter
82
+ def saas_id(self, value: pulumi.Input[_builtins.str]):
83
+ pulumi.set(self, "saas_id", value)
84
+
85
+ @_builtins.property
86
+ @pulumi.getter
87
+ def annotations(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
88
+ """
89
+ Annotations is an unstructured key-value map stored with a resource that
90
+ may be set by external tools to store and retrieve arbitrary metadata.
91
+ They are not queryable and should be preserved when modifying objects.
92
+ More info: https://kubernetes.io/docs/user-guide/annotations
93
+ **Note**: This field is non-authoritative, and will only manage the annotations present in your configuration.
94
+ Please refer to the field `effective_annotations` for all of the annotations present on the resource.
95
+ """
96
+ return pulumi.get(self, "annotations")
97
+
98
+ @annotations.setter
99
+ def annotations(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
100
+ pulumi.set(self, "annotations", value)
101
+
102
+ @_builtins.property
103
+ @pulumi.getter
104
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
105
+ """
106
+ The labels on the resource, which can be used for categorization.
107
+ similar to Kubernetes resource labels.
108
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
109
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
110
+ """
111
+ return pulumi.get(self, "labels")
112
+
113
+ @labels.setter
114
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
115
+ pulumi.set(self, "labels", value)
116
+
117
+ @_builtins.property
118
+ @pulumi.getter
119
+ def locations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SaaSLocationArgs']]]]:
120
+ """
121
+ List of locations that the service is available in. Rollout refers to the
122
+ list to generate a rollout plan.
123
+ Structure is documented below.
124
+ """
125
+ return pulumi.get(self, "locations")
126
+
127
+ @locations.setter
128
+ def locations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SaaSLocationArgs']]]]):
129
+ pulumi.set(self, "locations", value)
130
+
131
+ @_builtins.property
132
+ @pulumi.getter
133
+ def project(self) -> Optional[pulumi.Input[_builtins.str]]:
134
+ """
135
+ The ID of the project in which the resource belongs.
136
+ If it is not provided, the provider project is used.
137
+ """
138
+ return pulumi.get(self, "project")
139
+
140
+ @project.setter
141
+ def project(self, value: Optional[pulumi.Input[_builtins.str]]):
142
+ pulumi.set(self, "project", value)
143
+
144
+
145
+ @pulumi.input_type
146
+ class _SaaSState:
147
+ def __init__(__self__, *,
148
+ annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
149
+ create_time: Optional[pulumi.Input[_builtins.str]] = None,
150
+ effective_annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
151
+ effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
152
+ etag: Optional[pulumi.Input[_builtins.str]] = None,
153
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
154
+ location: Optional[pulumi.Input[_builtins.str]] = None,
155
+ locations: Optional[pulumi.Input[Sequence[pulumi.Input['SaaSLocationArgs']]]] = None,
156
+ name: Optional[pulumi.Input[_builtins.str]] = None,
157
+ project: Optional[pulumi.Input[_builtins.str]] = None,
158
+ pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
159
+ saas_id: Optional[pulumi.Input[_builtins.str]] = None,
160
+ uid: Optional[pulumi.Input[_builtins.str]] = None,
161
+ update_time: Optional[pulumi.Input[_builtins.str]] = None):
162
+ """
163
+ Input properties used for looking up and filtering SaaS resources.
164
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] annotations: Annotations is an unstructured key-value map stored with a resource that
165
+ may be set by external tools to store and retrieve arbitrary metadata.
166
+ They are not queryable and should be preserved when modifying objects.
167
+ More info: https://kubernetes.io/docs/user-guide/annotations
168
+ **Note**: This field is non-authoritative, and will only manage the annotations present in your configuration.
169
+ Please refer to the field `effective_annotations` for all of the annotations present on the resource.
170
+ :param pulumi.Input[_builtins.str] create_time: The timestamp when the resource was created.
171
+ :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.
172
+ :param pulumi.Input[_builtins.str] etag: An opaque value that uniquely identifies a version or
173
+ generation of a resource. It can be used to confirm that the client
174
+ and server agree on the ordering of a resource being written.
175
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: The labels on the resource, which can be used for categorization.
176
+ similar to Kubernetes resource labels.
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: Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
180
+ :param pulumi.Input[Sequence[pulumi.Input['SaaSLocationArgs']]] locations: List of locations that the service is available in. Rollout refers to the
181
+ list to generate a rollout plan.
182
+ Structure is documented below.
183
+ :param pulumi.Input[_builtins.str] name: Identifier. The resource name (full URI of the resource) following the standard naming
184
+ scheme:
185
+ "projects/{project}/locations/{location}/saas/{saas}"
186
+ :param pulumi.Input[_builtins.str] project: The ID of the project in which the resource belongs.
187
+ If it is not provided, the provider project is used.
188
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] pulumi_labels: The combination of labels configured directly on the resource
189
+ and default labels configured on the provider.
190
+ :param pulumi.Input[_builtins.str] saas_id: The ID value for the new saas.
191
+ :param pulumi.Input[_builtins.str] uid: The unique identifier of the resource. UID is unique in the time
192
+ and space for this resource within the scope of the service. It is
193
+ typically generated by the server on successful creation of a resource
194
+ and must not be changed. UID is used to uniquely identify resources
195
+ with resource name reuses. This should be a UUID4.
196
+ :param pulumi.Input[_builtins.str] update_time: The timestamp when the resource was last updated. Any
197
+ change to the resource made by users must refresh this value.
198
+ Changes to a resource made by the service should refresh this value.
199
+ """
200
+ if annotations is not None:
201
+ pulumi.set(__self__, "annotations", annotations)
202
+ if create_time is not None:
203
+ pulumi.set(__self__, "create_time", create_time)
204
+ if effective_annotations is not None:
205
+ pulumi.set(__self__, "effective_annotations", effective_annotations)
206
+ if effective_labels is not None:
207
+ pulumi.set(__self__, "effective_labels", effective_labels)
208
+ if etag is not None:
209
+ pulumi.set(__self__, "etag", etag)
210
+ if labels is not None:
211
+ pulumi.set(__self__, "labels", labels)
212
+ if location is not None:
213
+ pulumi.set(__self__, "location", location)
214
+ if locations is not None:
215
+ pulumi.set(__self__, "locations", locations)
216
+ if name is not None:
217
+ pulumi.set(__self__, "name", name)
218
+ if project is not None:
219
+ pulumi.set(__self__, "project", project)
220
+ if pulumi_labels is not None:
221
+ pulumi.set(__self__, "pulumi_labels", pulumi_labels)
222
+ if saas_id is not None:
223
+ pulumi.set(__self__, "saas_id", saas_id)
224
+ if uid is not None:
225
+ pulumi.set(__self__, "uid", uid)
226
+ if update_time is not None:
227
+ pulumi.set(__self__, "update_time", update_time)
228
+
229
+ @_builtins.property
230
+ @pulumi.getter
231
+ def annotations(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
232
+ """
233
+ Annotations is an unstructured key-value map stored with a resource that
234
+ may be set by external tools to store and retrieve arbitrary metadata.
235
+ They are not queryable and should be preserved when modifying objects.
236
+ More info: https://kubernetes.io/docs/user-guide/annotations
237
+ **Note**: This field is non-authoritative, and will only manage the annotations present in your configuration.
238
+ Please refer to the field `effective_annotations` for all of the annotations present on the resource.
239
+ """
240
+ return pulumi.get(self, "annotations")
241
+
242
+ @annotations.setter
243
+ def annotations(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
244
+ pulumi.set(self, "annotations", value)
245
+
246
+ @_builtins.property
247
+ @pulumi.getter(name="createTime")
248
+ def create_time(self) -> Optional[pulumi.Input[_builtins.str]]:
249
+ """
250
+ The timestamp when the resource was created.
251
+ """
252
+ return pulumi.get(self, "create_time")
253
+
254
+ @create_time.setter
255
+ def create_time(self, value: Optional[pulumi.Input[_builtins.str]]):
256
+ pulumi.set(self, "create_time", value)
257
+
258
+ @_builtins.property
259
+ @pulumi.getter(name="effectiveAnnotations")
260
+ def effective_annotations(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
261
+ return pulumi.get(self, "effective_annotations")
262
+
263
+ @effective_annotations.setter
264
+ def effective_annotations(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
265
+ pulumi.set(self, "effective_annotations", value)
266
+
267
+ @_builtins.property
268
+ @pulumi.getter(name="effectiveLabels")
269
+ def effective_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
270
+ """
271
+ All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
272
+ """
273
+ return pulumi.get(self, "effective_labels")
274
+
275
+ @effective_labels.setter
276
+ def effective_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
277
+ pulumi.set(self, "effective_labels", value)
278
+
279
+ @_builtins.property
280
+ @pulumi.getter
281
+ def etag(self) -> Optional[pulumi.Input[_builtins.str]]:
282
+ """
283
+ An opaque value that uniquely identifies a version or
284
+ generation of a resource. It can be used to confirm that the client
285
+ and server agree on the ordering of a resource being written.
286
+ """
287
+ return pulumi.get(self, "etag")
288
+
289
+ @etag.setter
290
+ def etag(self, value: Optional[pulumi.Input[_builtins.str]]):
291
+ pulumi.set(self, "etag", value)
292
+
293
+ @_builtins.property
294
+ @pulumi.getter
295
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
296
+ """
297
+ The labels on the resource, which can be used for categorization.
298
+ similar to Kubernetes resource labels.
299
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
300
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
301
+ """
302
+ return pulumi.get(self, "labels")
303
+
304
+ @labels.setter
305
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
306
+ pulumi.set(self, "labels", value)
307
+
308
+ @_builtins.property
309
+ @pulumi.getter
310
+ def location(self) -> Optional[pulumi.Input[_builtins.str]]:
311
+ """
312
+ Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
313
+ """
314
+ return pulumi.get(self, "location")
315
+
316
+ @location.setter
317
+ def location(self, value: Optional[pulumi.Input[_builtins.str]]):
318
+ pulumi.set(self, "location", value)
319
+
320
+ @_builtins.property
321
+ @pulumi.getter
322
+ def locations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SaaSLocationArgs']]]]:
323
+ """
324
+ List of locations that the service is available in. Rollout refers to the
325
+ list to generate a rollout plan.
326
+ Structure is documented below.
327
+ """
328
+ return pulumi.get(self, "locations")
329
+
330
+ @locations.setter
331
+ def locations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SaaSLocationArgs']]]]):
332
+ pulumi.set(self, "locations", value)
333
+
334
+ @_builtins.property
335
+ @pulumi.getter
336
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
337
+ """
338
+ Identifier. The resource name (full URI of the resource) following the standard naming
339
+ scheme:
340
+ "projects/{project}/locations/{location}/saas/{saas}"
341
+ """
342
+ return pulumi.get(self, "name")
343
+
344
+ @name.setter
345
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
346
+ pulumi.set(self, "name", value)
347
+
348
+ @_builtins.property
349
+ @pulumi.getter
350
+ def project(self) -> Optional[pulumi.Input[_builtins.str]]:
351
+ """
352
+ The ID of the project in which the resource belongs.
353
+ If it is not provided, the provider project is used.
354
+ """
355
+ return pulumi.get(self, "project")
356
+
357
+ @project.setter
358
+ def project(self, value: Optional[pulumi.Input[_builtins.str]]):
359
+ pulumi.set(self, "project", value)
360
+
361
+ @_builtins.property
362
+ @pulumi.getter(name="pulumiLabels")
363
+ def pulumi_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
364
+ """
365
+ The combination of labels configured directly on the resource
366
+ and default labels configured on the provider.
367
+ """
368
+ return pulumi.get(self, "pulumi_labels")
369
+
370
+ @pulumi_labels.setter
371
+ def pulumi_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
372
+ pulumi.set(self, "pulumi_labels", value)
373
+
374
+ @_builtins.property
375
+ @pulumi.getter(name="saasId")
376
+ def saas_id(self) -> Optional[pulumi.Input[_builtins.str]]:
377
+ """
378
+ The ID value for the new saas.
379
+ """
380
+ return pulumi.get(self, "saas_id")
381
+
382
+ @saas_id.setter
383
+ def saas_id(self, value: Optional[pulumi.Input[_builtins.str]]):
384
+ pulumi.set(self, "saas_id", value)
385
+
386
+ @_builtins.property
387
+ @pulumi.getter
388
+ def uid(self) -> Optional[pulumi.Input[_builtins.str]]:
389
+ """
390
+ The unique identifier of the resource. UID is unique in the time
391
+ and space for this resource within the scope of the service. It is
392
+ typically generated by the server on successful creation of a resource
393
+ and must not be changed. UID is used to uniquely identify resources
394
+ with resource name reuses. This should be a UUID4.
395
+ """
396
+ return pulumi.get(self, "uid")
397
+
398
+ @uid.setter
399
+ def uid(self, value: Optional[pulumi.Input[_builtins.str]]):
400
+ pulumi.set(self, "uid", value)
401
+
402
+ @_builtins.property
403
+ @pulumi.getter(name="updateTime")
404
+ def update_time(self) -> Optional[pulumi.Input[_builtins.str]]:
405
+ """
406
+ The timestamp when the resource was last updated. Any
407
+ change to the resource made by users must refresh this value.
408
+ Changes to a resource made by the service should refresh this value.
409
+ """
410
+ return pulumi.get(self, "update_time")
411
+
412
+ @update_time.setter
413
+ def update_time(self, value: Optional[pulumi.Input[_builtins.str]]):
414
+ pulumi.set(self, "update_time", value)
415
+
416
+
417
+ @pulumi.type_token("gcp:saasruntime/saaS:SaaS")
418
+ class SaaS(pulumi.CustomResource):
419
+ @overload
420
+ def __init__(__self__,
421
+ resource_name: str,
422
+ opts: Optional[pulumi.ResourceOptions] = None,
423
+ annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
424
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
425
+ location: Optional[pulumi.Input[_builtins.str]] = None,
426
+ locations: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SaaSLocationArgs', 'SaaSLocationArgsDict']]]]] = None,
427
+ project: Optional[pulumi.Input[_builtins.str]] = None,
428
+ saas_id: Optional[pulumi.Input[_builtins.str]] = None,
429
+ __props__=None):
430
+ """
431
+ ## Example Usage
432
+
433
+ ### Saas Runtime Saas Basic
434
+
435
+ ```python
436
+ import pulumi
437
+ import pulumi_gcp as gcp
438
+
439
+ example = gcp.saasruntime.SaaS("example",
440
+ saas_id="test-saas",
441
+ location="global",
442
+ locations=[
443
+ {
444
+ "name": "us-central1",
445
+ },
446
+ {
447
+ "name": "europe-west1",
448
+ },
449
+ ])
450
+ ```
451
+
452
+ ## Import
453
+
454
+ Saas can be imported using any of these accepted formats:
455
+
456
+ * `projects/{{project}}/locations/{{location}}/saas/{{saas_id}}`
457
+
458
+ * `{{project}}/{{location}}/{{saas_id}}`
459
+
460
+ * `{{location}}/{{saas_id}}`
461
+
462
+ When using the `pulumi import` command, Saas can be imported using one of the formats above. For example:
463
+
464
+ ```sh
465
+ $ pulumi import gcp:saasruntime/saaS:SaaS default projects/{{project}}/locations/{{location}}/saas/{{saas_id}}
466
+ ```
467
+
468
+ ```sh
469
+ $ pulumi import gcp:saasruntime/saaS:SaaS default {{project}}/{{location}}/{{saas_id}}
470
+ ```
471
+
472
+ ```sh
473
+ $ pulumi import gcp:saasruntime/saaS:SaaS default {{location}}/{{saas_id}}
474
+ ```
475
+
476
+ :param str resource_name: The name of the resource.
477
+ :param pulumi.ResourceOptions opts: Options for the resource.
478
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] annotations: Annotations is an unstructured key-value map stored with a resource that
479
+ may be set by external tools to store and retrieve arbitrary metadata.
480
+ They are not queryable and should be preserved when modifying objects.
481
+ More info: https://kubernetes.io/docs/user-guide/annotations
482
+ **Note**: This field is non-authoritative, and will only manage the annotations present in your configuration.
483
+ Please refer to the field `effective_annotations` for all of the annotations present on the resource.
484
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: The labels on the resource, which can be used for categorization.
485
+ similar to Kubernetes resource labels.
486
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
487
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
488
+ :param pulumi.Input[_builtins.str] location: Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
489
+ :param pulumi.Input[Sequence[pulumi.Input[Union['SaaSLocationArgs', 'SaaSLocationArgsDict']]]] locations: List of locations that the service is available in. Rollout refers to the
490
+ list to generate a rollout plan.
491
+ Structure is documented below.
492
+ :param pulumi.Input[_builtins.str] project: The ID of the project in which the resource belongs.
493
+ If it is not provided, the provider project is used.
494
+ :param pulumi.Input[_builtins.str] saas_id: The ID value for the new saas.
495
+ """
496
+ ...
497
+ @overload
498
+ def __init__(__self__,
499
+ resource_name: str,
500
+ args: SaaSArgs,
501
+ opts: Optional[pulumi.ResourceOptions] = None):
502
+ """
503
+ ## Example Usage
504
+
505
+ ### Saas Runtime Saas Basic
506
+
507
+ ```python
508
+ import pulumi
509
+ import pulumi_gcp as gcp
510
+
511
+ example = gcp.saasruntime.SaaS("example",
512
+ saas_id="test-saas",
513
+ location="global",
514
+ locations=[
515
+ {
516
+ "name": "us-central1",
517
+ },
518
+ {
519
+ "name": "europe-west1",
520
+ },
521
+ ])
522
+ ```
523
+
524
+ ## Import
525
+
526
+ Saas can be imported using any of these accepted formats:
527
+
528
+ * `projects/{{project}}/locations/{{location}}/saas/{{saas_id}}`
529
+
530
+ * `{{project}}/{{location}}/{{saas_id}}`
531
+
532
+ * `{{location}}/{{saas_id}}`
533
+
534
+ When using the `pulumi import` command, Saas can be imported using one of the formats above. For example:
535
+
536
+ ```sh
537
+ $ pulumi import gcp:saasruntime/saaS:SaaS default projects/{{project}}/locations/{{location}}/saas/{{saas_id}}
538
+ ```
539
+
540
+ ```sh
541
+ $ pulumi import gcp:saasruntime/saaS:SaaS default {{project}}/{{location}}/{{saas_id}}
542
+ ```
543
+
544
+ ```sh
545
+ $ pulumi import gcp:saasruntime/saaS:SaaS default {{location}}/{{saas_id}}
546
+ ```
547
+
548
+ :param str resource_name: The name of the resource.
549
+ :param SaaSArgs args: The arguments to use to populate this resource's properties.
550
+ :param pulumi.ResourceOptions opts: Options for the resource.
551
+ """
552
+ ...
553
+ def __init__(__self__, resource_name: str, *args, **kwargs):
554
+ resource_args, opts = _utilities.get_resource_args_opts(SaaSArgs, pulumi.ResourceOptions, *args, **kwargs)
555
+ if resource_args is not None:
556
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
557
+ else:
558
+ __self__._internal_init(resource_name, *args, **kwargs)
559
+
560
+ def _internal_init(__self__,
561
+ resource_name: str,
562
+ opts: Optional[pulumi.ResourceOptions] = None,
563
+ annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
564
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
565
+ location: Optional[pulumi.Input[_builtins.str]] = None,
566
+ locations: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SaaSLocationArgs', 'SaaSLocationArgsDict']]]]] = None,
567
+ project: Optional[pulumi.Input[_builtins.str]] = None,
568
+ saas_id: Optional[pulumi.Input[_builtins.str]] = None,
569
+ __props__=None):
570
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
571
+ if not isinstance(opts, pulumi.ResourceOptions):
572
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
573
+ if opts.id is None:
574
+ if __props__ is not None:
575
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
576
+ __props__ = SaaSArgs.__new__(SaaSArgs)
577
+
578
+ __props__.__dict__["annotations"] = annotations
579
+ __props__.__dict__["labels"] = labels
580
+ if location is None and not opts.urn:
581
+ raise TypeError("Missing required property 'location'")
582
+ __props__.__dict__["location"] = location
583
+ __props__.__dict__["locations"] = locations
584
+ __props__.__dict__["project"] = project
585
+ if saas_id is None and not opts.urn:
586
+ raise TypeError("Missing required property 'saas_id'")
587
+ __props__.__dict__["saas_id"] = saas_id
588
+ __props__.__dict__["create_time"] = None
589
+ __props__.__dict__["effective_annotations"] = None
590
+ __props__.__dict__["effective_labels"] = None
591
+ __props__.__dict__["etag"] = None
592
+ __props__.__dict__["name"] = None
593
+ __props__.__dict__["pulumi_labels"] = None
594
+ __props__.__dict__["uid"] = None
595
+ __props__.__dict__["update_time"] = None
596
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["effectiveLabels", "pulumiLabels"])
597
+ opts = pulumi.ResourceOptions.merge(opts, secret_opts)
598
+ super(SaaS, __self__).__init__(
599
+ 'gcp:saasruntime/saaS:SaaS',
600
+ resource_name,
601
+ __props__,
602
+ opts)
603
+
604
+ @staticmethod
605
+ def get(resource_name: str,
606
+ id: pulumi.Input[str],
607
+ opts: Optional[pulumi.ResourceOptions] = None,
608
+ annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
609
+ create_time: Optional[pulumi.Input[_builtins.str]] = None,
610
+ effective_annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
611
+ effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
612
+ etag: Optional[pulumi.Input[_builtins.str]] = None,
613
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
614
+ location: Optional[pulumi.Input[_builtins.str]] = None,
615
+ locations: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SaaSLocationArgs', 'SaaSLocationArgsDict']]]]] = None,
616
+ name: Optional[pulumi.Input[_builtins.str]] = None,
617
+ project: Optional[pulumi.Input[_builtins.str]] = None,
618
+ pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
619
+ saas_id: Optional[pulumi.Input[_builtins.str]] = None,
620
+ uid: Optional[pulumi.Input[_builtins.str]] = None,
621
+ update_time: Optional[pulumi.Input[_builtins.str]] = None) -> 'SaaS':
622
+ """
623
+ Get an existing SaaS resource's state with the given name, id, and optional extra
624
+ properties used to qualify the lookup.
625
+
626
+ :param str resource_name: The unique name of the resulting resource.
627
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
628
+ :param pulumi.ResourceOptions opts: Options for the resource.
629
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] annotations: Annotations is an unstructured key-value map stored with a resource that
630
+ may be set by external tools to store and retrieve arbitrary metadata.
631
+ They are not queryable and should be preserved when modifying objects.
632
+ More info: https://kubernetes.io/docs/user-guide/annotations
633
+ **Note**: This field is non-authoritative, and will only manage the annotations present in your configuration.
634
+ Please refer to the field `effective_annotations` for all of the annotations present on the resource.
635
+ :param pulumi.Input[_builtins.str] create_time: The timestamp when the resource was created.
636
+ :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.
637
+ :param pulumi.Input[_builtins.str] etag: An opaque value that uniquely identifies a version or
638
+ generation of a resource. It can be used to confirm that the client
639
+ and server agree on the ordering of a resource being written.
640
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: The labels on the resource, which can be used for categorization.
641
+ similar to Kubernetes resource labels.
642
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
643
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
644
+ :param pulumi.Input[_builtins.str] location: Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
645
+ :param pulumi.Input[Sequence[pulumi.Input[Union['SaaSLocationArgs', 'SaaSLocationArgsDict']]]] locations: List of locations that the service is available in. Rollout refers to the
646
+ list to generate a rollout plan.
647
+ Structure is documented below.
648
+ :param pulumi.Input[_builtins.str] name: Identifier. The resource name (full URI of the resource) following the standard naming
649
+ scheme:
650
+ "projects/{project}/locations/{location}/saas/{saas}"
651
+ :param pulumi.Input[_builtins.str] project: The ID of the project in which the resource belongs.
652
+ If it is not provided, the provider project is used.
653
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] pulumi_labels: The combination of labels configured directly on the resource
654
+ and default labels configured on the provider.
655
+ :param pulumi.Input[_builtins.str] saas_id: The ID value for the new saas.
656
+ :param pulumi.Input[_builtins.str] uid: The unique identifier of the resource. UID is unique in the time
657
+ and space for this resource within the scope of the service. It is
658
+ typically generated by the server on successful creation of a resource
659
+ and must not be changed. UID is used to uniquely identify resources
660
+ with resource name reuses. This should be a UUID4.
661
+ :param pulumi.Input[_builtins.str] update_time: The timestamp when the resource was last updated. Any
662
+ change to the resource made by users must refresh this value.
663
+ Changes to a resource made by the service should refresh this value.
664
+ """
665
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
666
+
667
+ __props__ = _SaaSState.__new__(_SaaSState)
668
+
669
+ __props__.__dict__["annotations"] = annotations
670
+ __props__.__dict__["create_time"] = create_time
671
+ __props__.__dict__["effective_annotations"] = effective_annotations
672
+ __props__.__dict__["effective_labels"] = effective_labels
673
+ __props__.__dict__["etag"] = etag
674
+ __props__.__dict__["labels"] = labels
675
+ __props__.__dict__["location"] = location
676
+ __props__.__dict__["locations"] = locations
677
+ __props__.__dict__["name"] = name
678
+ __props__.__dict__["project"] = project
679
+ __props__.__dict__["pulumi_labels"] = pulumi_labels
680
+ __props__.__dict__["saas_id"] = saas_id
681
+ __props__.__dict__["uid"] = uid
682
+ __props__.__dict__["update_time"] = update_time
683
+ return SaaS(resource_name, opts=opts, __props__=__props__)
684
+
685
+ @_builtins.property
686
+ @pulumi.getter
687
+ def annotations(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]:
688
+ """
689
+ Annotations is an unstructured key-value map stored with a resource that
690
+ may be set by external tools to store and retrieve arbitrary metadata.
691
+ They are not queryable and should be preserved when modifying objects.
692
+ More info: https://kubernetes.io/docs/user-guide/annotations
693
+ **Note**: This field is non-authoritative, and will only manage the annotations present in your configuration.
694
+ Please refer to the field `effective_annotations` for all of the annotations present on the resource.
695
+ """
696
+ return pulumi.get(self, "annotations")
697
+
698
+ @_builtins.property
699
+ @pulumi.getter(name="createTime")
700
+ def create_time(self) -> pulumi.Output[_builtins.str]:
701
+ """
702
+ The timestamp when the resource was created.
703
+ """
704
+ return pulumi.get(self, "create_time")
705
+
706
+ @_builtins.property
707
+ @pulumi.getter(name="effectiveAnnotations")
708
+ def effective_annotations(self) -> pulumi.Output[Mapping[str, _builtins.str]]:
709
+ return pulumi.get(self, "effective_annotations")
710
+
711
+ @_builtins.property
712
+ @pulumi.getter(name="effectiveLabels")
713
+ def effective_labels(self) -> pulumi.Output[Mapping[str, _builtins.str]]:
714
+ """
715
+ All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
716
+ """
717
+ return pulumi.get(self, "effective_labels")
718
+
719
+ @_builtins.property
720
+ @pulumi.getter
721
+ def etag(self) -> pulumi.Output[_builtins.str]:
722
+ """
723
+ An opaque value that uniquely identifies a version or
724
+ generation of a resource. It can be used to confirm that the client
725
+ and server agree on the ordering of a resource being written.
726
+ """
727
+ return pulumi.get(self, "etag")
728
+
729
+ @_builtins.property
730
+ @pulumi.getter
731
+ def labels(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]:
732
+ """
733
+ The labels on the resource, which can be used for categorization.
734
+ similar to Kubernetes resource labels.
735
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
736
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
737
+ """
738
+ return pulumi.get(self, "labels")
739
+
740
+ @_builtins.property
741
+ @pulumi.getter
742
+ def location(self) -> pulumi.Output[_builtins.str]:
743
+ """
744
+ Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
745
+ """
746
+ return pulumi.get(self, "location")
747
+
748
+ @_builtins.property
749
+ @pulumi.getter
750
+ def locations(self) -> pulumi.Output[Optional[Sequence['outputs.SaaSLocation']]]:
751
+ """
752
+ List of locations that the service is available in. Rollout refers to the
753
+ list to generate a rollout plan.
754
+ Structure is documented below.
755
+ """
756
+ return pulumi.get(self, "locations")
757
+
758
+ @_builtins.property
759
+ @pulumi.getter
760
+ def name(self) -> pulumi.Output[_builtins.str]:
761
+ """
762
+ Identifier. The resource name (full URI of the resource) following the standard naming
763
+ scheme:
764
+ "projects/{project}/locations/{location}/saas/{saas}"
765
+ """
766
+ return pulumi.get(self, "name")
767
+
768
+ @_builtins.property
769
+ @pulumi.getter
770
+ def project(self) -> pulumi.Output[_builtins.str]:
771
+ """
772
+ The ID of the project in which the resource belongs.
773
+ If it is not provided, the provider project is used.
774
+ """
775
+ return pulumi.get(self, "project")
776
+
777
+ @_builtins.property
778
+ @pulumi.getter(name="pulumiLabels")
779
+ def pulumi_labels(self) -> pulumi.Output[Mapping[str, _builtins.str]]:
780
+ """
781
+ The combination of labels configured directly on the resource
782
+ and default labels configured on the provider.
783
+ """
784
+ return pulumi.get(self, "pulumi_labels")
785
+
786
+ @_builtins.property
787
+ @pulumi.getter(name="saasId")
788
+ def saas_id(self) -> pulumi.Output[_builtins.str]:
789
+ """
790
+ The ID value for the new saas.
791
+ """
792
+ return pulumi.get(self, "saas_id")
793
+
794
+ @_builtins.property
795
+ @pulumi.getter
796
+ def uid(self) -> pulumi.Output[_builtins.str]:
797
+ """
798
+ The unique identifier of the resource. UID is unique in the time
799
+ and space for this resource within the scope of the service. It is
800
+ typically generated by the server on successful creation of a resource
801
+ and must not be changed. UID is used to uniquely identify resources
802
+ with resource name reuses. This should be a UUID4.
803
+ """
804
+ return pulumi.get(self, "uid")
805
+
806
+ @_builtins.property
807
+ @pulumi.getter(name="updateTime")
808
+ def update_time(self) -> pulumi.Output[_builtins.str]:
809
+ """
810
+ The timestamp when the resource was last updated. Any
811
+ change to the resource made by users must refresh this value.
812
+ Changes to a resource made by the service should refresh this value.
813
+ """
814
+ return pulumi.get(self, "update_time")
815
+