pulumi-gcp 7.21.0a1714565535__py3-none-any.whl → 7.21.0a1714596856__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.
Files changed (56) hide show
  1. pulumi_gcp/__init__.py +40 -0
  2. pulumi_gcp/alloydb/_inputs.py +74 -0
  3. pulumi_gcp/alloydb/instance.py +90 -0
  4. pulumi_gcp/alloydb/outputs.py +98 -0
  5. pulumi_gcp/apigee/environment.py +47 -0
  6. pulumi_gcp/applicationintegration/__init__.py +1 -0
  7. pulumi_gcp/applicationintegration/_inputs.py +843 -0
  8. pulumi_gcp/applicationintegration/auth_config.py +998 -0
  9. pulumi_gcp/applicationintegration/outputs.py +891 -0
  10. pulumi_gcp/bigquerydatapolicy/_inputs.py +21 -4
  11. pulumi_gcp/bigquerydatapolicy/data_policy.py +78 -0
  12. pulumi_gcp/bigquerydatapolicy/outputs.py +16 -3
  13. pulumi_gcp/certificateauthority/_inputs.py +92 -12
  14. pulumi_gcp/certificateauthority/authority.py +110 -0
  15. pulumi_gcp/certificateauthority/certificate.py +176 -0
  16. pulumi_gcp/certificateauthority/outputs.py +144 -12
  17. pulumi_gcp/composer/__init__.py +1 -0
  18. pulumi_gcp/composer/user_workloads_secret.py +441 -0
  19. pulumi_gcp/compute/__init__.py +1 -0
  20. pulumi_gcp/compute/_inputs.py +121 -58
  21. pulumi_gcp/compute/global_forwarding_rule.py +0 -282
  22. pulumi_gcp/compute/outputs.py +120 -57
  23. pulumi_gcp/compute/region_target_https_proxy.py +257 -0
  24. pulumi_gcp/compute/region_url_map.py +0 -470
  25. pulumi_gcp/compute/security_policy_rule.py +850 -0
  26. pulumi_gcp/dataloss/__init__.py +1 -0
  27. pulumi_gcp/dataloss/_inputs.py +1040 -0
  28. pulumi_gcp/dataloss/outputs.py +1123 -0
  29. pulumi_gcp/dataloss/prevention_discovery_config.py +737 -0
  30. pulumi_gcp/dns/_inputs.py +2 -2
  31. pulumi_gcp/dns/outputs.py +2 -2
  32. pulumi_gcp/dns/record_set.py +2 -2
  33. pulumi_gcp/filestore/get_instance.py +11 -1
  34. pulumi_gcp/filestore/instance.py +101 -0
  35. pulumi_gcp/firebase/_inputs.py +16 -0
  36. pulumi_gcp/firebase/app_check_play_integrity_config.py +20 -0
  37. pulumi_gcp/firebase/app_check_recaptcha_enterprise_config.py +10 -0
  38. pulumi_gcp/firebase/hosting_version.py +44 -0
  39. pulumi_gcp/firebase/outputs.py +12 -0
  40. pulumi_gcp/logging/folder_sink.py +54 -0
  41. pulumi_gcp/logging/organization_sink.py +54 -0
  42. pulumi_gcp/monitoring/_inputs.py +46 -2
  43. pulumi_gcp/monitoring/outputs.py +40 -2
  44. pulumi_gcp/monitoring/uptime_check_config.py +6 -0
  45. pulumi_gcp/networkconnectivity/__init__.py +1 -0
  46. pulumi_gcp/networkconnectivity/internal_range.py +1024 -0
  47. pulumi_gcp/secretmanager/get_secret.py +13 -3
  48. pulumi_gcp/secretmanager/outputs.py +20 -1
  49. pulumi_gcp/secretmanager/secret.py +90 -3
  50. pulumi_gcp/storage/__init__.py +1 -0
  51. pulumi_gcp/storage/get_bucket_objects.py +153 -0
  52. pulumi_gcp/storage/outputs.py +63 -0
  53. {pulumi_gcp-7.21.0a1714565535.dist-info → pulumi_gcp-7.21.0a1714596856.dist-info}/METADATA +1 -1
  54. {pulumi_gcp-7.21.0a1714565535.dist-info → pulumi_gcp-7.21.0a1714596856.dist-info}/RECORD +56 -50
  55. {pulumi_gcp-7.21.0a1714565535.dist-info → pulumi_gcp-7.21.0a1714596856.dist-info}/WHEEL +0 -0
  56. {pulumi_gcp-7.21.0a1714565535.dist-info → pulumi_gcp-7.21.0a1714596856.dist-info}/top_level.txt +0 -0
@@ -22,7 +22,7 @@ class GetSecretResult:
22
22
  """
23
23
  A collection of values returned by getSecret.
24
24
  """
25
- def __init__(__self__, annotations=None, create_time=None, effective_annotations=None, effective_labels=None, expire_time=None, id=None, labels=None, name=None, project=None, pulumi_labels=None, replications=None, rotations=None, secret_id=None, topics=None, ttl=None, version_aliases=None):
25
+ def __init__(__self__, annotations=None, create_time=None, effective_annotations=None, effective_labels=None, expire_time=None, id=None, labels=None, name=None, project=None, pulumi_labels=None, replications=None, rotations=None, secret_id=None, topics=None, ttl=None, version_aliases=None, version_destroy_ttl=None):
26
26
  if annotations and not isinstance(annotations, dict):
27
27
  raise TypeError("Expected argument 'annotations' to be a dict")
28
28
  pulumi.set(__self__, "annotations", annotations)
@@ -71,6 +71,9 @@ class GetSecretResult:
71
71
  if version_aliases and not isinstance(version_aliases, dict):
72
72
  raise TypeError("Expected argument 'version_aliases' to be a dict")
73
73
  pulumi.set(__self__, "version_aliases", version_aliases)
74
+ if version_destroy_ttl and not isinstance(version_destroy_ttl, str):
75
+ raise TypeError("Expected argument 'version_destroy_ttl' to be a str")
76
+ pulumi.set(__self__, "version_destroy_ttl", version_destroy_ttl)
74
77
 
75
78
  @property
76
79
  @pulumi.getter
@@ -155,6 +158,11 @@ class GetSecretResult:
155
158
  def version_aliases(self) -> Mapping[str, str]:
156
159
  return pulumi.get(self, "version_aliases")
157
160
 
161
+ @property
162
+ @pulumi.getter(name="versionDestroyTtl")
163
+ def version_destroy_ttl(self) -> str:
164
+ return pulumi.get(self, "version_destroy_ttl")
165
+
158
166
 
159
167
  class AwaitableGetSecretResult(GetSecretResult):
160
168
  # pylint: disable=using-constant-test
@@ -177,7 +185,8 @@ class AwaitableGetSecretResult(GetSecretResult):
177
185
  secret_id=self.secret_id,
178
186
  topics=self.topics,
179
187
  ttl=self.ttl,
180
- version_aliases=self.version_aliases)
188
+ version_aliases=self.version_aliases,
189
+ version_destroy_ttl=self.version_destroy_ttl)
181
190
 
182
191
 
183
192
  def get_secret(project: Optional[str] = None,
@@ -221,7 +230,8 @@ def get_secret(project: Optional[str] = None,
221
230
  secret_id=pulumi.get(__ret__, 'secret_id'),
222
231
  topics=pulumi.get(__ret__, 'topics'),
223
232
  ttl=pulumi.get(__ret__, 'ttl'),
224
- version_aliases=pulumi.get(__ret__, 'version_aliases'))
233
+ version_aliases=pulumi.get(__ret__, 'version_aliases'),
234
+ version_destroy_ttl=pulumi.get(__ret__, 'version_destroy_ttl'))
225
235
 
226
236
 
227
237
  @_utilities.lift_output_func(get_secret)
@@ -613,7 +613,8 @@ class GetSecretsSecretResult(dict):
613
613
  secret_id: str,
614
614
  topics: Sequence['outputs.GetSecretsSecretTopicResult'],
615
615
  ttl: str,
616
- version_aliases: Mapping[str, str]):
616
+ version_aliases: Mapping[str, str],
617
+ version_destroy_ttl: str):
617
618
  """
618
619
  :param Mapping[str, str] annotations: Custom metadata about the secret.
619
620
  :param str create_time: The time at which the Secret was created.
@@ -634,6 +635,11 @@ class GetSecretsSecretResult(dict):
634
635
  A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
635
636
  Only one of 'ttl' or 'expire_time' can be provided.
636
637
  :param Mapping[str, str] version_aliases: Mapping from version alias to version name.
638
+ :param str version_destroy_ttl: Secret Version TTL after destruction request.
639
+ This is a part of the delayed delete feature on Secret Version.
640
+ For secret with versionDestroyTtl>0, version destruction doesn't happen immediately
641
+ on calling destroy instead the version goes to a disabled state and
642
+ the actual destruction happens after this TTL expires.
637
643
  """
638
644
  pulumi.set(__self__, "annotations", annotations)
639
645
  pulumi.set(__self__, "create_time", create_time)
@@ -650,6 +656,7 @@ class GetSecretsSecretResult(dict):
650
656
  pulumi.set(__self__, "topics", topics)
651
657
  pulumi.set(__self__, "ttl", ttl)
652
658
  pulumi.set(__self__, "version_aliases", version_aliases)
659
+ pulumi.set(__self__, "version_destroy_ttl", version_destroy_ttl)
653
660
 
654
661
  @property
655
662
  @pulumi.getter
@@ -771,6 +778,18 @@ class GetSecretsSecretResult(dict):
771
778
  """
772
779
  return pulumi.get(self, "version_aliases")
773
780
 
781
+ @property
782
+ @pulumi.getter(name="versionDestroyTtl")
783
+ def version_destroy_ttl(self) -> str:
784
+ """
785
+ Secret Version TTL after destruction request.
786
+ This is a part of the delayed delete feature on Secret Version.
787
+ For secret with versionDestroyTtl>0, version destruction doesn't happen immediately
788
+ on calling destroy instead the version goes to a disabled state and
789
+ the actual destruction happens after this TTL expires.
790
+ """
791
+ return pulumi.get(self, "version_destroy_ttl")
792
+
774
793
 
775
794
  @pulumi.output_type
776
795
  class GetSecretsSecretReplicationResult(dict):
@@ -25,7 +25,8 @@ class SecretArgs:
25
25
  rotation: Optional[pulumi.Input['SecretRotationArgs']] = None,
26
26
  topics: Optional[pulumi.Input[Sequence[pulumi.Input['SecretTopicArgs']]]] = None,
27
27
  ttl: Optional[pulumi.Input[str]] = None,
28
- version_aliases: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None):
28
+ version_aliases: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
29
+ version_destroy_ttl: Optional[pulumi.Input[str]] = None):
29
30
  """
30
31
  The set of arguments for constructing a Secret resource.
31
32
  :param pulumi.Input['SecretReplicationArgs'] replication: The replication policy of the secret data attached to the Secret. It cannot be changed
@@ -61,6 +62,9 @@ class SecretArgs:
61
62
  contain uppercase and lowercase letters, numerals, and the hyphen (-) and underscore ('_') characters. An alias string
62
63
  must start with a letter and cannot be the string 'latest' or 'NEW'. No more than 50 aliases can be assigned to a given
63
64
  secret. An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
65
+ :param pulumi.Input[str] version_destroy_ttl: Secret Version TTL after destruction request. This is a part of the delayed delete feature on Secret Version. For secret
66
+ with versionDestroyTtl>0, version destruction doesn't happen immediately on calling destroy instead the version goes to
67
+ a disabled state and the actual destruction happens after this TTL expires.
64
68
  """
65
69
  pulumi.set(__self__, "replication", replication)
66
70
  pulumi.set(__self__, "secret_id", secret_id)
@@ -80,6 +84,8 @@ class SecretArgs:
80
84
  pulumi.set(__self__, "ttl", ttl)
81
85
  if version_aliases is not None:
82
86
  pulumi.set(__self__, "version_aliases", version_aliases)
87
+ if version_destroy_ttl is not None:
88
+ pulumi.set(__self__, "version_destroy_ttl", version_destroy_ttl)
83
89
 
84
90
  @property
85
91
  @pulumi.getter
@@ -222,6 +228,20 @@ class SecretArgs:
222
228
  def version_aliases(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
223
229
  pulumi.set(self, "version_aliases", value)
224
230
 
231
+ @property
232
+ @pulumi.getter(name="versionDestroyTtl")
233
+ def version_destroy_ttl(self) -> Optional[pulumi.Input[str]]:
234
+ """
235
+ Secret Version TTL after destruction request. This is a part of the delayed delete feature on Secret Version. For secret
236
+ with versionDestroyTtl>0, version destruction doesn't happen immediately on calling destroy instead the version goes to
237
+ a disabled state and the actual destruction happens after this TTL expires.
238
+ """
239
+ return pulumi.get(self, "version_destroy_ttl")
240
+
241
+ @version_destroy_ttl.setter
242
+ def version_destroy_ttl(self, value: Optional[pulumi.Input[str]]):
243
+ pulumi.set(self, "version_destroy_ttl", value)
244
+
225
245
 
226
246
  @pulumi.input_type
227
247
  class _SecretState:
@@ -240,7 +260,8 @@ class _SecretState:
240
260
  secret_id: Optional[pulumi.Input[str]] = None,
241
261
  topics: Optional[pulumi.Input[Sequence[pulumi.Input['SecretTopicArgs']]]] = None,
242
262
  ttl: Optional[pulumi.Input[str]] = None,
243
- version_aliases: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None):
263
+ version_aliases: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
264
+ version_destroy_ttl: Optional[pulumi.Input[str]] = None):
244
265
  """
245
266
  Input properties used for looking up and filtering Secret resources.
246
267
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] annotations: Custom metadata about the secret. Annotations are distinct from various forms of labels. Annotations exist to allow
@@ -282,6 +303,9 @@ class _SecretState:
282
303
  contain uppercase and lowercase letters, numerals, and the hyphen (-) and underscore ('_') characters. An alias string
283
304
  must start with a letter and cannot be the string 'latest' or 'NEW'. No more than 50 aliases can be assigned to a given
284
305
  secret. An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
306
+ :param pulumi.Input[str] version_destroy_ttl: Secret Version TTL after destruction request. This is a part of the delayed delete feature on Secret Version. For secret
307
+ with versionDestroyTtl>0, version destruction doesn't happen immediately on calling destroy instead the version goes to
308
+ a disabled state and the actual destruction happens after this TTL expires.
285
309
  """
286
310
  if annotations is not None:
287
311
  pulumi.set(__self__, "annotations", annotations)
@@ -313,6 +337,8 @@ class _SecretState:
313
337
  pulumi.set(__self__, "ttl", ttl)
314
338
  if version_aliases is not None:
315
339
  pulumi.set(__self__, "version_aliases", version_aliases)
340
+ if version_destroy_ttl is not None:
341
+ pulumi.set(__self__, "version_destroy_ttl", version_destroy_ttl)
316
342
 
317
343
  @property
318
344
  @pulumi.getter
@@ -514,6 +540,20 @@ class _SecretState:
514
540
  def version_aliases(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
515
541
  pulumi.set(self, "version_aliases", value)
516
542
 
543
+ @property
544
+ @pulumi.getter(name="versionDestroyTtl")
545
+ def version_destroy_ttl(self) -> Optional[pulumi.Input[str]]:
546
+ """
547
+ Secret Version TTL after destruction request. This is a part of the delayed delete feature on Secret Version. For secret
548
+ with versionDestroyTtl>0, version destruction doesn't happen immediately on calling destroy instead the version goes to
549
+ a disabled state and the actual destruction happens after this TTL expires.
550
+ """
551
+ return pulumi.get(self, "version_destroy_ttl")
552
+
553
+ @version_destroy_ttl.setter
554
+ def version_destroy_ttl(self, value: Optional[pulumi.Input[str]]):
555
+ pulumi.set(self, "version_destroy_ttl", value)
556
+
517
557
 
518
558
  class Secret(pulumi.CustomResource):
519
559
  @overload
@@ -530,6 +570,7 @@ class Secret(pulumi.CustomResource):
530
570
  topics: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SecretTopicArgs']]]]] = None,
531
571
  ttl: Optional[pulumi.Input[str]] = None,
532
572
  version_aliases: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
573
+ version_destroy_ttl: Optional[pulumi.Input[str]] = None,
533
574
  __props__=None):
534
575
  """
535
576
  A Secret is a logical secret whose value and versions can be accessed.
@@ -586,6 +627,19 @@ class Secret(pulumi.CustomResource):
586
627
  auto=gcp.secretmanager.SecretReplicationAutoArgs(),
587
628
  ))
588
629
  ```
630
+ ### Secret With Version Destroy Ttl
631
+
632
+ ```python
633
+ import pulumi
634
+ import pulumi_gcp as gcp
635
+
636
+ secret_with_version_destroy_ttl = gcp.secretmanager.Secret("secret-with-version-destroy-ttl",
637
+ secret_id="secret",
638
+ version_destroy_ttl="2592000s",
639
+ replication=gcp.secretmanager.SecretReplicationArgs(
640
+ auto=gcp.secretmanager.SecretReplicationAutoArgs(),
641
+ ))
642
+ ```
589
643
  ### Secret With Automatic Cmek
590
644
 
591
645
  ```python
@@ -667,6 +721,9 @@ class Secret(pulumi.CustomResource):
667
721
  contain uppercase and lowercase letters, numerals, and the hyphen (-) and underscore ('_') characters. An alias string
668
722
  must start with a letter and cannot be the string 'latest' or 'NEW'. No more than 50 aliases can be assigned to a given
669
723
  secret. An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
724
+ :param pulumi.Input[str] version_destroy_ttl: Secret Version TTL after destruction request. This is a part of the delayed delete feature on Secret Version. For secret
725
+ with versionDestroyTtl>0, version destruction doesn't happen immediately on calling destroy instead the version goes to
726
+ a disabled state and the actual destruction happens after this TTL expires.
670
727
  """
671
728
  ...
672
729
  @overload
@@ -729,6 +786,19 @@ class Secret(pulumi.CustomResource):
729
786
  auto=gcp.secretmanager.SecretReplicationAutoArgs(),
730
787
  ))
731
788
  ```
789
+ ### Secret With Version Destroy Ttl
790
+
791
+ ```python
792
+ import pulumi
793
+ import pulumi_gcp as gcp
794
+
795
+ secret_with_version_destroy_ttl = gcp.secretmanager.Secret("secret-with-version-destroy-ttl",
796
+ secret_id="secret",
797
+ version_destroy_ttl="2592000s",
798
+ replication=gcp.secretmanager.SecretReplicationArgs(
799
+ auto=gcp.secretmanager.SecretReplicationAutoArgs(),
800
+ ))
801
+ ```
732
802
  ### Secret With Automatic Cmek
733
803
 
734
804
  ```python
@@ -800,6 +870,7 @@ class Secret(pulumi.CustomResource):
800
870
  topics: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SecretTopicArgs']]]]] = None,
801
871
  ttl: Optional[pulumi.Input[str]] = None,
802
872
  version_aliases: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
873
+ version_destroy_ttl: Optional[pulumi.Input[str]] = None,
803
874
  __props__=None):
804
875
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
805
876
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -823,6 +894,7 @@ class Secret(pulumi.CustomResource):
823
894
  __props__.__dict__["topics"] = topics
824
895
  __props__.__dict__["ttl"] = ttl
825
896
  __props__.__dict__["version_aliases"] = version_aliases
897
+ __props__.__dict__["version_destroy_ttl"] = version_destroy_ttl
826
898
  __props__.__dict__["create_time"] = None
827
899
  __props__.__dict__["effective_annotations"] = None
828
900
  __props__.__dict__["effective_labels"] = None
@@ -854,7 +926,8 @@ class Secret(pulumi.CustomResource):
854
926
  secret_id: Optional[pulumi.Input[str]] = None,
855
927
  topics: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SecretTopicArgs']]]]] = None,
856
928
  ttl: Optional[pulumi.Input[str]] = None,
857
- version_aliases: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None) -> 'Secret':
929
+ version_aliases: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
930
+ version_destroy_ttl: Optional[pulumi.Input[str]] = None) -> 'Secret':
858
931
  """
859
932
  Get an existing Secret resource's state with the given name, id, and optional extra
860
933
  properties used to qualify the lookup.
@@ -901,6 +974,9 @@ class Secret(pulumi.CustomResource):
901
974
  contain uppercase and lowercase letters, numerals, and the hyphen (-) and underscore ('_') characters. An alias string
902
975
  must start with a letter and cannot be the string 'latest' or 'NEW'. No more than 50 aliases can be assigned to a given
903
976
  secret. An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
977
+ :param pulumi.Input[str] version_destroy_ttl: Secret Version TTL after destruction request. This is a part of the delayed delete feature on Secret Version. For secret
978
+ with versionDestroyTtl>0, version destruction doesn't happen immediately on calling destroy instead the version goes to
979
+ a disabled state and the actual destruction happens after this TTL expires.
904
980
  """
905
981
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
906
982
 
@@ -921,6 +997,7 @@ class Secret(pulumi.CustomResource):
921
997
  __props__.__dict__["topics"] = topics
922
998
  __props__.__dict__["ttl"] = ttl
923
999
  __props__.__dict__["version_aliases"] = version_aliases
1000
+ __props__.__dict__["version_destroy_ttl"] = version_destroy_ttl
924
1001
  return Secret(resource_name, opts=opts, __props__=__props__)
925
1002
 
926
1003
  @property
@@ -1063,3 +1140,13 @@ class Secret(pulumi.CustomResource):
1063
1140
  """
1064
1141
  return pulumi.get(self, "version_aliases")
1065
1142
 
1143
+ @property
1144
+ @pulumi.getter(name="versionDestroyTtl")
1145
+ def version_destroy_ttl(self) -> pulumi.Output[Optional[str]]:
1146
+ """
1147
+ Secret Version TTL after destruction request. This is a part of the delayed delete feature on Secret Version. For secret
1148
+ with versionDestroyTtl>0, version destruction doesn't happen immediately on calling destroy instead the version goes to
1149
+ a disabled state and the actual destruction happens after this TTL expires.
1150
+ """
1151
+ return pulumi.get(self, "version_destroy_ttl")
1152
+
@@ -18,6 +18,7 @@ from .get_bucket import *
18
18
  from .get_bucket_iam_policy import *
19
19
  from .get_bucket_object import *
20
20
  from .get_bucket_object_content import *
21
+ from .get_bucket_objects import *
21
22
  from .get_object_signed_url import *
22
23
  from .get_project_service_account import *
23
24
  from .get_transfer_project_service_account import *
@@ -0,0 +1,153 @@
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
+
13
+ __all__ = [
14
+ 'GetBucketObjectsResult',
15
+ 'AwaitableGetBucketObjectsResult',
16
+ 'get_bucket_objects',
17
+ 'get_bucket_objects_output',
18
+ ]
19
+
20
+ @pulumi.output_type
21
+ class GetBucketObjectsResult:
22
+ """
23
+ A collection of values returned by getBucketObjects.
24
+ """
25
+ def __init__(__self__, bucket=None, bucket_objects=None, id=None, match_glob=None, prefix=None):
26
+ if bucket and not isinstance(bucket, str):
27
+ raise TypeError("Expected argument 'bucket' to be a str")
28
+ pulumi.set(__self__, "bucket", bucket)
29
+ if bucket_objects and not isinstance(bucket_objects, list):
30
+ raise TypeError("Expected argument 'bucket_objects' to be a list")
31
+ pulumi.set(__self__, "bucket_objects", bucket_objects)
32
+ if id and not isinstance(id, str):
33
+ raise TypeError("Expected argument 'id' to be a str")
34
+ pulumi.set(__self__, "id", id)
35
+ if match_glob and not isinstance(match_glob, str):
36
+ raise TypeError("Expected argument 'match_glob' to be a str")
37
+ pulumi.set(__self__, "match_glob", match_glob)
38
+ if prefix and not isinstance(prefix, str):
39
+ raise TypeError("Expected argument 'prefix' to be a str")
40
+ pulumi.set(__self__, "prefix", prefix)
41
+
42
+ @property
43
+ @pulumi.getter
44
+ def bucket(self) -> str:
45
+ return pulumi.get(self, "bucket")
46
+
47
+ @property
48
+ @pulumi.getter(name="bucketObjects")
49
+ def bucket_objects(self) -> Sequence['outputs.GetBucketObjectsBucketObjectResult']:
50
+ """
51
+ A list of retrieved objects contained in the provided GCS bucket. Structure is defined below.
52
+ """
53
+ return pulumi.get(self, "bucket_objects")
54
+
55
+ @property
56
+ @pulumi.getter
57
+ def id(self) -> str:
58
+ """
59
+ The provider-assigned unique ID for this managed resource.
60
+ """
61
+ return pulumi.get(self, "id")
62
+
63
+ @property
64
+ @pulumi.getter(name="matchGlob")
65
+ def match_glob(self) -> Optional[str]:
66
+ return pulumi.get(self, "match_glob")
67
+
68
+ @property
69
+ @pulumi.getter
70
+ def prefix(self) -> Optional[str]:
71
+ return pulumi.get(self, "prefix")
72
+
73
+
74
+ class AwaitableGetBucketObjectsResult(GetBucketObjectsResult):
75
+ # pylint: disable=using-constant-test
76
+ def __await__(self):
77
+ if False:
78
+ yield self
79
+ return GetBucketObjectsResult(
80
+ bucket=self.bucket,
81
+ bucket_objects=self.bucket_objects,
82
+ id=self.id,
83
+ match_glob=self.match_glob,
84
+ prefix=self.prefix)
85
+
86
+
87
+ def get_bucket_objects(bucket: Optional[str] = None,
88
+ match_glob: Optional[str] = None,
89
+ prefix: Optional[str] = None,
90
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetBucketObjectsResult:
91
+ """
92
+ Gets existing objects inside an existing bucket in Google Cloud Storage service (GCS).
93
+ See [the official documentation](https://cloud.google.com/storage/docs/key-terms#objects)
94
+ and [API](https://cloud.google.com/storage/docs/json_api/v1/objects/list).
95
+
96
+ ## Example Usage
97
+
98
+ Example files stored within a bucket.
99
+
100
+ ```python
101
+ import pulumi
102
+ import pulumi_gcp as gcp
103
+
104
+ files = gcp.storage.get_bucket_objects(bucket="file-store")
105
+ ```
106
+
107
+
108
+ :param str bucket: The name of the containing bucket.
109
+ :param str match_glob: A glob pattern used to filter results (for example, `foo*bar`).
110
+ :param str prefix: Filter results to include only objects whose names begin with this prefix.
111
+ """
112
+ __args__ = dict()
113
+ __args__['bucket'] = bucket
114
+ __args__['matchGlob'] = match_glob
115
+ __args__['prefix'] = prefix
116
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
117
+ __ret__ = pulumi.runtime.invoke('gcp:storage/getBucketObjects:getBucketObjects', __args__, opts=opts, typ=GetBucketObjectsResult).value
118
+
119
+ return AwaitableGetBucketObjectsResult(
120
+ bucket=pulumi.get(__ret__, 'bucket'),
121
+ bucket_objects=pulumi.get(__ret__, 'bucket_objects'),
122
+ id=pulumi.get(__ret__, 'id'),
123
+ match_glob=pulumi.get(__ret__, 'match_glob'),
124
+ prefix=pulumi.get(__ret__, 'prefix'))
125
+
126
+
127
+ @_utilities.lift_output_func(get_bucket_objects)
128
+ def get_bucket_objects_output(bucket: Optional[pulumi.Input[str]] = None,
129
+ match_glob: Optional[pulumi.Input[Optional[str]]] = None,
130
+ prefix: Optional[pulumi.Input[Optional[str]]] = None,
131
+ opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetBucketObjectsResult]:
132
+ """
133
+ Gets existing objects inside an existing bucket in Google Cloud Storage service (GCS).
134
+ See [the official documentation](https://cloud.google.com/storage/docs/key-terms#objects)
135
+ and [API](https://cloud.google.com/storage/docs/json_api/v1/objects/list).
136
+
137
+ ## Example Usage
138
+
139
+ Example files stored within a bucket.
140
+
141
+ ```python
142
+ import pulumi
143
+ import pulumi_gcp as gcp
144
+
145
+ files = gcp.storage.get_bucket_objects(bucket="file-store")
146
+ ```
147
+
148
+
149
+ :param str bucket: The name of the containing bucket.
150
+ :param str match_glob: A glob pattern used to filter results (for example, `foo*bar`).
151
+ :param str prefix: Filter results to include only objects whose names begin with this prefix.
152
+ """
153
+ ...
@@ -67,6 +67,7 @@ __all__ = [
67
67
  'GetBucketObjectContentRetentionResult',
68
68
  'GetBucketObjectCustomerEncryptionResult',
69
69
  'GetBucketObjectRetentionResult',
70
+ 'GetBucketObjectsBucketObjectResult',
70
71
  'GetBucketRetentionPolicyResult',
71
72
  'GetBucketSoftDeletePolicyResult',
72
73
  'GetBucketVersioningResult',
@@ -3055,6 +3056,68 @@ class GetBucketObjectRetentionResult(dict):
3055
3056
  return pulumi.get(self, "retain_until_time")
3056
3057
 
3057
3058
 
3059
+ @pulumi.output_type
3060
+ class GetBucketObjectsBucketObjectResult(dict):
3061
+ def __init__(__self__, *,
3062
+ content_type: str,
3063
+ media_link: str,
3064
+ name: str,
3065
+ self_link: str,
3066
+ storage_class: str):
3067
+ """
3068
+ :param str content_type: [Content-Type](https://tools.ietf.org/html/rfc7231#section-3.1.1.5) of the object data.
3069
+ :param str media_link: A url reference to download this object.
3070
+ :param str name: The name of the object.
3071
+ :param str self_link: A url reference to this object.
3072
+ :param str storage_class: The [StorageClass](https://cloud.google.com/storage/docs/storage-classes) of the bucket object.
3073
+ """
3074
+ pulumi.set(__self__, "content_type", content_type)
3075
+ pulumi.set(__self__, "media_link", media_link)
3076
+ pulumi.set(__self__, "name", name)
3077
+ pulumi.set(__self__, "self_link", self_link)
3078
+ pulumi.set(__self__, "storage_class", storage_class)
3079
+
3080
+ @property
3081
+ @pulumi.getter(name="contentType")
3082
+ def content_type(self) -> str:
3083
+ """
3084
+ [Content-Type](https://tools.ietf.org/html/rfc7231#section-3.1.1.5) of the object data.
3085
+ """
3086
+ return pulumi.get(self, "content_type")
3087
+
3088
+ @property
3089
+ @pulumi.getter(name="mediaLink")
3090
+ def media_link(self) -> str:
3091
+ """
3092
+ A url reference to download this object.
3093
+ """
3094
+ return pulumi.get(self, "media_link")
3095
+
3096
+ @property
3097
+ @pulumi.getter
3098
+ def name(self) -> str:
3099
+ """
3100
+ The name of the object.
3101
+ """
3102
+ return pulumi.get(self, "name")
3103
+
3104
+ @property
3105
+ @pulumi.getter(name="selfLink")
3106
+ def self_link(self) -> str:
3107
+ """
3108
+ A url reference to this object.
3109
+ """
3110
+ return pulumi.get(self, "self_link")
3111
+
3112
+ @property
3113
+ @pulumi.getter(name="storageClass")
3114
+ def storage_class(self) -> str:
3115
+ """
3116
+ The [StorageClass](https://cloud.google.com/storage/docs/storage-classes) of the bucket object.
3117
+ """
3118
+ return pulumi.get(self, "storage_class")
3119
+
3120
+
3058
3121
  @pulumi.output_type
3059
3122
  class GetBucketRetentionPolicyResult(dict):
3060
3123
  def __init__(__self__, *,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pulumi_gcp
3
- Version: 7.21.0a1714565535
3
+ Version: 7.21.0a1714596856
4
4
  Summary: A Pulumi package for creating and managing Google Cloud Platform resources.
5
5
  License: Apache-2.0
6
6
  Project-URL: Homepage, https://pulumi.io