pulumi-gcp 8.25.0a1743489606__py3-none-any.whl → 8.25.0a1743706148__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.
- pulumi_gcp/__init__.py +104 -0
- pulumi_gcp/_inputs.py +48 -0
- pulumi_gcp/accesscontextmanager/_inputs.py +324 -12
- pulumi_gcp/accesscontextmanager/outputs.py +204 -12
- pulumi_gcp/accesscontextmanager/service_perimeter.py +0 -2
- pulumi_gcp/apigee/__init__.py +1 -0
- pulumi_gcp/apigee/_inputs.py +58 -0
- pulumi_gcp/apigee/dns_zone.py +491 -0
- pulumi_gcp/apigee/outputs.py +53 -0
- pulumi_gcp/bigquery/reservation_assignment.py +7 -7
- pulumi_gcp/bigtable/table.py +8 -8
- pulumi_gcp/chronicle/data_access_label.py +2 -2
- pulumi_gcp/chronicle/data_access_scope.py +16 -0
- pulumi_gcp/chronicle/reference_list.py +16 -0
- pulumi_gcp/chronicle/retrohunt.py +16 -0
- pulumi_gcp/chronicle/rule.py +16 -0
- pulumi_gcp/chronicle/rule_deployment.py +16 -0
- pulumi_gcp/chronicle/watchlist.py +16 -0
- pulumi_gcp/cloudfunctionsv2/_inputs.py +20 -0
- pulumi_gcp/cloudfunctionsv2/outputs.py +25 -0
- pulumi_gcp/cloudrunv2/_inputs.py +20 -0
- pulumi_gcp/cloudrunv2/outputs.py +25 -0
- pulumi_gcp/compute/__init__.py +1 -0
- pulumi_gcp/compute/_inputs.py +2011 -43
- pulumi_gcp/compute/backend_service.py +121 -3
- pulumi_gcp/compute/get_backend_service.py +15 -4
- pulumi_gcp/compute/get_instance.py +12 -1
- pulumi_gcp/compute/get_region_backend_service.py +482 -0
- pulumi_gcp/compute/get_router.py +12 -1
- pulumi_gcp/compute/get_subnetwork.py +43 -1
- pulumi_gcp/compute/instance.py +47 -0
- pulumi_gcp/compute/instance_from_machine_image.py +94 -0
- pulumi_gcp/compute/instance_from_template.py +47 -0
- pulumi_gcp/compute/outputs.py +3578 -139
- pulumi_gcp/compute/public_delegated_prefix.py +69 -15
- pulumi_gcp/compute/router.py +54 -0
- pulumi_gcp/compute/subnetwork.py +35 -5
- pulumi_gcp/config/__init__.pyi +2 -0
- pulumi_gcp/config/outputs.py +27 -0
- pulumi_gcp/config/vars.py +4 -0
- pulumi_gcp/container/_inputs.py +12 -12
- pulumi_gcp/container/cluster.py +47 -0
- pulumi_gcp/container/get_cluster.py +12 -1
- pulumi_gcp/container/get_registry_image.py +4 -0
- pulumi_gcp/container/get_registry_repository.py +4 -0
- pulumi_gcp/container/outputs.py +8 -8
- pulumi_gcp/container/registry.py +4 -0
- pulumi_gcp/datafusion/instance.py +68 -0
- pulumi_gcp/dataproc/__init__.py +8 -0
- pulumi_gcp/dataproc/_inputs.py +196 -0
- pulumi_gcp/dataproc/get_metastore_database_iam_policy.py +193 -0
- pulumi_gcp/dataproc/get_metastore_table_iam_policy.py +210 -0
- pulumi_gcp/dataproc/metastore_database_iam_binding.py +848 -0
- pulumi_gcp/dataproc/metastore_database_iam_member.py +848 -0
- pulumi_gcp/dataproc/metastore_database_iam_policy.py +687 -0
- pulumi_gcp/dataproc/metastore_federation.py +38 -2
- pulumi_gcp/dataproc/metastore_table_iam_binding.py +895 -0
- pulumi_gcp/dataproc/metastore_table_iam_member.py +895 -0
- pulumi_gcp/dataproc/metastore_table_iam_policy.py +734 -0
- pulumi_gcp/dataproc/outputs.py +112 -0
- pulumi_gcp/datastream/_inputs.py +311 -94
- pulumi_gcp/datastream/connection_profile.py +40 -0
- pulumi_gcp/datastream/outputs.py +244 -51
- pulumi_gcp/datastream/stream.py +216 -0
- pulumi_gcp/discoveryengine/__init__.py +1 -0
- pulumi_gcp/discoveryengine/sitemap.py +504 -0
- pulumi_gcp/eventarc/__init__.py +1 -0
- pulumi_gcp/eventarc/enrollment.py +980 -0
- pulumi_gcp/firebase/__init__.py +1 -0
- pulumi_gcp/firebase/_inputs.py +484 -0
- pulumi_gcp/firebase/app_hosting_build.py +1232 -0
- pulumi_gcp/firebase/outputs.py +333 -0
- pulumi_gcp/identityplatform/_inputs.py +91 -0
- pulumi_gcp/identityplatform/outputs.py +73 -0
- pulumi_gcp/identityplatform/tenant.py +56 -0
- pulumi_gcp/managedkafka/cluster.py +2 -2
- pulumi_gcp/memorystore/__init__.py +1 -0
- pulumi_gcp/memorystore/_inputs.py +826 -0
- pulumi_gcp/memorystore/get_instance.py +23 -1
- pulumi_gcp/memorystore/instance.py +344 -23
- pulumi_gcp/memorystore/instance_desired_user_created_endpoints.py +843 -0
- pulumi_gcp/memorystore/outputs.py +889 -8
- pulumi_gcp/networksecurity/_inputs.py +473 -0
- pulumi_gcp/networksecurity/mirroring_deployment_group.py +44 -16
- pulumi_gcp/networksecurity/mirroring_endpoint_group.py +94 -36
- pulumi_gcp/networksecurity/mirroring_endpoint_group_association.py +53 -8
- pulumi_gcp/networksecurity/outputs.py +291 -1
- pulumi_gcp/networksecurity/security_profile.py +8 -0
- pulumi_gcp/organizations/__init__.py +1 -0
- pulumi_gcp/organizations/get_iam_custom_roles.py +164 -0
- pulumi_gcp/organizations/outputs.py +96 -0
- pulumi_gcp/parametermanager/get_parameter.py +16 -1
- pulumi_gcp/parametermanager/get_parameter_version.py +19 -1
- pulumi_gcp/parametermanager/get_parameter_version_render.py +4 -0
- pulumi_gcp/parametermanager/get_parameters.py +4 -0
- pulumi_gcp/parametermanager/get_regional_parameter.py +4 -0
- pulumi_gcp/parametermanager/get_regional_parameter_version.py +4 -0
- pulumi_gcp/parametermanager/get_regional_parameter_version_render.py +8 -0
- pulumi_gcp/parametermanager/get_regional_parameters.py +4 -0
- pulumi_gcp/parametermanager/outputs.py +11 -0
- pulumi_gcp/parametermanager/parameter.py +88 -0
- pulumi_gcp/parametermanager/parameter_version.py +74 -0
- pulumi_gcp/parametermanager/regional_parameter.py +12 -0
- pulumi_gcp/parametermanager/regional_parameter_version.py +12 -0
- pulumi_gcp/provider.py +15 -0
- pulumi_gcp/pulumi-plugin.json +1 -1
- pulumi_gcp/redis/_inputs.py +136 -0
- pulumi_gcp/redis/cluster.py +54 -0
- pulumi_gcp/redis/outputs.py +114 -0
- pulumi_gcp/secretmanager/regional_secret_version.py +0 -16
- pulumi_gcp/storage/__init__.py +4 -0
- pulumi_gcp/storage/_inputs.py +596 -0
- pulumi_gcp/storage/bucket.py +7 -7
- pulumi_gcp/storage/control_folder_intelligence_config.py +420 -0
- pulumi_gcp/storage/control_organization_intelligence_config.py +420 -0
- pulumi_gcp/storage/control_project_intelligence_config.py +49 -7
- pulumi_gcp/storage/get_bucket_object_content.py +16 -1
- pulumi_gcp/storage/get_control_folder_intelligence_config.py +160 -0
- pulumi_gcp/storage/get_control_organization_intelligence_config.py +160 -0
- pulumi_gcp/storage/get_control_project_intelligence_config.py +32 -2
- pulumi_gcp/storage/outputs.py +2132 -1312
- pulumi_gcp/workbench/instance.py +14 -2
- {pulumi_gcp-8.25.0a1743489606.dist-info → pulumi_gcp-8.25.0a1743706148.dist-info}/METADATA +1 -1
- {pulumi_gcp-8.25.0a1743489606.dist-info → pulumi_gcp-8.25.0a1743706148.dist-info}/RECORD +126 -107
- {pulumi_gcp-8.25.0a1743489606.dist-info → pulumi_gcp-8.25.0a1743706148.dist-info}/WHEEL +0 -0
- {pulumi_gcp-8.25.0a1743489606.dist-info → pulumi_gcp-8.25.0a1743706148.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
|
+
|