pulumi-gcp 7.15.0a1711038061__py3-none-any.whl → 7.16.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 +102 -0
- pulumi_gcp/accesscontextmanager/__init__.py +1 -0
- pulumi_gcp/accesscontextmanager/_inputs.py +74 -58
- pulumi_gcp/accesscontextmanager/outputs.py +74 -58
- pulumi_gcp/accesscontextmanager/service_perimeter.py +0 -2
- pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_resource.py +345 -0
- pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +80 -0
- pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +86 -0
- pulumi_gcp/accesscontextmanager/service_perimeter_resource.py +4 -2
- pulumi_gcp/apphub/__init__.py +15 -0
- pulumi_gcp/apphub/_inputs.py +1016 -0
- pulumi_gcp/apphub/application.py +775 -0
- pulumi_gcp/apphub/get_discovered_service.py +180 -0
- pulumi_gcp/apphub/get_discovered_workload.py +180 -0
- pulumi_gcp/apphub/outputs.py +1206 -0
- pulumi_gcp/apphub/service.py +1121 -0
- pulumi_gcp/apphub/service_project_attachment.py +516 -0
- pulumi_gcp/apphub/workload.py +1197 -0
- pulumi_gcp/cloudquota/__init__.py +10 -0
- pulumi_gcp/cloudquota/get_s_quota_info.py +322 -0
- pulumi_gcp/cloudquota/get_s_quota_infos.py +136 -0
- pulumi_gcp/cloudquota/outputs.py +375 -0
- pulumi_gcp/cloudrunv2/_inputs.py +85 -4
- pulumi_gcp/cloudrunv2/get_service.py +11 -1
- pulumi_gcp/cloudrunv2/outputs.py +165 -6
- pulumi_gcp/cloudrunv2/service.py +60 -6
- pulumi_gcp/composer/_inputs.py +16 -0
- pulumi_gcp/composer/outputs.py +23 -0
- pulumi_gcp/compute/_inputs.py +109 -11
- pulumi_gcp/compute/outputs.py +144 -13
- pulumi_gcp/compute/region_network_endpoint_group.py +30 -0
- pulumi_gcp/compute/region_url_map.py +152 -0
- pulumi_gcp/config/__init__.pyi +4 -0
- pulumi_gcp/config/vars.py +8 -0
- pulumi_gcp/dataform/repository.py +4 -74
- pulumi_gcp/firebase/__init__.py +1 -0
- pulumi_gcp/firebase/android_app.py +41 -40
- pulumi_gcp/firebase/app_check_device_check_config.py +572 -0
- pulumi_gcp/firestore/_inputs.py +69 -0
- pulumi_gcp/firestore/database.py +206 -0
- pulumi_gcp/firestore/index.py +34 -48
- pulumi_gcp/firestore/outputs.py +80 -0
- pulumi_gcp/gkeonprem/_inputs.py +1 -3
- pulumi_gcp/gkeonprem/outputs.py +1 -3
- pulumi_gcp/gkeonprem/v_mware_cluster.py +2 -0
- pulumi_gcp/iap/__init__.py +5 -0
- pulumi_gcp/iap/_inputs.py +100 -0
- pulumi_gcp/iap/get_tunnel_dest_group_iam_policy.py +172 -0
- pulumi_gcp/iap/outputs.py +76 -0
- pulumi_gcp/iap/tunnel_dest_group.py +524 -0
- pulumi_gcp/iap/tunnel_dest_group_iam_binding.py +858 -0
- pulumi_gcp/iap/tunnel_dest_group_iam_member.py +858 -0
- pulumi_gcp/iap/tunnel_dest_group_iam_policy.py +760 -0
- pulumi_gcp/kms/__init__.py +1 -0
- pulumi_gcp/kms/_inputs.py +246 -0
- pulumi_gcp/kms/ekm_connection.py +610 -0
- pulumi_gcp/kms/outputs.py +242 -0
- pulumi_gcp/monitoring/_inputs.py +2 -0
- pulumi_gcp/monitoring/outputs.py +2 -0
- pulumi_gcp/networksecurity/__init__.py +1 -0
- pulumi_gcp/networksecurity/firewall_endpoint.py +48 -0
- pulumi_gcp/networksecurity/firewall_endpoint_association.py +753 -0
- pulumi_gcp/notebooks/instance.py +8 -0
- pulumi_gcp/orgpolicy/policy.py +2 -2
- pulumi_gcp/provider.py +40 -0
- pulumi_gcp/pubsub/_inputs.py +108 -0
- pulumi_gcp/pubsub/get_topic.py +11 -1
- pulumi_gcp/pubsub/outputs.py +213 -0
- pulumi_gcp/pubsub/subscription.py +4 -4
- pulumi_gcp/pubsub/topic.py +92 -0
- pulumi_gcp/securityposture/posture.py +2 -2
- pulumi_gcp/securityposture/posture_deployment.py +2 -2
- pulumi_gcp/storage/_inputs.py +72 -15
- pulumi_gcp/storage/bucket.py +54 -0
- pulumi_gcp/storage/get_bucket.py +11 -1
- pulumi_gcp/storage/outputs.py +110 -14
- pulumi_gcp/workstations/_inputs.py +247 -4
- pulumi_gcp/workstations/outputs.py +261 -5
- pulumi_gcp/workstations/workstation_config.py +160 -0
- {pulumi_gcp-7.15.0a1711038061.dist-info → pulumi_gcp-7.16.0.dist-info}/METADATA +1 -1
- {pulumi_gcp-7.15.0a1711038061.dist-info → pulumi_gcp-7.16.0.dist-info}/RECORD +83 -61
- {pulumi_gcp-7.15.0a1711038061.dist-info → pulumi_gcp-7.16.0.dist-info}/WHEEL +0 -0
- {pulumi_gcp-7.15.0a1711038061.dist-info → pulumi_gcp-7.16.0.dist-info}/top_level.txt +0 -0
pulumi_gcp/pubsub/topic.py
CHANGED
@@ -16,6 +16,7 @@ __all__ = ['TopicArgs', 'Topic']
|
|
16
16
|
@pulumi.input_type
|
17
17
|
class TopicArgs:
|
18
18
|
def __init__(__self__, *,
|
19
|
+
ingestion_data_source_settings: Optional[pulumi.Input['TopicIngestionDataSourceSettingsArgs']] = None,
|
19
20
|
kms_key_name: Optional[pulumi.Input[str]] = None,
|
20
21
|
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
21
22
|
message_retention_duration: Optional[pulumi.Input[str]] = None,
|
@@ -25,6 +26,8 @@ class TopicArgs:
|
|
25
26
|
schema_settings: Optional[pulumi.Input['TopicSchemaSettingsArgs']] = None):
|
26
27
|
"""
|
27
28
|
The set of arguments for constructing a Topic resource.
|
29
|
+
:param pulumi.Input['TopicIngestionDataSourceSettingsArgs'] ingestion_data_source_settings: Settings for ingestion from a data source into this topic.
|
30
|
+
Structure is documented below.
|
28
31
|
:param pulumi.Input[str] kms_key_name: The resource name of the Cloud KMS CryptoKey to be used to protect access
|
29
32
|
to messages published on this topic. Your project's PubSub service account
|
30
33
|
(`service-{{PROJECT_NUMBER}}@gcp-sa-pubsub.iam.gserviceaccount.com`) must have
|
@@ -55,6 +58,8 @@ class TopicArgs:
|
|
55
58
|
:param pulumi.Input['TopicSchemaSettingsArgs'] schema_settings: Settings for validating messages published against a schema.
|
56
59
|
Structure is documented below.
|
57
60
|
"""
|
61
|
+
if ingestion_data_source_settings is not None:
|
62
|
+
pulumi.set(__self__, "ingestion_data_source_settings", ingestion_data_source_settings)
|
58
63
|
if kms_key_name is not None:
|
59
64
|
pulumi.set(__self__, "kms_key_name", kms_key_name)
|
60
65
|
if labels is not None:
|
@@ -70,6 +75,19 @@ class TopicArgs:
|
|
70
75
|
if schema_settings is not None:
|
71
76
|
pulumi.set(__self__, "schema_settings", schema_settings)
|
72
77
|
|
78
|
+
@property
|
79
|
+
@pulumi.getter(name="ingestionDataSourceSettings")
|
80
|
+
def ingestion_data_source_settings(self) -> Optional[pulumi.Input['TopicIngestionDataSourceSettingsArgs']]:
|
81
|
+
"""
|
82
|
+
Settings for ingestion from a data source into this topic.
|
83
|
+
Structure is documented below.
|
84
|
+
"""
|
85
|
+
return pulumi.get(self, "ingestion_data_source_settings")
|
86
|
+
|
87
|
+
@ingestion_data_source_settings.setter
|
88
|
+
def ingestion_data_source_settings(self, value: Optional[pulumi.Input['TopicIngestionDataSourceSettingsArgs']]):
|
89
|
+
pulumi.set(self, "ingestion_data_source_settings", value)
|
90
|
+
|
73
91
|
@property
|
74
92
|
@pulumi.getter(name="kmsKeyName")
|
75
93
|
def kms_key_name(self) -> Optional[pulumi.Input[str]]:
|
@@ -181,6 +199,7 @@ class TopicArgs:
|
|
181
199
|
class _TopicState:
|
182
200
|
def __init__(__self__, *,
|
183
201
|
effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
202
|
+
ingestion_data_source_settings: Optional[pulumi.Input['TopicIngestionDataSourceSettingsArgs']] = None,
|
184
203
|
kms_key_name: Optional[pulumi.Input[str]] = None,
|
185
204
|
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
186
205
|
message_retention_duration: Optional[pulumi.Input[str]] = None,
|
@@ -192,6 +211,8 @@ class _TopicState:
|
|
192
211
|
"""
|
193
212
|
Input properties used for looking up and filtering Topic resources.
|
194
213
|
: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.
|
214
|
+
:param pulumi.Input['TopicIngestionDataSourceSettingsArgs'] ingestion_data_source_settings: Settings for ingestion from a data source into this topic.
|
215
|
+
Structure is documented below.
|
195
216
|
:param pulumi.Input[str] kms_key_name: The resource name of the Cloud KMS CryptoKey to be used to protect access
|
196
217
|
to messages published on this topic. Your project's PubSub service account
|
197
218
|
(`service-{{PROJECT_NUMBER}}@gcp-sa-pubsub.iam.gserviceaccount.com`) must have
|
@@ -226,6 +247,8 @@ class _TopicState:
|
|
226
247
|
"""
|
227
248
|
if effective_labels is not None:
|
228
249
|
pulumi.set(__self__, "effective_labels", effective_labels)
|
250
|
+
if ingestion_data_source_settings is not None:
|
251
|
+
pulumi.set(__self__, "ingestion_data_source_settings", ingestion_data_source_settings)
|
229
252
|
if kms_key_name is not None:
|
230
253
|
pulumi.set(__self__, "kms_key_name", kms_key_name)
|
231
254
|
if labels is not None:
|
@@ -255,6 +278,19 @@ class _TopicState:
|
|
255
278
|
def effective_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
|
256
279
|
pulumi.set(self, "effective_labels", value)
|
257
280
|
|
281
|
+
@property
|
282
|
+
@pulumi.getter(name="ingestionDataSourceSettings")
|
283
|
+
def ingestion_data_source_settings(self) -> Optional[pulumi.Input['TopicIngestionDataSourceSettingsArgs']]:
|
284
|
+
"""
|
285
|
+
Settings for ingestion from a data source into this topic.
|
286
|
+
Structure is documented below.
|
287
|
+
"""
|
288
|
+
return pulumi.get(self, "ingestion_data_source_settings")
|
289
|
+
|
290
|
+
@ingestion_data_source_settings.setter
|
291
|
+
def ingestion_data_source_settings(self, value: Optional[pulumi.Input['TopicIngestionDataSourceSettingsArgs']]):
|
292
|
+
pulumi.set(self, "ingestion_data_source_settings", value)
|
293
|
+
|
258
294
|
@property
|
259
295
|
@pulumi.getter(name="kmsKeyName")
|
260
296
|
def kms_key_name(self) -> Optional[pulumi.Input[str]]:
|
@@ -380,6 +416,7 @@ class Topic(pulumi.CustomResource):
|
|
380
416
|
def __init__(__self__,
|
381
417
|
resource_name: str,
|
382
418
|
opts: Optional[pulumi.ResourceOptions] = None,
|
419
|
+
ingestion_data_source_settings: Optional[pulumi.Input[pulumi.InputType['TopicIngestionDataSourceSettingsArgs']]] = None,
|
383
420
|
kms_key_name: Optional[pulumi.Input[str]] = None,
|
384
421
|
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
385
422
|
message_retention_duration: Optional[pulumi.Input[str]] = None,
|
@@ -482,6 +519,25 @@ class Topic(pulumi.CustomResource):
|
|
482
519
|
))
|
483
520
|
```
|
484
521
|
<!--End PulumiCodeChooser -->
|
522
|
+
### Pubsub Topic Ingestion Kinesis
|
523
|
+
|
524
|
+
<!--Start PulumiCodeChooser -->
|
525
|
+
```python
|
526
|
+
import pulumi
|
527
|
+
import pulumi_gcp as gcp
|
528
|
+
|
529
|
+
example = gcp.pubsub.Topic("example",
|
530
|
+
name="example-topic",
|
531
|
+
ingestion_data_source_settings=gcp.pubsub.TopicIngestionDataSourceSettingsArgs(
|
532
|
+
aws_kinesis=gcp.pubsub.TopicIngestionDataSourceSettingsAwsKinesisArgs(
|
533
|
+
stream_arn="arn:aws:kinesis:us-west-2:111111111111:stream/fake-stream-name",
|
534
|
+
consumer_arn="arn:aws:kinesis:us-west-2:111111111111:stream/fake-stream-name/consumer/consumer-1:1111111111",
|
535
|
+
aws_role_arn="arn:aws:iam::111111111111:role/fake-role-name",
|
536
|
+
gcp_service_account="fake-service-account@fake-gcp-project.iam.gserviceaccount.com",
|
537
|
+
),
|
538
|
+
))
|
539
|
+
```
|
540
|
+
<!--End PulumiCodeChooser -->
|
485
541
|
|
486
542
|
## Import
|
487
543
|
|
@@ -509,6 +565,8 @@ class Topic(pulumi.CustomResource):
|
|
509
565
|
|
510
566
|
:param str resource_name: The name of the resource.
|
511
567
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
568
|
+
:param pulumi.Input[pulumi.InputType['TopicIngestionDataSourceSettingsArgs']] ingestion_data_source_settings: Settings for ingestion from a data source into this topic.
|
569
|
+
Structure is documented below.
|
512
570
|
:param pulumi.Input[str] kms_key_name: The resource name of the Cloud KMS CryptoKey to be used to protect access
|
513
571
|
to messages published on this topic. Your project's PubSub service account
|
514
572
|
(`service-{{PROJECT_NUMBER}}@gcp-sa-pubsub.iam.gserviceaccount.com`) must have
|
@@ -639,6 +697,25 @@ class Topic(pulumi.CustomResource):
|
|
639
697
|
))
|
640
698
|
```
|
641
699
|
<!--End PulumiCodeChooser -->
|
700
|
+
### Pubsub Topic Ingestion Kinesis
|
701
|
+
|
702
|
+
<!--Start PulumiCodeChooser -->
|
703
|
+
```python
|
704
|
+
import pulumi
|
705
|
+
import pulumi_gcp as gcp
|
706
|
+
|
707
|
+
example = gcp.pubsub.Topic("example",
|
708
|
+
name="example-topic",
|
709
|
+
ingestion_data_source_settings=gcp.pubsub.TopicIngestionDataSourceSettingsArgs(
|
710
|
+
aws_kinesis=gcp.pubsub.TopicIngestionDataSourceSettingsAwsKinesisArgs(
|
711
|
+
stream_arn="arn:aws:kinesis:us-west-2:111111111111:stream/fake-stream-name",
|
712
|
+
consumer_arn="arn:aws:kinesis:us-west-2:111111111111:stream/fake-stream-name/consumer/consumer-1:1111111111",
|
713
|
+
aws_role_arn="arn:aws:iam::111111111111:role/fake-role-name",
|
714
|
+
gcp_service_account="fake-service-account@fake-gcp-project.iam.gserviceaccount.com",
|
715
|
+
),
|
716
|
+
))
|
717
|
+
```
|
718
|
+
<!--End PulumiCodeChooser -->
|
642
719
|
|
643
720
|
## Import
|
644
721
|
|
@@ -679,6 +756,7 @@ class Topic(pulumi.CustomResource):
|
|
679
756
|
def _internal_init(__self__,
|
680
757
|
resource_name: str,
|
681
758
|
opts: Optional[pulumi.ResourceOptions] = None,
|
759
|
+
ingestion_data_source_settings: Optional[pulumi.Input[pulumi.InputType['TopicIngestionDataSourceSettingsArgs']]] = None,
|
682
760
|
kms_key_name: Optional[pulumi.Input[str]] = None,
|
683
761
|
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
684
762
|
message_retention_duration: Optional[pulumi.Input[str]] = None,
|
@@ -695,6 +773,7 @@ class Topic(pulumi.CustomResource):
|
|
695
773
|
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
696
774
|
__props__ = TopicArgs.__new__(TopicArgs)
|
697
775
|
|
776
|
+
__props__.__dict__["ingestion_data_source_settings"] = ingestion_data_source_settings
|
698
777
|
__props__.__dict__["kms_key_name"] = kms_key_name
|
699
778
|
__props__.__dict__["labels"] = labels
|
700
779
|
__props__.__dict__["message_retention_duration"] = message_retention_duration
|
@@ -717,6 +796,7 @@ class Topic(pulumi.CustomResource):
|
|
717
796
|
id: pulumi.Input[str],
|
718
797
|
opts: Optional[pulumi.ResourceOptions] = None,
|
719
798
|
effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
799
|
+
ingestion_data_source_settings: Optional[pulumi.Input[pulumi.InputType['TopicIngestionDataSourceSettingsArgs']]] = None,
|
720
800
|
kms_key_name: Optional[pulumi.Input[str]] = None,
|
721
801
|
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
722
802
|
message_retention_duration: Optional[pulumi.Input[str]] = None,
|
@@ -733,6 +813,8 @@ class Topic(pulumi.CustomResource):
|
|
733
813
|
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
734
814
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
735
815
|
: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.
|
816
|
+
:param pulumi.Input[pulumi.InputType['TopicIngestionDataSourceSettingsArgs']] ingestion_data_source_settings: Settings for ingestion from a data source into this topic.
|
817
|
+
Structure is documented below.
|
736
818
|
:param pulumi.Input[str] kms_key_name: The resource name of the Cloud KMS CryptoKey to be used to protect access
|
737
819
|
to messages published on this topic. Your project's PubSub service account
|
738
820
|
(`service-{{PROJECT_NUMBER}}@gcp-sa-pubsub.iam.gserviceaccount.com`) must have
|
@@ -770,6 +852,7 @@ class Topic(pulumi.CustomResource):
|
|
770
852
|
__props__ = _TopicState.__new__(_TopicState)
|
771
853
|
|
772
854
|
__props__.__dict__["effective_labels"] = effective_labels
|
855
|
+
__props__.__dict__["ingestion_data_source_settings"] = ingestion_data_source_settings
|
773
856
|
__props__.__dict__["kms_key_name"] = kms_key_name
|
774
857
|
__props__.__dict__["labels"] = labels
|
775
858
|
__props__.__dict__["message_retention_duration"] = message_retention_duration
|
@@ -788,6 +871,15 @@ class Topic(pulumi.CustomResource):
|
|
788
871
|
"""
|
789
872
|
return pulumi.get(self, "effective_labels")
|
790
873
|
|
874
|
+
@property
|
875
|
+
@pulumi.getter(name="ingestionDataSourceSettings")
|
876
|
+
def ingestion_data_source_settings(self) -> pulumi.Output[Optional['outputs.TopicIngestionDataSourceSettings']]:
|
877
|
+
"""
|
878
|
+
Settings for ingestion from a data source into this topic.
|
879
|
+
Structure is documented below.
|
880
|
+
"""
|
881
|
+
return pulumi.get(self, "ingestion_data_source_settings")
|
882
|
+
|
791
883
|
@property
|
792
884
|
@pulumi.getter(name="kmsKeyName")
|
793
885
|
def kms_key_name(self) -> pulumi.Output[Optional[str]]:
|
@@ -357,7 +357,7 @@ class Posture(pulumi.CustomResource):
|
|
357
357
|
import pulumi_gcp as gcp
|
358
358
|
|
359
359
|
posture1 = gcp.securityposture.Posture("posture1",
|
360
|
-
posture_id="
|
360
|
+
posture_id="posture_example",
|
361
361
|
parent="organizations/123456789",
|
362
362
|
location="global",
|
363
363
|
state="ACTIVE",
|
@@ -511,7 +511,7 @@ class Posture(pulumi.CustomResource):
|
|
511
511
|
import pulumi_gcp as gcp
|
512
512
|
|
513
513
|
posture1 = gcp.securityposture.Posture("posture1",
|
514
|
-
posture_id="
|
514
|
+
posture_id="posture_example",
|
515
515
|
parent="organizations/123456789",
|
516
516
|
location="global",
|
517
517
|
state="ACTIVE",
|
@@ -467,7 +467,7 @@ class PostureDeployment(pulumi.CustomResource):
|
|
467
467
|
import pulumi
|
468
468
|
import pulumi_gcp as gcp
|
469
469
|
|
470
|
-
posture1 = gcp.securityposture.Posture("
|
470
|
+
posture1 = gcp.securityposture.Posture("posture_1",
|
471
471
|
posture_id="posture_1",
|
472
472
|
parent="organizations/123456789",
|
473
473
|
location="global",
|
@@ -555,7 +555,7 @@ class PostureDeployment(pulumi.CustomResource):
|
|
555
555
|
import pulumi
|
556
556
|
import pulumi_gcp as gcp
|
557
557
|
|
558
|
-
posture1 = gcp.securityposture.Posture("
|
558
|
+
posture1 = gcp.securityposture.Posture("posture_1",
|
559
559
|
posture_id="posture_1",
|
560
560
|
parent="organizations/123456789",
|
561
561
|
location="global",
|
pulumi_gcp/storage/_inputs.py
CHANGED
@@ -23,6 +23,7 @@ __all__ = [
|
|
23
23
|
'BucketObjectCustomerEncryptionArgs',
|
24
24
|
'BucketObjectRetentionArgs',
|
25
25
|
'BucketRetentionPolicyArgs',
|
26
|
+
'BucketSoftDeletePolicyArgs',
|
26
27
|
'BucketVersioningArgs',
|
27
28
|
'BucketWebsiteArgs',
|
28
29
|
'DefaultObjectAccessControlProjectTeamArgs',
|
@@ -787,6 +788,45 @@ class BucketRetentionPolicyArgs:
|
|
787
788
|
pulumi.set(self, "is_locked", value)
|
788
789
|
|
789
790
|
|
791
|
+
@pulumi.input_type
|
792
|
+
class BucketSoftDeletePolicyArgs:
|
793
|
+
def __init__(__self__, *,
|
794
|
+
effective_time: Optional[pulumi.Input[str]] = None,
|
795
|
+
retention_duration_seconds: Optional[pulumi.Input[int]] = None):
|
796
|
+
"""
|
797
|
+
:param pulumi.Input[str] effective_time: Server-determined value that indicates the time from which the policy, or one with a greater retention, was effective. This value is in RFC 3339 format.
|
798
|
+
:param pulumi.Input[int] retention_duration_seconds: The duration in seconds that soft-deleted objects in the bucket will be retained and cannot be permanently deleted. Default value is 604800. The value must be in between 604800(7 days) and 7776000(90 days). **Note**: To disable the soft delete policy on a bucket, This field must be set to 0.
|
799
|
+
"""
|
800
|
+
if effective_time is not None:
|
801
|
+
pulumi.set(__self__, "effective_time", effective_time)
|
802
|
+
if retention_duration_seconds is not None:
|
803
|
+
pulumi.set(__self__, "retention_duration_seconds", retention_duration_seconds)
|
804
|
+
|
805
|
+
@property
|
806
|
+
@pulumi.getter(name="effectiveTime")
|
807
|
+
def effective_time(self) -> Optional[pulumi.Input[str]]:
|
808
|
+
"""
|
809
|
+
Server-determined value that indicates the time from which the policy, or one with a greater retention, was effective. This value is in RFC 3339 format.
|
810
|
+
"""
|
811
|
+
return pulumi.get(self, "effective_time")
|
812
|
+
|
813
|
+
@effective_time.setter
|
814
|
+
def effective_time(self, value: Optional[pulumi.Input[str]]):
|
815
|
+
pulumi.set(self, "effective_time", value)
|
816
|
+
|
817
|
+
@property
|
818
|
+
@pulumi.getter(name="retentionDurationSeconds")
|
819
|
+
def retention_duration_seconds(self) -> Optional[pulumi.Input[int]]:
|
820
|
+
"""
|
821
|
+
The duration in seconds that soft-deleted objects in the bucket will be retained and cannot be permanently deleted. Default value is 604800. The value must be in between 604800(7 days) and 7776000(90 days). **Note**: To disable the soft delete policy on a bucket, This field must be set to 0.
|
822
|
+
"""
|
823
|
+
return pulumi.get(self, "retention_duration_seconds")
|
824
|
+
|
825
|
+
@retention_duration_seconds.setter
|
826
|
+
def retention_duration_seconds(self, value: Optional[pulumi.Input[int]]):
|
827
|
+
pulumi.set(self, "retention_duration_seconds", value)
|
828
|
+
|
829
|
+
|
790
830
|
@pulumi.input_type
|
791
831
|
class BucketVersioningArgs:
|
792
832
|
def __init__(__self__, *,
|
@@ -1944,34 +1984,27 @@ class TransferJobTransferSpecAwsS3DataSourceAwsAccessKeyArgs:
|
|
1944
1984
|
@pulumi.input_type
|
1945
1985
|
class TransferJobTransferSpecAzureBlobStorageDataSourceArgs:
|
1946
1986
|
def __init__(__self__, *,
|
1947
|
-
azure_credentials: pulumi.Input['TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsArgs'],
|
1948
1987
|
container: pulumi.Input[str],
|
1949
1988
|
storage_account: pulumi.Input[str],
|
1989
|
+
azure_credentials: Optional[pulumi.Input['TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsArgs']] = None,
|
1990
|
+
credentials_secret: Optional[pulumi.Input[str]] = None,
|
1950
1991
|
path: Optional[pulumi.Input[str]] = None):
|
1951
1992
|
"""
|
1952
|
-
:param pulumi.Input['TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsArgs'] azure_credentials: Credentials used to authenticate API requests to Azure block.
|
1953
1993
|
:param pulumi.Input[str] container: The container to transfer from the Azure Storage account.`
|
1954
1994
|
:param pulumi.Input[str] storage_account: The name of the Azure Storage account.
|
1995
|
+
:param pulumi.Input['TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsArgs'] azure_credentials: Credentials used to authenticate API requests to Azure block.
|
1996
|
+
:param pulumi.Input[str] credentials_secret: Full Resource name of a secret in Secret Manager containing [SAS Credentials in JSON form](https://cloud.google.com/storage-transfer/docs/reference/rest/v1/TransferSpec#azureblobstoragedata:~:text=begin%!w(MISSING)ith%!a(MISSING)%27/%!-(MISSING),credentialsSecret,-string). Service Agent for Storage Transfer must have permissions to access secret. If credentials_secret is specified, do not specify azure_credentials.`,
|
1955
1997
|
:param pulumi.Input[str] path: Root path to transfer objects. Must be an empty string or full path name that ends with a '/'. This field is treated as an object prefix. As such, it should generally not begin with a '/'.
|
1956
1998
|
"""
|
1957
|
-
pulumi.set(__self__, "azure_credentials", azure_credentials)
|
1958
1999
|
pulumi.set(__self__, "container", container)
|
1959
2000
|
pulumi.set(__self__, "storage_account", storage_account)
|
2001
|
+
if azure_credentials is not None:
|
2002
|
+
pulumi.set(__self__, "azure_credentials", azure_credentials)
|
2003
|
+
if credentials_secret is not None:
|
2004
|
+
pulumi.set(__self__, "credentials_secret", credentials_secret)
|
1960
2005
|
if path is not None:
|
1961
2006
|
pulumi.set(__self__, "path", path)
|
1962
2007
|
|
1963
|
-
@property
|
1964
|
-
@pulumi.getter(name="azureCredentials")
|
1965
|
-
def azure_credentials(self) -> pulumi.Input['TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsArgs']:
|
1966
|
-
"""
|
1967
|
-
Credentials used to authenticate API requests to Azure block.
|
1968
|
-
"""
|
1969
|
-
return pulumi.get(self, "azure_credentials")
|
1970
|
-
|
1971
|
-
@azure_credentials.setter
|
1972
|
-
def azure_credentials(self, value: pulumi.Input['TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsArgs']):
|
1973
|
-
pulumi.set(self, "azure_credentials", value)
|
1974
|
-
|
1975
2008
|
@property
|
1976
2009
|
@pulumi.getter
|
1977
2010
|
def container(self) -> pulumi.Input[str]:
|
@@ -1996,6 +2029,30 @@ class TransferJobTransferSpecAzureBlobStorageDataSourceArgs:
|
|
1996
2029
|
def storage_account(self, value: pulumi.Input[str]):
|
1997
2030
|
pulumi.set(self, "storage_account", value)
|
1998
2031
|
|
2032
|
+
@property
|
2033
|
+
@pulumi.getter(name="azureCredentials")
|
2034
|
+
def azure_credentials(self) -> Optional[pulumi.Input['TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsArgs']]:
|
2035
|
+
"""
|
2036
|
+
Credentials used to authenticate API requests to Azure block.
|
2037
|
+
"""
|
2038
|
+
return pulumi.get(self, "azure_credentials")
|
2039
|
+
|
2040
|
+
@azure_credentials.setter
|
2041
|
+
def azure_credentials(self, value: Optional[pulumi.Input['TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsArgs']]):
|
2042
|
+
pulumi.set(self, "azure_credentials", value)
|
2043
|
+
|
2044
|
+
@property
|
2045
|
+
@pulumi.getter(name="credentialsSecret")
|
2046
|
+
def credentials_secret(self) -> Optional[pulumi.Input[str]]:
|
2047
|
+
"""
|
2048
|
+
Full Resource name of a secret in Secret Manager containing [SAS Credentials in JSON form](https://cloud.google.com/storage-transfer/docs/reference/rest/v1/TransferSpec#azureblobstoragedata:~:text=begin%!w(MISSING)ith%!a(MISSING)%27/%!-(MISSING),credentialsSecret,-string). Service Agent for Storage Transfer must have permissions to access secret. If credentials_secret is specified, do not specify azure_credentials.`,
|
2049
|
+
"""
|
2050
|
+
return pulumi.get(self, "credentials_secret")
|
2051
|
+
|
2052
|
+
@credentials_secret.setter
|
2053
|
+
def credentials_secret(self, value: Optional[pulumi.Input[str]]):
|
2054
|
+
pulumi.set(self, "credentials_secret", value)
|
2055
|
+
|
1999
2056
|
@property
|
2000
2057
|
@pulumi.getter
|
2001
2058
|
def path(self) -> Optional[pulumi.Input[str]]:
|
pulumi_gcp/storage/bucket.py
CHANGED
@@ -33,6 +33,7 @@ class BucketArgs:
|
|
33
33
|
requester_pays: Optional[pulumi.Input[bool]] = None,
|
34
34
|
retention_policy: Optional[pulumi.Input['BucketRetentionPolicyArgs']] = None,
|
35
35
|
rpo: Optional[pulumi.Input[str]] = None,
|
36
|
+
soft_delete_policy: Optional[pulumi.Input['BucketSoftDeletePolicyArgs']] = None,
|
36
37
|
storage_class: Optional[pulumi.Input[str]] = None,
|
37
38
|
uniform_bucket_level_access: Optional[pulumi.Input[bool]] = None,
|
38
39
|
versioning: Optional[pulumi.Input['BucketVersioningArgs']] = None,
|
@@ -61,6 +62,8 @@ class BucketArgs:
|
|
61
62
|
:param pulumi.Input[bool] requester_pays: Enables [Requester Pays](https://cloud.google.com/storage/docs/requester-pays) on a storage bucket.
|
62
63
|
:param pulumi.Input['BucketRetentionPolicyArgs'] retention_policy: Configuration of the bucket's data retention policy for how long objects in the bucket should be retained. Structure is documented below.
|
63
64
|
:param pulumi.Input[str] rpo: The recovery point objective for cross-region replication of the bucket. Applicable only for dual and multi-region buckets. `"DEFAULT"` sets default replication. `"ASYNC_TURBO"` value enables turbo replication, valid for dual-region buckets only. See [Turbo Replication](https://cloud.google.com/storage/docs/managing-turbo-replication) for more information. If rpo is not specified at bucket creation, it defaults to `"DEFAULT"` for dual and multi-region buckets. **NOTE** If used with single-region bucket, It will throw an error.
|
65
|
+
:param pulumi.Input['BucketSoftDeletePolicyArgs'] soft_delete_policy: The bucket's soft delete policy, which defines the period of time that soft-deleted objects will be retained, and cannot
|
66
|
+
be permanently deleted. If it is not provided, by default Google Cloud Storage sets this to default soft delete policy
|
64
67
|
:param pulumi.Input[str] storage_class: The [Storage Class](https://cloud.google.com/storage/docs/storage-classes) of the new bucket. Supported values include: `STANDARD`, `MULTI_REGIONAL`, `REGIONAL`, `NEARLINE`, `COLDLINE`, `ARCHIVE`.
|
65
68
|
:param pulumi.Input[bool] uniform_bucket_level_access: Enables [Uniform bucket-level access](https://cloud.google.com/storage/docs/uniform-bucket-level-access) access to a bucket.
|
66
69
|
:param pulumi.Input['BucketVersioningArgs'] versioning: The bucket's [Versioning](https://cloud.google.com/storage/docs/object-versioning) configuration. Structure is documented below.
|
@@ -99,6 +102,8 @@ class BucketArgs:
|
|
99
102
|
pulumi.set(__self__, "retention_policy", retention_policy)
|
100
103
|
if rpo is not None:
|
101
104
|
pulumi.set(__self__, "rpo", rpo)
|
105
|
+
if soft_delete_policy is not None:
|
106
|
+
pulumi.set(__self__, "soft_delete_policy", soft_delete_policy)
|
102
107
|
if storage_class is not None:
|
103
108
|
pulumi.set(__self__, "storage_class", storage_class)
|
104
109
|
if uniform_bucket_level_access is not None:
|
@@ -317,6 +322,19 @@ class BucketArgs:
|
|
317
322
|
def rpo(self, value: Optional[pulumi.Input[str]]):
|
318
323
|
pulumi.set(self, "rpo", value)
|
319
324
|
|
325
|
+
@property
|
326
|
+
@pulumi.getter(name="softDeletePolicy")
|
327
|
+
def soft_delete_policy(self) -> Optional[pulumi.Input['BucketSoftDeletePolicyArgs']]:
|
328
|
+
"""
|
329
|
+
The bucket's soft delete policy, which defines the period of time that soft-deleted objects will be retained, and cannot
|
330
|
+
be permanently deleted. If it is not provided, by default Google Cloud Storage sets this to default soft delete policy
|
331
|
+
"""
|
332
|
+
return pulumi.get(self, "soft_delete_policy")
|
333
|
+
|
334
|
+
@soft_delete_policy.setter
|
335
|
+
def soft_delete_policy(self, value: Optional[pulumi.Input['BucketSoftDeletePolicyArgs']]):
|
336
|
+
pulumi.set(self, "soft_delete_policy", value)
|
337
|
+
|
320
338
|
@property
|
321
339
|
@pulumi.getter(name="storageClass")
|
322
340
|
def storage_class(self) -> Optional[pulumi.Input[str]]:
|
@@ -389,6 +407,7 @@ class _BucketState:
|
|
389
407
|
retention_policy: Optional[pulumi.Input['BucketRetentionPolicyArgs']] = None,
|
390
408
|
rpo: Optional[pulumi.Input[str]] = None,
|
391
409
|
self_link: Optional[pulumi.Input[str]] = None,
|
410
|
+
soft_delete_policy: Optional[pulumi.Input['BucketSoftDeletePolicyArgs']] = None,
|
392
411
|
storage_class: Optional[pulumi.Input[str]] = None,
|
393
412
|
uniform_bucket_level_access: Optional[pulumi.Input[bool]] = None,
|
394
413
|
url: Optional[pulumi.Input[str]] = None,
|
@@ -422,6 +441,8 @@ class _BucketState:
|
|
422
441
|
:param pulumi.Input['BucketRetentionPolicyArgs'] retention_policy: Configuration of the bucket's data retention policy for how long objects in the bucket should be retained. Structure is documented below.
|
423
442
|
:param pulumi.Input[str] rpo: The recovery point objective for cross-region replication of the bucket. Applicable only for dual and multi-region buckets. `"DEFAULT"` sets default replication. `"ASYNC_TURBO"` value enables turbo replication, valid for dual-region buckets only. See [Turbo Replication](https://cloud.google.com/storage/docs/managing-turbo-replication) for more information. If rpo is not specified at bucket creation, it defaults to `"DEFAULT"` for dual and multi-region buckets. **NOTE** If used with single-region bucket, It will throw an error.
|
424
443
|
:param pulumi.Input[str] self_link: The URI of the created resource.
|
444
|
+
:param pulumi.Input['BucketSoftDeletePolicyArgs'] soft_delete_policy: The bucket's soft delete policy, which defines the period of time that soft-deleted objects will be retained, and cannot
|
445
|
+
be permanently deleted. If it is not provided, by default Google Cloud Storage sets this to default soft delete policy
|
425
446
|
:param pulumi.Input[str] storage_class: The [Storage Class](https://cloud.google.com/storage/docs/storage-classes) of the new bucket. Supported values include: `STANDARD`, `MULTI_REGIONAL`, `REGIONAL`, `NEARLINE`, `COLDLINE`, `ARCHIVE`.
|
426
447
|
:param pulumi.Input[bool] uniform_bucket_level_access: Enables [Uniform bucket-level access](https://cloud.google.com/storage/docs/uniform-bucket-level-access) access to a bucket.
|
427
448
|
:param pulumi.Input[str] url: The base URL of the bucket, in the format `gs://<bucket-name>`.
|
@@ -468,6 +489,8 @@ class _BucketState:
|
|
468
489
|
pulumi.set(__self__, "rpo", rpo)
|
469
490
|
if self_link is not None:
|
470
491
|
pulumi.set(__self__, "self_link", self_link)
|
492
|
+
if soft_delete_policy is not None:
|
493
|
+
pulumi.set(__self__, "soft_delete_policy", soft_delete_policy)
|
471
494
|
if storage_class is not None:
|
472
495
|
pulumi.set(__self__, "storage_class", storage_class)
|
473
496
|
if uniform_bucket_level_access is not None:
|
@@ -725,6 +748,19 @@ class _BucketState:
|
|
725
748
|
def self_link(self, value: Optional[pulumi.Input[str]]):
|
726
749
|
pulumi.set(self, "self_link", value)
|
727
750
|
|
751
|
+
@property
|
752
|
+
@pulumi.getter(name="softDeletePolicy")
|
753
|
+
def soft_delete_policy(self) -> Optional[pulumi.Input['BucketSoftDeletePolicyArgs']]:
|
754
|
+
"""
|
755
|
+
The bucket's soft delete policy, which defines the period of time that soft-deleted objects will be retained, and cannot
|
756
|
+
be permanently deleted. If it is not provided, by default Google Cloud Storage sets this to default soft delete policy
|
757
|
+
"""
|
758
|
+
return pulumi.get(self, "soft_delete_policy")
|
759
|
+
|
760
|
+
@soft_delete_policy.setter
|
761
|
+
def soft_delete_policy(self, value: Optional[pulumi.Input['BucketSoftDeletePolicyArgs']]):
|
762
|
+
pulumi.set(self, "soft_delete_policy", value)
|
763
|
+
|
728
764
|
@property
|
729
765
|
@pulumi.getter(name="storageClass")
|
730
766
|
def storage_class(self) -> Optional[pulumi.Input[str]]:
|
@@ -808,6 +844,7 @@ class Bucket(pulumi.CustomResource):
|
|
808
844
|
requester_pays: Optional[pulumi.Input[bool]] = None,
|
809
845
|
retention_policy: Optional[pulumi.Input[pulumi.InputType['BucketRetentionPolicyArgs']]] = None,
|
810
846
|
rpo: Optional[pulumi.Input[str]] = None,
|
847
|
+
soft_delete_policy: Optional[pulumi.Input[pulumi.InputType['BucketSoftDeletePolicyArgs']]] = None,
|
811
848
|
storage_class: Optional[pulumi.Input[str]] = None,
|
812
849
|
uniform_bucket_level_access: Optional[pulumi.Input[bool]] = None,
|
813
850
|
versioning: Optional[pulumi.Input[pulumi.InputType['BucketVersioningArgs']]] = None,
|
@@ -959,6 +996,8 @@ class Bucket(pulumi.CustomResource):
|
|
959
996
|
:param pulumi.Input[bool] requester_pays: Enables [Requester Pays](https://cloud.google.com/storage/docs/requester-pays) on a storage bucket.
|
960
997
|
:param pulumi.Input[pulumi.InputType['BucketRetentionPolicyArgs']] retention_policy: Configuration of the bucket's data retention policy for how long objects in the bucket should be retained. Structure is documented below.
|
961
998
|
:param pulumi.Input[str] rpo: The recovery point objective for cross-region replication of the bucket. Applicable only for dual and multi-region buckets. `"DEFAULT"` sets default replication. `"ASYNC_TURBO"` value enables turbo replication, valid for dual-region buckets only. See [Turbo Replication](https://cloud.google.com/storage/docs/managing-turbo-replication) for more information. If rpo is not specified at bucket creation, it defaults to `"DEFAULT"` for dual and multi-region buckets. **NOTE** If used with single-region bucket, It will throw an error.
|
999
|
+
:param pulumi.Input[pulumi.InputType['BucketSoftDeletePolicyArgs']] soft_delete_policy: The bucket's soft delete policy, which defines the period of time that soft-deleted objects will be retained, and cannot
|
1000
|
+
be permanently deleted. If it is not provided, by default Google Cloud Storage sets this to default soft delete policy
|
962
1001
|
:param pulumi.Input[str] storage_class: The [Storage Class](https://cloud.google.com/storage/docs/storage-classes) of the new bucket. Supported values include: `STANDARD`, `MULTI_REGIONAL`, `REGIONAL`, `NEARLINE`, `COLDLINE`, `ARCHIVE`.
|
963
1002
|
:param pulumi.Input[bool] uniform_bucket_level_access: Enables [Uniform bucket-level access](https://cloud.google.com/storage/docs/uniform-bucket-level-access) access to a bucket.
|
964
1003
|
:param pulumi.Input[pulumi.InputType['BucketVersioningArgs']] versioning: The bucket's [Versioning](https://cloud.google.com/storage/docs/object-versioning) configuration. Structure is documented below.
|
@@ -1124,6 +1163,7 @@ class Bucket(pulumi.CustomResource):
|
|
1124
1163
|
requester_pays: Optional[pulumi.Input[bool]] = None,
|
1125
1164
|
retention_policy: Optional[pulumi.Input[pulumi.InputType['BucketRetentionPolicyArgs']]] = None,
|
1126
1165
|
rpo: Optional[pulumi.Input[str]] = None,
|
1166
|
+
soft_delete_policy: Optional[pulumi.Input[pulumi.InputType['BucketSoftDeletePolicyArgs']]] = None,
|
1127
1167
|
storage_class: Optional[pulumi.Input[str]] = None,
|
1128
1168
|
uniform_bucket_level_access: Optional[pulumi.Input[bool]] = None,
|
1129
1169
|
versioning: Optional[pulumi.Input[pulumi.InputType['BucketVersioningArgs']]] = None,
|
@@ -1156,6 +1196,7 @@ class Bucket(pulumi.CustomResource):
|
|
1156
1196
|
__props__.__dict__["requester_pays"] = requester_pays
|
1157
1197
|
__props__.__dict__["retention_policy"] = retention_policy
|
1158
1198
|
__props__.__dict__["rpo"] = rpo
|
1199
|
+
__props__.__dict__["soft_delete_policy"] = soft_delete_policy
|
1159
1200
|
__props__.__dict__["storage_class"] = storage_class
|
1160
1201
|
__props__.__dict__["uniform_bucket_level_access"] = uniform_bucket_level_access
|
1161
1202
|
__props__.__dict__["versioning"] = versioning
|
@@ -1196,6 +1237,7 @@ class Bucket(pulumi.CustomResource):
|
|
1196
1237
|
retention_policy: Optional[pulumi.Input[pulumi.InputType['BucketRetentionPolicyArgs']]] = None,
|
1197
1238
|
rpo: Optional[pulumi.Input[str]] = None,
|
1198
1239
|
self_link: Optional[pulumi.Input[str]] = None,
|
1240
|
+
soft_delete_policy: Optional[pulumi.Input[pulumi.InputType['BucketSoftDeletePolicyArgs']]] = None,
|
1199
1241
|
storage_class: Optional[pulumi.Input[str]] = None,
|
1200
1242
|
uniform_bucket_level_access: Optional[pulumi.Input[bool]] = None,
|
1201
1243
|
url: Optional[pulumi.Input[str]] = None,
|
@@ -1234,6 +1276,8 @@ class Bucket(pulumi.CustomResource):
|
|
1234
1276
|
:param pulumi.Input[pulumi.InputType['BucketRetentionPolicyArgs']] retention_policy: Configuration of the bucket's data retention policy for how long objects in the bucket should be retained. Structure is documented below.
|
1235
1277
|
:param pulumi.Input[str] rpo: The recovery point objective for cross-region replication of the bucket. Applicable only for dual and multi-region buckets. `"DEFAULT"` sets default replication. `"ASYNC_TURBO"` value enables turbo replication, valid for dual-region buckets only. See [Turbo Replication](https://cloud.google.com/storage/docs/managing-turbo-replication) for more information. If rpo is not specified at bucket creation, it defaults to `"DEFAULT"` for dual and multi-region buckets. **NOTE** If used with single-region bucket, It will throw an error.
|
1236
1278
|
:param pulumi.Input[str] self_link: The URI of the created resource.
|
1279
|
+
:param pulumi.Input[pulumi.InputType['BucketSoftDeletePolicyArgs']] soft_delete_policy: The bucket's soft delete policy, which defines the period of time that soft-deleted objects will be retained, and cannot
|
1280
|
+
be permanently deleted. If it is not provided, by default Google Cloud Storage sets this to default soft delete policy
|
1237
1281
|
:param pulumi.Input[str] storage_class: The [Storage Class](https://cloud.google.com/storage/docs/storage-classes) of the new bucket. Supported values include: `STANDARD`, `MULTI_REGIONAL`, `REGIONAL`, `NEARLINE`, `COLDLINE`, `ARCHIVE`.
|
1238
1282
|
:param pulumi.Input[bool] uniform_bucket_level_access: Enables [Uniform bucket-level access](https://cloud.google.com/storage/docs/uniform-bucket-level-access) access to a bucket.
|
1239
1283
|
:param pulumi.Input[str] url: The base URL of the bucket, in the format `gs://<bucket-name>`.
|
@@ -1264,6 +1308,7 @@ class Bucket(pulumi.CustomResource):
|
|
1264
1308
|
__props__.__dict__["retention_policy"] = retention_policy
|
1265
1309
|
__props__.__dict__["rpo"] = rpo
|
1266
1310
|
__props__.__dict__["self_link"] = self_link
|
1311
|
+
__props__.__dict__["soft_delete_policy"] = soft_delete_policy
|
1267
1312
|
__props__.__dict__["storage_class"] = storage_class
|
1268
1313
|
__props__.__dict__["uniform_bucket_level_access"] = uniform_bucket_level_access
|
1269
1314
|
__props__.__dict__["url"] = url
|
@@ -1437,6 +1482,15 @@ class Bucket(pulumi.CustomResource):
|
|
1437
1482
|
"""
|
1438
1483
|
return pulumi.get(self, "self_link")
|
1439
1484
|
|
1485
|
+
@property
|
1486
|
+
@pulumi.getter(name="softDeletePolicy")
|
1487
|
+
def soft_delete_policy(self) -> pulumi.Output['outputs.BucketSoftDeletePolicy']:
|
1488
|
+
"""
|
1489
|
+
The bucket's soft delete policy, which defines the period of time that soft-deleted objects will be retained, and cannot
|
1490
|
+
be permanently deleted. If it is not provided, by default Google Cloud Storage sets this to default soft delete policy
|
1491
|
+
"""
|
1492
|
+
return pulumi.get(self, "soft_delete_policy")
|
1493
|
+
|
1440
1494
|
@property
|
1441
1495
|
@pulumi.getter(name="storageClass")
|
1442
1496
|
def storage_class(self) -> pulumi.Output[Optional[str]]:
|
pulumi_gcp/storage/get_bucket.py
CHANGED
@@ -22,7 +22,7 @@ class GetBucketResult:
|
|
22
22
|
"""
|
23
23
|
A collection of values returned by getBucket.
|
24
24
|
"""
|
25
|
-
def __init__(__self__, autoclasses=None, cors=None, custom_placement_configs=None, default_event_based_hold=None, effective_labels=None, enable_object_retention=None, encryptions=None, force_destroy=None, id=None, labels=None, lifecycle_rules=None, location=None, loggings=None, name=None, project=None, public_access_prevention=None, pulumi_labels=None, requester_pays=None, retention_policies=None, rpo=None, self_link=None, storage_class=None, uniform_bucket_level_access=None, url=None, versionings=None, websites=None):
|
25
|
+
def __init__(__self__, autoclasses=None, cors=None, custom_placement_configs=None, default_event_based_hold=None, effective_labels=None, enable_object_retention=None, encryptions=None, force_destroy=None, id=None, labels=None, lifecycle_rules=None, location=None, loggings=None, name=None, project=None, public_access_prevention=None, pulumi_labels=None, requester_pays=None, retention_policies=None, rpo=None, self_link=None, soft_delete_policies=None, storage_class=None, uniform_bucket_level_access=None, url=None, versionings=None, websites=None):
|
26
26
|
if autoclasses and not isinstance(autoclasses, list):
|
27
27
|
raise TypeError("Expected argument 'autoclasses' to be a list")
|
28
28
|
pulumi.set(__self__, "autoclasses", autoclasses)
|
@@ -86,6 +86,9 @@ class GetBucketResult:
|
|
86
86
|
if self_link and not isinstance(self_link, str):
|
87
87
|
raise TypeError("Expected argument 'self_link' to be a str")
|
88
88
|
pulumi.set(__self__, "self_link", self_link)
|
89
|
+
if soft_delete_policies and not isinstance(soft_delete_policies, list):
|
90
|
+
raise TypeError("Expected argument 'soft_delete_policies' to be a list")
|
91
|
+
pulumi.set(__self__, "soft_delete_policies", soft_delete_policies)
|
89
92
|
if storage_class and not isinstance(storage_class, str):
|
90
93
|
raise TypeError("Expected argument 'storage_class' to be a str")
|
91
94
|
pulumi.set(__self__, "storage_class", storage_class)
|
@@ -210,6 +213,11 @@ class GetBucketResult:
|
|
210
213
|
def self_link(self) -> str:
|
211
214
|
return pulumi.get(self, "self_link")
|
212
215
|
|
216
|
+
@property
|
217
|
+
@pulumi.getter(name="softDeletePolicies")
|
218
|
+
def soft_delete_policies(self) -> Sequence['outputs.GetBucketSoftDeletePolicyResult']:
|
219
|
+
return pulumi.get(self, "soft_delete_policies")
|
220
|
+
|
213
221
|
@property
|
214
222
|
@pulumi.getter(name="storageClass")
|
215
223
|
def storage_class(self) -> str:
|
@@ -263,6 +271,7 @@ class AwaitableGetBucketResult(GetBucketResult):
|
|
263
271
|
retention_policies=self.retention_policies,
|
264
272
|
rpo=self.rpo,
|
265
273
|
self_link=self.self_link,
|
274
|
+
soft_delete_policies=self.soft_delete_policies,
|
266
275
|
storage_class=self.storage_class,
|
267
276
|
uniform_bucket_level_access=self.uniform_bucket_level_access,
|
268
277
|
url=self.url,
|
@@ -319,6 +328,7 @@ def get_bucket(name: Optional[str] = None,
|
|
319
328
|
retention_policies=pulumi.get(__ret__, 'retention_policies'),
|
320
329
|
rpo=pulumi.get(__ret__, 'rpo'),
|
321
330
|
self_link=pulumi.get(__ret__, 'self_link'),
|
331
|
+
soft_delete_policies=pulumi.get(__ret__, 'soft_delete_policies'),
|
322
332
|
storage_class=pulumi.get(__ret__, 'storage_class'),
|
323
333
|
uniform_bucket_level_access=pulumi.get(__ret__, 'uniform_bucket_level_access'),
|
324
334
|
url=pulumi.get(__ret__, 'url'),
|