pulumi-gcp 7.30.0a1720039709__py3-none-any.whl → 7.30.0a1720437548__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/artifactregistry/get_docker_image.py +2 -2
- pulumi_gcp/bigtable/gc_policy.py +68 -14
- pulumi_gcp/cloudfunctionsv2/_inputs.py +97 -0
- pulumi_gcp/cloudfunctionsv2/function.py +232 -0
- pulumi_gcp/cloudfunctionsv2/outputs.py +129 -1
- pulumi_gcp/compute/_inputs.py +622 -0
- pulumi_gcp/compute/address.py +0 -7
- pulumi_gcp/compute/backend_service.py +0 -14
- pulumi_gcp/compute/forwarding_rule.py +0 -21
- pulumi_gcp/compute/global_forwarding_rule.py +0 -21
- pulumi_gcp/compute/managed_ssl_certificate.py +0 -7
- pulumi_gcp/compute/manged_ssl_certificate.py +0 -7
- pulumi_gcp/compute/network_attachment.py +16 -0
- pulumi_gcp/compute/outputs.py +504 -8
- pulumi_gcp/compute/region_backend_service.py +0 -14
- pulumi_gcp/compute/region_ssl_certificate.py +0 -7
- pulumi_gcp/compute/ssl_certificate.py +0 -7
- pulumi_gcp/compute/target_https_proxy.py +76 -1
- pulumi_gcp/compute/url_map.py +255 -0
- pulumi_gcp/container/aws_cluster.py +2 -2
- pulumi_gcp/container/aws_node_pool.py +2 -2
- pulumi_gcp/container/azure_client.py +2 -2
- pulumi_gcp/container/azure_cluster.py +2 -2
- pulumi_gcp/container/azure_node_pool.py +2 -2
- pulumi_gcp/datafusion/_inputs.py +163 -11
- pulumi_gcp/datafusion/instance.py +64 -0
- pulumi_gcp/datafusion/outputs.py +127 -7
- pulumi_gcp/healthcare/_inputs.py +43 -0
- pulumi_gcp/healthcare/dataset.py +110 -0
- pulumi_gcp/healthcare/outputs.py +43 -0
- pulumi_gcp/identityplatform/config.py +1 -1
- pulumi_gcp/logging/billing_account_bucket_config.py +1 -1
- pulumi_gcp/logging/folder_bucket_config.py +1 -1
- pulumi_gcp/logging/organization_bucket_config.py +1 -1
- pulumi_gcp/monitoring/_inputs.py +77 -0
- pulumi_gcp/monitoring/outputs.py +63 -0
- pulumi_gcp/pulumi-plugin.json +1 -1
- pulumi_gcp/securitycenter/instance_iam_binding.py +64 -0
- pulumi_gcp/securitycenter/instance_iam_member.py +64 -0
- pulumi_gcp/securitycenter/instance_iam_policy.py +64 -0
- pulumi_gcp/storage/__init__.py +5 -0
- pulumi_gcp/storage/_inputs.py +130 -0
- pulumi_gcp/storage/get_managed_folder_iam_policy.py +115 -0
- pulumi_gcp/storage/managed_folder.py +440 -0
- pulumi_gcp/storage/managed_folder_iam_binding.py +947 -0
- pulumi_gcp/storage/managed_folder_iam_member.py +947 -0
- pulumi_gcp/storage/managed_folder_iam_policy.py +766 -0
- pulumi_gcp/storage/outputs.py +76 -0
- pulumi_gcp/vertex/_inputs.py +3 -3
- pulumi_gcp/vertex/ai_feature_online_store.py +9 -9
- pulumi_gcp/vertex/outputs.py +2 -2
- {pulumi_gcp-7.30.0a1720039709.dist-info → pulumi_gcp-7.30.0a1720437548.dist-info}/METADATA +1 -1
- {pulumi_gcp-7.30.0a1720039709.dist-info → pulumi_gcp-7.30.0a1720437548.dist-info}/RECORD +56 -51
- {pulumi_gcp-7.30.0a1720039709.dist-info → pulumi_gcp-7.30.0a1720437548.dist-info}/WHEEL +0 -0
- {pulumi_gcp-7.30.0a1720039709.dist-info → pulumi_gcp-7.30.0a1720437548.dist-info}/top_level.txt +0 -0
pulumi_gcp/healthcare/dataset.py
CHANGED
@@ -13,6 +13,8 @@ if sys.version_info >= (3, 11):
|
|
13
13
|
else:
|
14
14
|
from typing_extensions import NotRequired, TypedDict, TypeAlias
|
15
15
|
from .. import _utilities
|
16
|
+
from . import outputs
|
17
|
+
from ._inputs import *
|
16
18
|
|
17
19
|
__all__ = ['DatasetArgs', 'Dataset']
|
18
20
|
|
@@ -20,6 +22,7 @@ __all__ = ['DatasetArgs', 'Dataset']
|
|
20
22
|
class DatasetArgs:
|
21
23
|
def __init__(__self__, *,
|
22
24
|
location: pulumi.Input[str],
|
25
|
+
encryption_spec: Optional[pulumi.Input['DatasetEncryptionSpecArgs']] = None,
|
23
26
|
name: Optional[pulumi.Input[str]] = None,
|
24
27
|
project: Optional[pulumi.Input[str]] = None,
|
25
28
|
time_zone: Optional[pulumi.Input[str]] = None):
|
@@ -29,6 +32,8 @@ class DatasetArgs:
|
|
29
32
|
|
30
33
|
|
31
34
|
- - -
|
35
|
+
:param pulumi.Input['DatasetEncryptionSpecArgs'] encryption_spec: A nested object resource
|
36
|
+
Structure is documented below.
|
32
37
|
:param pulumi.Input[str] name: The resource name for the Dataset.
|
33
38
|
:param pulumi.Input[str] project: The ID of the project in which the resource belongs.
|
34
39
|
If it is not provided, the provider project is used.
|
@@ -37,6 +42,8 @@ class DatasetArgs:
|
|
37
42
|
(e.g., HL7 messages) where no explicit timezone is specified.
|
38
43
|
"""
|
39
44
|
pulumi.set(__self__, "location", location)
|
45
|
+
if encryption_spec is not None:
|
46
|
+
pulumi.set(__self__, "encryption_spec", encryption_spec)
|
40
47
|
if name is not None:
|
41
48
|
pulumi.set(__self__, "name", name)
|
42
49
|
if project is not None:
|
@@ -59,6 +66,19 @@ class DatasetArgs:
|
|
59
66
|
def location(self, value: pulumi.Input[str]):
|
60
67
|
pulumi.set(self, "location", value)
|
61
68
|
|
69
|
+
@property
|
70
|
+
@pulumi.getter(name="encryptionSpec")
|
71
|
+
def encryption_spec(self) -> Optional[pulumi.Input['DatasetEncryptionSpecArgs']]:
|
72
|
+
"""
|
73
|
+
A nested object resource
|
74
|
+
Structure is documented below.
|
75
|
+
"""
|
76
|
+
return pulumi.get(self, "encryption_spec")
|
77
|
+
|
78
|
+
@encryption_spec.setter
|
79
|
+
def encryption_spec(self, value: Optional[pulumi.Input['DatasetEncryptionSpecArgs']]):
|
80
|
+
pulumi.set(self, "encryption_spec", value)
|
81
|
+
|
62
82
|
@property
|
63
83
|
@pulumi.getter
|
64
84
|
def name(self) -> Optional[pulumi.Input[str]]:
|
@@ -102,6 +122,7 @@ class DatasetArgs:
|
|
102
122
|
@pulumi.input_type
|
103
123
|
class _DatasetState:
|
104
124
|
def __init__(__self__, *,
|
125
|
+
encryption_spec: Optional[pulumi.Input['DatasetEncryptionSpecArgs']] = None,
|
105
126
|
location: Optional[pulumi.Input[str]] = None,
|
106
127
|
name: Optional[pulumi.Input[str]] = None,
|
107
128
|
project: Optional[pulumi.Input[str]] = None,
|
@@ -109,6 +130,8 @@ class _DatasetState:
|
|
109
130
|
time_zone: Optional[pulumi.Input[str]] = None):
|
110
131
|
"""
|
111
132
|
Input properties used for looking up and filtering Dataset resources.
|
133
|
+
:param pulumi.Input['DatasetEncryptionSpecArgs'] encryption_spec: A nested object resource
|
134
|
+
Structure is documented below.
|
112
135
|
:param pulumi.Input[str] location: The location for the Dataset.
|
113
136
|
|
114
137
|
|
@@ -121,6 +144,8 @@ class _DatasetState:
|
|
121
144
|
"America/New_York" or empty, which defaults to UTC. This is used for parsing times in resources
|
122
145
|
(e.g., HL7 messages) where no explicit timezone is specified.
|
123
146
|
"""
|
147
|
+
if encryption_spec is not None:
|
148
|
+
pulumi.set(__self__, "encryption_spec", encryption_spec)
|
124
149
|
if location is not None:
|
125
150
|
pulumi.set(__self__, "location", location)
|
126
151
|
if name is not None:
|
@@ -132,6 +157,19 @@ class _DatasetState:
|
|
132
157
|
if time_zone is not None:
|
133
158
|
pulumi.set(__self__, "time_zone", time_zone)
|
134
159
|
|
160
|
+
@property
|
161
|
+
@pulumi.getter(name="encryptionSpec")
|
162
|
+
def encryption_spec(self) -> Optional[pulumi.Input['DatasetEncryptionSpecArgs']]:
|
163
|
+
"""
|
164
|
+
A nested object resource
|
165
|
+
Structure is documented below.
|
166
|
+
"""
|
167
|
+
return pulumi.get(self, "encryption_spec")
|
168
|
+
|
169
|
+
@encryption_spec.setter
|
170
|
+
def encryption_spec(self, value: Optional[pulumi.Input['DatasetEncryptionSpecArgs']]):
|
171
|
+
pulumi.set(self, "encryption_spec", value)
|
172
|
+
|
135
173
|
@property
|
136
174
|
@pulumi.getter
|
137
175
|
def location(self) -> Optional[pulumi.Input[str]]:
|
@@ -204,6 +242,7 @@ class Dataset(pulumi.CustomResource):
|
|
204
242
|
def __init__(__self__,
|
205
243
|
resource_name: str,
|
206
244
|
opts: Optional[pulumi.ResourceOptions] = None,
|
245
|
+
encryption_spec: Optional[pulumi.Input[Union['DatasetEncryptionSpecArgs', 'DatasetEncryptionSpecArgsDict']]] = None,
|
207
246
|
location: Optional[pulumi.Input[str]] = None,
|
208
247
|
name: Optional[pulumi.Input[str]] = None,
|
209
248
|
project: Optional[pulumi.Input[str]] = None,
|
@@ -231,6 +270,33 @@ class Dataset(pulumi.CustomResource):
|
|
231
270
|
location="us-central1",
|
232
271
|
time_zone="UTC")
|
233
272
|
```
|
273
|
+
### Healthcare Dataset Cmek
|
274
|
+
|
275
|
+
```python
|
276
|
+
import pulumi
|
277
|
+
import pulumi_gcp as gcp
|
278
|
+
|
279
|
+
project = gcp.organizations.get_project()
|
280
|
+
key_ring = gcp.kms.KeyRing("key_ring",
|
281
|
+
name="example-keyring",
|
282
|
+
location="us-central1")
|
283
|
+
crypto_key = gcp.kms.CryptoKey("crypto_key",
|
284
|
+
name="example-key",
|
285
|
+
key_ring=key_ring.id,
|
286
|
+
purpose="ENCRYPT_DECRYPT")
|
287
|
+
healthcare_cmek_keyuser = gcp.kms.CryptoKeyIAMBinding("healthcare_cmek_keyuser",
|
288
|
+
crypto_key_id=crypto_key.id,
|
289
|
+
role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
|
290
|
+
members=[f"serviceAccount:service-{project.number}@gcp-sa-healthcare.iam.gserviceaccount.com"])
|
291
|
+
default = gcp.healthcare.Dataset("default",
|
292
|
+
name="example-dataset",
|
293
|
+
location="us-central1",
|
294
|
+
time_zone="UTC",
|
295
|
+
encryption_spec={
|
296
|
+
"kmsKeyName": crypto_key.id,
|
297
|
+
},
|
298
|
+
opts = pulumi.ResourceOptions(depends_on=[healthcare_cmek_keyuser]))
|
299
|
+
```
|
234
300
|
|
235
301
|
## Import
|
236
302
|
|
@@ -258,6 +324,8 @@ class Dataset(pulumi.CustomResource):
|
|
258
324
|
|
259
325
|
:param str resource_name: The name of the resource.
|
260
326
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
327
|
+
:param pulumi.Input[Union['DatasetEncryptionSpecArgs', 'DatasetEncryptionSpecArgsDict']] encryption_spec: A nested object resource
|
328
|
+
Structure is documented below.
|
261
329
|
:param pulumi.Input[str] location: The location for the Dataset.
|
262
330
|
|
263
331
|
|
@@ -297,6 +365,33 @@ class Dataset(pulumi.CustomResource):
|
|
297
365
|
location="us-central1",
|
298
366
|
time_zone="UTC")
|
299
367
|
```
|
368
|
+
### Healthcare Dataset Cmek
|
369
|
+
|
370
|
+
```python
|
371
|
+
import pulumi
|
372
|
+
import pulumi_gcp as gcp
|
373
|
+
|
374
|
+
project = gcp.organizations.get_project()
|
375
|
+
key_ring = gcp.kms.KeyRing("key_ring",
|
376
|
+
name="example-keyring",
|
377
|
+
location="us-central1")
|
378
|
+
crypto_key = gcp.kms.CryptoKey("crypto_key",
|
379
|
+
name="example-key",
|
380
|
+
key_ring=key_ring.id,
|
381
|
+
purpose="ENCRYPT_DECRYPT")
|
382
|
+
healthcare_cmek_keyuser = gcp.kms.CryptoKeyIAMBinding("healthcare_cmek_keyuser",
|
383
|
+
crypto_key_id=crypto_key.id,
|
384
|
+
role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
|
385
|
+
members=[f"serviceAccount:service-{project.number}@gcp-sa-healthcare.iam.gserviceaccount.com"])
|
386
|
+
default = gcp.healthcare.Dataset("default",
|
387
|
+
name="example-dataset",
|
388
|
+
location="us-central1",
|
389
|
+
time_zone="UTC",
|
390
|
+
encryption_spec={
|
391
|
+
"kmsKeyName": crypto_key.id,
|
392
|
+
},
|
393
|
+
opts = pulumi.ResourceOptions(depends_on=[healthcare_cmek_keyuser]))
|
394
|
+
```
|
300
395
|
|
301
396
|
## Import
|
302
397
|
|
@@ -337,6 +432,7 @@ class Dataset(pulumi.CustomResource):
|
|
337
432
|
def _internal_init(__self__,
|
338
433
|
resource_name: str,
|
339
434
|
opts: Optional[pulumi.ResourceOptions] = None,
|
435
|
+
encryption_spec: Optional[pulumi.Input[Union['DatasetEncryptionSpecArgs', 'DatasetEncryptionSpecArgsDict']]] = None,
|
340
436
|
location: Optional[pulumi.Input[str]] = None,
|
341
437
|
name: Optional[pulumi.Input[str]] = None,
|
342
438
|
project: Optional[pulumi.Input[str]] = None,
|
@@ -350,6 +446,7 @@ class Dataset(pulumi.CustomResource):
|
|
350
446
|
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
351
447
|
__props__ = DatasetArgs.__new__(DatasetArgs)
|
352
448
|
|
449
|
+
__props__.__dict__["encryption_spec"] = encryption_spec
|
353
450
|
if location is None and not opts.urn:
|
354
451
|
raise TypeError("Missing required property 'location'")
|
355
452
|
__props__.__dict__["location"] = location
|
@@ -367,6 +464,7 @@ class Dataset(pulumi.CustomResource):
|
|
367
464
|
def get(resource_name: str,
|
368
465
|
id: pulumi.Input[str],
|
369
466
|
opts: Optional[pulumi.ResourceOptions] = None,
|
467
|
+
encryption_spec: Optional[pulumi.Input[Union['DatasetEncryptionSpecArgs', 'DatasetEncryptionSpecArgsDict']]] = None,
|
370
468
|
location: Optional[pulumi.Input[str]] = None,
|
371
469
|
name: Optional[pulumi.Input[str]] = None,
|
372
470
|
project: Optional[pulumi.Input[str]] = None,
|
@@ -379,6 +477,8 @@ class Dataset(pulumi.CustomResource):
|
|
379
477
|
:param str resource_name: The unique name of the resulting resource.
|
380
478
|
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
381
479
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
480
|
+
:param pulumi.Input[Union['DatasetEncryptionSpecArgs', 'DatasetEncryptionSpecArgsDict']] encryption_spec: A nested object resource
|
481
|
+
Structure is documented below.
|
382
482
|
:param pulumi.Input[str] location: The location for the Dataset.
|
383
483
|
|
384
484
|
|
@@ -395,6 +495,7 @@ class Dataset(pulumi.CustomResource):
|
|
395
495
|
|
396
496
|
__props__ = _DatasetState.__new__(_DatasetState)
|
397
497
|
|
498
|
+
__props__.__dict__["encryption_spec"] = encryption_spec
|
398
499
|
__props__.__dict__["location"] = location
|
399
500
|
__props__.__dict__["name"] = name
|
400
501
|
__props__.__dict__["project"] = project
|
@@ -402,6 +503,15 @@ class Dataset(pulumi.CustomResource):
|
|
402
503
|
__props__.__dict__["time_zone"] = time_zone
|
403
504
|
return Dataset(resource_name, opts=opts, __props__=__props__)
|
404
505
|
|
506
|
+
@property
|
507
|
+
@pulumi.getter(name="encryptionSpec")
|
508
|
+
def encryption_spec(self) -> pulumi.Output['outputs.DatasetEncryptionSpec']:
|
509
|
+
"""
|
510
|
+
A nested object resource
|
511
|
+
Structure is documented below.
|
512
|
+
"""
|
513
|
+
return pulumi.get(self, "encryption_spec")
|
514
|
+
|
405
515
|
@property
|
406
516
|
@pulumi.getter
|
407
517
|
def location(self) -> pulumi.Output[str]:
|
pulumi_gcp/healthcare/outputs.py
CHANGED
@@ -18,6 +18,7 @@ from . import outputs
|
|
18
18
|
__all__ = [
|
19
19
|
'ConsentStoreIamBindingCondition',
|
20
20
|
'ConsentStoreIamMemberCondition',
|
21
|
+
'DatasetEncryptionSpec',
|
21
22
|
'DatasetIamBindingCondition',
|
22
23
|
'DatasetIamMemberCondition',
|
23
24
|
'DicomStoreIamBindingCondition',
|
@@ -93,6 +94,48 @@ class ConsentStoreIamMemberCondition(dict):
|
|
93
94
|
return pulumi.get(self, "description")
|
94
95
|
|
95
96
|
|
97
|
+
@pulumi.output_type
|
98
|
+
class DatasetEncryptionSpec(dict):
|
99
|
+
@staticmethod
|
100
|
+
def __key_warning(key: str):
|
101
|
+
suggest = None
|
102
|
+
if key == "kmsKeyName":
|
103
|
+
suggest = "kms_key_name"
|
104
|
+
|
105
|
+
if suggest:
|
106
|
+
pulumi.log.warn(f"Key '{key}' not found in DatasetEncryptionSpec. Access the value via the '{suggest}' property getter instead.")
|
107
|
+
|
108
|
+
def __getitem__(self, key: str) -> Any:
|
109
|
+
DatasetEncryptionSpec.__key_warning(key)
|
110
|
+
return super().__getitem__(key)
|
111
|
+
|
112
|
+
def get(self, key: str, default = None) -> Any:
|
113
|
+
DatasetEncryptionSpec.__key_warning(key)
|
114
|
+
return super().get(key, default)
|
115
|
+
|
116
|
+
def __init__(__self__, *,
|
117
|
+
kms_key_name: Optional[str] = None):
|
118
|
+
"""
|
119
|
+
:param str kms_key_name: KMS encryption key that is used to secure this dataset and its sub-resources. The key used for
|
120
|
+
encryption and the dataset must be in the same location. If empty, the default Google encryption
|
121
|
+
key will be used to secure this dataset. The format is
|
122
|
+
projects/{projectId}/locations/{locationId}/keyRings/{keyRingId}/cryptoKeys/{keyId}.
|
123
|
+
"""
|
124
|
+
if kms_key_name is not None:
|
125
|
+
pulumi.set(__self__, "kms_key_name", kms_key_name)
|
126
|
+
|
127
|
+
@property
|
128
|
+
@pulumi.getter(name="kmsKeyName")
|
129
|
+
def kms_key_name(self) -> Optional[str]:
|
130
|
+
"""
|
131
|
+
KMS encryption key that is used to secure this dataset and its sub-resources. The key used for
|
132
|
+
encryption and the dataset must be in the same location. If empty, the default Google encryption
|
133
|
+
key will be used to secure this dataset. The format is
|
134
|
+
projects/{projectId}/locations/{locationId}/keyRings/{keyRingId}/cryptoKeys/{keyId}.
|
135
|
+
"""
|
136
|
+
return pulumi.get(self, "kms_key_name")
|
137
|
+
|
138
|
+
|
96
139
|
@pulumi.output_type
|
97
140
|
class DatasetIamBindingCondition(dict):
|
98
141
|
def __init__(__self__, *,
|
@@ -918,7 +918,7 @@ class Config(pulumi.CustomResource):
|
|
918
918
|
|
919
919
|
@property
|
920
920
|
@pulumi.getter(name="smsRegionConfig")
|
921
|
-
def sms_region_config(self) -> pulumi.Output[
|
921
|
+
def sms_region_config(self) -> pulumi.Output['outputs.ConfigSmsRegionConfig']:
|
922
922
|
"""
|
923
923
|
Configures the regions where users are allowed to send verification SMS for the project or tenant. This is based on the calling code of the destination phone number.
|
924
924
|
Structure is documented below.
|
@@ -531,7 +531,7 @@ class BillingAccountBucketConfig(pulumi.CustomResource):
|
|
531
531
|
|
532
532
|
@property
|
533
533
|
@pulumi.getter(name="indexConfigs")
|
534
|
-
def index_configs(self) -> pulumi.Output[
|
534
|
+
def index_configs(self) -> pulumi.Output[Sequence['outputs.BillingAccountBucketConfigIndexConfig']]:
|
535
535
|
"""
|
536
536
|
A list of indexed fields and related configuration data. Structure is documented below.
|
537
537
|
"""
|
@@ -539,7 +539,7 @@ class FolderBucketConfig(pulumi.CustomResource):
|
|
539
539
|
|
540
540
|
@property
|
541
541
|
@pulumi.getter(name="indexConfigs")
|
542
|
-
def index_configs(self) -> pulumi.Output[
|
542
|
+
def index_configs(self) -> pulumi.Output[Sequence['outputs.FolderBucketConfigIndexConfig']]:
|
543
543
|
"""
|
544
544
|
A list of indexed fields and related configuration data. Structure is documented below.
|
545
545
|
"""
|
@@ -527,7 +527,7 @@ class OrganizationBucketConfig(pulumi.CustomResource):
|
|
527
527
|
|
528
528
|
@property
|
529
529
|
@pulumi.getter(name="indexConfigs")
|
530
|
-
def index_configs(self) -> pulumi.Output[
|
530
|
+
def index_configs(self) -> pulumi.Output[Sequence['outputs.OrganizationBucketConfigIndexConfig']]:
|
531
531
|
"""
|
532
532
|
A list of indexed fields and related configuration data. Structure is documented below.
|
533
533
|
"""
|
pulumi_gcp/monitoring/_inputs.py
CHANGED
@@ -51,6 +51,8 @@ __all__ = [
|
|
51
51
|
'AlertPolicyCreationRecordArgsDict',
|
52
52
|
'AlertPolicyDocumentationArgs',
|
53
53
|
'AlertPolicyDocumentationArgsDict',
|
54
|
+
'AlertPolicyDocumentationLinkArgs',
|
55
|
+
'AlertPolicyDocumentationLinkArgsDict',
|
54
56
|
'CustomServiceTelemetryArgs',
|
55
57
|
'CustomServiceTelemetryArgsDict',
|
56
58
|
'GenericServiceBasicServiceArgs',
|
@@ -2875,6 +2877,11 @@ if not MYPY:
|
|
2875
2877
|
exceed more than 10,240 bytes when encoded in UTF-8 format,
|
2876
2878
|
whichever is smaller.
|
2877
2879
|
"""
|
2880
|
+
links: NotRequired[pulumi.Input[Sequence[pulumi.Input['AlertPolicyDocumentationLinkArgsDict']]]]
|
2881
|
+
"""
|
2882
|
+
Links to content such as playbooks, repositories, and other resources. This field can contain up to 3 entries.
|
2883
|
+
Structure is documented below.
|
2884
|
+
"""
|
2878
2885
|
mime_type: NotRequired[pulumi.Input[str]]
|
2879
2886
|
"""
|
2880
2887
|
The format of the content field. Presently, only the value
|
@@ -2894,6 +2901,7 @@ elif False:
|
|
2894
2901
|
class AlertPolicyDocumentationArgs:
|
2895
2902
|
def __init__(__self__, *,
|
2896
2903
|
content: Optional[pulumi.Input[str]] = None,
|
2904
|
+
links: Optional[pulumi.Input[Sequence[pulumi.Input['AlertPolicyDocumentationLinkArgs']]]] = None,
|
2897
2905
|
mime_type: Optional[pulumi.Input[str]] = None,
|
2898
2906
|
subject: Optional[pulumi.Input[str]] = None):
|
2899
2907
|
"""
|
@@ -2901,6 +2909,8 @@ class AlertPolicyDocumentationArgs:
|
|
2901
2909
|
The content may not exceed 8,192 Unicode characters and may not
|
2902
2910
|
exceed more than 10,240 bytes when encoded in UTF-8 format,
|
2903
2911
|
whichever is smaller.
|
2912
|
+
:param pulumi.Input[Sequence[pulumi.Input['AlertPolicyDocumentationLinkArgs']]] links: Links to content such as playbooks, repositories, and other resources. This field can contain up to 3 entries.
|
2913
|
+
Structure is documented below.
|
2904
2914
|
:param pulumi.Input[str] mime_type: The format of the content field. Presently, only the value
|
2905
2915
|
"text/markdown" is supported.
|
2906
2916
|
:param pulumi.Input[str] subject: The subject line of the notification. The subject line may not
|
@@ -2910,6 +2920,8 @@ class AlertPolicyDocumentationArgs:
|
|
2910
2920
|
"""
|
2911
2921
|
if content is not None:
|
2912
2922
|
pulumi.set(__self__, "content", content)
|
2923
|
+
if links is not None:
|
2924
|
+
pulumi.set(__self__, "links", links)
|
2913
2925
|
if mime_type is not None:
|
2914
2926
|
pulumi.set(__self__, "mime_type", mime_type)
|
2915
2927
|
if subject is not None:
|
@@ -2930,6 +2942,19 @@ class AlertPolicyDocumentationArgs:
|
|
2930
2942
|
def content(self, value: Optional[pulumi.Input[str]]):
|
2931
2943
|
pulumi.set(self, "content", value)
|
2932
2944
|
|
2945
|
+
@property
|
2946
|
+
@pulumi.getter
|
2947
|
+
def links(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AlertPolicyDocumentationLinkArgs']]]]:
|
2948
|
+
"""
|
2949
|
+
Links to content such as playbooks, repositories, and other resources. This field can contain up to 3 entries.
|
2950
|
+
Structure is documented below.
|
2951
|
+
"""
|
2952
|
+
return pulumi.get(self, "links")
|
2953
|
+
|
2954
|
+
@links.setter
|
2955
|
+
def links(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AlertPolicyDocumentationLinkArgs']]]]):
|
2956
|
+
pulumi.set(self, "links", value)
|
2957
|
+
|
2933
2958
|
@property
|
2934
2959
|
@pulumi.getter(name="mimeType")
|
2935
2960
|
def mime_type(self) -> Optional[pulumi.Input[str]]:
|
@@ -2959,6 +2984,58 @@ class AlertPolicyDocumentationArgs:
|
|
2959
2984
|
pulumi.set(self, "subject", value)
|
2960
2985
|
|
2961
2986
|
|
2987
|
+
if not MYPY:
|
2988
|
+
class AlertPolicyDocumentationLinkArgsDict(TypedDict):
|
2989
|
+
display_name: NotRequired[pulumi.Input[str]]
|
2990
|
+
"""
|
2991
|
+
A short display name for the link. The display name must not be empty or exceed 63 characters. Example: "playbook".
|
2992
|
+
"""
|
2993
|
+
url: NotRequired[pulumi.Input[str]]
|
2994
|
+
"""
|
2995
|
+
The url of a webpage. A url can be templatized by using variables in the path or the query parameters. The total length of a URL should not exceed 2083 characters before and after variable expansion. Example: "https://my_domain.com/playbook?name=${resource.name}".
|
2996
|
+
"""
|
2997
|
+
elif False:
|
2998
|
+
AlertPolicyDocumentationLinkArgsDict: TypeAlias = Mapping[str, Any]
|
2999
|
+
|
3000
|
+
@pulumi.input_type
|
3001
|
+
class AlertPolicyDocumentationLinkArgs:
|
3002
|
+
def __init__(__self__, *,
|
3003
|
+
display_name: Optional[pulumi.Input[str]] = None,
|
3004
|
+
url: Optional[pulumi.Input[str]] = None):
|
3005
|
+
"""
|
3006
|
+
:param pulumi.Input[str] display_name: A short display name for the link. The display name must not be empty or exceed 63 characters. Example: "playbook".
|
3007
|
+
:param pulumi.Input[str] url: The url of a webpage. A url can be templatized by using variables in the path or the query parameters. The total length of a URL should not exceed 2083 characters before and after variable expansion. Example: "https://my_domain.com/playbook?name=${resource.name}".
|
3008
|
+
"""
|
3009
|
+
if display_name is not None:
|
3010
|
+
pulumi.set(__self__, "display_name", display_name)
|
3011
|
+
if url is not None:
|
3012
|
+
pulumi.set(__self__, "url", url)
|
3013
|
+
|
3014
|
+
@property
|
3015
|
+
@pulumi.getter(name="displayName")
|
3016
|
+
def display_name(self) -> Optional[pulumi.Input[str]]:
|
3017
|
+
"""
|
3018
|
+
A short display name for the link. The display name must not be empty or exceed 63 characters. Example: "playbook".
|
3019
|
+
"""
|
3020
|
+
return pulumi.get(self, "display_name")
|
3021
|
+
|
3022
|
+
@display_name.setter
|
3023
|
+
def display_name(self, value: Optional[pulumi.Input[str]]):
|
3024
|
+
pulumi.set(self, "display_name", value)
|
3025
|
+
|
3026
|
+
@property
|
3027
|
+
@pulumi.getter
|
3028
|
+
def url(self) -> Optional[pulumi.Input[str]]:
|
3029
|
+
"""
|
3030
|
+
The url of a webpage. A url can be templatized by using variables in the path or the query parameters. The total length of a URL should not exceed 2083 characters before and after variable expansion. Example: "https://my_domain.com/playbook?name=${resource.name}".
|
3031
|
+
"""
|
3032
|
+
return pulumi.get(self, "url")
|
3033
|
+
|
3034
|
+
@url.setter
|
3035
|
+
def url(self, value: Optional[pulumi.Input[str]]):
|
3036
|
+
pulumi.set(self, "url", value)
|
3037
|
+
|
3038
|
+
|
2962
3039
|
if not MYPY:
|
2963
3040
|
class CustomServiceTelemetryArgsDict(TypedDict):
|
2964
3041
|
resource_name: NotRequired[pulumi.Input[str]]
|
pulumi_gcp/monitoring/outputs.py
CHANGED
@@ -34,6 +34,7 @@ __all__ = [
|
|
34
34
|
'AlertPolicyConditionConditionThresholdTrigger',
|
35
35
|
'AlertPolicyCreationRecord',
|
36
36
|
'AlertPolicyDocumentation',
|
37
|
+
'AlertPolicyDocumentationLink',
|
37
38
|
'CustomServiceTelemetry',
|
38
39
|
'GenericServiceBasicService',
|
39
40
|
'GenericServiceTelemetry',
|
@@ -2076,6 +2077,7 @@ class AlertPolicyDocumentation(dict):
|
|
2076
2077
|
|
2077
2078
|
def __init__(__self__, *,
|
2078
2079
|
content: Optional[str] = None,
|
2080
|
+
links: Optional[Sequence['outputs.AlertPolicyDocumentationLink']] = None,
|
2079
2081
|
mime_type: Optional[str] = None,
|
2080
2082
|
subject: Optional[str] = None):
|
2081
2083
|
"""
|
@@ -2083,6 +2085,8 @@ class AlertPolicyDocumentation(dict):
|
|
2083
2085
|
The content may not exceed 8,192 Unicode characters and may not
|
2084
2086
|
exceed more than 10,240 bytes when encoded in UTF-8 format,
|
2085
2087
|
whichever is smaller.
|
2088
|
+
:param Sequence['AlertPolicyDocumentationLinkArgs'] links: Links to content such as playbooks, repositories, and other resources. This field can contain up to 3 entries.
|
2089
|
+
Structure is documented below.
|
2086
2090
|
:param str mime_type: The format of the content field. Presently, only the value
|
2087
2091
|
"text/markdown" is supported.
|
2088
2092
|
:param str subject: The subject line of the notification. The subject line may not
|
@@ -2092,6 +2096,8 @@ class AlertPolicyDocumentation(dict):
|
|
2092
2096
|
"""
|
2093
2097
|
if content is not None:
|
2094
2098
|
pulumi.set(__self__, "content", content)
|
2099
|
+
if links is not None:
|
2100
|
+
pulumi.set(__self__, "links", links)
|
2095
2101
|
if mime_type is not None:
|
2096
2102
|
pulumi.set(__self__, "mime_type", mime_type)
|
2097
2103
|
if subject is not None:
|
@@ -2108,6 +2114,15 @@ class AlertPolicyDocumentation(dict):
|
|
2108
2114
|
"""
|
2109
2115
|
return pulumi.get(self, "content")
|
2110
2116
|
|
2117
|
+
@property
|
2118
|
+
@pulumi.getter
|
2119
|
+
def links(self) -> Optional[Sequence['outputs.AlertPolicyDocumentationLink']]:
|
2120
|
+
"""
|
2121
|
+
Links to content such as playbooks, repositories, and other resources. This field can contain up to 3 entries.
|
2122
|
+
Structure is documented below.
|
2123
|
+
"""
|
2124
|
+
return pulumi.get(self, "links")
|
2125
|
+
|
2111
2126
|
@property
|
2112
2127
|
@pulumi.getter(name="mimeType")
|
2113
2128
|
def mime_type(self) -> Optional[str]:
|
@@ -2129,6 +2144,54 @@ class AlertPolicyDocumentation(dict):
|
|
2129
2144
|
return pulumi.get(self, "subject")
|
2130
2145
|
|
2131
2146
|
|
2147
|
+
@pulumi.output_type
|
2148
|
+
class AlertPolicyDocumentationLink(dict):
|
2149
|
+
@staticmethod
|
2150
|
+
def __key_warning(key: str):
|
2151
|
+
suggest = None
|
2152
|
+
if key == "displayName":
|
2153
|
+
suggest = "display_name"
|
2154
|
+
|
2155
|
+
if suggest:
|
2156
|
+
pulumi.log.warn(f"Key '{key}' not found in AlertPolicyDocumentationLink. Access the value via the '{suggest}' property getter instead.")
|
2157
|
+
|
2158
|
+
def __getitem__(self, key: str) -> Any:
|
2159
|
+
AlertPolicyDocumentationLink.__key_warning(key)
|
2160
|
+
return super().__getitem__(key)
|
2161
|
+
|
2162
|
+
def get(self, key: str, default = None) -> Any:
|
2163
|
+
AlertPolicyDocumentationLink.__key_warning(key)
|
2164
|
+
return super().get(key, default)
|
2165
|
+
|
2166
|
+
def __init__(__self__, *,
|
2167
|
+
display_name: Optional[str] = None,
|
2168
|
+
url: Optional[str] = None):
|
2169
|
+
"""
|
2170
|
+
:param str display_name: A short display name for the link. The display name must not be empty or exceed 63 characters. Example: "playbook".
|
2171
|
+
:param str url: The url of a webpage. A url can be templatized by using variables in the path or the query parameters. The total length of a URL should not exceed 2083 characters before and after variable expansion. Example: "https://my_domain.com/playbook?name=${resource.name}".
|
2172
|
+
"""
|
2173
|
+
if display_name is not None:
|
2174
|
+
pulumi.set(__self__, "display_name", display_name)
|
2175
|
+
if url is not None:
|
2176
|
+
pulumi.set(__self__, "url", url)
|
2177
|
+
|
2178
|
+
@property
|
2179
|
+
@pulumi.getter(name="displayName")
|
2180
|
+
def display_name(self) -> Optional[str]:
|
2181
|
+
"""
|
2182
|
+
A short display name for the link. The display name must not be empty or exceed 63 characters. Example: "playbook".
|
2183
|
+
"""
|
2184
|
+
return pulumi.get(self, "display_name")
|
2185
|
+
|
2186
|
+
@property
|
2187
|
+
@pulumi.getter
|
2188
|
+
def url(self) -> Optional[str]:
|
2189
|
+
"""
|
2190
|
+
The url of a webpage. A url can be templatized by using variables in the path or the query parameters. The total length of a URL should not exceed 2083 characters before and after variable expansion. Example: "https://my_domain.com/playbook?name=${resource.name}".
|
2191
|
+
"""
|
2192
|
+
return pulumi.get(self, "url")
|
2193
|
+
|
2194
|
+
|
2132
2195
|
@pulumi.output_type
|
2133
2196
|
class CustomServiceTelemetry(dict):
|
2134
2197
|
@staticmethod
|
pulumi_gcp/pulumi-plugin.json
CHANGED
@@ -286,6 +286,38 @@ class InstanceIamBinding(pulumi.CustomResource):
|
|
286
286
|
"state": "ENABLED",
|
287
287
|
}])
|
288
288
|
```
|
289
|
+
### Data Fusion Instance Psc
|
290
|
+
|
291
|
+
```python
|
292
|
+
import pulumi
|
293
|
+
import pulumi_gcp as gcp
|
294
|
+
|
295
|
+
psc = gcp.compute.Network("psc",
|
296
|
+
name="datafusion-psc-network",
|
297
|
+
auto_create_subnetworks=False)
|
298
|
+
psc_subnetwork = gcp.compute.Subnetwork("psc",
|
299
|
+
name="datafusion-psc-subnet",
|
300
|
+
region="us-central1",
|
301
|
+
network=psc.id,
|
302
|
+
ip_cidr_range="10.0.0.0/16")
|
303
|
+
psc_network_attachment = gcp.compute.NetworkAttachment("psc",
|
304
|
+
name="datafusion-psc-attachment",
|
305
|
+
region="us-central1",
|
306
|
+
connection_preference="ACCEPT_AUTOMATIC",
|
307
|
+
subnetworks=[psc_subnetwork.self_link])
|
308
|
+
psc_instance = gcp.datafusion.Instance("psc_instance",
|
309
|
+
name="psc-instance",
|
310
|
+
region="us-central1",
|
311
|
+
type="BASIC",
|
312
|
+
private_instance=True,
|
313
|
+
network_config={
|
314
|
+
"connectionType": "PRIVATE_SERVICE_CONNECT_INTERFACES",
|
315
|
+
"privateServiceConnectConfig": {
|
316
|
+
"networkAttachment": psc_network_attachment.id,
|
317
|
+
"unreachableCidrBlock": "192.168.0.0/25",
|
318
|
+
},
|
319
|
+
})
|
320
|
+
```
|
289
321
|
### Data Fusion Instance Cmek
|
290
322
|
|
291
323
|
```python
|
@@ -454,6 +486,38 @@ class InstanceIamBinding(pulumi.CustomResource):
|
|
454
486
|
"state": "ENABLED",
|
455
487
|
}])
|
456
488
|
```
|
489
|
+
### Data Fusion Instance Psc
|
490
|
+
|
491
|
+
```python
|
492
|
+
import pulumi
|
493
|
+
import pulumi_gcp as gcp
|
494
|
+
|
495
|
+
psc = gcp.compute.Network("psc",
|
496
|
+
name="datafusion-psc-network",
|
497
|
+
auto_create_subnetworks=False)
|
498
|
+
psc_subnetwork = gcp.compute.Subnetwork("psc",
|
499
|
+
name="datafusion-psc-subnet",
|
500
|
+
region="us-central1",
|
501
|
+
network=psc.id,
|
502
|
+
ip_cidr_range="10.0.0.0/16")
|
503
|
+
psc_network_attachment = gcp.compute.NetworkAttachment("psc",
|
504
|
+
name="datafusion-psc-attachment",
|
505
|
+
region="us-central1",
|
506
|
+
connection_preference="ACCEPT_AUTOMATIC",
|
507
|
+
subnetworks=[psc_subnetwork.self_link])
|
508
|
+
psc_instance = gcp.datafusion.Instance("psc_instance",
|
509
|
+
name="psc-instance",
|
510
|
+
region="us-central1",
|
511
|
+
type="BASIC",
|
512
|
+
private_instance=True,
|
513
|
+
network_config={
|
514
|
+
"connectionType": "PRIVATE_SERVICE_CONNECT_INTERFACES",
|
515
|
+
"privateServiceConnectConfig": {
|
516
|
+
"networkAttachment": psc_network_attachment.id,
|
517
|
+
"unreachableCidrBlock": "192.168.0.0/25",
|
518
|
+
},
|
519
|
+
})
|
520
|
+
```
|
457
521
|
### Data Fusion Instance Cmek
|
458
522
|
|
459
523
|
```python
|