pulumi-gcp 8.24.0a1743057423__py3-none-any.whl → 8.25.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 (150) hide show
  1. pulumi_gcp/__init__.py +131 -0
  2. pulumi_gcp/_inputs.py +48 -0
  3. pulumi_gcp/accesscontextmanager/_inputs.py +324 -12
  4. pulumi_gcp/accesscontextmanager/outputs.py +204 -12
  5. pulumi_gcp/accesscontextmanager/service_perimeter.py +0 -2
  6. pulumi_gcp/apigee/__init__.py +1 -0
  7. pulumi_gcp/apigee/_inputs.py +58 -0
  8. pulumi_gcp/apigee/dns_zone.py +491 -0
  9. pulumi_gcp/apigee/outputs.py +53 -0
  10. pulumi_gcp/bigquery/_inputs.py +158 -0
  11. pulumi_gcp/bigquery/outputs.py +115 -0
  12. pulumi_gcp/bigquery/reservation.py +189 -1
  13. pulumi_gcp/bigquery/reservation_assignment.py +7 -7
  14. pulumi_gcp/bigqueryanalyticshub/listing_subscription.py +11 -7
  15. pulumi_gcp/bigtable/table.py +8 -8
  16. pulumi_gcp/chronicle/data_access_label.py +16 -0
  17. pulumi_gcp/chronicle/data_access_scope.py +16 -0
  18. pulumi_gcp/chronicle/reference_list.py +16 -0
  19. pulumi_gcp/chronicle/retrohunt.py +16 -0
  20. pulumi_gcp/chronicle/rule.py +16 -0
  21. pulumi_gcp/chronicle/rule_deployment.py +16 -0
  22. pulumi_gcp/chronicle/watchlist.py +16 -0
  23. pulumi_gcp/cloudfunctionsv2/_inputs.py +20 -0
  24. pulumi_gcp/cloudfunctionsv2/outputs.py +25 -0
  25. pulumi_gcp/cloudrunv2/_inputs.py +20 -0
  26. pulumi_gcp/cloudrunv2/outputs.py +25 -0
  27. pulumi_gcp/cloudrunv2/service.py +14 -14
  28. pulumi_gcp/compute/__init__.py +2 -0
  29. pulumi_gcp/compute/_inputs.py +2627 -61
  30. pulumi_gcp/compute/backend_service.py +121 -3
  31. pulumi_gcp/compute/get_backend_service.py +15 -4
  32. pulumi_gcp/compute/get_images.py +172 -0
  33. pulumi_gcp/compute/get_instance.py +12 -1
  34. pulumi_gcp/compute/get_region_backend_service.py +482 -0
  35. pulumi_gcp/compute/get_resource_policy.py +15 -4
  36. pulumi_gcp/compute/get_router.py +12 -1
  37. pulumi_gcp/compute/get_subnetwork.py +43 -1
  38. pulumi_gcp/compute/image.py +54 -0
  39. pulumi_gcp/compute/instance.py +47 -0
  40. pulumi_gcp/compute/instance_from_machine_image.py +94 -0
  41. pulumi_gcp/compute/instance_from_template.py +47 -0
  42. pulumi_gcp/compute/interconnect.py +14 -7
  43. pulumi_gcp/compute/outputs.py +4522 -391
  44. pulumi_gcp/compute/public_delegated_prefix.py +69 -15
  45. pulumi_gcp/compute/resource_policy.py +169 -3
  46. pulumi_gcp/compute/router.py +54 -0
  47. pulumi_gcp/compute/router_route_policy.py +16 -0
  48. pulumi_gcp/compute/subnetwork.py +35 -5
  49. pulumi_gcp/config/__init__.pyi +8 -0
  50. pulumi_gcp/config/outputs.py +27 -0
  51. pulumi_gcp/config/vars.py +16 -0
  52. pulumi_gcp/container/_inputs.py +274 -13
  53. pulumi_gcp/container/cluster.py +101 -0
  54. pulumi_gcp/container/get_cluster.py +23 -1
  55. pulumi_gcp/container/get_registry_image.py +4 -0
  56. pulumi_gcp/container/get_registry_repository.py +4 -0
  57. pulumi_gcp/container/outputs.py +305 -10
  58. pulumi_gcp/container/registry.py +4 -0
  59. pulumi_gcp/datafusion/instance.py +68 -0
  60. pulumi_gcp/dataproc/__init__.py +8 -0
  61. pulumi_gcp/dataproc/_inputs.py +219 -0
  62. pulumi_gcp/dataproc/get_metastore_database_iam_policy.py +193 -0
  63. pulumi_gcp/dataproc/get_metastore_table_iam_policy.py +210 -0
  64. pulumi_gcp/dataproc/metastore_database_iam_binding.py +848 -0
  65. pulumi_gcp/dataproc/metastore_database_iam_member.py +848 -0
  66. pulumi_gcp/dataproc/metastore_database_iam_policy.py +687 -0
  67. pulumi_gcp/dataproc/metastore_federation.py +38 -2
  68. pulumi_gcp/dataproc/metastore_table_iam_binding.py +895 -0
  69. pulumi_gcp/dataproc/metastore_table_iam_member.py +895 -0
  70. pulumi_gcp/dataproc/metastore_table_iam_policy.py +734 -0
  71. pulumi_gcp/dataproc/outputs.py +139 -0
  72. pulumi_gcp/datastream/_inputs.py +311 -94
  73. pulumi_gcp/datastream/connection_profile.py +40 -0
  74. pulumi_gcp/datastream/outputs.py +244 -51
  75. pulumi_gcp/datastream/stream.py +216 -0
  76. pulumi_gcp/discoveryengine/__init__.py +1 -0
  77. pulumi_gcp/discoveryengine/sitemap.py +504 -0
  78. pulumi_gcp/eventarc/__init__.py +1 -0
  79. pulumi_gcp/eventarc/enrollment.py +980 -0
  80. pulumi_gcp/firebase/__init__.py +1 -0
  81. pulumi_gcp/firebase/_inputs.py +484 -0
  82. pulumi_gcp/firebase/app_hosting_build.py +1232 -0
  83. pulumi_gcp/firebase/outputs.py +333 -0
  84. pulumi_gcp/identityplatform/_inputs.py +91 -0
  85. pulumi_gcp/identityplatform/outputs.py +73 -0
  86. pulumi_gcp/identityplatform/tenant.py +56 -0
  87. pulumi_gcp/lustre/__init__.py +8 -0
  88. pulumi_gcp/lustre/instance.py +983 -0
  89. pulumi_gcp/managedkafka/cluster.py +2 -2
  90. pulumi_gcp/memorystore/__init__.py +1 -0
  91. pulumi_gcp/memorystore/_inputs.py +1252 -7
  92. pulumi_gcp/memorystore/get_instance.py +45 -1
  93. pulumi_gcp/memorystore/instance.py +481 -30
  94. pulumi_gcp/memorystore/instance_desired_user_created_endpoints.py +843 -0
  95. pulumi_gcp/memorystore/outputs.py +1440 -15
  96. pulumi_gcp/networkmanagement/_inputs.py +422 -91
  97. pulumi_gcp/networkmanagement/connectivity_test.py +233 -211
  98. pulumi_gcp/networkmanagement/outputs.py +280 -61
  99. pulumi_gcp/networksecurity/_inputs.py +891 -26
  100. pulumi_gcp/networksecurity/intercept_deployment_group.py +44 -16
  101. pulumi_gcp/networksecurity/intercept_endpoint_group.py +90 -36
  102. pulumi_gcp/networksecurity/intercept_endpoint_group_association.py +53 -8
  103. pulumi_gcp/networksecurity/mirroring_deployment_group.py +44 -16
  104. pulumi_gcp/networksecurity/mirroring_endpoint_group.py +94 -36
  105. pulumi_gcp/networksecurity/mirroring_endpoint_group_association.py +53 -8
  106. pulumi_gcp/networksecurity/outputs.py +531 -1
  107. pulumi_gcp/networksecurity/security_profile.py +8 -0
  108. pulumi_gcp/organizations/__init__.py +2 -0
  109. pulumi_gcp/organizations/get_iam_custom_role.py +198 -0
  110. pulumi_gcp/organizations/get_iam_custom_roles.py +164 -0
  111. pulumi_gcp/organizations/outputs.py +96 -0
  112. pulumi_gcp/osconfig/__init__.py +1 -0
  113. pulumi_gcp/osconfig/_inputs.py +5413 -0
  114. pulumi_gcp/osconfig/outputs.py +3962 -0
  115. pulumi_gcp/osconfig/v2_policy_orchestrator.py +971 -0
  116. pulumi_gcp/parametermanager/get_parameter.py +16 -1
  117. pulumi_gcp/parametermanager/get_parameter_version.py +19 -1
  118. pulumi_gcp/parametermanager/get_parameter_version_render.py +4 -0
  119. pulumi_gcp/parametermanager/get_parameters.py +4 -0
  120. pulumi_gcp/parametermanager/get_regional_parameter.py +4 -0
  121. pulumi_gcp/parametermanager/get_regional_parameter_version.py +4 -0
  122. pulumi_gcp/parametermanager/get_regional_parameter_version_render.py +8 -0
  123. pulumi_gcp/parametermanager/get_regional_parameters.py +4 -0
  124. pulumi_gcp/parametermanager/outputs.py +11 -0
  125. pulumi_gcp/parametermanager/parameter.py +88 -0
  126. pulumi_gcp/parametermanager/parameter_version.py +74 -0
  127. pulumi_gcp/parametermanager/regional_parameter.py +12 -0
  128. pulumi_gcp/parametermanager/regional_parameter_version.py +12 -0
  129. pulumi_gcp/provider.py +75 -0
  130. pulumi_gcp/pulumi-plugin.json +1 -1
  131. pulumi_gcp/redis/_inputs.py +136 -0
  132. pulumi_gcp/redis/cluster.py +54 -0
  133. pulumi_gcp/redis/outputs.py +114 -0
  134. pulumi_gcp/secretmanager/regional_secret_version.py +0 -16
  135. pulumi_gcp/storage/__init__.py +6 -0
  136. pulumi_gcp/storage/_inputs.py +1322 -0
  137. pulumi_gcp/storage/bucket.py +7 -7
  138. pulumi_gcp/storage/control_folder_intelligence_config.py +420 -0
  139. pulumi_gcp/storage/control_organization_intelligence_config.py +420 -0
  140. pulumi_gcp/storage/control_project_intelligence_config.py +408 -0
  141. pulumi_gcp/storage/get_bucket_object_content.py +16 -1
  142. pulumi_gcp/storage/get_control_folder_intelligence_config.py +160 -0
  143. pulumi_gcp/storage/get_control_organization_intelligence_config.py +160 -0
  144. pulumi_gcp/storage/get_control_project_intelligence_config.py +160 -0
  145. pulumi_gcp/storage/outputs.py +1553 -17
  146. pulumi_gcp/workbench/instance.py +14 -2
  147. {pulumi_gcp-8.24.0a1743057423.dist-info → pulumi_gcp-8.25.0.dist-info}/METADATA +1 -1
  148. {pulumi_gcp-8.24.0a1743057423.dist-info → pulumi_gcp-8.25.0.dist-info}/RECORD +150 -124
  149. {pulumi_gcp-8.24.0a1743057423.dist-info → pulumi_gcp-8.25.0.dist-info}/WHEEL +0 -0
  150. {pulumi_gcp-8.24.0a1743057423.dist-info → pulumi_gcp-8.25.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,1232 @@
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
+ from ._inputs import *
18
+
19
+ __all__ = ['AppHostingBuildArgs', 'AppHostingBuild']
20
+
21
+ @pulumi.input_type
22
+ class AppHostingBuildArgs:
23
+ def __init__(__self__, *,
24
+ backend: pulumi.Input[str],
25
+ build_id: pulumi.Input[str],
26
+ location: pulumi.Input[str],
27
+ source: pulumi.Input['AppHostingBuildSourceArgs'],
28
+ annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
29
+ display_name: Optional[pulumi.Input[str]] = None,
30
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
31
+ project: Optional[pulumi.Input[str]] = None):
32
+ """
33
+ The set of arguments for constructing a AppHostingBuild resource.
34
+ :param pulumi.Input[str] backend: The ID of the Backend that this Build applies to
35
+ :param pulumi.Input[str] build_id: The user-specified ID of the build being created.
36
+ :param pulumi.Input[str] location: The location of the Backend that this Build applies to
37
+ :param pulumi.Input['AppHostingBuildSourceArgs'] source: The source for the build.
38
+ Structure is documented below.
39
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] annotations: Unstructured key value map that may be set by external tools to store and arbitrary metadata. They are not queryable and
40
+ should be preserved when modifying objects. **Note**: This field is non-authoritative, and will only manage the
41
+ annotations present in your configuration. Please refer to the field 'effective_annotations' for all of the annotations
42
+ present on the resource.
43
+ :param pulumi.Input[str] display_name: Human-readable name. 63 character limit.
44
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Unstructured key value map that can be used to organize and categorize objects. **Note**: This field is
45
+ non-authoritative, and will only manage the labels present in your configuration. Please refer to the field
46
+ 'effective_labels' for all of the labels present on the resource.
47
+ """
48
+ pulumi.set(__self__, "backend", backend)
49
+ pulumi.set(__self__, "build_id", build_id)
50
+ pulumi.set(__self__, "location", location)
51
+ pulumi.set(__self__, "source", source)
52
+ if annotations is not None:
53
+ pulumi.set(__self__, "annotations", annotations)
54
+ if display_name is not None:
55
+ pulumi.set(__self__, "display_name", display_name)
56
+ if labels is not None:
57
+ pulumi.set(__self__, "labels", labels)
58
+ if project is not None:
59
+ pulumi.set(__self__, "project", project)
60
+
61
+ @property
62
+ @pulumi.getter
63
+ def backend(self) -> pulumi.Input[str]:
64
+ """
65
+ The ID of the Backend that this Build applies to
66
+ """
67
+ return pulumi.get(self, "backend")
68
+
69
+ @backend.setter
70
+ def backend(self, value: pulumi.Input[str]):
71
+ pulumi.set(self, "backend", value)
72
+
73
+ @property
74
+ @pulumi.getter(name="buildId")
75
+ def build_id(self) -> pulumi.Input[str]:
76
+ """
77
+ The user-specified ID of the build being created.
78
+ """
79
+ return pulumi.get(self, "build_id")
80
+
81
+ @build_id.setter
82
+ def build_id(self, value: pulumi.Input[str]):
83
+ pulumi.set(self, "build_id", value)
84
+
85
+ @property
86
+ @pulumi.getter
87
+ def location(self) -> pulumi.Input[str]:
88
+ """
89
+ The location of the Backend that this Build applies to
90
+ """
91
+ return pulumi.get(self, "location")
92
+
93
+ @location.setter
94
+ def location(self, value: pulumi.Input[str]):
95
+ pulumi.set(self, "location", value)
96
+
97
+ @property
98
+ @pulumi.getter
99
+ def source(self) -> pulumi.Input['AppHostingBuildSourceArgs']:
100
+ """
101
+ The source for the build.
102
+ Structure is documented below.
103
+ """
104
+ return pulumi.get(self, "source")
105
+
106
+ @source.setter
107
+ def source(self, value: pulumi.Input['AppHostingBuildSourceArgs']):
108
+ pulumi.set(self, "source", value)
109
+
110
+ @property
111
+ @pulumi.getter
112
+ def annotations(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
113
+ """
114
+ Unstructured key value map that may be set by external tools to store and arbitrary metadata. They are not queryable and
115
+ should be preserved when modifying objects. **Note**: This field is non-authoritative, and will only manage the
116
+ annotations present in your configuration. Please refer to the field 'effective_annotations' for all of the annotations
117
+ present on the resource.
118
+ """
119
+ return pulumi.get(self, "annotations")
120
+
121
+ @annotations.setter
122
+ def annotations(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
123
+ pulumi.set(self, "annotations", value)
124
+
125
+ @property
126
+ @pulumi.getter(name="displayName")
127
+ def display_name(self) -> Optional[pulumi.Input[str]]:
128
+ """
129
+ Human-readable name. 63 character limit.
130
+ """
131
+ return pulumi.get(self, "display_name")
132
+
133
+ @display_name.setter
134
+ def display_name(self, value: Optional[pulumi.Input[str]]):
135
+ pulumi.set(self, "display_name", value)
136
+
137
+ @property
138
+ @pulumi.getter
139
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
140
+ """
141
+ Unstructured key value map that can be used to organize and categorize objects. **Note**: This field is
142
+ non-authoritative, and will only manage the labels present in your configuration. Please refer to the field
143
+ 'effective_labels' for all of the labels present on the resource.
144
+ """
145
+ return pulumi.get(self, "labels")
146
+
147
+ @labels.setter
148
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
149
+ pulumi.set(self, "labels", value)
150
+
151
+ @property
152
+ @pulumi.getter
153
+ def project(self) -> Optional[pulumi.Input[str]]:
154
+ return pulumi.get(self, "project")
155
+
156
+ @project.setter
157
+ def project(self, value: Optional[pulumi.Input[str]]):
158
+ pulumi.set(self, "project", value)
159
+
160
+
161
+ @pulumi.input_type
162
+ class _AppHostingBuildState:
163
+ def __init__(__self__, *,
164
+ annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
165
+ backend: Optional[pulumi.Input[str]] = None,
166
+ build_id: Optional[pulumi.Input[str]] = None,
167
+ build_logs_uri: Optional[pulumi.Input[str]] = None,
168
+ create_time: Optional[pulumi.Input[str]] = None,
169
+ display_name: Optional[pulumi.Input[str]] = None,
170
+ effective_annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
171
+ effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
172
+ environment: Optional[pulumi.Input[str]] = None,
173
+ error_source: Optional[pulumi.Input[str]] = None,
174
+ errors: Optional[pulumi.Input[Sequence[pulumi.Input['AppHostingBuildErrorArgs']]]] = None,
175
+ etag: Optional[pulumi.Input[str]] = None,
176
+ image: Optional[pulumi.Input[str]] = None,
177
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
178
+ location: Optional[pulumi.Input[str]] = None,
179
+ name: Optional[pulumi.Input[str]] = None,
180
+ project: Optional[pulumi.Input[str]] = None,
181
+ pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
182
+ source: Optional[pulumi.Input['AppHostingBuildSourceArgs']] = None,
183
+ state: Optional[pulumi.Input[str]] = None,
184
+ uid: Optional[pulumi.Input[str]] = None,
185
+ update_time: Optional[pulumi.Input[str]] = None):
186
+ """
187
+ Input properties used for looking up and filtering AppHostingBuild resources.
188
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] annotations: Unstructured key value map that may be set by external tools to store and arbitrary metadata. They are not queryable and
189
+ should be preserved when modifying objects. **Note**: This field is non-authoritative, and will only manage the
190
+ annotations present in your configuration. Please refer to the field 'effective_annotations' for all of the annotations
191
+ present on the resource.
192
+ :param pulumi.Input[str] backend: The ID of the Backend that this Build applies to
193
+ :param pulumi.Input[str] build_id: The user-specified ID of the build being created.
194
+ :param pulumi.Input[str] build_logs_uri: The location of the [Cloud Build
195
+ logs](https://cloud.google.com/build/docs/view-build-results) for the build
196
+ process.
197
+ :param pulumi.Input[str] create_time: Time at which the build was created.
198
+ :param pulumi.Input[str] display_name: Human-readable name. 63 character limit.
199
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
200
+ :param pulumi.Input[str] environment: The environment name of the backend when this build was created.
201
+ :param pulumi.Input[str] error_source: The source of the error for the build, if in a `FAILED` state.
202
+ Possible values:
203
+ CLOUD_BUILD
204
+ CLOUD_RUN
205
+ :param pulumi.Input[Sequence[pulumi.Input['AppHostingBuildErrorArgs']]] errors: The `Status` type defines a logical error model that is suitable for
206
+ different programming environments, including REST APIs and RPC APIs. It is
207
+ used by [gRPC](https://github.com/grpc). Each `Status` message contains
208
+ three pieces of data: error code, error message, and error details.
209
+ You can find out more about this error model and how to work with it in the
210
+ [API Design Guide](https://cloud.google.com/apis/design/errors).
211
+ Structure is documented below.
212
+ :param pulumi.Input[str] etag: Server-computed checksum based on other values; may be sent
213
+ on update or delete to ensure operation is done on expected resource.
214
+ :param pulumi.Input[str] image: The Artifact Registry
215
+ [container
216
+ image](https://cloud.google.com/artifact-registry/docs/reference/rest/v1/projects.locations.repositories.dockerImages)
217
+ URI, used by the Cloud Run
218
+ [`revision`](https://cloud.google.com/run/docs/reference/rest/v2/projects.locations.services.revisions)
219
+ for this build.
220
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Unstructured key value map that can be used to organize and categorize objects. **Note**: This field is
221
+ non-authoritative, and will only manage the labels present in your configuration. Please refer to the field
222
+ 'effective_labels' for all of the labels present on the resource.
223
+ :param pulumi.Input[str] location: The location of the Backend that this Build applies to
224
+ :param pulumi.Input[str] name: Identifier. The resource name of the build.
225
+ Format:
226
+ `projects/{project}/locations/{locationId}/backends/{backendId}/builds/{buildId}`.
227
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
228
+ and default labels configured on the provider.
229
+ :param pulumi.Input['AppHostingBuildSourceArgs'] source: The source for the build.
230
+ Structure is documented below.
231
+ :param pulumi.Input[str] state: The state of the build.
232
+ Possible values:
233
+ BUILDING
234
+ BUILT
235
+ DEPLOYING
236
+ READY
237
+ FAILED
238
+ :param pulumi.Input[str] uid: System-assigned, unique identifier.
239
+ :param pulumi.Input[str] update_time: Time at which the build was last updated.
240
+ """
241
+ if annotations is not None:
242
+ pulumi.set(__self__, "annotations", annotations)
243
+ if backend is not None:
244
+ pulumi.set(__self__, "backend", backend)
245
+ if build_id is not None:
246
+ pulumi.set(__self__, "build_id", build_id)
247
+ if build_logs_uri is not None:
248
+ pulumi.set(__self__, "build_logs_uri", build_logs_uri)
249
+ if create_time is not None:
250
+ pulumi.set(__self__, "create_time", create_time)
251
+ if display_name is not None:
252
+ pulumi.set(__self__, "display_name", display_name)
253
+ if effective_annotations is not None:
254
+ pulumi.set(__self__, "effective_annotations", effective_annotations)
255
+ if effective_labels is not None:
256
+ pulumi.set(__self__, "effective_labels", effective_labels)
257
+ if environment is not None:
258
+ pulumi.set(__self__, "environment", environment)
259
+ if error_source is not None:
260
+ pulumi.set(__self__, "error_source", error_source)
261
+ if errors is not None:
262
+ pulumi.set(__self__, "errors", errors)
263
+ if etag is not None:
264
+ pulumi.set(__self__, "etag", etag)
265
+ if image is not None:
266
+ pulumi.set(__self__, "image", image)
267
+ if labels is not None:
268
+ pulumi.set(__self__, "labels", labels)
269
+ if location is not None:
270
+ pulumi.set(__self__, "location", location)
271
+ if name is not None:
272
+ pulumi.set(__self__, "name", name)
273
+ if project is not None:
274
+ pulumi.set(__self__, "project", project)
275
+ if pulumi_labels is not None:
276
+ pulumi.set(__self__, "pulumi_labels", pulumi_labels)
277
+ if source is not None:
278
+ pulumi.set(__self__, "source", source)
279
+ if state is not None:
280
+ pulumi.set(__self__, "state", state)
281
+ if uid is not None:
282
+ pulumi.set(__self__, "uid", uid)
283
+ if update_time is not None:
284
+ pulumi.set(__self__, "update_time", update_time)
285
+
286
+ @property
287
+ @pulumi.getter
288
+ def annotations(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
289
+ """
290
+ Unstructured key value map that may be set by external tools to store and arbitrary metadata. They are not queryable and
291
+ should be preserved when modifying objects. **Note**: This field is non-authoritative, and will only manage the
292
+ annotations present in your configuration. Please refer to the field 'effective_annotations' for all of the annotations
293
+ present on the resource.
294
+ """
295
+ return pulumi.get(self, "annotations")
296
+
297
+ @annotations.setter
298
+ def annotations(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
299
+ pulumi.set(self, "annotations", value)
300
+
301
+ @property
302
+ @pulumi.getter
303
+ def backend(self) -> Optional[pulumi.Input[str]]:
304
+ """
305
+ The ID of the Backend that this Build applies to
306
+ """
307
+ return pulumi.get(self, "backend")
308
+
309
+ @backend.setter
310
+ def backend(self, value: Optional[pulumi.Input[str]]):
311
+ pulumi.set(self, "backend", value)
312
+
313
+ @property
314
+ @pulumi.getter(name="buildId")
315
+ def build_id(self) -> Optional[pulumi.Input[str]]:
316
+ """
317
+ The user-specified ID of the build being created.
318
+ """
319
+ return pulumi.get(self, "build_id")
320
+
321
+ @build_id.setter
322
+ def build_id(self, value: Optional[pulumi.Input[str]]):
323
+ pulumi.set(self, "build_id", value)
324
+
325
+ @property
326
+ @pulumi.getter(name="buildLogsUri")
327
+ def build_logs_uri(self) -> Optional[pulumi.Input[str]]:
328
+ """
329
+ The location of the [Cloud Build
330
+ logs](https://cloud.google.com/build/docs/view-build-results) for the build
331
+ process.
332
+ """
333
+ return pulumi.get(self, "build_logs_uri")
334
+
335
+ @build_logs_uri.setter
336
+ def build_logs_uri(self, value: Optional[pulumi.Input[str]]):
337
+ pulumi.set(self, "build_logs_uri", value)
338
+
339
+ @property
340
+ @pulumi.getter(name="createTime")
341
+ def create_time(self) -> Optional[pulumi.Input[str]]:
342
+ """
343
+ Time at which the build was created.
344
+ """
345
+ return pulumi.get(self, "create_time")
346
+
347
+ @create_time.setter
348
+ def create_time(self, value: Optional[pulumi.Input[str]]):
349
+ pulumi.set(self, "create_time", value)
350
+
351
+ @property
352
+ @pulumi.getter(name="displayName")
353
+ def display_name(self) -> Optional[pulumi.Input[str]]:
354
+ """
355
+ Human-readable name. 63 character limit.
356
+ """
357
+ return pulumi.get(self, "display_name")
358
+
359
+ @display_name.setter
360
+ def display_name(self, value: Optional[pulumi.Input[str]]):
361
+ pulumi.set(self, "display_name", value)
362
+
363
+ @property
364
+ @pulumi.getter(name="effectiveAnnotations")
365
+ def effective_annotations(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
366
+ return pulumi.get(self, "effective_annotations")
367
+
368
+ @effective_annotations.setter
369
+ def effective_annotations(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
370
+ pulumi.set(self, "effective_annotations", value)
371
+
372
+ @property
373
+ @pulumi.getter(name="effectiveLabels")
374
+ def effective_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
375
+ """
376
+ All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
377
+ """
378
+ return pulumi.get(self, "effective_labels")
379
+
380
+ @effective_labels.setter
381
+ def effective_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
382
+ pulumi.set(self, "effective_labels", value)
383
+
384
+ @property
385
+ @pulumi.getter
386
+ def environment(self) -> Optional[pulumi.Input[str]]:
387
+ """
388
+ The environment name of the backend when this build was created.
389
+ """
390
+ return pulumi.get(self, "environment")
391
+
392
+ @environment.setter
393
+ def environment(self, value: Optional[pulumi.Input[str]]):
394
+ pulumi.set(self, "environment", value)
395
+
396
+ @property
397
+ @pulumi.getter(name="errorSource")
398
+ def error_source(self) -> Optional[pulumi.Input[str]]:
399
+ """
400
+ The source of the error for the build, if in a `FAILED` state.
401
+ Possible values:
402
+ CLOUD_BUILD
403
+ CLOUD_RUN
404
+ """
405
+ return pulumi.get(self, "error_source")
406
+
407
+ @error_source.setter
408
+ def error_source(self, value: Optional[pulumi.Input[str]]):
409
+ pulumi.set(self, "error_source", value)
410
+
411
+ @property
412
+ @pulumi.getter
413
+ def errors(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AppHostingBuildErrorArgs']]]]:
414
+ """
415
+ The `Status` type defines a logical error model that is suitable for
416
+ different programming environments, including REST APIs and RPC APIs. It is
417
+ used by [gRPC](https://github.com/grpc). Each `Status` message contains
418
+ three pieces of data: error code, error message, and error details.
419
+ You can find out more about this error model and how to work with it in the
420
+ [API Design Guide](https://cloud.google.com/apis/design/errors).
421
+ Structure is documented below.
422
+ """
423
+ return pulumi.get(self, "errors")
424
+
425
+ @errors.setter
426
+ def errors(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AppHostingBuildErrorArgs']]]]):
427
+ pulumi.set(self, "errors", value)
428
+
429
+ @property
430
+ @pulumi.getter
431
+ def etag(self) -> Optional[pulumi.Input[str]]:
432
+ """
433
+ Server-computed checksum based on other values; may be sent
434
+ on update or delete to ensure operation is done on expected resource.
435
+ """
436
+ return pulumi.get(self, "etag")
437
+
438
+ @etag.setter
439
+ def etag(self, value: Optional[pulumi.Input[str]]):
440
+ pulumi.set(self, "etag", value)
441
+
442
+ @property
443
+ @pulumi.getter
444
+ def image(self) -> Optional[pulumi.Input[str]]:
445
+ """
446
+ The Artifact Registry
447
+ [container
448
+ image](https://cloud.google.com/artifact-registry/docs/reference/rest/v1/projects.locations.repositories.dockerImages)
449
+ URI, used by the Cloud Run
450
+ [`revision`](https://cloud.google.com/run/docs/reference/rest/v2/projects.locations.services.revisions)
451
+ for this build.
452
+ """
453
+ return pulumi.get(self, "image")
454
+
455
+ @image.setter
456
+ def image(self, value: Optional[pulumi.Input[str]]):
457
+ pulumi.set(self, "image", value)
458
+
459
+ @property
460
+ @pulumi.getter
461
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
462
+ """
463
+ Unstructured key value map that can be used to organize and categorize objects. **Note**: This field is
464
+ non-authoritative, and will only manage the labels present in your configuration. Please refer to the field
465
+ 'effective_labels' for all of the labels present on the resource.
466
+ """
467
+ return pulumi.get(self, "labels")
468
+
469
+ @labels.setter
470
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
471
+ pulumi.set(self, "labels", value)
472
+
473
+ @property
474
+ @pulumi.getter
475
+ def location(self) -> Optional[pulumi.Input[str]]:
476
+ """
477
+ The location of the Backend that this Build applies to
478
+ """
479
+ return pulumi.get(self, "location")
480
+
481
+ @location.setter
482
+ def location(self, value: Optional[pulumi.Input[str]]):
483
+ pulumi.set(self, "location", value)
484
+
485
+ @property
486
+ @pulumi.getter
487
+ def name(self) -> Optional[pulumi.Input[str]]:
488
+ """
489
+ Identifier. The resource name of the build.
490
+ Format:
491
+ `projects/{project}/locations/{locationId}/backends/{backendId}/builds/{buildId}`.
492
+ """
493
+ return pulumi.get(self, "name")
494
+
495
+ @name.setter
496
+ def name(self, value: Optional[pulumi.Input[str]]):
497
+ pulumi.set(self, "name", value)
498
+
499
+ @property
500
+ @pulumi.getter
501
+ def project(self) -> Optional[pulumi.Input[str]]:
502
+ return pulumi.get(self, "project")
503
+
504
+ @project.setter
505
+ def project(self, value: Optional[pulumi.Input[str]]):
506
+ pulumi.set(self, "project", value)
507
+
508
+ @property
509
+ @pulumi.getter(name="pulumiLabels")
510
+ def pulumi_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
511
+ """
512
+ The combination of labels configured directly on the resource
513
+ and default labels configured on the provider.
514
+ """
515
+ return pulumi.get(self, "pulumi_labels")
516
+
517
+ @pulumi_labels.setter
518
+ def pulumi_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
519
+ pulumi.set(self, "pulumi_labels", value)
520
+
521
+ @property
522
+ @pulumi.getter
523
+ def source(self) -> Optional[pulumi.Input['AppHostingBuildSourceArgs']]:
524
+ """
525
+ The source for the build.
526
+ Structure is documented below.
527
+ """
528
+ return pulumi.get(self, "source")
529
+
530
+ @source.setter
531
+ def source(self, value: Optional[pulumi.Input['AppHostingBuildSourceArgs']]):
532
+ pulumi.set(self, "source", value)
533
+
534
+ @property
535
+ @pulumi.getter
536
+ def state(self) -> Optional[pulumi.Input[str]]:
537
+ """
538
+ The state of the build.
539
+ Possible values:
540
+ BUILDING
541
+ BUILT
542
+ DEPLOYING
543
+ READY
544
+ FAILED
545
+ """
546
+ return pulumi.get(self, "state")
547
+
548
+ @state.setter
549
+ def state(self, value: Optional[pulumi.Input[str]]):
550
+ pulumi.set(self, "state", value)
551
+
552
+ @property
553
+ @pulumi.getter
554
+ def uid(self) -> Optional[pulumi.Input[str]]:
555
+ """
556
+ System-assigned, unique identifier.
557
+ """
558
+ return pulumi.get(self, "uid")
559
+
560
+ @uid.setter
561
+ def uid(self, value: Optional[pulumi.Input[str]]):
562
+ pulumi.set(self, "uid", value)
563
+
564
+ @property
565
+ @pulumi.getter(name="updateTime")
566
+ def update_time(self) -> Optional[pulumi.Input[str]]:
567
+ """
568
+ Time at which the build was last updated.
569
+ """
570
+ return pulumi.get(self, "update_time")
571
+
572
+ @update_time.setter
573
+ def update_time(self, value: Optional[pulumi.Input[str]]):
574
+ pulumi.set(self, "update_time", value)
575
+
576
+
577
+ class AppHostingBuild(pulumi.CustomResource):
578
+ @overload
579
+ def __init__(__self__,
580
+ resource_name: str,
581
+ opts: Optional[pulumi.ResourceOptions] = None,
582
+ annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
583
+ backend: Optional[pulumi.Input[str]] = None,
584
+ build_id: Optional[pulumi.Input[str]] = None,
585
+ display_name: Optional[pulumi.Input[str]] = None,
586
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
587
+ location: Optional[pulumi.Input[str]] = None,
588
+ project: Optional[pulumi.Input[str]] = None,
589
+ source: Optional[pulumi.Input[Union['AppHostingBuildSourceArgs', 'AppHostingBuildSourceArgsDict']]] = None,
590
+ __props__=None):
591
+ """
592
+ A single build for a backend, at a specific point codebase reference tag
593
+ and point in time. Encapsulates several resources, including an Artifact Registry
594
+ container image, a Cloud Build invocation that built the image, and the
595
+ Cloud Run revision that uses that image.
596
+
597
+ ## Example Usage
598
+
599
+ ### Firebase App Hosting Build Minimal
600
+
601
+ ```python
602
+ import pulumi
603
+ import pulumi_gcp as gcp
604
+
605
+ ### Include these blocks only once per project if you are starting from scratch ###
606
+ service_account = gcp.serviceaccount.Account("service_account",
607
+ project="my-project-name",
608
+ account_id="firebase-app-hosting-compute",
609
+ display_name="Firebase App Hosting compute service account",
610
+ create_ignore_already_exists=True)
611
+ fah = gcp.projects.Service("fah",
612
+ project="my-project-name",
613
+ service="firebaseapphosting.googleapis.com",
614
+ disable_on_destroy=False)
615
+ example_app_hosting_backend = gcp.firebase.AppHostingBackend("example",
616
+ project="my-project-name",
617
+ location="us-central1",
618
+ backend_id="mini",
619
+ app_id="1:0000000000:web:674cde32020e16fbce9dbd",
620
+ serving_locality="GLOBAL_ACCESS",
621
+ service_account=service_account.email,
622
+ opts = pulumi.ResourceOptions(depends_on=[fah]))
623
+ example = gcp.firebase.AppHostingBuild("example",
624
+ project=example_app_hosting_backend.project,
625
+ location=example_app_hosting_backend.location,
626
+ backend=example_app_hosting_backend.backend_id,
627
+ build_id="mini-build",
628
+ source={
629
+ "container": {
630
+ "image": "us-docker.pkg.dev/cloudrun/container/hello",
631
+ },
632
+ })
633
+ app_hosting_sa_runner = gcp.projects.IAMMember("app_hosting_sa_runner",
634
+ project="my-project-name",
635
+ role="roles/firebaseapphosting.computeRunner",
636
+ member=service_account.member)
637
+ ```
638
+ ### Firebase App Hosting Build Full
639
+
640
+ ```python
641
+ import pulumi
642
+ import pulumi_gcp as gcp
643
+
644
+ ### Include these blocks only once per project if you are starting from scratch ###
645
+ service_account = gcp.serviceaccount.Account("service_account",
646
+ project="my-project-name",
647
+ account_id="firebase-app-hosting-compute",
648
+ display_name="Firebase App Hosting compute service account",
649
+ create_ignore_already_exists=True)
650
+ fah = gcp.projects.Service("fah",
651
+ project="my-project-name",
652
+ service="firebaseapphosting.googleapis.com",
653
+ disable_on_destroy=False)
654
+ example_app_hosting_backend = gcp.firebase.AppHostingBackend("example",
655
+ project="my-project-name",
656
+ location="us-central1",
657
+ backend_id="full",
658
+ app_id="1:0000000000:web:674cde32020e16fbce9dbd",
659
+ serving_locality="GLOBAL_ACCESS",
660
+ service_account=service_account.email,
661
+ opts = pulumi.ResourceOptions(depends_on=[fah]))
662
+ example = gcp.firebase.AppHostingBuild("example",
663
+ project=example_app_hosting_backend.project,
664
+ location=example_app_hosting_backend.location,
665
+ backend=example_app_hosting_backend.backend_id,
666
+ build_id="full-build",
667
+ display_name="My Build",
668
+ annotations={
669
+ "key": "value",
670
+ },
671
+ labels={
672
+ "key": "value",
673
+ },
674
+ source={
675
+ "container": {
676
+ "image": "us-docker.pkg.dev/cloudrun/container/hello",
677
+ },
678
+ })
679
+ app_hosting_sa_runner = gcp.projects.IAMMember("app_hosting_sa_runner",
680
+ project="my-project-name",
681
+ role="roles/firebaseapphosting.computeRunner",
682
+ member=service_account.member)
683
+ ```
684
+ ## Import
685
+
686
+ Build can be imported using any of these accepted formats:
687
+
688
+ * `projects/{{project}}/locations/{{location}}/backends/{{backend}}/builds/{{build_id}}`
689
+
690
+ * `{{project}}/{{location}}/{{backend}}/{{build_id}}`
691
+
692
+ * `{{location}}/{{backend}}/{{build_id}}`
693
+
694
+ When using the `pulumi import` command, Build can be imported using one of the formats above. For example:
695
+
696
+ ```sh
697
+ $ pulumi import gcp:firebase/appHostingBuild:AppHostingBuild default projects/{{project}}/locations/{{location}}/backends/{{backend}}/builds/{{build_id}}
698
+ ```
699
+
700
+ ```sh
701
+ $ pulumi import gcp:firebase/appHostingBuild:AppHostingBuild default {{project}}/{{location}}/{{backend}}/{{build_id}}
702
+ ```
703
+
704
+ ```sh
705
+ $ pulumi import gcp:firebase/appHostingBuild:AppHostingBuild default {{location}}/{{backend}}/{{build_id}}
706
+ ```
707
+
708
+ :param str resource_name: The name of the resource.
709
+ :param pulumi.ResourceOptions opts: Options for the resource.
710
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] annotations: Unstructured key value map that may be set by external tools to store and arbitrary metadata. They are not queryable and
711
+ should be preserved when modifying objects. **Note**: This field is non-authoritative, and will only manage the
712
+ annotations present in your configuration. Please refer to the field 'effective_annotations' for all of the annotations
713
+ present on the resource.
714
+ :param pulumi.Input[str] backend: The ID of the Backend that this Build applies to
715
+ :param pulumi.Input[str] build_id: The user-specified ID of the build being created.
716
+ :param pulumi.Input[str] display_name: Human-readable name. 63 character limit.
717
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Unstructured key value map that can be used to organize and categorize objects. **Note**: This field is
718
+ non-authoritative, and will only manage the labels present in your configuration. Please refer to the field
719
+ 'effective_labels' for all of the labels present on the resource.
720
+ :param pulumi.Input[str] location: The location of the Backend that this Build applies to
721
+ :param pulumi.Input[Union['AppHostingBuildSourceArgs', 'AppHostingBuildSourceArgsDict']] source: The source for the build.
722
+ Structure is documented below.
723
+ """
724
+ ...
725
+ @overload
726
+ def __init__(__self__,
727
+ resource_name: str,
728
+ args: AppHostingBuildArgs,
729
+ opts: Optional[pulumi.ResourceOptions] = None):
730
+ """
731
+ A single build for a backend, at a specific point codebase reference tag
732
+ and point in time. Encapsulates several resources, including an Artifact Registry
733
+ container image, a Cloud Build invocation that built the image, and the
734
+ Cloud Run revision that uses that image.
735
+
736
+ ## Example Usage
737
+
738
+ ### Firebase App Hosting Build Minimal
739
+
740
+ ```python
741
+ import pulumi
742
+ import pulumi_gcp as gcp
743
+
744
+ ### Include these blocks only once per project if you are starting from scratch ###
745
+ service_account = gcp.serviceaccount.Account("service_account",
746
+ project="my-project-name",
747
+ account_id="firebase-app-hosting-compute",
748
+ display_name="Firebase App Hosting compute service account",
749
+ create_ignore_already_exists=True)
750
+ fah = gcp.projects.Service("fah",
751
+ project="my-project-name",
752
+ service="firebaseapphosting.googleapis.com",
753
+ disable_on_destroy=False)
754
+ example_app_hosting_backend = gcp.firebase.AppHostingBackend("example",
755
+ project="my-project-name",
756
+ location="us-central1",
757
+ backend_id="mini",
758
+ app_id="1:0000000000:web:674cde32020e16fbce9dbd",
759
+ serving_locality="GLOBAL_ACCESS",
760
+ service_account=service_account.email,
761
+ opts = pulumi.ResourceOptions(depends_on=[fah]))
762
+ example = gcp.firebase.AppHostingBuild("example",
763
+ project=example_app_hosting_backend.project,
764
+ location=example_app_hosting_backend.location,
765
+ backend=example_app_hosting_backend.backend_id,
766
+ build_id="mini-build",
767
+ source={
768
+ "container": {
769
+ "image": "us-docker.pkg.dev/cloudrun/container/hello",
770
+ },
771
+ })
772
+ app_hosting_sa_runner = gcp.projects.IAMMember("app_hosting_sa_runner",
773
+ project="my-project-name",
774
+ role="roles/firebaseapphosting.computeRunner",
775
+ member=service_account.member)
776
+ ```
777
+ ### Firebase App Hosting Build Full
778
+
779
+ ```python
780
+ import pulumi
781
+ import pulumi_gcp as gcp
782
+
783
+ ### Include these blocks only once per project if you are starting from scratch ###
784
+ service_account = gcp.serviceaccount.Account("service_account",
785
+ project="my-project-name",
786
+ account_id="firebase-app-hosting-compute",
787
+ display_name="Firebase App Hosting compute service account",
788
+ create_ignore_already_exists=True)
789
+ fah = gcp.projects.Service("fah",
790
+ project="my-project-name",
791
+ service="firebaseapphosting.googleapis.com",
792
+ disable_on_destroy=False)
793
+ example_app_hosting_backend = gcp.firebase.AppHostingBackend("example",
794
+ project="my-project-name",
795
+ location="us-central1",
796
+ backend_id="full",
797
+ app_id="1:0000000000:web:674cde32020e16fbce9dbd",
798
+ serving_locality="GLOBAL_ACCESS",
799
+ service_account=service_account.email,
800
+ opts = pulumi.ResourceOptions(depends_on=[fah]))
801
+ example = gcp.firebase.AppHostingBuild("example",
802
+ project=example_app_hosting_backend.project,
803
+ location=example_app_hosting_backend.location,
804
+ backend=example_app_hosting_backend.backend_id,
805
+ build_id="full-build",
806
+ display_name="My Build",
807
+ annotations={
808
+ "key": "value",
809
+ },
810
+ labels={
811
+ "key": "value",
812
+ },
813
+ source={
814
+ "container": {
815
+ "image": "us-docker.pkg.dev/cloudrun/container/hello",
816
+ },
817
+ })
818
+ app_hosting_sa_runner = gcp.projects.IAMMember("app_hosting_sa_runner",
819
+ project="my-project-name",
820
+ role="roles/firebaseapphosting.computeRunner",
821
+ member=service_account.member)
822
+ ```
823
+ ## Import
824
+
825
+ Build can be imported using any of these accepted formats:
826
+
827
+ * `projects/{{project}}/locations/{{location}}/backends/{{backend}}/builds/{{build_id}}`
828
+
829
+ * `{{project}}/{{location}}/{{backend}}/{{build_id}}`
830
+
831
+ * `{{location}}/{{backend}}/{{build_id}}`
832
+
833
+ When using the `pulumi import` command, Build can be imported using one of the formats above. For example:
834
+
835
+ ```sh
836
+ $ pulumi import gcp:firebase/appHostingBuild:AppHostingBuild default projects/{{project}}/locations/{{location}}/backends/{{backend}}/builds/{{build_id}}
837
+ ```
838
+
839
+ ```sh
840
+ $ pulumi import gcp:firebase/appHostingBuild:AppHostingBuild default {{project}}/{{location}}/{{backend}}/{{build_id}}
841
+ ```
842
+
843
+ ```sh
844
+ $ pulumi import gcp:firebase/appHostingBuild:AppHostingBuild default {{location}}/{{backend}}/{{build_id}}
845
+ ```
846
+
847
+ :param str resource_name: The name of the resource.
848
+ :param AppHostingBuildArgs args: The arguments to use to populate this resource's properties.
849
+ :param pulumi.ResourceOptions opts: Options for the resource.
850
+ """
851
+ ...
852
+ def __init__(__self__, resource_name: str, *args, **kwargs):
853
+ resource_args, opts = _utilities.get_resource_args_opts(AppHostingBuildArgs, pulumi.ResourceOptions, *args, **kwargs)
854
+ if resource_args is not None:
855
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
856
+ else:
857
+ __self__._internal_init(resource_name, *args, **kwargs)
858
+
859
+ def _internal_init(__self__,
860
+ resource_name: str,
861
+ opts: Optional[pulumi.ResourceOptions] = None,
862
+ annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
863
+ backend: Optional[pulumi.Input[str]] = None,
864
+ build_id: Optional[pulumi.Input[str]] = None,
865
+ display_name: Optional[pulumi.Input[str]] = None,
866
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
867
+ location: Optional[pulumi.Input[str]] = None,
868
+ project: Optional[pulumi.Input[str]] = None,
869
+ source: Optional[pulumi.Input[Union['AppHostingBuildSourceArgs', 'AppHostingBuildSourceArgsDict']]] = None,
870
+ __props__=None):
871
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
872
+ if not isinstance(opts, pulumi.ResourceOptions):
873
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
874
+ if opts.id is None:
875
+ if __props__ is not None:
876
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
877
+ __props__ = AppHostingBuildArgs.__new__(AppHostingBuildArgs)
878
+
879
+ __props__.__dict__["annotations"] = annotations
880
+ if backend is None and not opts.urn:
881
+ raise TypeError("Missing required property 'backend'")
882
+ __props__.__dict__["backend"] = backend
883
+ if build_id is None and not opts.urn:
884
+ raise TypeError("Missing required property 'build_id'")
885
+ __props__.__dict__["build_id"] = build_id
886
+ __props__.__dict__["display_name"] = display_name
887
+ __props__.__dict__["labels"] = labels
888
+ if location is None and not opts.urn:
889
+ raise TypeError("Missing required property 'location'")
890
+ __props__.__dict__["location"] = location
891
+ __props__.__dict__["project"] = project
892
+ if source is None and not opts.urn:
893
+ raise TypeError("Missing required property 'source'")
894
+ __props__.__dict__["source"] = source
895
+ __props__.__dict__["build_logs_uri"] = None
896
+ __props__.__dict__["create_time"] = None
897
+ __props__.__dict__["effective_annotations"] = None
898
+ __props__.__dict__["effective_labels"] = None
899
+ __props__.__dict__["environment"] = None
900
+ __props__.__dict__["error_source"] = None
901
+ __props__.__dict__["errors"] = None
902
+ __props__.__dict__["etag"] = None
903
+ __props__.__dict__["image"] = None
904
+ __props__.__dict__["name"] = None
905
+ __props__.__dict__["pulumi_labels"] = None
906
+ __props__.__dict__["state"] = None
907
+ __props__.__dict__["uid"] = None
908
+ __props__.__dict__["update_time"] = None
909
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["effectiveLabels", "pulumiLabels"])
910
+ opts = pulumi.ResourceOptions.merge(opts, secret_opts)
911
+ super(AppHostingBuild, __self__).__init__(
912
+ 'gcp:firebase/appHostingBuild:AppHostingBuild',
913
+ resource_name,
914
+ __props__,
915
+ opts)
916
+
917
+ @staticmethod
918
+ def get(resource_name: str,
919
+ id: pulumi.Input[str],
920
+ opts: Optional[pulumi.ResourceOptions] = None,
921
+ annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
922
+ backend: Optional[pulumi.Input[str]] = None,
923
+ build_id: Optional[pulumi.Input[str]] = None,
924
+ build_logs_uri: Optional[pulumi.Input[str]] = None,
925
+ create_time: Optional[pulumi.Input[str]] = None,
926
+ display_name: Optional[pulumi.Input[str]] = None,
927
+ effective_annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
928
+ effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
929
+ environment: Optional[pulumi.Input[str]] = None,
930
+ error_source: Optional[pulumi.Input[str]] = None,
931
+ errors: Optional[pulumi.Input[Sequence[pulumi.Input[Union['AppHostingBuildErrorArgs', 'AppHostingBuildErrorArgsDict']]]]] = None,
932
+ etag: Optional[pulumi.Input[str]] = None,
933
+ image: Optional[pulumi.Input[str]] = None,
934
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
935
+ location: Optional[pulumi.Input[str]] = None,
936
+ name: Optional[pulumi.Input[str]] = None,
937
+ project: Optional[pulumi.Input[str]] = None,
938
+ pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
939
+ source: Optional[pulumi.Input[Union['AppHostingBuildSourceArgs', 'AppHostingBuildSourceArgsDict']]] = None,
940
+ state: Optional[pulumi.Input[str]] = None,
941
+ uid: Optional[pulumi.Input[str]] = None,
942
+ update_time: Optional[pulumi.Input[str]] = None) -> 'AppHostingBuild':
943
+ """
944
+ Get an existing AppHostingBuild resource's state with the given name, id, and optional extra
945
+ properties used to qualify the lookup.
946
+
947
+ :param str resource_name: The unique name of the resulting resource.
948
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
949
+ :param pulumi.ResourceOptions opts: Options for the resource.
950
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] annotations: Unstructured key value map that may be set by external tools to store and arbitrary metadata. They are not queryable and
951
+ should be preserved when modifying objects. **Note**: This field is non-authoritative, and will only manage the
952
+ annotations present in your configuration. Please refer to the field 'effective_annotations' for all of the annotations
953
+ present on the resource.
954
+ :param pulumi.Input[str] backend: The ID of the Backend that this Build applies to
955
+ :param pulumi.Input[str] build_id: The user-specified ID of the build being created.
956
+ :param pulumi.Input[str] build_logs_uri: The location of the [Cloud Build
957
+ logs](https://cloud.google.com/build/docs/view-build-results) for the build
958
+ process.
959
+ :param pulumi.Input[str] create_time: Time at which the build was created.
960
+ :param pulumi.Input[str] display_name: Human-readable name. 63 character limit.
961
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
962
+ :param pulumi.Input[str] environment: The environment name of the backend when this build was created.
963
+ :param pulumi.Input[str] error_source: The source of the error for the build, if in a `FAILED` state.
964
+ Possible values:
965
+ CLOUD_BUILD
966
+ CLOUD_RUN
967
+ :param pulumi.Input[Sequence[pulumi.Input[Union['AppHostingBuildErrorArgs', 'AppHostingBuildErrorArgsDict']]]] errors: The `Status` type defines a logical error model that is suitable for
968
+ different programming environments, including REST APIs and RPC APIs. It is
969
+ used by [gRPC](https://github.com/grpc). Each `Status` message contains
970
+ three pieces of data: error code, error message, and error details.
971
+ You can find out more about this error model and how to work with it in the
972
+ [API Design Guide](https://cloud.google.com/apis/design/errors).
973
+ Structure is documented below.
974
+ :param pulumi.Input[str] etag: Server-computed checksum based on other values; may be sent
975
+ on update or delete to ensure operation is done on expected resource.
976
+ :param pulumi.Input[str] image: The Artifact Registry
977
+ [container
978
+ image](https://cloud.google.com/artifact-registry/docs/reference/rest/v1/projects.locations.repositories.dockerImages)
979
+ URI, used by the Cloud Run
980
+ [`revision`](https://cloud.google.com/run/docs/reference/rest/v2/projects.locations.services.revisions)
981
+ for this build.
982
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Unstructured key value map that can be used to organize and categorize objects. **Note**: This field is
983
+ non-authoritative, and will only manage the labels present in your configuration. Please refer to the field
984
+ 'effective_labels' for all of the labels present on the resource.
985
+ :param pulumi.Input[str] location: The location of the Backend that this Build applies to
986
+ :param pulumi.Input[str] name: Identifier. The resource name of the build.
987
+ Format:
988
+ `projects/{project}/locations/{locationId}/backends/{backendId}/builds/{buildId}`.
989
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
990
+ and default labels configured on the provider.
991
+ :param pulumi.Input[Union['AppHostingBuildSourceArgs', 'AppHostingBuildSourceArgsDict']] source: The source for the build.
992
+ Structure is documented below.
993
+ :param pulumi.Input[str] state: The state of the build.
994
+ Possible values:
995
+ BUILDING
996
+ BUILT
997
+ DEPLOYING
998
+ READY
999
+ FAILED
1000
+ :param pulumi.Input[str] uid: System-assigned, unique identifier.
1001
+ :param pulumi.Input[str] update_time: Time at which the build was last updated.
1002
+ """
1003
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
1004
+
1005
+ __props__ = _AppHostingBuildState.__new__(_AppHostingBuildState)
1006
+
1007
+ __props__.__dict__["annotations"] = annotations
1008
+ __props__.__dict__["backend"] = backend
1009
+ __props__.__dict__["build_id"] = build_id
1010
+ __props__.__dict__["build_logs_uri"] = build_logs_uri
1011
+ __props__.__dict__["create_time"] = create_time
1012
+ __props__.__dict__["display_name"] = display_name
1013
+ __props__.__dict__["effective_annotations"] = effective_annotations
1014
+ __props__.__dict__["effective_labels"] = effective_labels
1015
+ __props__.__dict__["environment"] = environment
1016
+ __props__.__dict__["error_source"] = error_source
1017
+ __props__.__dict__["errors"] = errors
1018
+ __props__.__dict__["etag"] = etag
1019
+ __props__.__dict__["image"] = image
1020
+ __props__.__dict__["labels"] = labels
1021
+ __props__.__dict__["location"] = location
1022
+ __props__.__dict__["name"] = name
1023
+ __props__.__dict__["project"] = project
1024
+ __props__.__dict__["pulumi_labels"] = pulumi_labels
1025
+ __props__.__dict__["source"] = source
1026
+ __props__.__dict__["state"] = state
1027
+ __props__.__dict__["uid"] = uid
1028
+ __props__.__dict__["update_time"] = update_time
1029
+ return AppHostingBuild(resource_name, opts=opts, __props__=__props__)
1030
+
1031
+ @property
1032
+ @pulumi.getter
1033
+ def annotations(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
1034
+ """
1035
+ Unstructured key value map that may be set by external tools to store and arbitrary metadata. They are not queryable and
1036
+ should be preserved when modifying objects. **Note**: This field is non-authoritative, and will only manage the
1037
+ annotations present in your configuration. Please refer to the field 'effective_annotations' for all of the annotations
1038
+ present on the resource.
1039
+ """
1040
+ return pulumi.get(self, "annotations")
1041
+
1042
+ @property
1043
+ @pulumi.getter
1044
+ def backend(self) -> pulumi.Output[str]:
1045
+ """
1046
+ The ID of the Backend that this Build applies to
1047
+ """
1048
+ return pulumi.get(self, "backend")
1049
+
1050
+ @property
1051
+ @pulumi.getter(name="buildId")
1052
+ def build_id(self) -> pulumi.Output[str]:
1053
+ """
1054
+ The user-specified ID of the build being created.
1055
+ """
1056
+ return pulumi.get(self, "build_id")
1057
+
1058
+ @property
1059
+ @pulumi.getter(name="buildLogsUri")
1060
+ def build_logs_uri(self) -> pulumi.Output[str]:
1061
+ """
1062
+ The location of the [Cloud Build
1063
+ logs](https://cloud.google.com/build/docs/view-build-results) for the build
1064
+ process.
1065
+ """
1066
+ return pulumi.get(self, "build_logs_uri")
1067
+
1068
+ @property
1069
+ @pulumi.getter(name="createTime")
1070
+ def create_time(self) -> pulumi.Output[str]:
1071
+ """
1072
+ Time at which the build was created.
1073
+ """
1074
+ return pulumi.get(self, "create_time")
1075
+
1076
+ @property
1077
+ @pulumi.getter(name="displayName")
1078
+ def display_name(self) -> pulumi.Output[Optional[str]]:
1079
+ """
1080
+ Human-readable name. 63 character limit.
1081
+ """
1082
+ return pulumi.get(self, "display_name")
1083
+
1084
+ @property
1085
+ @pulumi.getter(name="effectiveAnnotations")
1086
+ def effective_annotations(self) -> pulumi.Output[Mapping[str, str]]:
1087
+ return pulumi.get(self, "effective_annotations")
1088
+
1089
+ @property
1090
+ @pulumi.getter(name="effectiveLabels")
1091
+ def effective_labels(self) -> pulumi.Output[Mapping[str, str]]:
1092
+ """
1093
+ All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
1094
+ """
1095
+ return pulumi.get(self, "effective_labels")
1096
+
1097
+ @property
1098
+ @pulumi.getter
1099
+ def environment(self) -> pulumi.Output[str]:
1100
+ """
1101
+ The environment name of the backend when this build was created.
1102
+ """
1103
+ return pulumi.get(self, "environment")
1104
+
1105
+ @property
1106
+ @pulumi.getter(name="errorSource")
1107
+ def error_source(self) -> pulumi.Output[str]:
1108
+ """
1109
+ The source of the error for the build, if in a `FAILED` state.
1110
+ Possible values:
1111
+ CLOUD_BUILD
1112
+ CLOUD_RUN
1113
+ """
1114
+ return pulumi.get(self, "error_source")
1115
+
1116
+ @property
1117
+ @pulumi.getter
1118
+ def errors(self) -> pulumi.Output[Sequence['outputs.AppHostingBuildError']]:
1119
+ """
1120
+ The `Status` type defines a logical error model that is suitable for
1121
+ different programming environments, including REST APIs and RPC APIs. It is
1122
+ used by [gRPC](https://github.com/grpc). Each `Status` message contains
1123
+ three pieces of data: error code, error message, and error details.
1124
+ You can find out more about this error model and how to work with it in the
1125
+ [API Design Guide](https://cloud.google.com/apis/design/errors).
1126
+ Structure is documented below.
1127
+ """
1128
+ return pulumi.get(self, "errors")
1129
+
1130
+ @property
1131
+ @pulumi.getter
1132
+ def etag(self) -> pulumi.Output[str]:
1133
+ """
1134
+ Server-computed checksum based on other values; may be sent
1135
+ on update or delete to ensure operation is done on expected resource.
1136
+ """
1137
+ return pulumi.get(self, "etag")
1138
+
1139
+ @property
1140
+ @pulumi.getter
1141
+ def image(self) -> pulumi.Output[str]:
1142
+ """
1143
+ The Artifact Registry
1144
+ [container
1145
+ image](https://cloud.google.com/artifact-registry/docs/reference/rest/v1/projects.locations.repositories.dockerImages)
1146
+ URI, used by the Cloud Run
1147
+ [`revision`](https://cloud.google.com/run/docs/reference/rest/v2/projects.locations.services.revisions)
1148
+ for this build.
1149
+ """
1150
+ return pulumi.get(self, "image")
1151
+
1152
+ @property
1153
+ @pulumi.getter
1154
+ def labels(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
1155
+ """
1156
+ Unstructured key value map that can be used to organize and categorize objects. **Note**: This field is
1157
+ non-authoritative, and will only manage the labels present in your configuration. Please refer to the field
1158
+ 'effective_labels' for all of the labels present on the resource.
1159
+ """
1160
+ return pulumi.get(self, "labels")
1161
+
1162
+ @property
1163
+ @pulumi.getter
1164
+ def location(self) -> pulumi.Output[str]:
1165
+ """
1166
+ The location of the Backend that this Build applies to
1167
+ """
1168
+ return pulumi.get(self, "location")
1169
+
1170
+ @property
1171
+ @pulumi.getter
1172
+ def name(self) -> pulumi.Output[str]:
1173
+ """
1174
+ Identifier. The resource name of the build.
1175
+ Format:
1176
+ `projects/{project}/locations/{locationId}/backends/{backendId}/builds/{buildId}`.
1177
+ """
1178
+ return pulumi.get(self, "name")
1179
+
1180
+ @property
1181
+ @pulumi.getter
1182
+ def project(self) -> pulumi.Output[str]:
1183
+ return pulumi.get(self, "project")
1184
+
1185
+ @property
1186
+ @pulumi.getter(name="pulumiLabels")
1187
+ def pulumi_labels(self) -> pulumi.Output[Mapping[str, str]]:
1188
+ """
1189
+ The combination of labels configured directly on the resource
1190
+ and default labels configured on the provider.
1191
+ """
1192
+ return pulumi.get(self, "pulumi_labels")
1193
+
1194
+ @property
1195
+ @pulumi.getter
1196
+ def source(self) -> pulumi.Output['outputs.AppHostingBuildSource']:
1197
+ """
1198
+ The source for the build.
1199
+ Structure is documented below.
1200
+ """
1201
+ return pulumi.get(self, "source")
1202
+
1203
+ @property
1204
+ @pulumi.getter
1205
+ def state(self) -> pulumi.Output[str]:
1206
+ """
1207
+ The state of the build.
1208
+ Possible values:
1209
+ BUILDING
1210
+ BUILT
1211
+ DEPLOYING
1212
+ READY
1213
+ FAILED
1214
+ """
1215
+ return pulumi.get(self, "state")
1216
+
1217
+ @property
1218
+ @pulumi.getter
1219
+ def uid(self) -> pulumi.Output[str]:
1220
+ """
1221
+ System-assigned, unique identifier.
1222
+ """
1223
+ return pulumi.get(self, "uid")
1224
+
1225
+ @property
1226
+ @pulumi.getter(name="updateTime")
1227
+ def update_time(self) -> pulumi.Output[str]:
1228
+ """
1229
+ Time at which the build was last updated.
1230
+ """
1231
+ return pulumi.get(self, "update_time")
1232
+