pulumi-gcp 9.3.0a1759561069__py3-none-any.whl → 9.3.0a1759868184__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 +32 -0
- pulumi_gcp/apigee/__init__.py +1 -0
- pulumi_gcp/apigee/api_deployment.py +372 -0
- pulumi_gcp/apihub/plugin.py +1 -1
- pulumi_gcp/artifactregistry/__init__.py +2 -0
- pulumi_gcp/artifactregistry/get_maven_artifacts.py +164 -0
- pulumi_gcp/artifactregistry/get_npm_packages.py +164 -0
- pulumi_gcp/artifactregistry/outputs.py +165 -0
- pulumi_gcp/cloudrunv2/_inputs.py +823 -15
- pulumi_gcp/cloudrunv2/outputs.py +1749 -743
- pulumi_gcp/cloudrunv2/worker_pool.py +110 -0
- pulumi_gcp/compute/_inputs.py +28 -0
- pulumi_gcp/compute/outputs.py +20 -1
- pulumi_gcp/compute/vpn_tunnel.py +97 -23
- pulumi_gcp/compute/wire_group.py +2 -0
- pulumi_gcp/dataloss/_inputs.py +970 -30
- pulumi_gcp/dataloss/outputs.py +850 -20
- pulumi_gcp/dataloss/prevention_discovery_config.py +54 -0
- pulumi_gcp/diagflow/_inputs.py +66 -0
- pulumi_gcp/diagflow/conversation_profile.py +84 -0
- pulumi_gcp/diagflow/outputs.py +57 -0
- pulumi_gcp/discoveryengine/__init__.py +1 -0
- pulumi_gcp/discoveryengine/_inputs.py +187 -0
- pulumi_gcp/discoveryengine/data_connector.py +1368 -0
- pulumi_gcp/discoveryengine/outputs.py +135 -0
- pulumi_gcp/discoveryengine/search_engine.py +47 -0
- pulumi_gcp/gkebackup/_inputs.py +111 -0
- pulumi_gcp/gkebackup/backup_plan.py +72 -0
- pulumi_gcp/gkebackup/outputs.py +84 -0
- pulumi_gcp/kms/__init__.py +1 -0
- pulumi_gcp/kms/_inputs.py +43 -0
- pulumi_gcp/kms/organization_kaj_policy_config.py +290 -0
- pulumi_gcp/kms/outputs.py +43 -0
- pulumi_gcp/logging/metric.py +2 -2
- pulumi_gcp/looker/instance.py +51 -0
- pulumi_gcp/managedkafka/connect_cluster.py +20 -82
- pulumi_gcp/managedkafka/connector.py +24 -94
- pulumi_gcp/netapp/_inputs.py +28 -5
- pulumi_gcp/netapp/outputs.py +19 -3
- pulumi_gcp/netapp/storage_pool.py +56 -0
- pulumi_gcp/netapp/volume.py +28 -0
- pulumi_gcp/networkconnectivity/spoke.py +14 -14
- pulumi_gcp/networksecurity/mirroring_endpoint_group.py +211 -23
- pulumi_gcp/oracledatabase/odb_network.py +101 -2
- pulumi_gcp/orgpolicy/policy.py +2 -2
- pulumi_gcp/privilegedaccessmanager/_inputs.py +27 -4
- pulumi_gcp/privilegedaccessmanager/outputs.py +31 -6
- pulumi_gcp/pubsub/get_subscription.py +12 -1
- pulumi_gcp/pubsub/get_topic.py +15 -4
- pulumi_gcp/pubsub/subscription.py +153 -7
- pulumi_gcp/pubsub/topic.py +145 -3
- pulumi_gcp/pulumi-plugin.json +1 -1
- pulumi_gcp/saasruntime/__init__.py +1 -0
- pulumi_gcp/saasruntime/_inputs.py +60 -0
- pulumi_gcp/saasruntime/outputs.py +55 -0
- pulumi_gcp/saasruntime/rollout_kind.py +1086 -0
- pulumi_gcp/sql/_inputs.py +122 -3
- pulumi_gcp/sql/database_instance.py +47 -0
- pulumi_gcp/sql/get_database_instance.py +12 -1
- pulumi_gcp/sql/outputs.py +233 -2
- pulumi_gcp/storage/bucket.py +52 -24
- pulumi_gcp/storage/get_insights_dataset_config.py +12 -1
- pulumi_gcp/storage/insights_dataset_config.py +49 -0
- pulumi_gcp/storage/insights_report_config.py +47 -0
- pulumi_gcp/vertex/_inputs.py +339 -1
- pulumi_gcp/vertex/ai_endpoint.py +4 -4
- pulumi_gcp/vertex/ai_endpoint_with_model_garden_deployment.py +102 -0
- pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
- pulumi_gcp/vertex/ai_index.py +74 -2
- pulumi_gcp/vertex/ai_index_endpoint.py +54 -0
- pulumi_gcp/vertex/get_ai_index.py +12 -1
- pulumi_gcp/vertex/outputs.py +303 -1
- {pulumi_gcp-9.3.0a1759561069.dist-info → pulumi_gcp-9.3.0a1759868184.dist-info}/METADATA +1 -1
- {pulumi_gcp-9.3.0a1759561069.dist-info → pulumi_gcp-9.3.0a1759868184.dist-info}/RECORD +76 -70
- {pulumi_gcp-9.3.0a1759561069.dist-info → pulumi_gcp-9.3.0a1759868184.dist-info}/WHEEL +0 -0
- {pulumi_gcp-9.3.0a1759561069.dist-info → pulumi_gcp-9.3.0a1759868184.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,1086 @@
|
|
1
|
+
# coding=utf-8
|
2
|
+
# *** WARNING: this file was generated by pulumi-language-python. ***
|
3
|
+
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
4
|
+
|
5
|
+
import builtins as _builtins
|
6
|
+
import warnings
|
7
|
+
import sys
|
8
|
+
import pulumi
|
9
|
+
import pulumi.runtime
|
10
|
+
from typing import Any, Mapping, Optional, Sequence, Union, overload
|
11
|
+
if sys.version_info >= (3, 11):
|
12
|
+
from typing import NotRequired, TypedDict, TypeAlias
|
13
|
+
else:
|
14
|
+
from typing_extensions import NotRequired, TypedDict, TypeAlias
|
15
|
+
from .. import _utilities
|
16
|
+
from . import outputs
|
17
|
+
from ._inputs import *
|
18
|
+
|
19
|
+
__all__ = ['RolloutKindArgs', 'RolloutKind']
|
20
|
+
|
21
|
+
@pulumi.input_type
|
22
|
+
class RolloutKindArgs:
|
23
|
+
def __init__(__self__, *,
|
24
|
+
location: pulumi.Input[_builtins.str],
|
25
|
+
rollout_kind_id: pulumi.Input[_builtins.str],
|
26
|
+
unit_kind: pulumi.Input[_builtins.str],
|
27
|
+
annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
28
|
+
error_budget: Optional[pulumi.Input['RolloutKindErrorBudgetArgs']] = None,
|
29
|
+
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
30
|
+
project: Optional[pulumi.Input[_builtins.str]] = None,
|
31
|
+
rollout_orchestration_strategy: Optional[pulumi.Input[_builtins.str]] = None,
|
32
|
+
unit_filter: Optional[pulumi.Input[_builtins.str]] = None,
|
33
|
+
update_unit_kind_strategy: Optional[pulumi.Input[_builtins.str]] = None):
|
34
|
+
"""
|
35
|
+
The set of arguments for constructing a RolloutKind resource.
|
36
|
+
:param pulumi.Input[_builtins.str] location: Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
|
37
|
+
:param pulumi.Input[_builtins.str] rollout_kind_id: The ID value for the new rollout kind.
|
38
|
+
:param pulumi.Input[_builtins.str] unit_kind: UnitKind that this rollout kind corresponds to. Rollouts stemming from this
|
39
|
+
rollout kind will target the units of this unit kind. In other words, this
|
40
|
+
defines the population of target units to be upgraded by rollouts.
|
41
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] annotations: Annotations is an unstructured key-value map stored with a resource that
|
42
|
+
may be set by external tools to store and retrieve arbitrary metadata.
|
43
|
+
They are not queryable and should be preserved when modifying objects.
|
44
|
+
More info: https://kubernetes.io/docs/user-guide/annotations
|
45
|
+
**Note**: This field is non-authoritative, and will only manage the annotations present in your configuration.
|
46
|
+
Please refer to the field `effective_annotations` for all of the annotations present on the resource.
|
47
|
+
:param pulumi.Input['RolloutKindErrorBudgetArgs'] error_budget: The configuration for error budget. If the number of failed units exceeds
|
48
|
+
max(allowed_count, allowed_ratio * total_units), the rollout will be paused.
|
49
|
+
Structure is documented below.
|
50
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: The labels on the resource, which can be used for categorization.
|
51
|
+
similar to Kubernetes resource labels.
|
52
|
+
**Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
|
53
|
+
Please refer to the field `effective_labels` for all of the labels present on the resource.
|
54
|
+
:param pulumi.Input[_builtins.str] project: The ID of the project in which the resource belongs.
|
55
|
+
If it is not provided, the provider project is used.
|
56
|
+
:param pulumi.Input[_builtins.str] rollout_orchestration_strategy: The strategy used for executing a Rollout. This is a required field.
|
57
|
+
There are two supported values strategies which are used to control a rollout.
|
58
|
+
- "Google.Cloud.Simple.AllAtOnce"
|
59
|
+
- "Google.Cloud.Simple.OneLocationAtATime"
|
60
|
+
A rollout with one of these simple strategies will rollout across
|
61
|
+
all locations defined in the associated UnitKind's Saas Locations.
|
62
|
+
:param pulumi.Input[_builtins.str] unit_filter: CEL(https://github.com/google/cel-spec) formatted filter string against
|
63
|
+
Unit. The filter will be applied to determine the eligible unit population.
|
64
|
+
This filter can only reduce, but not expand the scope of the rollout.
|
65
|
+
:param pulumi.Input[_builtins.str] update_unit_kind_strategy: The config for updating the unit kind. By default, the unit kind will be
|
66
|
+
updated on the rollout start.
|
67
|
+
Possible values:
|
68
|
+
UPDATE_UNIT_KIND_STRATEGY_ON_START
|
69
|
+
UPDATE_UNIT_KIND_STRATEGY_NEVER
|
70
|
+
Possible values are: `UPDATE_UNIT_KIND_STRATEGY_ON_START`, `UPDATE_UNIT_KIND_STRATEGY_NEVER`.
|
71
|
+
"""
|
72
|
+
pulumi.set(__self__, "location", location)
|
73
|
+
pulumi.set(__self__, "rollout_kind_id", rollout_kind_id)
|
74
|
+
pulumi.set(__self__, "unit_kind", unit_kind)
|
75
|
+
if annotations is not None:
|
76
|
+
pulumi.set(__self__, "annotations", annotations)
|
77
|
+
if error_budget is not None:
|
78
|
+
pulumi.set(__self__, "error_budget", error_budget)
|
79
|
+
if labels is not None:
|
80
|
+
pulumi.set(__self__, "labels", labels)
|
81
|
+
if project is not None:
|
82
|
+
pulumi.set(__self__, "project", project)
|
83
|
+
if rollout_orchestration_strategy is not None:
|
84
|
+
pulumi.set(__self__, "rollout_orchestration_strategy", rollout_orchestration_strategy)
|
85
|
+
if unit_filter is not None:
|
86
|
+
pulumi.set(__self__, "unit_filter", unit_filter)
|
87
|
+
if update_unit_kind_strategy is not None:
|
88
|
+
pulumi.set(__self__, "update_unit_kind_strategy", update_unit_kind_strategy)
|
89
|
+
|
90
|
+
@_builtins.property
|
91
|
+
@pulumi.getter
|
92
|
+
def location(self) -> pulumi.Input[_builtins.str]:
|
93
|
+
"""
|
94
|
+
Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
|
95
|
+
"""
|
96
|
+
return pulumi.get(self, "location")
|
97
|
+
|
98
|
+
@location.setter
|
99
|
+
def location(self, value: pulumi.Input[_builtins.str]):
|
100
|
+
pulumi.set(self, "location", value)
|
101
|
+
|
102
|
+
@_builtins.property
|
103
|
+
@pulumi.getter(name="rolloutKindId")
|
104
|
+
def rollout_kind_id(self) -> pulumi.Input[_builtins.str]:
|
105
|
+
"""
|
106
|
+
The ID value for the new rollout kind.
|
107
|
+
"""
|
108
|
+
return pulumi.get(self, "rollout_kind_id")
|
109
|
+
|
110
|
+
@rollout_kind_id.setter
|
111
|
+
def rollout_kind_id(self, value: pulumi.Input[_builtins.str]):
|
112
|
+
pulumi.set(self, "rollout_kind_id", value)
|
113
|
+
|
114
|
+
@_builtins.property
|
115
|
+
@pulumi.getter(name="unitKind")
|
116
|
+
def unit_kind(self) -> pulumi.Input[_builtins.str]:
|
117
|
+
"""
|
118
|
+
UnitKind that this rollout kind corresponds to. Rollouts stemming from this
|
119
|
+
rollout kind will target the units of this unit kind. In other words, this
|
120
|
+
defines the population of target units to be upgraded by rollouts.
|
121
|
+
"""
|
122
|
+
return pulumi.get(self, "unit_kind")
|
123
|
+
|
124
|
+
@unit_kind.setter
|
125
|
+
def unit_kind(self, value: pulumi.Input[_builtins.str]):
|
126
|
+
pulumi.set(self, "unit_kind", value)
|
127
|
+
|
128
|
+
@_builtins.property
|
129
|
+
@pulumi.getter
|
130
|
+
def annotations(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
|
131
|
+
"""
|
132
|
+
Annotations is an unstructured key-value map stored with a resource that
|
133
|
+
may be set by external tools to store and retrieve arbitrary metadata.
|
134
|
+
They are not queryable and should be preserved when modifying objects.
|
135
|
+
More info: https://kubernetes.io/docs/user-guide/annotations
|
136
|
+
**Note**: This field is non-authoritative, and will only manage the annotations present in your configuration.
|
137
|
+
Please refer to the field `effective_annotations` for all of the annotations present on the resource.
|
138
|
+
"""
|
139
|
+
return pulumi.get(self, "annotations")
|
140
|
+
|
141
|
+
@annotations.setter
|
142
|
+
def annotations(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
|
143
|
+
pulumi.set(self, "annotations", value)
|
144
|
+
|
145
|
+
@_builtins.property
|
146
|
+
@pulumi.getter(name="errorBudget")
|
147
|
+
def error_budget(self) -> Optional[pulumi.Input['RolloutKindErrorBudgetArgs']]:
|
148
|
+
"""
|
149
|
+
The configuration for error budget. If the number of failed units exceeds
|
150
|
+
max(allowed_count, allowed_ratio * total_units), the rollout will be paused.
|
151
|
+
Structure is documented below.
|
152
|
+
"""
|
153
|
+
return pulumi.get(self, "error_budget")
|
154
|
+
|
155
|
+
@error_budget.setter
|
156
|
+
def error_budget(self, value: Optional[pulumi.Input['RolloutKindErrorBudgetArgs']]):
|
157
|
+
pulumi.set(self, "error_budget", value)
|
158
|
+
|
159
|
+
@_builtins.property
|
160
|
+
@pulumi.getter
|
161
|
+
def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
|
162
|
+
"""
|
163
|
+
The labels on the resource, which can be used for categorization.
|
164
|
+
similar to Kubernetes resource labels.
|
165
|
+
**Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
|
166
|
+
Please refer to the field `effective_labels` for all of the labels present on the resource.
|
167
|
+
"""
|
168
|
+
return pulumi.get(self, "labels")
|
169
|
+
|
170
|
+
@labels.setter
|
171
|
+
def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
|
172
|
+
pulumi.set(self, "labels", value)
|
173
|
+
|
174
|
+
@_builtins.property
|
175
|
+
@pulumi.getter
|
176
|
+
def project(self) -> Optional[pulumi.Input[_builtins.str]]:
|
177
|
+
"""
|
178
|
+
The ID of the project in which the resource belongs.
|
179
|
+
If it is not provided, the provider project is used.
|
180
|
+
"""
|
181
|
+
return pulumi.get(self, "project")
|
182
|
+
|
183
|
+
@project.setter
|
184
|
+
def project(self, value: Optional[pulumi.Input[_builtins.str]]):
|
185
|
+
pulumi.set(self, "project", value)
|
186
|
+
|
187
|
+
@_builtins.property
|
188
|
+
@pulumi.getter(name="rolloutOrchestrationStrategy")
|
189
|
+
def rollout_orchestration_strategy(self) -> Optional[pulumi.Input[_builtins.str]]:
|
190
|
+
"""
|
191
|
+
The strategy used for executing a Rollout. This is a required field.
|
192
|
+
There are two supported values strategies which are used to control a rollout.
|
193
|
+
- "Google.Cloud.Simple.AllAtOnce"
|
194
|
+
- "Google.Cloud.Simple.OneLocationAtATime"
|
195
|
+
A rollout with one of these simple strategies will rollout across
|
196
|
+
all locations defined in the associated UnitKind's Saas Locations.
|
197
|
+
"""
|
198
|
+
return pulumi.get(self, "rollout_orchestration_strategy")
|
199
|
+
|
200
|
+
@rollout_orchestration_strategy.setter
|
201
|
+
def rollout_orchestration_strategy(self, value: Optional[pulumi.Input[_builtins.str]]):
|
202
|
+
pulumi.set(self, "rollout_orchestration_strategy", value)
|
203
|
+
|
204
|
+
@_builtins.property
|
205
|
+
@pulumi.getter(name="unitFilter")
|
206
|
+
def unit_filter(self) -> Optional[pulumi.Input[_builtins.str]]:
|
207
|
+
"""
|
208
|
+
CEL(https://github.com/google/cel-spec) formatted filter string against
|
209
|
+
Unit. The filter will be applied to determine the eligible unit population.
|
210
|
+
This filter can only reduce, but not expand the scope of the rollout.
|
211
|
+
"""
|
212
|
+
return pulumi.get(self, "unit_filter")
|
213
|
+
|
214
|
+
@unit_filter.setter
|
215
|
+
def unit_filter(self, value: Optional[pulumi.Input[_builtins.str]]):
|
216
|
+
pulumi.set(self, "unit_filter", value)
|
217
|
+
|
218
|
+
@_builtins.property
|
219
|
+
@pulumi.getter(name="updateUnitKindStrategy")
|
220
|
+
def update_unit_kind_strategy(self) -> Optional[pulumi.Input[_builtins.str]]:
|
221
|
+
"""
|
222
|
+
The config for updating the unit kind. By default, the unit kind will be
|
223
|
+
updated on the rollout start.
|
224
|
+
Possible values:
|
225
|
+
UPDATE_UNIT_KIND_STRATEGY_ON_START
|
226
|
+
UPDATE_UNIT_KIND_STRATEGY_NEVER
|
227
|
+
Possible values are: `UPDATE_UNIT_KIND_STRATEGY_ON_START`, `UPDATE_UNIT_KIND_STRATEGY_NEVER`.
|
228
|
+
"""
|
229
|
+
return pulumi.get(self, "update_unit_kind_strategy")
|
230
|
+
|
231
|
+
@update_unit_kind_strategy.setter
|
232
|
+
def update_unit_kind_strategy(self, value: Optional[pulumi.Input[_builtins.str]]):
|
233
|
+
pulumi.set(self, "update_unit_kind_strategy", value)
|
234
|
+
|
235
|
+
|
236
|
+
@pulumi.input_type
|
237
|
+
class _RolloutKindState:
|
238
|
+
def __init__(__self__, *,
|
239
|
+
annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
240
|
+
create_time: Optional[pulumi.Input[_builtins.str]] = None,
|
241
|
+
effective_annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
242
|
+
effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
243
|
+
error_budget: Optional[pulumi.Input['RolloutKindErrorBudgetArgs']] = None,
|
244
|
+
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
245
|
+
location: Optional[pulumi.Input[_builtins.str]] = None,
|
246
|
+
name: Optional[pulumi.Input[_builtins.str]] = None,
|
247
|
+
project: Optional[pulumi.Input[_builtins.str]] = None,
|
248
|
+
pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
249
|
+
rollout_kind_id: Optional[pulumi.Input[_builtins.str]] = None,
|
250
|
+
rollout_orchestration_strategy: Optional[pulumi.Input[_builtins.str]] = None,
|
251
|
+
uid: Optional[pulumi.Input[_builtins.str]] = None,
|
252
|
+
unit_filter: Optional[pulumi.Input[_builtins.str]] = None,
|
253
|
+
unit_kind: Optional[pulumi.Input[_builtins.str]] = None,
|
254
|
+
update_time: Optional[pulumi.Input[_builtins.str]] = None,
|
255
|
+
update_unit_kind_strategy: Optional[pulumi.Input[_builtins.str]] = None):
|
256
|
+
"""
|
257
|
+
Input properties used for looking up and filtering RolloutKind resources.
|
258
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] annotations: Annotations is an unstructured key-value map stored with a resource that
|
259
|
+
may be set by external tools to store and retrieve arbitrary metadata.
|
260
|
+
They are not queryable and should be preserved when modifying objects.
|
261
|
+
More info: https://kubernetes.io/docs/user-guide/annotations
|
262
|
+
**Note**: This field is non-authoritative, and will only manage the annotations present in your configuration.
|
263
|
+
Please refer to the field `effective_annotations` for all of the annotations present on the resource.
|
264
|
+
:param pulumi.Input[_builtins.str] create_time: The timestamp when the resource was created.
|
265
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
|
266
|
+
:param pulumi.Input['RolloutKindErrorBudgetArgs'] error_budget: The configuration for error budget. If the number of failed units exceeds
|
267
|
+
max(allowed_count, allowed_ratio * total_units), the rollout will be paused.
|
268
|
+
Structure is documented below.
|
269
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: The labels on the resource, which can be used for categorization.
|
270
|
+
similar to Kubernetes resource labels.
|
271
|
+
**Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
|
272
|
+
Please refer to the field `effective_labels` for all of the labels present on the resource.
|
273
|
+
:param pulumi.Input[_builtins.str] location: Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
|
274
|
+
:param pulumi.Input[_builtins.str] name: Identifier. The resource name (full URI of the resource) following the standard naming
|
275
|
+
scheme:
|
276
|
+
"projects/{project}/locations/{location}/rolloutKinds/{rollout_kind_id}"
|
277
|
+
:param pulumi.Input[_builtins.str] project: The ID of the project in which the resource belongs.
|
278
|
+
If it is not provided, the provider project is used.
|
279
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] pulumi_labels: The combination of labels configured directly on the resource
|
280
|
+
and default labels configured on the provider.
|
281
|
+
:param pulumi.Input[_builtins.str] rollout_kind_id: The ID value for the new rollout kind.
|
282
|
+
:param pulumi.Input[_builtins.str] rollout_orchestration_strategy: The strategy used for executing a Rollout. This is a required field.
|
283
|
+
There are two supported values strategies which are used to control a rollout.
|
284
|
+
- "Google.Cloud.Simple.AllAtOnce"
|
285
|
+
- "Google.Cloud.Simple.OneLocationAtATime"
|
286
|
+
A rollout with one of these simple strategies will rollout across
|
287
|
+
all locations defined in the associated UnitKind's Saas Locations.
|
288
|
+
:param pulumi.Input[_builtins.str] uid: The unique identifier of the resource. UID is unique in the time
|
289
|
+
and space for this resource within the scope of the service. It is
|
290
|
+
typically generated by the server on successful creation of a resource
|
291
|
+
and must not be changed. UID is used to uniquely identify resources
|
292
|
+
with resource name reuses. This should be a UUID4.
|
293
|
+
:param pulumi.Input[_builtins.str] unit_filter: CEL(https://github.com/google/cel-spec) formatted filter string against
|
294
|
+
Unit. The filter will be applied to determine the eligible unit population.
|
295
|
+
This filter can only reduce, but not expand the scope of the rollout.
|
296
|
+
:param pulumi.Input[_builtins.str] unit_kind: UnitKind that this rollout kind corresponds to. Rollouts stemming from this
|
297
|
+
rollout kind will target the units of this unit kind. In other words, this
|
298
|
+
defines the population of target units to be upgraded by rollouts.
|
299
|
+
:param pulumi.Input[_builtins.str] update_time: The timestamp when the resource was last updated. Any
|
300
|
+
change to the resource made by users must refresh this value.
|
301
|
+
Changes to a resource made by the service should refresh this value.
|
302
|
+
:param pulumi.Input[_builtins.str] update_unit_kind_strategy: The config for updating the unit kind. By default, the unit kind will be
|
303
|
+
updated on the rollout start.
|
304
|
+
Possible values:
|
305
|
+
UPDATE_UNIT_KIND_STRATEGY_ON_START
|
306
|
+
UPDATE_UNIT_KIND_STRATEGY_NEVER
|
307
|
+
Possible values are: `UPDATE_UNIT_KIND_STRATEGY_ON_START`, `UPDATE_UNIT_KIND_STRATEGY_NEVER`.
|
308
|
+
"""
|
309
|
+
if annotations is not None:
|
310
|
+
pulumi.set(__self__, "annotations", annotations)
|
311
|
+
if create_time is not None:
|
312
|
+
pulumi.set(__self__, "create_time", create_time)
|
313
|
+
if effective_annotations is not None:
|
314
|
+
pulumi.set(__self__, "effective_annotations", effective_annotations)
|
315
|
+
if effective_labels is not None:
|
316
|
+
pulumi.set(__self__, "effective_labels", effective_labels)
|
317
|
+
if error_budget is not None:
|
318
|
+
pulumi.set(__self__, "error_budget", error_budget)
|
319
|
+
if labels is not None:
|
320
|
+
pulumi.set(__self__, "labels", labels)
|
321
|
+
if location is not None:
|
322
|
+
pulumi.set(__self__, "location", location)
|
323
|
+
if name is not None:
|
324
|
+
pulumi.set(__self__, "name", name)
|
325
|
+
if project is not None:
|
326
|
+
pulumi.set(__self__, "project", project)
|
327
|
+
if pulumi_labels is not None:
|
328
|
+
pulumi.set(__self__, "pulumi_labels", pulumi_labels)
|
329
|
+
if rollout_kind_id is not None:
|
330
|
+
pulumi.set(__self__, "rollout_kind_id", rollout_kind_id)
|
331
|
+
if rollout_orchestration_strategy is not None:
|
332
|
+
pulumi.set(__self__, "rollout_orchestration_strategy", rollout_orchestration_strategy)
|
333
|
+
if uid is not None:
|
334
|
+
pulumi.set(__self__, "uid", uid)
|
335
|
+
if unit_filter is not None:
|
336
|
+
pulumi.set(__self__, "unit_filter", unit_filter)
|
337
|
+
if unit_kind is not None:
|
338
|
+
pulumi.set(__self__, "unit_kind", unit_kind)
|
339
|
+
if update_time is not None:
|
340
|
+
pulumi.set(__self__, "update_time", update_time)
|
341
|
+
if update_unit_kind_strategy is not None:
|
342
|
+
pulumi.set(__self__, "update_unit_kind_strategy", update_unit_kind_strategy)
|
343
|
+
|
344
|
+
@_builtins.property
|
345
|
+
@pulumi.getter
|
346
|
+
def annotations(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
|
347
|
+
"""
|
348
|
+
Annotations is an unstructured key-value map stored with a resource that
|
349
|
+
may be set by external tools to store and retrieve arbitrary metadata.
|
350
|
+
They are not queryable and should be preserved when modifying objects.
|
351
|
+
More info: https://kubernetes.io/docs/user-guide/annotations
|
352
|
+
**Note**: This field is non-authoritative, and will only manage the annotations present in your configuration.
|
353
|
+
Please refer to the field `effective_annotations` for all of the annotations present on the resource.
|
354
|
+
"""
|
355
|
+
return pulumi.get(self, "annotations")
|
356
|
+
|
357
|
+
@annotations.setter
|
358
|
+
def annotations(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
|
359
|
+
pulumi.set(self, "annotations", value)
|
360
|
+
|
361
|
+
@_builtins.property
|
362
|
+
@pulumi.getter(name="createTime")
|
363
|
+
def create_time(self) -> Optional[pulumi.Input[_builtins.str]]:
|
364
|
+
"""
|
365
|
+
The timestamp when the resource was created.
|
366
|
+
"""
|
367
|
+
return pulumi.get(self, "create_time")
|
368
|
+
|
369
|
+
@create_time.setter
|
370
|
+
def create_time(self, value: Optional[pulumi.Input[_builtins.str]]):
|
371
|
+
pulumi.set(self, "create_time", value)
|
372
|
+
|
373
|
+
@_builtins.property
|
374
|
+
@pulumi.getter(name="effectiveAnnotations")
|
375
|
+
def effective_annotations(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
|
376
|
+
return pulumi.get(self, "effective_annotations")
|
377
|
+
|
378
|
+
@effective_annotations.setter
|
379
|
+
def effective_annotations(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
|
380
|
+
pulumi.set(self, "effective_annotations", value)
|
381
|
+
|
382
|
+
@_builtins.property
|
383
|
+
@pulumi.getter(name="effectiveLabels")
|
384
|
+
def effective_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
|
385
|
+
"""
|
386
|
+
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
|
387
|
+
"""
|
388
|
+
return pulumi.get(self, "effective_labels")
|
389
|
+
|
390
|
+
@effective_labels.setter
|
391
|
+
def effective_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
|
392
|
+
pulumi.set(self, "effective_labels", value)
|
393
|
+
|
394
|
+
@_builtins.property
|
395
|
+
@pulumi.getter(name="errorBudget")
|
396
|
+
def error_budget(self) -> Optional[pulumi.Input['RolloutKindErrorBudgetArgs']]:
|
397
|
+
"""
|
398
|
+
The configuration for error budget. If the number of failed units exceeds
|
399
|
+
max(allowed_count, allowed_ratio * total_units), the rollout will be paused.
|
400
|
+
Structure is documented below.
|
401
|
+
"""
|
402
|
+
return pulumi.get(self, "error_budget")
|
403
|
+
|
404
|
+
@error_budget.setter
|
405
|
+
def error_budget(self, value: Optional[pulumi.Input['RolloutKindErrorBudgetArgs']]):
|
406
|
+
pulumi.set(self, "error_budget", value)
|
407
|
+
|
408
|
+
@_builtins.property
|
409
|
+
@pulumi.getter
|
410
|
+
def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
|
411
|
+
"""
|
412
|
+
The labels on the resource, which can be used for categorization.
|
413
|
+
similar to Kubernetes resource labels.
|
414
|
+
**Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
|
415
|
+
Please refer to the field `effective_labels` for all of the labels present on the resource.
|
416
|
+
"""
|
417
|
+
return pulumi.get(self, "labels")
|
418
|
+
|
419
|
+
@labels.setter
|
420
|
+
def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
|
421
|
+
pulumi.set(self, "labels", value)
|
422
|
+
|
423
|
+
@_builtins.property
|
424
|
+
@pulumi.getter
|
425
|
+
def location(self) -> Optional[pulumi.Input[_builtins.str]]:
|
426
|
+
"""
|
427
|
+
Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
|
428
|
+
"""
|
429
|
+
return pulumi.get(self, "location")
|
430
|
+
|
431
|
+
@location.setter
|
432
|
+
def location(self, value: Optional[pulumi.Input[_builtins.str]]):
|
433
|
+
pulumi.set(self, "location", value)
|
434
|
+
|
435
|
+
@_builtins.property
|
436
|
+
@pulumi.getter
|
437
|
+
def name(self) -> Optional[pulumi.Input[_builtins.str]]:
|
438
|
+
"""
|
439
|
+
Identifier. The resource name (full URI of the resource) following the standard naming
|
440
|
+
scheme:
|
441
|
+
"projects/{project}/locations/{location}/rolloutKinds/{rollout_kind_id}"
|
442
|
+
"""
|
443
|
+
return pulumi.get(self, "name")
|
444
|
+
|
445
|
+
@name.setter
|
446
|
+
def name(self, value: Optional[pulumi.Input[_builtins.str]]):
|
447
|
+
pulumi.set(self, "name", value)
|
448
|
+
|
449
|
+
@_builtins.property
|
450
|
+
@pulumi.getter
|
451
|
+
def project(self) -> Optional[pulumi.Input[_builtins.str]]:
|
452
|
+
"""
|
453
|
+
The ID of the project in which the resource belongs.
|
454
|
+
If it is not provided, the provider project is used.
|
455
|
+
"""
|
456
|
+
return pulumi.get(self, "project")
|
457
|
+
|
458
|
+
@project.setter
|
459
|
+
def project(self, value: Optional[pulumi.Input[_builtins.str]]):
|
460
|
+
pulumi.set(self, "project", value)
|
461
|
+
|
462
|
+
@_builtins.property
|
463
|
+
@pulumi.getter(name="pulumiLabels")
|
464
|
+
def pulumi_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
|
465
|
+
"""
|
466
|
+
The combination of labels configured directly on the resource
|
467
|
+
and default labels configured on the provider.
|
468
|
+
"""
|
469
|
+
return pulumi.get(self, "pulumi_labels")
|
470
|
+
|
471
|
+
@pulumi_labels.setter
|
472
|
+
def pulumi_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
|
473
|
+
pulumi.set(self, "pulumi_labels", value)
|
474
|
+
|
475
|
+
@_builtins.property
|
476
|
+
@pulumi.getter(name="rolloutKindId")
|
477
|
+
def rollout_kind_id(self) -> Optional[pulumi.Input[_builtins.str]]:
|
478
|
+
"""
|
479
|
+
The ID value for the new rollout kind.
|
480
|
+
"""
|
481
|
+
return pulumi.get(self, "rollout_kind_id")
|
482
|
+
|
483
|
+
@rollout_kind_id.setter
|
484
|
+
def rollout_kind_id(self, value: Optional[pulumi.Input[_builtins.str]]):
|
485
|
+
pulumi.set(self, "rollout_kind_id", value)
|
486
|
+
|
487
|
+
@_builtins.property
|
488
|
+
@pulumi.getter(name="rolloutOrchestrationStrategy")
|
489
|
+
def rollout_orchestration_strategy(self) -> Optional[pulumi.Input[_builtins.str]]:
|
490
|
+
"""
|
491
|
+
The strategy used for executing a Rollout. This is a required field.
|
492
|
+
There are two supported values strategies which are used to control a rollout.
|
493
|
+
- "Google.Cloud.Simple.AllAtOnce"
|
494
|
+
- "Google.Cloud.Simple.OneLocationAtATime"
|
495
|
+
A rollout with one of these simple strategies will rollout across
|
496
|
+
all locations defined in the associated UnitKind's Saas Locations.
|
497
|
+
"""
|
498
|
+
return pulumi.get(self, "rollout_orchestration_strategy")
|
499
|
+
|
500
|
+
@rollout_orchestration_strategy.setter
|
501
|
+
def rollout_orchestration_strategy(self, value: Optional[pulumi.Input[_builtins.str]]):
|
502
|
+
pulumi.set(self, "rollout_orchestration_strategy", value)
|
503
|
+
|
504
|
+
@_builtins.property
|
505
|
+
@pulumi.getter
|
506
|
+
def uid(self) -> Optional[pulumi.Input[_builtins.str]]:
|
507
|
+
"""
|
508
|
+
The unique identifier of the resource. UID is unique in the time
|
509
|
+
and space for this resource within the scope of the service. It is
|
510
|
+
typically generated by the server on successful creation of a resource
|
511
|
+
and must not be changed. UID is used to uniquely identify resources
|
512
|
+
with resource name reuses. This should be a UUID4.
|
513
|
+
"""
|
514
|
+
return pulumi.get(self, "uid")
|
515
|
+
|
516
|
+
@uid.setter
|
517
|
+
def uid(self, value: Optional[pulumi.Input[_builtins.str]]):
|
518
|
+
pulumi.set(self, "uid", value)
|
519
|
+
|
520
|
+
@_builtins.property
|
521
|
+
@pulumi.getter(name="unitFilter")
|
522
|
+
def unit_filter(self) -> Optional[pulumi.Input[_builtins.str]]:
|
523
|
+
"""
|
524
|
+
CEL(https://github.com/google/cel-spec) formatted filter string against
|
525
|
+
Unit. The filter will be applied to determine the eligible unit population.
|
526
|
+
This filter can only reduce, but not expand the scope of the rollout.
|
527
|
+
"""
|
528
|
+
return pulumi.get(self, "unit_filter")
|
529
|
+
|
530
|
+
@unit_filter.setter
|
531
|
+
def unit_filter(self, value: Optional[pulumi.Input[_builtins.str]]):
|
532
|
+
pulumi.set(self, "unit_filter", value)
|
533
|
+
|
534
|
+
@_builtins.property
|
535
|
+
@pulumi.getter(name="unitKind")
|
536
|
+
def unit_kind(self) -> Optional[pulumi.Input[_builtins.str]]:
|
537
|
+
"""
|
538
|
+
UnitKind that this rollout kind corresponds to. Rollouts stemming from this
|
539
|
+
rollout kind will target the units of this unit kind. In other words, this
|
540
|
+
defines the population of target units to be upgraded by rollouts.
|
541
|
+
"""
|
542
|
+
return pulumi.get(self, "unit_kind")
|
543
|
+
|
544
|
+
@unit_kind.setter
|
545
|
+
def unit_kind(self, value: Optional[pulumi.Input[_builtins.str]]):
|
546
|
+
pulumi.set(self, "unit_kind", value)
|
547
|
+
|
548
|
+
@_builtins.property
|
549
|
+
@pulumi.getter(name="updateTime")
|
550
|
+
def update_time(self) -> Optional[pulumi.Input[_builtins.str]]:
|
551
|
+
"""
|
552
|
+
The timestamp when the resource was last updated. Any
|
553
|
+
change to the resource made by users must refresh this value.
|
554
|
+
Changes to a resource made by the service should refresh this value.
|
555
|
+
"""
|
556
|
+
return pulumi.get(self, "update_time")
|
557
|
+
|
558
|
+
@update_time.setter
|
559
|
+
def update_time(self, value: Optional[pulumi.Input[_builtins.str]]):
|
560
|
+
pulumi.set(self, "update_time", value)
|
561
|
+
|
562
|
+
@_builtins.property
|
563
|
+
@pulumi.getter(name="updateUnitKindStrategy")
|
564
|
+
def update_unit_kind_strategy(self) -> Optional[pulumi.Input[_builtins.str]]:
|
565
|
+
"""
|
566
|
+
The config for updating the unit kind. By default, the unit kind will be
|
567
|
+
updated on the rollout start.
|
568
|
+
Possible values:
|
569
|
+
UPDATE_UNIT_KIND_STRATEGY_ON_START
|
570
|
+
UPDATE_UNIT_KIND_STRATEGY_NEVER
|
571
|
+
Possible values are: `UPDATE_UNIT_KIND_STRATEGY_ON_START`, `UPDATE_UNIT_KIND_STRATEGY_NEVER`.
|
572
|
+
"""
|
573
|
+
return pulumi.get(self, "update_unit_kind_strategy")
|
574
|
+
|
575
|
+
@update_unit_kind_strategy.setter
|
576
|
+
def update_unit_kind_strategy(self, value: Optional[pulumi.Input[_builtins.str]]):
|
577
|
+
pulumi.set(self, "update_unit_kind_strategy", value)
|
578
|
+
|
579
|
+
|
580
|
+
@pulumi.type_token("gcp:saasruntime/rolloutKind:RolloutKind")
|
581
|
+
class RolloutKind(pulumi.CustomResource):
|
582
|
+
@overload
|
583
|
+
def __init__(__self__,
|
584
|
+
resource_name: str,
|
585
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
586
|
+
annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
587
|
+
error_budget: Optional[pulumi.Input[Union['RolloutKindErrorBudgetArgs', 'RolloutKindErrorBudgetArgsDict']]] = None,
|
588
|
+
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
589
|
+
location: Optional[pulumi.Input[_builtins.str]] = None,
|
590
|
+
project: Optional[pulumi.Input[_builtins.str]] = None,
|
591
|
+
rollout_kind_id: Optional[pulumi.Input[_builtins.str]] = None,
|
592
|
+
rollout_orchestration_strategy: Optional[pulumi.Input[_builtins.str]] = None,
|
593
|
+
unit_filter: Optional[pulumi.Input[_builtins.str]] = None,
|
594
|
+
unit_kind: Optional[pulumi.Input[_builtins.str]] = None,
|
595
|
+
update_unit_kind_strategy: Optional[pulumi.Input[_builtins.str]] = None,
|
596
|
+
__props__=None):
|
597
|
+
"""
|
598
|
+
A RolloutKind is a reusable configuration resource that defines the policies, strategies, and targeting for Rollout operations. It acts as a template for repeatable Rollouts, providing guardrails and ensuring that updates are executed in a consistent manner across a fleet of Units.
|
599
|
+
|
600
|
+
## Example Usage
|
601
|
+
|
602
|
+
### Saas Runtime Rollout Kind Basic
|
603
|
+
|
604
|
+
```python
|
605
|
+
import pulumi
|
606
|
+
import pulumi_gcp as gcp
|
607
|
+
|
608
|
+
example_saas = gcp.saasruntime.SaaS("example_saas",
|
609
|
+
saas_id="example-saas",
|
610
|
+
location="global",
|
611
|
+
locations=[{
|
612
|
+
"name": "us-central1",
|
613
|
+
}])
|
614
|
+
example_unitkind = gcp.saasruntime.UnitKind("example_unitkind",
|
615
|
+
location="global",
|
616
|
+
unit_kind_id="example-unitkind",
|
617
|
+
saas=example_saas.id)
|
618
|
+
example = gcp.saasruntime.RolloutKind("example",
|
619
|
+
location="global",
|
620
|
+
rollout_kind_id="example-rolloutkind",
|
621
|
+
unit_kind=example_unitkind.id,
|
622
|
+
rollout_orchestration_strategy="Google.Cloud.Simple.OneLocationAtATime",
|
623
|
+
error_budget={
|
624
|
+
"allowed_count": 1,
|
625
|
+
},
|
626
|
+
unit_filter="unit.labels['key1'] == 'value1'")
|
627
|
+
```
|
628
|
+
|
629
|
+
## Import
|
630
|
+
|
631
|
+
RolloutKind can be imported using any of these accepted formats:
|
632
|
+
|
633
|
+
* `projects/{{project}}/locations/{{location}}/rolloutKinds/{{rollout_kind_id}}`
|
634
|
+
|
635
|
+
* `{{project}}/{{location}}/{{rollout_kind_id}}`
|
636
|
+
|
637
|
+
* `{{location}}/{{rollout_kind_id}}`
|
638
|
+
|
639
|
+
When using the `pulumi import` command, RolloutKind can be imported using one of the formats above. For example:
|
640
|
+
|
641
|
+
```sh
|
642
|
+
$ pulumi import gcp:saasruntime/rolloutKind:RolloutKind default projects/{{project}}/locations/{{location}}/rolloutKinds/{{rollout_kind_id}}
|
643
|
+
```
|
644
|
+
|
645
|
+
```sh
|
646
|
+
$ pulumi import gcp:saasruntime/rolloutKind:RolloutKind default {{project}}/{{location}}/{{rollout_kind_id}}
|
647
|
+
```
|
648
|
+
|
649
|
+
```sh
|
650
|
+
$ pulumi import gcp:saasruntime/rolloutKind:RolloutKind default {{location}}/{{rollout_kind_id}}
|
651
|
+
```
|
652
|
+
|
653
|
+
:param str resource_name: The name of the resource.
|
654
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
655
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] annotations: Annotations is an unstructured key-value map stored with a resource that
|
656
|
+
may be set by external tools to store and retrieve arbitrary metadata.
|
657
|
+
They are not queryable and should be preserved when modifying objects.
|
658
|
+
More info: https://kubernetes.io/docs/user-guide/annotations
|
659
|
+
**Note**: This field is non-authoritative, and will only manage the annotations present in your configuration.
|
660
|
+
Please refer to the field `effective_annotations` for all of the annotations present on the resource.
|
661
|
+
:param pulumi.Input[Union['RolloutKindErrorBudgetArgs', 'RolloutKindErrorBudgetArgsDict']] error_budget: The configuration for error budget. If the number of failed units exceeds
|
662
|
+
max(allowed_count, allowed_ratio * total_units), the rollout will be paused.
|
663
|
+
Structure is documented below.
|
664
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: The labels on the resource, which can be used for categorization.
|
665
|
+
similar to Kubernetes resource labels.
|
666
|
+
**Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
|
667
|
+
Please refer to the field `effective_labels` for all of the labels present on the resource.
|
668
|
+
:param pulumi.Input[_builtins.str] location: Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
|
669
|
+
:param pulumi.Input[_builtins.str] project: The ID of the project in which the resource belongs.
|
670
|
+
If it is not provided, the provider project is used.
|
671
|
+
:param pulumi.Input[_builtins.str] rollout_kind_id: The ID value for the new rollout kind.
|
672
|
+
:param pulumi.Input[_builtins.str] rollout_orchestration_strategy: The strategy used for executing a Rollout. This is a required field.
|
673
|
+
There are two supported values strategies which are used to control a rollout.
|
674
|
+
- "Google.Cloud.Simple.AllAtOnce"
|
675
|
+
- "Google.Cloud.Simple.OneLocationAtATime"
|
676
|
+
A rollout with one of these simple strategies will rollout across
|
677
|
+
all locations defined in the associated UnitKind's Saas Locations.
|
678
|
+
:param pulumi.Input[_builtins.str] unit_filter: CEL(https://github.com/google/cel-spec) formatted filter string against
|
679
|
+
Unit. The filter will be applied to determine the eligible unit population.
|
680
|
+
This filter can only reduce, but not expand the scope of the rollout.
|
681
|
+
:param pulumi.Input[_builtins.str] unit_kind: UnitKind that this rollout kind corresponds to. Rollouts stemming from this
|
682
|
+
rollout kind will target the units of this unit kind. In other words, this
|
683
|
+
defines the population of target units to be upgraded by rollouts.
|
684
|
+
:param pulumi.Input[_builtins.str] update_unit_kind_strategy: The config for updating the unit kind. By default, the unit kind will be
|
685
|
+
updated on the rollout start.
|
686
|
+
Possible values:
|
687
|
+
UPDATE_UNIT_KIND_STRATEGY_ON_START
|
688
|
+
UPDATE_UNIT_KIND_STRATEGY_NEVER
|
689
|
+
Possible values are: `UPDATE_UNIT_KIND_STRATEGY_ON_START`, `UPDATE_UNIT_KIND_STRATEGY_NEVER`.
|
690
|
+
"""
|
691
|
+
...
|
692
|
+
@overload
|
693
|
+
def __init__(__self__,
|
694
|
+
resource_name: str,
|
695
|
+
args: RolloutKindArgs,
|
696
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
697
|
+
"""
|
698
|
+
A RolloutKind is a reusable configuration resource that defines the policies, strategies, and targeting for Rollout operations. It acts as a template for repeatable Rollouts, providing guardrails and ensuring that updates are executed in a consistent manner across a fleet of Units.
|
699
|
+
|
700
|
+
## Example Usage
|
701
|
+
|
702
|
+
### Saas Runtime Rollout Kind Basic
|
703
|
+
|
704
|
+
```python
|
705
|
+
import pulumi
|
706
|
+
import pulumi_gcp as gcp
|
707
|
+
|
708
|
+
example_saas = gcp.saasruntime.SaaS("example_saas",
|
709
|
+
saas_id="example-saas",
|
710
|
+
location="global",
|
711
|
+
locations=[{
|
712
|
+
"name": "us-central1",
|
713
|
+
}])
|
714
|
+
example_unitkind = gcp.saasruntime.UnitKind("example_unitkind",
|
715
|
+
location="global",
|
716
|
+
unit_kind_id="example-unitkind",
|
717
|
+
saas=example_saas.id)
|
718
|
+
example = gcp.saasruntime.RolloutKind("example",
|
719
|
+
location="global",
|
720
|
+
rollout_kind_id="example-rolloutkind",
|
721
|
+
unit_kind=example_unitkind.id,
|
722
|
+
rollout_orchestration_strategy="Google.Cloud.Simple.OneLocationAtATime",
|
723
|
+
error_budget={
|
724
|
+
"allowed_count": 1,
|
725
|
+
},
|
726
|
+
unit_filter="unit.labels['key1'] == 'value1'")
|
727
|
+
```
|
728
|
+
|
729
|
+
## Import
|
730
|
+
|
731
|
+
RolloutKind can be imported using any of these accepted formats:
|
732
|
+
|
733
|
+
* `projects/{{project}}/locations/{{location}}/rolloutKinds/{{rollout_kind_id}}`
|
734
|
+
|
735
|
+
* `{{project}}/{{location}}/{{rollout_kind_id}}`
|
736
|
+
|
737
|
+
* `{{location}}/{{rollout_kind_id}}`
|
738
|
+
|
739
|
+
When using the `pulumi import` command, RolloutKind can be imported using one of the formats above. For example:
|
740
|
+
|
741
|
+
```sh
|
742
|
+
$ pulumi import gcp:saasruntime/rolloutKind:RolloutKind default projects/{{project}}/locations/{{location}}/rolloutKinds/{{rollout_kind_id}}
|
743
|
+
```
|
744
|
+
|
745
|
+
```sh
|
746
|
+
$ pulumi import gcp:saasruntime/rolloutKind:RolloutKind default {{project}}/{{location}}/{{rollout_kind_id}}
|
747
|
+
```
|
748
|
+
|
749
|
+
```sh
|
750
|
+
$ pulumi import gcp:saasruntime/rolloutKind:RolloutKind default {{location}}/{{rollout_kind_id}}
|
751
|
+
```
|
752
|
+
|
753
|
+
:param str resource_name: The name of the resource.
|
754
|
+
:param RolloutKindArgs args: The arguments to use to populate this resource's properties.
|
755
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
756
|
+
"""
|
757
|
+
...
|
758
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
759
|
+
resource_args, opts = _utilities.get_resource_args_opts(RolloutKindArgs, pulumi.ResourceOptions, *args, **kwargs)
|
760
|
+
if resource_args is not None:
|
761
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
762
|
+
else:
|
763
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
764
|
+
|
765
|
+
def _internal_init(__self__,
|
766
|
+
resource_name: str,
|
767
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
768
|
+
annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
769
|
+
error_budget: Optional[pulumi.Input[Union['RolloutKindErrorBudgetArgs', 'RolloutKindErrorBudgetArgsDict']]] = None,
|
770
|
+
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
771
|
+
location: Optional[pulumi.Input[_builtins.str]] = None,
|
772
|
+
project: Optional[pulumi.Input[_builtins.str]] = None,
|
773
|
+
rollout_kind_id: Optional[pulumi.Input[_builtins.str]] = None,
|
774
|
+
rollout_orchestration_strategy: Optional[pulumi.Input[_builtins.str]] = None,
|
775
|
+
unit_filter: Optional[pulumi.Input[_builtins.str]] = None,
|
776
|
+
unit_kind: Optional[pulumi.Input[_builtins.str]] = None,
|
777
|
+
update_unit_kind_strategy: Optional[pulumi.Input[_builtins.str]] = None,
|
778
|
+
__props__=None):
|
779
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
780
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
781
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
782
|
+
if opts.id is None:
|
783
|
+
if __props__ is not None:
|
784
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
785
|
+
__props__ = RolloutKindArgs.__new__(RolloutKindArgs)
|
786
|
+
|
787
|
+
__props__.__dict__["annotations"] = annotations
|
788
|
+
__props__.__dict__["error_budget"] = error_budget
|
789
|
+
__props__.__dict__["labels"] = labels
|
790
|
+
if location is None and not opts.urn:
|
791
|
+
raise TypeError("Missing required property 'location'")
|
792
|
+
__props__.__dict__["location"] = location
|
793
|
+
__props__.__dict__["project"] = project
|
794
|
+
if rollout_kind_id is None and not opts.urn:
|
795
|
+
raise TypeError("Missing required property 'rollout_kind_id'")
|
796
|
+
__props__.__dict__["rollout_kind_id"] = rollout_kind_id
|
797
|
+
__props__.__dict__["rollout_orchestration_strategy"] = rollout_orchestration_strategy
|
798
|
+
__props__.__dict__["unit_filter"] = unit_filter
|
799
|
+
if unit_kind is None and not opts.urn:
|
800
|
+
raise TypeError("Missing required property 'unit_kind'")
|
801
|
+
__props__.__dict__["unit_kind"] = unit_kind
|
802
|
+
__props__.__dict__["update_unit_kind_strategy"] = update_unit_kind_strategy
|
803
|
+
__props__.__dict__["create_time"] = None
|
804
|
+
__props__.__dict__["effective_annotations"] = None
|
805
|
+
__props__.__dict__["effective_labels"] = None
|
806
|
+
__props__.__dict__["name"] = None
|
807
|
+
__props__.__dict__["pulumi_labels"] = None
|
808
|
+
__props__.__dict__["uid"] = None
|
809
|
+
__props__.__dict__["update_time"] = None
|
810
|
+
secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["effectiveLabels", "pulumiLabels"])
|
811
|
+
opts = pulumi.ResourceOptions.merge(opts, secret_opts)
|
812
|
+
super(RolloutKind, __self__).__init__(
|
813
|
+
'gcp:saasruntime/rolloutKind:RolloutKind',
|
814
|
+
resource_name,
|
815
|
+
__props__,
|
816
|
+
opts)
|
817
|
+
|
818
|
+
@staticmethod
|
819
|
+
def get(resource_name: str,
|
820
|
+
id: pulumi.Input[str],
|
821
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
822
|
+
annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
823
|
+
create_time: Optional[pulumi.Input[_builtins.str]] = None,
|
824
|
+
effective_annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
825
|
+
effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
826
|
+
error_budget: Optional[pulumi.Input[Union['RolloutKindErrorBudgetArgs', 'RolloutKindErrorBudgetArgsDict']]] = None,
|
827
|
+
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
828
|
+
location: Optional[pulumi.Input[_builtins.str]] = None,
|
829
|
+
name: Optional[pulumi.Input[_builtins.str]] = None,
|
830
|
+
project: Optional[pulumi.Input[_builtins.str]] = None,
|
831
|
+
pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
|
832
|
+
rollout_kind_id: Optional[pulumi.Input[_builtins.str]] = None,
|
833
|
+
rollout_orchestration_strategy: Optional[pulumi.Input[_builtins.str]] = None,
|
834
|
+
uid: Optional[pulumi.Input[_builtins.str]] = None,
|
835
|
+
unit_filter: Optional[pulumi.Input[_builtins.str]] = None,
|
836
|
+
unit_kind: Optional[pulumi.Input[_builtins.str]] = None,
|
837
|
+
update_time: Optional[pulumi.Input[_builtins.str]] = None,
|
838
|
+
update_unit_kind_strategy: Optional[pulumi.Input[_builtins.str]] = None) -> 'RolloutKind':
|
839
|
+
"""
|
840
|
+
Get an existing RolloutKind resource's state with the given name, id, and optional extra
|
841
|
+
properties used to qualify the lookup.
|
842
|
+
|
843
|
+
:param str resource_name: The unique name of the resulting resource.
|
844
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
845
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
846
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] annotations: Annotations is an unstructured key-value map stored with a resource that
|
847
|
+
may be set by external tools to store and retrieve arbitrary metadata.
|
848
|
+
They are not queryable and should be preserved when modifying objects.
|
849
|
+
More info: https://kubernetes.io/docs/user-guide/annotations
|
850
|
+
**Note**: This field is non-authoritative, and will only manage the annotations present in your configuration.
|
851
|
+
Please refer to the field `effective_annotations` for all of the annotations present on the resource.
|
852
|
+
:param pulumi.Input[_builtins.str] create_time: The timestamp when the resource was created.
|
853
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
|
854
|
+
:param pulumi.Input[Union['RolloutKindErrorBudgetArgs', 'RolloutKindErrorBudgetArgsDict']] error_budget: The configuration for error budget. If the number of failed units exceeds
|
855
|
+
max(allowed_count, allowed_ratio * total_units), the rollout will be paused.
|
856
|
+
Structure is documented below.
|
857
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: The labels on the resource, which can be used for categorization.
|
858
|
+
similar to Kubernetes resource labels.
|
859
|
+
**Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
|
860
|
+
Please refer to the field `effective_labels` for all of the labels present on the resource.
|
861
|
+
:param pulumi.Input[_builtins.str] location: Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
|
862
|
+
:param pulumi.Input[_builtins.str] name: Identifier. The resource name (full URI of the resource) following the standard naming
|
863
|
+
scheme:
|
864
|
+
"projects/{project}/locations/{location}/rolloutKinds/{rollout_kind_id}"
|
865
|
+
:param pulumi.Input[_builtins.str] project: The ID of the project in which the resource belongs.
|
866
|
+
If it is not provided, the provider project is used.
|
867
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] pulumi_labels: The combination of labels configured directly on the resource
|
868
|
+
and default labels configured on the provider.
|
869
|
+
:param pulumi.Input[_builtins.str] rollout_kind_id: The ID value for the new rollout kind.
|
870
|
+
:param pulumi.Input[_builtins.str] rollout_orchestration_strategy: The strategy used for executing a Rollout. This is a required field.
|
871
|
+
There are two supported values strategies which are used to control a rollout.
|
872
|
+
- "Google.Cloud.Simple.AllAtOnce"
|
873
|
+
- "Google.Cloud.Simple.OneLocationAtATime"
|
874
|
+
A rollout with one of these simple strategies will rollout across
|
875
|
+
all locations defined in the associated UnitKind's Saas Locations.
|
876
|
+
:param pulumi.Input[_builtins.str] uid: The unique identifier of the resource. UID is unique in the time
|
877
|
+
and space for this resource within the scope of the service. It is
|
878
|
+
typically generated by the server on successful creation of a resource
|
879
|
+
and must not be changed. UID is used to uniquely identify resources
|
880
|
+
with resource name reuses. This should be a UUID4.
|
881
|
+
:param pulumi.Input[_builtins.str] unit_filter: CEL(https://github.com/google/cel-spec) formatted filter string against
|
882
|
+
Unit. The filter will be applied to determine the eligible unit population.
|
883
|
+
This filter can only reduce, but not expand the scope of the rollout.
|
884
|
+
:param pulumi.Input[_builtins.str] unit_kind: UnitKind that this rollout kind corresponds to. Rollouts stemming from this
|
885
|
+
rollout kind will target the units of this unit kind. In other words, this
|
886
|
+
defines the population of target units to be upgraded by rollouts.
|
887
|
+
:param pulumi.Input[_builtins.str] update_time: The timestamp when the resource was last updated. Any
|
888
|
+
change to the resource made by users must refresh this value.
|
889
|
+
Changes to a resource made by the service should refresh this value.
|
890
|
+
:param pulumi.Input[_builtins.str] update_unit_kind_strategy: The config for updating the unit kind. By default, the unit kind will be
|
891
|
+
updated on the rollout start.
|
892
|
+
Possible values:
|
893
|
+
UPDATE_UNIT_KIND_STRATEGY_ON_START
|
894
|
+
UPDATE_UNIT_KIND_STRATEGY_NEVER
|
895
|
+
Possible values are: `UPDATE_UNIT_KIND_STRATEGY_ON_START`, `UPDATE_UNIT_KIND_STRATEGY_NEVER`.
|
896
|
+
"""
|
897
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
898
|
+
|
899
|
+
__props__ = _RolloutKindState.__new__(_RolloutKindState)
|
900
|
+
|
901
|
+
__props__.__dict__["annotations"] = annotations
|
902
|
+
__props__.__dict__["create_time"] = create_time
|
903
|
+
__props__.__dict__["effective_annotations"] = effective_annotations
|
904
|
+
__props__.__dict__["effective_labels"] = effective_labels
|
905
|
+
__props__.__dict__["error_budget"] = error_budget
|
906
|
+
__props__.__dict__["labels"] = labels
|
907
|
+
__props__.__dict__["location"] = location
|
908
|
+
__props__.__dict__["name"] = name
|
909
|
+
__props__.__dict__["project"] = project
|
910
|
+
__props__.__dict__["pulumi_labels"] = pulumi_labels
|
911
|
+
__props__.__dict__["rollout_kind_id"] = rollout_kind_id
|
912
|
+
__props__.__dict__["rollout_orchestration_strategy"] = rollout_orchestration_strategy
|
913
|
+
__props__.__dict__["uid"] = uid
|
914
|
+
__props__.__dict__["unit_filter"] = unit_filter
|
915
|
+
__props__.__dict__["unit_kind"] = unit_kind
|
916
|
+
__props__.__dict__["update_time"] = update_time
|
917
|
+
__props__.__dict__["update_unit_kind_strategy"] = update_unit_kind_strategy
|
918
|
+
return RolloutKind(resource_name, opts=opts, __props__=__props__)
|
919
|
+
|
920
|
+
@_builtins.property
|
921
|
+
@pulumi.getter
|
922
|
+
def annotations(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]:
|
923
|
+
"""
|
924
|
+
Annotations is an unstructured key-value map stored with a resource that
|
925
|
+
may be set by external tools to store and retrieve arbitrary metadata.
|
926
|
+
They are not queryable and should be preserved when modifying objects.
|
927
|
+
More info: https://kubernetes.io/docs/user-guide/annotations
|
928
|
+
**Note**: This field is non-authoritative, and will only manage the annotations present in your configuration.
|
929
|
+
Please refer to the field `effective_annotations` for all of the annotations present on the resource.
|
930
|
+
"""
|
931
|
+
return pulumi.get(self, "annotations")
|
932
|
+
|
933
|
+
@_builtins.property
|
934
|
+
@pulumi.getter(name="createTime")
|
935
|
+
def create_time(self) -> pulumi.Output[_builtins.str]:
|
936
|
+
"""
|
937
|
+
The timestamp when the resource was created.
|
938
|
+
"""
|
939
|
+
return pulumi.get(self, "create_time")
|
940
|
+
|
941
|
+
@_builtins.property
|
942
|
+
@pulumi.getter(name="effectiveAnnotations")
|
943
|
+
def effective_annotations(self) -> pulumi.Output[Mapping[str, _builtins.str]]:
|
944
|
+
return pulumi.get(self, "effective_annotations")
|
945
|
+
|
946
|
+
@_builtins.property
|
947
|
+
@pulumi.getter(name="effectiveLabels")
|
948
|
+
def effective_labels(self) -> pulumi.Output[Mapping[str, _builtins.str]]:
|
949
|
+
"""
|
950
|
+
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
|
951
|
+
"""
|
952
|
+
return pulumi.get(self, "effective_labels")
|
953
|
+
|
954
|
+
@_builtins.property
|
955
|
+
@pulumi.getter(name="errorBudget")
|
956
|
+
def error_budget(self) -> pulumi.Output[Optional['outputs.RolloutKindErrorBudget']]:
|
957
|
+
"""
|
958
|
+
The configuration for error budget. If the number of failed units exceeds
|
959
|
+
max(allowed_count, allowed_ratio * total_units), the rollout will be paused.
|
960
|
+
Structure is documented below.
|
961
|
+
"""
|
962
|
+
return pulumi.get(self, "error_budget")
|
963
|
+
|
964
|
+
@_builtins.property
|
965
|
+
@pulumi.getter
|
966
|
+
def labels(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]:
|
967
|
+
"""
|
968
|
+
The labels on the resource, which can be used for categorization.
|
969
|
+
similar to Kubernetes resource labels.
|
970
|
+
**Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
|
971
|
+
Please refer to the field `effective_labels` for all of the labels present on the resource.
|
972
|
+
"""
|
973
|
+
return pulumi.get(self, "labels")
|
974
|
+
|
975
|
+
@_builtins.property
|
976
|
+
@pulumi.getter
|
977
|
+
def location(self) -> pulumi.Output[_builtins.str]:
|
978
|
+
"""
|
979
|
+
Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
|
980
|
+
"""
|
981
|
+
return pulumi.get(self, "location")
|
982
|
+
|
983
|
+
@_builtins.property
|
984
|
+
@pulumi.getter
|
985
|
+
def name(self) -> pulumi.Output[_builtins.str]:
|
986
|
+
"""
|
987
|
+
Identifier. The resource name (full URI of the resource) following the standard naming
|
988
|
+
scheme:
|
989
|
+
"projects/{project}/locations/{location}/rolloutKinds/{rollout_kind_id}"
|
990
|
+
"""
|
991
|
+
return pulumi.get(self, "name")
|
992
|
+
|
993
|
+
@_builtins.property
|
994
|
+
@pulumi.getter
|
995
|
+
def project(self) -> pulumi.Output[_builtins.str]:
|
996
|
+
"""
|
997
|
+
The ID of the project in which the resource belongs.
|
998
|
+
If it is not provided, the provider project is used.
|
999
|
+
"""
|
1000
|
+
return pulumi.get(self, "project")
|
1001
|
+
|
1002
|
+
@_builtins.property
|
1003
|
+
@pulumi.getter(name="pulumiLabels")
|
1004
|
+
def pulumi_labels(self) -> pulumi.Output[Mapping[str, _builtins.str]]:
|
1005
|
+
"""
|
1006
|
+
The combination of labels configured directly on the resource
|
1007
|
+
and default labels configured on the provider.
|
1008
|
+
"""
|
1009
|
+
return pulumi.get(self, "pulumi_labels")
|
1010
|
+
|
1011
|
+
@_builtins.property
|
1012
|
+
@pulumi.getter(name="rolloutKindId")
|
1013
|
+
def rollout_kind_id(self) -> pulumi.Output[_builtins.str]:
|
1014
|
+
"""
|
1015
|
+
The ID value for the new rollout kind.
|
1016
|
+
"""
|
1017
|
+
return pulumi.get(self, "rollout_kind_id")
|
1018
|
+
|
1019
|
+
@_builtins.property
|
1020
|
+
@pulumi.getter(name="rolloutOrchestrationStrategy")
|
1021
|
+
def rollout_orchestration_strategy(self) -> pulumi.Output[Optional[_builtins.str]]:
|
1022
|
+
"""
|
1023
|
+
The strategy used for executing a Rollout. This is a required field.
|
1024
|
+
There are two supported values strategies which are used to control a rollout.
|
1025
|
+
- "Google.Cloud.Simple.AllAtOnce"
|
1026
|
+
- "Google.Cloud.Simple.OneLocationAtATime"
|
1027
|
+
A rollout with one of these simple strategies will rollout across
|
1028
|
+
all locations defined in the associated UnitKind's Saas Locations.
|
1029
|
+
"""
|
1030
|
+
return pulumi.get(self, "rollout_orchestration_strategy")
|
1031
|
+
|
1032
|
+
@_builtins.property
|
1033
|
+
@pulumi.getter
|
1034
|
+
def uid(self) -> pulumi.Output[_builtins.str]:
|
1035
|
+
"""
|
1036
|
+
The unique identifier of the resource. UID is unique in the time
|
1037
|
+
and space for this resource within the scope of the service. It is
|
1038
|
+
typically generated by the server on successful creation of a resource
|
1039
|
+
and must not be changed. UID is used to uniquely identify resources
|
1040
|
+
with resource name reuses. This should be a UUID4.
|
1041
|
+
"""
|
1042
|
+
return pulumi.get(self, "uid")
|
1043
|
+
|
1044
|
+
@_builtins.property
|
1045
|
+
@pulumi.getter(name="unitFilter")
|
1046
|
+
def unit_filter(self) -> pulumi.Output[Optional[_builtins.str]]:
|
1047
|
+
"""
|
1048
|
+
CEL(https://github.com/google/cel-spec) formatted filter string against
|
1049
|
+
Unit. The filter will be applied to determine the eligible unit population.
|
1050
|
+
This filter can only reduce, but not expand the scope of the rollout.
|
1051
|
+
"""
|
1052
|
+
return pulumi.get(self, "unit_filter")
|
1053
|
+
|
1054
|
+
@_builtins.property
|
1055
|
+
@pulumi.getter(name="unitKind")
|
1056
|
+
def unit_kind(self) -> pulumi.Output[_builtins.str]:
|
1057
|
+
"""
|
1058
|
+
UnitKind that this rollout kind corresponds to. Rollouts stemming from this
|
1059
|
+
rollout kind will target the units of this unit kind. In other words, this
|
1060
|
+
defines the population of target units to be upgraded by rollouts.
|
1061
|
+
"""
|
1062
|
+
return pulumi.get(self, "unit_kind")
|
1063
|
+
|
1064
|
+
@_builtins.property
|
1065
|
+
@pulumi.getter(name="updateTime")
|
1066
|
+
def update_time(self) -> pulumi.Output[_builtins.str]:
|
1067
|
+
"""
|
1068
|
+
The timestamp when the resource was last updated. Any
|
1069
|
+
change to the resource made by users must refresh this value.
|
1070
|
+
Changes to a resource made by the service should refresh this value.
|
1071
|
+
"""
|
1072
|
+
return pulumi.get(self, "update_time")
|
1073
|
+
|
1074
|
+
@_builtins.property
|
1075
|
+
@pulumi.getter(name="updateUnitKindStrategy")
|
1076
|
+
def update_unit_kind_strategy(self) -> pulumi.Output[Optional[_builtins.str]]:
|
1077
|
+
"""
|
1078
|
+
The config for updating the unit kind. By default, the unit kind will be
|
1079
|
+
updated on the rollout start.
|
1080
|
+
Possible values:
|
1081
|
+
UPDATE_UNIT_KIND_STRATEGY_ON_START
|
1082
|
+
UPDATE_UNIT_KIND_STRATEGY_NEVER
|
1083
|
+
Possible values are: `UPDATE_UNIT_KIND_STRATEGY_ON_START`, `UPDATE_UNIT_KIND_STRATEGY_NEVER`.
|
1084
|
+
"""
|
1085
|
+
return pulumi.get(self, "update_unit_kind_strategy")
|
1086
|
+
|