pulumi-gcp 7.26.0a1717725112__py3-none-any.whl → 7.27.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pulumi_gcp/__init__.py +32 -0
- pulumi_gcp/appengine/_inputs.py +40 -0
- pulumi_gcp/appengine/flexible_app_version.py +47 -0
- pulumi_gcp/appengine/outputs.py +51 -0
- pulumi_gcp/bigtable/instance.py +47 -0
- pulumi_gcp/clouddeploy/_inputs.py +16 -0
- pulumi_gcp/clouddeploy/outputs.py +12 -0
- pulumi_gcp/compute/__init__.py +2 -0
- pulumi_gcp/compute/_inputs.py +84 -0
- pulumi_gcp/compute/backend_service.py +54 -0
- pulumi_gcp/compute/disk.py +68 -0
- pulumi_gcp/compute/get_backend_service.py +11 -1
- pulumi_gcp/compute/get_disk.py +11 -1
- pulumi_gcp/compute/get_instance.py +11 -1
- pulumi_gcp/compute/get_instance_group_manager.py +31 -1
- pulumi_gcp/compute/get_instance_template.py +11 -1
- pulumi_gcp/compute/get_region_instance_template.py +11 -1
- pulumi_gcp/compute/get_security_policy.py +214 -0
- pulumi_gcp/compute/instance.py +47 -0
- pulumi_gcp/compute/instance_from_machine_image.py +47 -0
- pulumi_gcp/compute/instance_from_template.py +47 -0
- pulumi_gcp/compute/instance_group_manager.py +185 -0
- pulumi_gcp/compute/instance_template.py +47 -0
- pulumi_gcp/compute/outputs.py +1039 -0
- pulumi_gcp/compute/project_cloud_armor_tier.py +336 -0
- pulumi_gcp/compute/region_instance_group_manager.py +185 -0
- pulumi_gcp/compute/region_instance_template.py +47 -0
- pulumi_gcp/config/__init__.pyi +2 -0
- pulumi_gcp/config/vars.py +4 -0
- pulumi_gcp/container/_inputs.py +33 -4
- pulumi_gcp/container/cluster.py +61 -0
- pulumi_gcp/container/get_cluster.py +11 -1
- pulumi_gcp/container/outputs.py +48 -4
- pulumi_gcp/dataloss/_inputs.py +185 -19
- pulumi_gcp/dataloss/outputs.py +206 -17
- pulumi_gcp/dataloss/prevention_inspect_template.py +54 -0
- pulumi_gcp/gkebackup/_inputs.py +282 -7
- pulumi_gcp/gkebackup/backup_plan.py +100 -0
- pulumi_gcp/gkebackup/outputs.py +312 -7
- pulumi_gcp/gkebackup/restore_plan.py +326 -0
- pulumi_gcp/gkebackup/restore_plan_iam_binding.py +326 -0
- pulumi_gcp/gkebackup/restore_plan_iam_member.py +326 -0
- pulumi_gcp/gkebackup/restore_plan_iam_policy.py +326 -0
- pulumi_gcp/healthcare/_inputs.py +17 -1
- pulumi_gcp/healthcare/dicom_store.py +2 -0
- pulumi_gcp/healthcare/fhir_store.py +44 -60
- pulumi_gcp/healthcare/outputs.py +15 -1
- pulumi_gcp/integrationconnectors/endpoint_attachment.py +47 -0
- pulumi_gcp/kms/crypto_key.py +14 -7
- pulumi_gcp/netapp/_inputs.py +58 -0
- pulumi_gcp/netapp/outputs.py +67 -0
- pulumi_gcp/netapp/volume.py +54 -0
- pulumi_gcp/networkservices/__init__.py +1 -0
- pulumi_gcp/networkservices/_inputs.py +47 -0
- pulumi_gcp/networkservices/outputs.py +56 -0
- pulumi_gcp/networkservices/service_lb_policies.py +782 -0
- pulumi_gcp/provider.py +20 -0
- pulumi_gcp/pulumi-plugin.json +1 -1
- pulumi_gcp/redis/_inputs.py +44 -0
- pulumi_gcp/redis/cluster.py +128 -3
- pulumi_gcp/redis/outputs.py +36 -0
- pulumi_gcp/secretmanager/_inputs.py +20 -0
- pulumi_gcp/secretmanager/outputs.py +20 -0
- pulumi_gcp/secretmanager/secret_iam_binding.py +244 -0
- pulumi_gcp/secretmanager/secret_iam_member.py +244 -0
- pulumi_gcp/secretmanager/secret_iam_policy.py +224 -0
- pulumi_gcp/securitycenter/__init__.py +1 -0
- pulumi_gcp/securitycenter/management_organization_event_threat_detection_custom_module.py +568 -0
- pulumi_gcp/spanner/__init__.py +1 -0
- pulumi_gcp/spanner/_inputs.py +68 -0
- pulumi_gcp/spanner/instance_config.py +569 -0
- pulumi_gcp/spanner/outputs.py +73 -0
- pulumi_gcp/sql/_inputs.py +8 -2
- pulumi_gcp/sql/outputs.py +9 -6
- pulumi_gcp/workstations/_inputs.py +51 -1
- pulumi_gcp/workstations/outputs.py +46 -2
- pulumi_gcp/workstations/workstation_config.py +10 -4
- {pulumi_gcp-7.26.0a1717725112.dist-info → pulumi_gcp-7.27.0.dist-info}/METADATA +1 -1
- {pulumi_gcp-7.26.0a1717725112.dist-info → pulumi_gcp-7.27.0.dist-info}/RECORD +81 -76
- {pulumi_gcp-7.26.0a1717725112.dist-info → pulumi_gcp-7.27.0.dist-info}/WHEEL +0 -0
- {pulumi_gcp-7.26.0a1717725112.dist-info → pulumi_gcp-7.27.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,569 @@
|
|
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 pulumi
|
8
|
+
import pulumi.runtime
|
9
|
+
from typing import Any, Mapping, Optional, Sequence, Union, overload
|
10
|
+
from .. import _utilities
|
11
|
+
from . import outputs
|
12
|
+
from ._inputs import *
|
13
|
+
|
14
|
+
__all__ = ['InstanceConfigArgs', 'InstanceConfig']
|
15
|
+
|
16
|
+
@pulumi.input_type
|
17
|
+
class InstanceConfigArgs:
|
18
|
+
def __init__(__self__, *,
|
19
|
+
display_name: pulumi.Input[str],
|
20
|
+
replicas: pulumi.Input[Sequence[pulumi.Input['InstanceConfigReplicaArgs']]],
|
21
|
+
base_config: Optional[pulumi.Input[str]] = None,
|
22
|
+
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
23
|
+
name: Optional[pulumi.Input[str]] = None,
|
24
|
+
project: Optional[pulumi.Input[str]] = None):
|
25
|
+
"""
|
26
|
+
The set of arguments for constructing a InstanceConfig resource.
|
27
|
+
:param pulumi.Input[str] display_name: The name of this instance configuration as it appears in UIs.
|
28
|
+
:param pulumi.Input[Sequence[pulumi.Input['InstanceConfigReplicaArgs']]] replicas: The geographic placement of nodes in this instance configuration and their replication properties.
|
29
|
+
Structure is documented below.
|
30
|
+
:param pulumi.Input[str] base_config: Base configuration name, e.g. nam3, based on which this configuration is created. Only set for user managed
|
31
|
+
configurations. baseConfig must refer to a configuration of type GOOGLE_MANAGED in the same project as this
|
32
|
+
configuration.
|
33
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
|
34
|
+
**Note**: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer
|
35
|
+
to the field 'effective_labels' for all of the labels present on the resource.
|
36
|
+
:param pulumi.Input[str] name: A unique identifier for the instance configuration. Values are of the
|
37
|
+
form projects/<project>/instanceConfigs/[a-z][-a-z0-9]*
|
38
|
+
"""
|
39
|
+
pulumi.set(__self__, "display_name", display_name)
|
40
|
+
pulumi.set(__self__, "replicas", replicas)
|
41
|
+
if base_config is not None:
|
42
|
+
pulumi.set(__self__, "base_config", base_config)
|
43
|
+
if labels is not None:
|
44
|
+
pulumi.set(__self__, "labels", labels)
|
45
|
+
if name is not None:
|
46
|
+
pulumi.set(__self__, "name", name)
|
47
|
+
if project is not None:
|
48
|
+
pulumi.set(__self__, "project", project)
|
49
|
+
|
50
|
+
@property
|
51
|
+
@pulumi.getter(name="displayName")
|
52
|
+
def display_name(self) -> pulumi.Input[str]:
|
53
|
+
"""
|
54
|
+
The name of this instance configuration as it appears in UIs.
|
55
|
+
"""
|
56
|
+
return pulumi.get(self, "display_name")
|
57
|
+
|
58
|
+
@display_name.setter
|
59
|
+
def display_name(self, value: pulumi.Input[str]):
|
60
|
+
pulumi.set(self, "display_name", value)
|
61
|
+
|
62
|
+
@property
|
63
|
+
@pulumi.getter
|
64
|
+
def replicas(self) -> pulumi.Input[Sequence[pulumi.Input['InstanceConfigReplicaArgs']]]:
|
65
|
+
"""
|
66
|
+
The geographic placement of nodes in this instance configuration and their replication properties.
|
67
|
+
Structure is documented below.
|
68
|
+
"""
|
69
|
+
return pulumi.get(self, "replicas")
|
70
|
+
|
71
|
+
@replicas.setter
|
72
|
+
def replicas(self, value: pulumi.Input[Sequence[pulumi.Input['InstanceConfigReplicaArgs']]]):
|
73
|
+
pulumi.set(self, "replicas", value)
|
74
|
+
|
75
|
+
@property
|
76
|
+
@pulumi.getter(name="baseConfig")
|
77
|
+
def base_config(self) -> Optional[pulumi.Input[str]]:
|
78
|
+
"""
|
79
|
+
Base configuration name, e.g. nam3, based on which this configuration is created. Only set for user managed
|
80
|
+
configurations. baseConfig must refer to a configuration of type GOOGLE_MANAGED in the same project as this
|
81
|
+
configuration.
|
82
|
+
"""
|
83
|
+
return pulumi.get(self, "base_config")
|
84
|
+
|
85
|
+
@base_config.setter
|
86
|
+
def base_config(self, value: Optional[pulumi.Input[str]]):
|
87
|
+
pulumi.set(self, "base_config", value)
|
88
|
+
|
89
|
+
@property
|
90
|
+
@pulumi.getter
|
91
|
+
def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
|
92
|
+
"""
|
93
|
+
An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
|
94
|
+
**Note**: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer
|
95
|
+
to the field 'effective_labels' for all of the labels present on the resource.
|
96
|
+
"""
|
97
|
+
return pulumi.get(self, "labels")
|
98
|
+
|
99
|
+
@labels.setter
|
100
|
+
def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
|
101
|
+
pulumi.set(self, "labels", value)
|
102
|
+
|
103
|
+
@property
|
104
|
+
@pulumi.getter
|
105
|
+
def name(self) -> Optional[pulumi.Input[str]]:
|
106
|
+
"""
|
107
|
+
A unique identifier for the instance configuration. Values are of the
|
108
|
+
form projects/<project>/instanceConfigs/[a-z][-a-z0-9]*
|
109
|
+
"""
|
110
|
+
return pulumi.get(self, "name")
|
111
|
+
|
112
|
+
@name.setter
|
113
|
+
def name(self, value: Optional[pulumi.Input[str]]):
|
114
|
+
pulumi.set(self, "name", value)
|
115
|
+
|
116
|
+
@property
|
117
|
+
@pulumi.getter
|
118
|
+
def project(self) -> Optional[pulumi.Input[str]]:
|
119
|
+
return pulumi.get(self, "project")
|
120
|
+
|
121
|
+
@project.setter
|
122
|
+
def project(self, value: Optional[pulumi.Input[str]]):
|
123
|
+
pulumi.set(self, "project", value)
|
124
|
+
|
125
|
+
|
126
|
+
@pulumi.input_type
|
127
|
+
class _InstanceConfigState:
|
128
|
+
def __init__(__self__, *,
|
129
|
+
base_config: Optional[pulumi.Input[str]] = None,
|
130
|
+
config_type: Optional[pulumi.Input[str]] = None,
|
131
|
+
display_name: Optional[pulumi.Input[str]] = None,
|
132
|
+
effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
133
|
+
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
134
|
+
name: Optional[pulumi.Input[str]] = None,
|
135
|
+
project: Optional[pulumi.Input[str]] = None,
|
136
|
+
pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
137
|
+
replicas: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceConfigReplicaArgs']]]] = None):
|
138
|
+
"""
|
139
|
+
Input properties used for looking up and filtering InstanceConfig resources.
|
140
|
+
:param pulumi.Input[str] base_config: Base configuration name, e.g. nam3, based on which this configuration is created. Only set for user managed
|
141
|
+
configurations. baseConfig must refer to a configuration of type GOOGLE_MANAGED in the same project as this
|
142
|
+
configuration.
|
143
|
+
:param pulumi.Input[str] config_type: Output only. Whether this instance config is a Google or User Managed Configuration.
|
144
|
+
:param pulumi.Input[str] display_name: The name of this instance configuration as it appears in UIs.
|
145
|
+
: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.
|
146
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
|
147
|
+
**Note**: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer
|
148
|
+
to the field 'effective_labels' for all of the labels present on the resource.
|
149
|
+
:param pulumi.Input[str] name: A unique identifier for the instance configuration. Values are of the
|
150
|
+
form projects/<project>/instanceConfigs/[a-z][-a-z0-9]*
|
151
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
|
152
|
+
and default labels configured on the provider.
|
153
|
+
:param pulumi.Input[Sequence[pulumi.Input['InstanceConfigReplicaArgs']]] replicas: The geographic placement of nodes in this instance configuration and their replication properties.
|
154
|
+
Structure is documented below.
|
155
|
+
"""
|
156
|
+
if base_config is not None:
|
157
|
+
pulumi.set(__self__, "base_config", base_config)
|
158
|
+
if config_type is not None:
|
159
|
+
pulumi.set(__self__, "config_type", config_type)
|
160
|
+
if display_name is not None:
|
161
|
+
pulumi.set(__self__, "display_name", display_name)
|
162
|
+
if effective_labels is not None:
|
163
|
+
pulumi.set(__self__, "effective_labels", effective_labels)
|
164
|
+
if labels is not None:
|
165
|
+
pulumi.set(__self__, "labels", labels)
|
166
|
+
if name is not None:
|
167
|
+
pulumi.set(__self__, "name", name)
|
168
|
+
if project is not None:
|
169
|
+
pulumi.set(__self__, "project", project)
|
170
|
+
if pulumi_labels is not None:
|
171
|
+
pulumi.set(__self__, "pulumi_labels", pulumi_labels)
|
172
|
+
if replicas is not None:
|
173
|
+
pulumi.set(__self__, "replicas", replicas)
|
174
|
+
|
175
|
+
@property
|
176
|
+
@pulumi.getter(name="baseConfig")
|
177
|
+
def base_config(self) -> Optional[pulumi.Input[str]]:
|
178
|
+
"""
|
179
|
+
Base configuration name, e.g. nam3, based on which this configuration is created. Only set for user managed
|
180
|
+
configurations. baseConfig must refer to a configuration of type GOOGLE_MANAGED in the same project as this
|
181
|
+
configuration.
|
182
|
+
"""
|
183
|
+
return pulumi.get(self, "base_config")
|
184
|
+
|
185
|
+
@base_config.setter
|
186
|
+
def base_config(self, value: Optional[pulumi.Input[str]]):
|
187
|
+
pulumi.set(self, "base_config", value)
|
188
|
+
|
189
|
+
@property
|
190
|
+
@pulumi.getter(name="configType")
|
191
|
+
def config_type(self) -> Optional[pulumi.Input[str]]:
|
192
|
+
"""
|
193
|
+
Output only. Whether this instance config is a Google or User Managed Configuration.
|
194
|
+
"""
|
195
|
+
return pulumi.get(self, "config_type")
|
196
|
+
|
197
|
+
@config_type.setter
|
198
|
+
def config_type(self, value: Optional[pulumi.Input[str]]):
|
199
|
+
pulumi.set(self, "config_type", value)
|
200
|
+
|
201
|
+
@property
|
202
|
+
@pulumi.getter(name="displayName")
|
203
|
+
def display_name(self) -> Optional[pulumi.Input[str]]:
|
204
|
+
"""
|
205
|
+
The name of this instance configuration as it appears in UIs.
|
206
|
+
"""
|
207
|
+
return pulumi.get(self, "display_name")
|
208
|
+
|
209
|
+
@display_name.setter
|
210
|
+
def display_name(self, value: Optional[pulumi.Input[str]]):
|
211
|
+
pulumi.set(self, "display_name", value)
|
212
|
+
|
213
|
+
@property
|
214
|
+
@pulumi.getter(name="effectiveLabels")
|
215
|
+
def effective_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
|
216
|
+
"""
|
217
|
+
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
|
218
|
+
"""
|
219
|
+
return pulumi.get(self, "effective_labels")
|
220
|
+
|
221
|
+
@effective_labels.setter
|
222
|
+
def effective_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
|
223
|
+
pulumi.set(self, "effective_labels", value)
|
224
|
+
|
225
|
+
@property
|
226
|
+
@pulumi.getter
|
227
|
+
def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
|
228
|
+
"""
|
229
|
+
An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
|
230
|
+
**Note**: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer
|
231
|
+
to the field 'effective_labels' for all of the labels present on the resource.
|
232
|
+
"""
|
233
|
+
return pulumi.get(self, "labels")
|
234
|
+
|
235
|
+
@labels.setter
|
236
|
+
def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
|
237
|
+
pulumi.set(self, "labels", value)
|
238
|
+
|
239
|
+
@property
|
240
|
+
@pulumi.getter
|
241
|
+
def name(self) -> Optional[pulumi.Input[str]]:
|
242
|
+
"""
|
243
|
+
A unique identifier for the instance configuration. Values are of the
|
244
|
+
form projects/<project>/instanceConfigs/[a-z][-a-z0-9]*
|
245
|
+
"""
|
246
|
+
return pulumi.get(self, "name")
|
247
|
+
|
248
|
+
@name.setter
|
249
|
+
def name(self, value: Optional[pulumi.Input[str]]):
|
250
|
+
pulumi.set(self, "name", value)
|
251
|
+
|
252
|
+
@property
|
253
|
+
@pulumi.getter
|
254
|
+
def project(self) -> Optional[pulumi.Input[str]]:
|
255
|
+
return pulumi.get(self, "project")
|
256
|
+
|
257
|
+
@project.setter
|
258
|
+
def project(self, value: Optional[pulumi.Input[str]]):
|
259
|
+
pulumi.set(self, "project", value)
|
260
|
+
|
261
|
+
@property
|
262
|
+
@pulumi.getter(name="pulumiLabels")
|
263
|
+
def pulumi_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
|
264
|
+
"""
|
265
|
+
The combination of labels configured directly on the resource
|
266
|
+
and default labels configured on the provider.
|
267
|
+
"""
|
268
|
+
return pulumi.get(self, "pulumi_labels")
|
269
|
+
|
270
|
+
@pulumi_labels.setter
|
271
|
+
def pulumi_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
|
272
|
+
pulumi.set(self, "pulumi_labels", value)
|
273
|
+
|
274
|
+
@property
|
275
|
+
@pulumi.getter
|
276
|
+
def replicas(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InstanceConfigReplicaArgs']]]]:
|
277
|
+
"""
|
278
|
+
The geographic placement of nodes in this instance configuration and their replication properties.
|
279
|
+
Structure is documented below.
|
280
|
+
"""
|
281
|
+
return pulumi.get(self, "replicas")
|
282
|
+
|
283
|
+
@replicas.setter
|
284
|
+
def replicas(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceConfigReplicaArgs']]]]):
|
285
|
+
pulumi.set(self, "replicas", value)
|
286
|
+
|
287
|
+
|
288
|
+
class InstanceConfig(pulumi.CustomResource):
|
289
|
+
@overload
|
290
|
+
def __init__(__self__,
|
291
|
+
resource_name: str,
|
292
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
293
|
+
base_config: Optional[pulumi.Input[str]] = None,
|
294
|
+
display_name: Optional[pulumi.Input[str]] = None,
|
295
|
+
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
296
|
+
name: Optional[pulumi.Input[str]] = None,
|
297
|
+
project: Optional[pulumi.Input[str]] = None,
|
298
|
+
replicas: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceConfigReplicaArgs']]]]] = None,
|
299
|
+
__props__=None):
|
300
|
+
"""
|
301
|
+
A possible configuration for a Cloud Spanner instance. Configurations
|
302
|
+
define the geographic placement of nodes and their replication.
|
303
|
+
|
304
|
+
To get more information about InstanceConfig, see:
|
305
|
+
|
306
|
+
* [API documentation](https://cloud.google.com/spanner/docs/reference/rest/v1/projects.instanceConfigs)
|
307
|
+
* How-to Guides
|
308
|
+
* [Official Documentation](https://cloud.google.com/spanner/)
|
309
|
+
|
310
|
+
## Example Usage
|
311
|
+
|
312
|
+
## Import
|
313
|
+
|
314
|
+
InstanceConfig can be imported using any of these accepted formats:
|
315
|
+
|
316
|
+
* `projects/{{project}}/instanceConfigs/{{name}}`
|
317
|
+
|
318
|
+
* `{{project}}/{{name}}`
|
319
|
+
|
320
|
+
* `{{name}}`
|
321
|
+
|
322
|
+
When using the `pulumi import` command, InstanceConfig can be imported using one of the formats above. For example:
|
323
|
+
|
324
|
+
```sh
|
325
|
+
$ pulumi import gcp:spanner/instanceConfig:InstanceConfig default projects/{{project}}/instanceConfigs/{{name}}
|
326
|
+
```
|
327
|
+
|
328
|
+
```sh
|
329
|
+
$ pulumi import gcp:spanner/instanceConfig:InstanceConfig default {{project}}/{{name}}
|
330
|
+
```
|
331
|
+
|
332
|
+
```sh
|
333
|
+
$ pulumi import gcp:spanner/instanceConfig:InstanceConfig default {{name}}
|
334
|
+
```
|
335
|
+
|
336
|
+
:param str resource_name: The name of the resource.
|
337
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
338
|
+
:param pulumi.Input[str] base_config: Base configuration name, e.g. nam3, based on which this configuration is created. Only set for user managed
|
339
|
+
configurations. baseConfig must refer to a configuration of type GOOGLE_MANAGED in the same project as this
|
340
|
+
configuration.
|
341
|
+
:param pulumi.Input[str] display_name: The name of this instance configuration as it appears in UIs.
|
342
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
|
343
|
+
**Note**: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer
|
344
|
+
to the field 'effective_labels' for all of the labels present on the resource.
|
345
|
+
:param pulumi.Input[str] name: A unique identifier for the instance configuration. Values are of the
|
346
|
+
form projects/<project>/instanceConfigs/[a-z][-a-z0-9]*
|
347
|
+
:param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceConfigReplicaArgs']]]] replicas: The geographic placement of nodes in this instance configuration and their replication properties.
|
348
|
+
Structure is documented below.
|
349
|
+
"""
|
350
|
+
...
|
351
|
+
@overload
|
352
|
+
def __init__(__self__,
|
353
|
+
resource_name: str,
|
354
|
+
args: InstanceConfigArgs,
|
355
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
356
|
+
"""
|
357
|
+
A possible configuration for a Cloud Spanner instance. Configurations
|
358
|
+
define the geographic placement of nodes and their replication.
|
359
|
+
|
360
|
+
To get more information about InstanceConfig, see:
|
361
|
+
|
362
|
+
* [API documentation](https://cloud.google.com/spanner/docs/reference/rest/v1/projects.instanceConfigs)
|
363
|
+
* How-to Guides
|
364
|
+
* [Official Documentation](https://cloud.google.com/spanner/)
|
365
|
+
|
366
|
+
## Example Usage
|
367
|
+
|
368
|
+
## Import
|
369
|
+
|
370
|
+
InstanceConfig can be imported using any of these accepted formats:
|
371
|
+
|
372
|
+
* `projects/{{project}}/instanceConfigs/{{name}}`
|
373
|
+
|
374
|
+
* `{{project}}/{{name}}`
|
375
|
+
|
376
|
+
* `{{name}}`
|
377
|
+
|
378
|
+
When using the `pulumi import` command, InstanceConfig can be imported using one of the formats above. For example:
|
379
|
+
|
380
|
+
```sh
|
381
|
+
$ pulumi import gcp:spanner/instanceConfig:InstanceConfig default projects/{{project}}/instanceConfigs/{{name}}
|
382
|
+
```
|
383
|
+
|
384
|
+
```sh
|
385
|
+
$ pulumi import gcp:spanner/instanceConfig:InstanceConfig default {{project}}/{{name}}
|
386
|
+
```
|
387
|
+
|
388
|
+
```sh
|
389
|
+
$ pulumi import gcp:spanner/instanceConfig:InstanceConfig default {{name}}
|
390
|
+
```
|
391
|
+
|
392
|
+
:param str resource_name: The name of the resource.
|
393
|
+
:param InstanceConfigArgs args: The arguments to use to populate this resource's properties.
|
394
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
395
|
+
"""
|
396
|
+
...
|
397
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
398
|
+
resource_args, opts = _utilities.get_resource_args_opts(InstanceConfigArgs, pulumi.ResourceOptions, *args, **kwargs)
|
399
|
+
if resource_args is not None:
|
400
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
401
|
+
else:
|
402
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
403
|
+
|
404
|
+
def _internal_init(__self__,
|
405
|
+
resource_name: str,
|
406
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
407
|
+
base_config: Optional[pulumi.Input[str]] = None,
|
408
|
+
display_name: Optional[pulumi.Input[str]] = None,
|
409
|
+
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
410
|
+
name: Optional[pulumi.Input[str]] = None,
|
411
|
+
project: Optional[pulumi.Input[str]] = None,
|
412
|
+
replicas: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceConfigReplicaArgs']]]]] = None,
|
413
|
+
__props__=None):
|
414
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
415
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
416
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
417
|
+
if opts.id is None:
|
418
|
+
if __props__ is not None:
|
419
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
420
|
+
__props__ = InstanceConfigArgs.__new__(InstanceConfigArgs)
|
421
|
+
|
422
|
+
__props__.__dict__["base_config"] = base_config
|
423
|
+
if display_name is None and not opts.urn:
|
424
|
+
raise TypeError("Missing required property 'display_name'")
|
425
|
+
__props__.__dict__["display_name"] = display_name
|
426
|
+
__props__.__dict__["labels"] = labels
|
427
|
+
__props__.__dict__["name"] = name
|
428
|
+
__props__.__dict__["project"] = project
|
429
|
+
if replicas is None and not opts.urn:
|
430
|
+
raise TypeError("Missing required property 'replicas'")
|
431
|
+
__props__.__dict__["replicas"] = replicas
|
432
|
+
__props__.__dict__["config_type"] = None
|
433
|
+
__props__.__dict__["effective_labels"] = None
|
434
|
+
__props__.__dict__["pulumi_labels"] = None
|
435
|
+
secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["effectiveLabels", "pulumiLabels"])
|
436
|
+
opts = pulumi.ResourceOptions.merge(opts, secret_opts)
|
437
|
+
super(InstanceConfig, __self__).__init__(
|
438
|
+
'gcp:spanner/instanceConfig:InstanceConfig',
|
439
|
+
resource_name,
|
440
|
+
__props__,
|
441
|
+
opts)
|
442
|
+
|
443
|
+
@staticmethod
|
444
|
+
def get(resource_name: str,
|
445
|
+
id: pulumi.Input[str],
|
446
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
447
|
+
base_config: Optional[pulumi.Input[str]] = None,
|
448
|
+
config_type: Optional[pulumi.Input[str]] = None,
|
449
|
+
display_name: Optional[pulumi.Input[str]] = None,
|
450
|
+
effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
451
|
+
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
452
|
+
name: Optional[pulumi.Input[str]] = None,
|
453
|
+
project: Optional[pulumi.Input[str]] = None,
|
454
|
+
pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
455
|
+
replicas: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceConfigReplicaArgs']]]]] = None) -> 'InstanceConfig':
|
456
|
+
"""
|
457
|
+
Get an existing InstanceConfig resource's state with the given name, id, and optional extra
|
458
|
+
properties used to qualify the lookup.
|
459
|
+
|
460
|
+
:param str resource_name: The unique name of the resulting resource.
|
461
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
462
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
463
|
+
:param pulumi.Input[str] base_config: Base configuration name, e.g. nam3, based on which this configuration is created. Only set for user managed
|
464
|
+
configurations. baseConfig must refer to a configuration of type GOOGLE_MANAGED in the same project as this
|
465
|
+
configuration.
|
466
|
+
:param pulumi.Input[str] config_type: Output only. Whether this instance config is a Google or User Managed Configuration.
|
467
|
+
:param pulumi.Input[str] display_name: The name of this instance configuration as it appears in UIs.
|
468
|
+
: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.
|
469
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
|
470
|
+
**Note**: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer
|
471
|
+
to the field 'effective_labels' for all of the labels present on the resource.
|
472
|
+
:param pulumi.Input[str] name: A unique identifier for the instance configuration. Values are of the
|
473
|
+
form projects/<project>/instanceConfigs/[a-z][-a-z0-9]*
|
474
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
|
475
|
+
and default labels configured on the provider.
|
476
|
+
:param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceConfigReplicaArgs']]]] replicas: The geographic placement of nodes in this instance configuration and their replication properties.
|
477
|
+
Structure is documented below.
|
478
|
+
"""
|
479
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
480
|
+
|
481
|
+
__props__ = _InstanceConfigState.__new__(_InstanceConfigState)
|
482
|
+
|
483
|
+
__props__.__dict__["base_config"] = base_config
|
484
|
+
__props__.__dict__["config_type"] = config_type
|
485
|
+
__props__.__dict__["display_name"] = display_name
|
486
|
+
__props__.__dict__["effective_labels"] = effective_labels
|
487
|
+
__props__.__dict__["labels"] = labels
|
488
|
+
__props__.__dict__["name"] = name
|
489
|
+
__props__.__dict__["project"] = project
|
490
|
+
__props__.__dict__["pulumi_labels"] = pulumi_labels
|
491
|
+
__props__.__dict__["replicas"] = replicas
|
492
|
+
return InstanceConfig(resource_name, opts=opts, __props__=__props__)
|
493
|
+
|
494
|
+
@property
|
495
|
+
@pulumi.getter(name="baseConfig")
|
496
|
+
def base_config(self) -> pulumi.Output[str]:
|
497
|
+
"""
|
498
|
+
Base configuration name, e.g. nam3, based on which this configuration is created. Only set for user managed
|
499
|
+
configurations. baseConfig must refer to a configuration of type GOOGLE_MANAGED in the same project as this
|
500
|
+
configuration.
|
501
|
+
"""
|
502
|
+
return pulumi.get(self, "base_config")
|
503
|
+
|
504
|
+
@property
|
505
|
+
@pulumi.getter(name="configType")
|
506
|
+
def config_type(self) -> pulumi.Output[str]:
|
507
|
+
"""
|
508
|
+
Output only. Whether this instance config is a Google or User Managed Configuration.
|
509
|
+
"""
|
510
|
+
return pulumi.get(self, "config_type")
|
511
|
+
|
512
|
+
@property
|
513
|
+
@pulumi.getter(name="displayName")
|
514
|
+
def display_name(self) -> pulumi.Output[str]:
|
515
|
+
"""
|
516
|
+
The name of this instance configuration as it appears in UIs.
|
517
|
+
"""
|
518
|
+
return pulumi.get(self, "display_name")
|
519
|
+
|
520
|
+
@property
|
521
|
+
@pulumi.getter(name="effectiveLabels")
|
522
|
+
def effective_labels(self) -> pulumi.Output[Mapping[str, str]]:
|
523
|
+
"""
|
524
|
+
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
|
525
|
+
"""
|
526
|
+
return pulumi.get(self, "effective_labels")
|
527
|
+
|
528
|
+
@property
|
529
|
+
@pulumi.getter
|
530
|
+
def labels(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
|
531
|
+
"""
|
532
|
+
An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
|
533
|
+
**Note**: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer
|
534
|
+
to the field 'effective_labels' for all of the labels present on the resource.
|
535
|
+
"""
|
536
|
+
return pulumi.get(self, "labels")
|
537
|
+
|
538
|
+
@property
|
539
|
+
@pulumi.getter
|
540
|
+
def name(self) -> pulumi.Output[str]:
|
541
|
+
"""
|
542
|
+
A unique identifier for the instance configuration. Values are of the
|
543
|
+
form projects/<project>/instanceConfigs/[a-z][-a-z0-9]*
|
544
|
+
"""
|
545
|
+
return pulumi.get(self, "name")
|
546
|
+
|
547
|
+
@property
|
548
|
+
@pulumi.getter
|
549
|
+
def project(self) -> pulumi.Output[str]:
|
550
|
+
return pulumi.get(self, "project")
|
551
|
+
|
552
|
+
@property
|
553
|
+
@pulumi.getter(name="pulumiLabels")
|
554
|
+
def pulumi_labels(self) -> pulumi.Output[Mapping[str, str]]:
|
555
|
+
"""
|
556
|
+
The combination of labels configured directly on the resource
|
557
|
+
and default labels configured on the provider.
|
558
|
+
"""
|
559
|
+
return pulumi.get(self, "pulumi_labels")
|
560
|
+
|
561
|
+
@property
|
562
|
+
@pulumi.getter
|
563
|
+
def replicas(self) -> pulumi.Output[Sequence['outputs.InstanceConfigReplica']]:
|
564
|
+
"""
|
565
|
+
The geographic placement of nodes in this instance configuration and their replication properties.
|
566
|
+
Structure is documented below.
|
567
|
+
"""
|
568
|
+
return pulumi.get(self, "replicas")
|
569
|
+
|
pulumi_gcp/spanner/outputs.py
CHANGED
@@ -17,6 +17,7 @@ __all__ = [
|
|
17
17
|
'InstanceAutoscalingConfig',
|
18
18
|
'InstanceAutoscalingConfigAutoscalingLimits',
|
19
19
|
'InstanceAutoscalingConfigAutoscalingTargets',
|
20
|
+
'InstanceConfigReplica',
|
20
21
|
'InstanceIAMBindingCondition',
|
21
22
|
'InstanceIAMMemberCondition',
|
22
23
|
'GetInstanceAutoscalingConfigResult',
|
@@ -347,6 +348,78 @@ class InstanceAutoscalingConfigAutoscalingTargets(dict):
|
|
347
348
|
return pulumi.get(self, "storage_utilization_percent")
|
348
349
|
|
349
350
|
|
351
|
+
@pulumi.output_type
|
352
|
+
class InstanceConfigReplica(dict):
|
353
|
+
@staticmethod
|
354
|
+
def __key_warning(key: str):
|
355
|
+
suggest = None
|
356
|
+
if key == "defaultLeaderLocation":
|
357
|
+
suggest = "default_leader_location"
|
358
|
+
|
359
|
+
if suggest:
|
360
|
+
pulumi.log.warn(f"Key '{key}' not found in InstanceConfigReplica. Access the value via the '{suggest}' property getter instead.")
|
361
|
+
|
362
|
+
def __getitem__(self, key: str) -> Any:
|
363
|
+
InstanceConfigReplica.__key_warning(key)
|
364
|
+
return super().__getitem__(key)
|
365
|
+
|
366
|
+
def get(self, key: str, default = None) -> Any:
|
367
|
+
InstanceConfigReplica.__key_warning(key)
|
368
|
+
return super().get(key, default)
|
369
|
+
|
370
|
+
def __init__(__self__, *,
|
371
|
+
default_leader_location: Optional[bool] = None,
|
372
|
+
location: Optional[str] = None,
|
373
|
+
type: Optional[str] = None):
|
374
|
+
"""
|
375
|
+
:param bool default_leader_location: If true, this location is designated as the default leader location where
|
376
|
+
leader replicas are placed.
|
377
|
+
|
378
|
+
- - -
|
379
|
+
:param str location: The location of the serving resources, e.g. "us-central1".
|
380
|
+
:param str type: Indicates the type of replica. See the [replica types
|
381
|
+
documentation](https://cloud.google.com/spanner/docs/replication#replica_types)
|
382
|
+
for more details.
|
383
|
+
Possible values are: `READ_WRITE`, `READ_ONLY`, `WITNESS`.
|
384
|
+
"""
|
385
|
+
if default_leader_location is not None:
|
386
|
+
pulumi.set(__self__, "default_leader_location", default_leader_location)
|
387
|
+
if location is not None:
|
388
|
+
pulumi.set(__self__, "location", location)
|
389
|
+
if type is not None:
|
390
|
+
pulumi.set(__self__, "type", type)
|
391
|
+
|
392
|
+
@property
|
393
|
+
@pulumi.getter(name="defaultLeaderLocation")
|
394
|
+
def default_leader_location(self) -> Optional[bool]:
|
395
|
+
"""
|
396
|
+
If true, this location is designated as the default leader location where
|
397
|
+
leader replicas are placed.
|
398
|
+
|
399
|
+
- - -
|
400
|
+
"""
|
401
|
+
return pulumi.get(self, "default_leader_location")
|
402
|
+
|
403
|
+
@property
|
404
|
+
@pulumi.getter
|
405
|
+
def location(self) -> Optional[str]:
|
406
|
+
"""
|
407
|
+
The location of the serving resources, e.g. "us-central1".
|
408
|
+
"""
|
409
|
+
return pulumi.get(self, "location")
|
410
|
+
|
411
|
+
@property
|
412
|
+
@pulumi.getter
|
413
|
+
def type(self) -> Optional[str]:
|
414
|
+
"""
|
415
|
+
Indicates the type of replica. See the [replica types
|
416
|
+
documentation](https://cloud.google.com/spanner/docs/replication#replica_types)
|
417
|
+
for more details.
|
418
|
+
Possible values are: `READ_WRITE`, `READ_ONLY`, `WITNESS`.
|
419
|
+
"""
|
420
|
+
return pulumi.get(self, "type")
|
421
|
+
|
422
|
+
|
350
423
|
@pulumi.output_type
|
351
424
|
class InstanceIAMBindingCondition(dict):
|
352
425
|
def __init__(__self__, *,
|