pulumi-gcp 8.24.0a1743057423__py3-none-any.whl → 8.25.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.
Files changed (150) hide show
  1. pulumi_gcp/__init__.py +131 -0
  2. pulumi_gcp/_inputs.py +48 -0
  3. pulumi_gcp/accesscontextmanager/_inputs.py +324 -12
  4. pulumi_gcp/accesscontextmanager/outputs.py +204 -12
  5. pulumi_gcp/accesscontextmanager/service_perimeter.py +0 -2
  6. pulumi_gcp/apigee/__init__.py +1 -0
  7. pulumi_gcp/apigee/_inputs.py +58 -0
  8. pulumi_gcp/apigee/dns_zone.py +491 -0
  9. pulumi_gcp/apigee/outputs.py +53 -0
  10. pulumi_gcp/bigquery/_inputs.py +158 -0
  11. pulumi_gcp/bigquery/outputs.py +115 -0
  12. pulumi_gcp/bigquery/reservation.py +189 -1
  13. pulumi_gcp/bigquery/reservation_assignment.py +7 -7
  14. pulumi_gcp/bigqueryanalyticshub/listing_subscription.py +11 -7
  15. pulumi_gcp/bigtable/table.py +8 -8
  16. pulumi_gcp/chronicle/data_access_label.py +16 -0
  17. pulumi_gcp/chronicle/data_access_scope.py +16 -0
  18. pulumi_gcp/chronicle/reference_list.py +16 -0
  19. pulumi_gcp/chronicle/retrohunt.py +16 -0
  20. pulumi_gcp/chronicle/rule.py +16 -0
  21. pulumi_gcp/chronicle/rule_deployment.py +16 -0
  22. pulumi_gcp/chronicle/watchlist.py +16 -0
  23. pulumi_gcp/cloudfunctionsv2/_inputs.py +20 -0
  24. pulumi_gcp/cloudfunctionsv2/outputs.py +25 -0
  25. pulumi_gcp/cloudrunv2/_inputs.py +20 -0
  26. pulumi_gcp/cloudrunv2/outputs.py +25 -0
  27. pulumi_gcp/cloudrunv2/service.py +14 -14
  28. pulumi_gcp/compute/__init__.py +2 -0
  29. pulumi_gcp/compute/_inputs.py +2627 -61
  30. pulumi_gcp/compute/backend_service.py +121 -3
  31. pulumi_gcp/compute/get_backend_service.py +15 -4
  32. pulumi_gcp/compute/get_images.py +172 -0
  33. pulumi_gcp/compute/get_instance.py +12 -1
  34. pulumi_gcp/compute/get_region_backend_service.py +482 -0
  35. pulumi_gcp/compute/get_resource_policy.py +15 -4
  36. pulumi_gcp/compute/get_router.py +12 -1
  37. pulumi_gcp/compute/get_subnetwork.py +43 -1
  38. pulumi_gcp/compute/image.py +54 -0
  39. pulumi_gcp/compute/instance.py +47 -0
  40. pulumi_gcp/compute/instance_from_machine_image.py +94 -0
  41. pulumi_gcp/compute/instance_from_template.py +47 -0
  42. pulumi_gcp/compute/interconnect.py +14 -7
  43. pulumi_gcp/compute/outputs.py +4522 -391
  44. pulumi_gcp/compute/public_delegated_prefix.py +69 -15
  45. pulumi_gcp/compute/resource_policy.py +169 -3
  46. pulumi_gcp/compute/router.py +54 -0
  47. pulumi_gcp/compute/router_route_policy.py +16 -0
  48. pulumi_gcp/compute/subnetwork.py +35 -5
  49. pulumi_gcp/config/__init__.pyi +8 -0
  50. pulumi_gcp/config/outputs.py +27 -0
  51. pulumi_gcp/config/vars.py +16 -0
  52. pulumi_gcp/container/_inputs.py +274 -13
  53. pulumi_gcp/container/cluster.py +101 -0
  54. pulumi_gcp/container/get_cluster.py +23 -1
  55. pulumi_gcp/container/get_registry_image.py +4 -0
  56. pulumi_gcp/container/get_registry_repository.py +4 -0
  57. pulumi_gcp/container/outputs.py +305 -10
  58. pulumi_gcp/container/registry.py +4 -0
  59. pulumi_gcp/datafusion/instance.py +68 -0
  60. pulumi_gcp/dataproc/__init__.py +8 -0
  61. pulumi_gcp/dataproc/_inputs.py +219 -0
  62. pulumi_gcp/dataproc/get_metastore_database_iam_policy.py +193 -0
  63. pulumi_gcp/dataproc/get_metastore_table_iam_policy.py +210 -0
  64. pulumi_gcp/dataproc/metastore_database_iam_binding.py +848 -0
  65. pulumi_gcp/dataproc/metastore_database_iam_member.py +848 -0
  66. pulumi_gcp/dataproc/metastore_database_iam_policy.py +687 -0
  67. pulumi_gcp/dataproc/metastore_federation.py +38 -2
  68. pulumi_gcp/dataproc/metastore_table_iam_binding.py +895 -0
  69. pulumi_gcp/dataproc/metastore_table_iam_member.py +895 -0
  70. pulumi_gcp/dataproc/metastore_table_iam_policy.py +734 -0
  71. pulumi_gcp/dataproc/outputs.py +139 -0
  72. pulumi_gcp/datastream/_inputs.py +311 -94
  73. pulumi_gcp/datastream/connection_profile.py +40 -0
  74. pulumi_gcp/datastream/outputs.py +244 -51
  75. pulumi_gcp/datastream/stream.py +216 -0
  76. pulumi_gcp/discoveryengine/__init__.py +1 -0
  77. pulumi_gcp/discoveryengine/sitemap.py +504 -0
  78. pulumi_gcp/eventarc/__init__.py +1 -0
  79. pulumi_gcp/eventarc/enrollment.py +980 -0
  80. pulumi_gcp/firebase/__init__.py +1 -0
  81. pulumi_gcp/firebase/_inputs.py +484 -0
  82. pulumi_gcp/firebase/app_hosting_build.py +1232 -0
  83. pulumi_gcp/firebase/outputs.py +333 -0
  84. pulumi_gcp/identityplatform/_inputs.py +91 -0
  85. pulumi_gcp/identityplatform/outputs.py +73 -0
  86. pulumi_gcp/identityplatform/tenant.py +56 -0
  87. pulumi_gcp/lustre/__init__.py +8 -0
  88. pulumi_gcp/lustre/instance.py +983 -0
  89. pulumi_gcp/managedkafka/cluster.py +2 -2
  90. pulumi_gcp/memorystore/__init__.py +1 -0
  91. pulumi_gcp/memorystore/_inputs.py +1252 -7
  92. pulumi_gcp/memorystore/get_instance.py +45 -1
  93. pulumi_gcp/memorystore/instance.py +481 -30
  94. pulumi_gcp/memorystore/instance_desired_user_created_endpoints.py +843 -0
  95. pulumi_gcp/memorystore/outputs.py +1440 -15
  96. pulumi_gcp/networkmanagement/_inputs.py +422 -91
  97. pulumi_gcp/networkmanagement/connectivity_test.py +233 -211
  98. pulumi_gcp/networkmanagement/outputs.py +280 -61
  99. pulumi_gcp/networksecurity/_inputs.py +891 -26
  100. pulumi_gcp/networksecurity/intercept_deployment_group.py +44 -16
  101. pulumi_gcp/networksecurity/intercept_endpoint_group.py +90 -36
  102. pulumi_gcp/networksecurity/intercept_endpoint_group_association.py +53 -8
  103. pulumi_gcp/networksecurity/mirroring_deployment_group.py +44 -16
  104. pulumi_gcp/networksecurity/mirroring_endpoint_group.py +94 -36
  105. pulumi_gcp/networksecurity/mirroring_endpoint_group_association.py +53 -8
  106. pulumi_gcp/networksecurity/outputs.py +531 -1
  107. pulumi_gcp/networksecurity/security_profile.py +8 -0
  108. pulumi_gcp/organizations/__init__.py +2 -0
  109. pulumi_gcp/organizations/get_iam_custom_role.py +198 -0
  110. pulumi_gcp/organizations/get_iam_custom_roles.py +164 -0
  111. pulumi_gcp/organizations/outputs.py +96 -0
  112. pulumi_gcp/osconfig/__init__.py +1 -0
  113. pulumi_gcp/osconfig/_inputs.py +5413 -0
  114. pulumi_gcp/osconfig/outputs.py +3962 -0
  115. pulumi_gcp/osconfig/v2_policy_orchestrator.py +971 -0
  116. pulumi_gcp/parametermanager/get_parameter.py +16 -1
  117. pulumi_gcp/parametermanager/get_parameter_version.py +19 -1
  118. pulumi_gcp/parametermanager/get_parameter_version_render.py +4 -0
  119. pulumi_gcp/parametermanager/get_parameters.py +4 -0
  120. pulumi_gcp/parametermanager/get_regional_parameter.py +4 -0
  121. pulumi_gcp/parametermanager/get_regional_parameter_version.py +4 -0
  122. pulumi_gcp/parametermanager/get_regional_parameter_version_render.py +8 -0
  123. pulumi_gcp/parametermanager/get_regional_parameters.py +4 -0
  124. pulumi_gcp/parametermanager/outputs.py +11 -0
  125. pulumi_gcp/parametermanager/parameter.py +88 -0
  126. pulumi_gcp/parametermanager/parameter_version.py +74 -0
  127. pulumi_gcp/parametermanager/regional_parameter.py +12 -0
  128. pulumi_gcp/parametermanager/regional_parameter_version.py +12 -0
  129. pulumi_gcp/provider.py +75 -0
  130. pulumi_gcp/pulumi-plugin.json +1 -1
  131. pulumi_gcp/redis/_inputs.py +136 -0
  132. pulumi_gcp/redis/cluster.py +54 -0
  133. pulumi_gcp/redis/outputs.py +114 -0
  134. pulumi_gcp/secretmanager/regional_secret_version.py +0 -16
  135. pulumi_gcp/storage/__init__.py +6 -0
  136. pulumi_gcp/storage/_inputs.py +1322 -0
  137. pulumi_gcp/storage/bucket.py +7 -7
  138. pulumi_gcp/storage/control_folder_intelligence_config.py +420 -0
  139. pulumi_gcp/storage/control_organization_intelligence_config.py +420 -0
  140. pulumi_gcp/storage/control_project_intelligence_config.py +408 -0
  141. pulumi_gcp/storage/get_bucket_object_content.py +16 -1
  142. pulumi_gcp/storage/get_control_folder_intelligence_config.py +160 -0
  143. pulumi_gcp/storage/get_control_organization_intelligence_config.py +160 -0
  144. pulumi_gcp/storage/get_control_project_intelligence_config.py +160 -0
  145. pulumi_gcp/storage/outputs.py +1553 -17
  146. pulumi_gcp/workbench/instance.py +14 -2
  147. {pulumi_gcp-8.24.0a1743057423.dist-info → pulumi_gcp-8.25.0.dist-info}/METADATA +1 -1
  148. {pulumi_gcp-8.24.0a1743057423.dist-info → pulumi_gcp-8.25.0.dist-info}/RECORD +150 -124
  149. {pulumi_gcp-8.24.0a1743057423.dist-info → pulumi_gcp-8.25.0.dist-info}/WHEEL +0 -0
  150. {pulumi_gcp-8.24.0a1743057423.dist-info → pulumi_gcp-8.25.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,408 @@
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 sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+ from . import outputs
17
+ from ._inputs import *
18
+
19
+ __all__ = ['ControlProjectIntelligenceConfigArgs', 'ControlProjectIntelligenceConfig']
20
+
21
+ @pulumi.input_type
22
+ class ControlProjectIntelligenceConfigArgs:
23
+ def __init__(__self__, *,
24
+ edition_config: Optional[pulumi.Input[str]] = None,
25
+ filter: Optional[pulumi.Input['ControlProjectIntelligenceConfigFilterArgs']] = None,
26
+ name: Optional[pulumi.Input[str]] = None):
27
+ """
28
+ The set of arguments for constructing a ControlProjectIntelligenceConfig resource.
29
+ :param pulumi.Input[str] edition_config: Edition configuration of the Storage Intelligence resource. Valid values are INHERIT, TRIAL, DISABLED and STANDARD.
30
+ :param pulumi.Input['ControlProjectIntelligenceConfigFilterArgs'] filter: Filter over location and bucket using include or exclude semantics. Resources that match the include or exclude filter are exclusively included or excluded from the Storage Intelligence plan.
31
+ Structure is documented below.
32
+ :param pulumi.Input[str] name: Identifier of the GCP project. For GCP project, this field can be project name or project number.
33
+
34
+
35
+ - - -
36
+ """
37
+ if edition_config is not None:
38
+ pulumi.set(__self__, "edition_config", edition_config)
39
+ if filter is not None:
40
+ pulumi.set(__self__, "filter", filter)
41
+ if name is not None:
42
+ pulumi.set(__self__, "name", name)
43
+
44
+ @property
45
+ @pulumi.getter(name="editionConfig")
46
+ def edition_config(self) -> Optional[pulumi.Input[str]]:
47
+ """
48
+ Edition configuration of the Storage Intelligence resource. Valid values are INHERIT, TRIAL, DISABLED and STANDARD.
49
+ """
50
+ return pulumi.get(self, "edition_config")
51
+
52
+ @edition_config.setter
53
+ def edition_config(self, value: Optional[pulumi.Input[str]]):
54
+ pulumi.set(self, "edition_config", value)
55
+
56
+ @property
57
+ @pulumi.getter
58
+ def filter(self) -> Optional[pulumi.Input['ControlProjectIntelligenceConfigFilterArgs']]:
59
+ """
60
+ Filter over location and bucket using include or exclude semantics. Resources that match the include or exclude filter are exclusively included or excluded from the Storage Intelligence plan.
61
+ Structure is documented below.
62
+ """
63
+ return pulumi.get(self, "filter")
64
+
65
+ @filter.setter
66
+ def filter(self, value: Optional[pulumi.Input['ControlProjectIntelligenceConfigFilterArgs']]):
67
+ pulumi.set(self, "filter", value)
68
+
69
+ @property
70
+ @pulumi.getter
71
+ def name(self) -> Optional[pulumi.Input[str]]:
72
+ """
73
+ Identifier of the GCP project. For GCP project, this field can be project name or project number.
74
+
75
+
76
+ - - -
77
+ """
78
+ return pulumi.get(self, "name")
79
+
80
+ @name.setter
81
+ def name(self, value: Optional[pulumi.Input[str]]):
82
+ pulumi.set(self, "name", value)
83
+
84
+
85
+ @pulumi.input_type
86
+ class _ControlProjectIntelligenceConfigState:
87
+ def __init__(__self__, *,
88
+ edition_config: Optional[pulumi.Input[str]] = None,
89
+ effective_intelligence_configs: Optional[pulumi.Input[Sequence[pulumi.Input['ControlProjectIntelligenceConfigEffectiveIntelligenceConfigArgs']]]] = None,
90
+ filter: Optional[pulumi.Input['ControlProjectIntelligenceConfigFilterArgs']] = None,
91
+ name: Optional[pulumi.Input[str]] = None,
92
+ update_time: Optional[pulumi.Input[str]] = None):
93
+ """
94
+ Input properties used for looking up and filtering ControlProjectIntelligenceConfig resources.
95
+ :param pulumi.Input[str] edition_config: Edition configuration of the Storage Intelligence resource. Valid values are INHERIT, TRIAL, DISABLED and STANDARD.
96
+ :param pulumi.Input[Sequence[pulumi.Input['ControlProjectIntelligenceConfigEffectiveIntelligenceConfigArgs']]] effective_intelligence_configs: The Intelligence config that is effective for the resource.
97
+ Structure is documented below.
98
+ :param pulumi.Input['ControlProjectIntelligenceConfigFilterArgs'] filter: Filter over location and bucket using include or exclude semantics. Resources that match the include or exclude filter are exclusively included or excluded from the Storage Intelligence plan.
99
+ Structure is documented below.
100
+ :param pulumi.Input[str] name: Identifier of the GCP project. For GCP project, this field can be project name or project number.
101
+
102
+
103
+ - - -
104
+ :param pulumi.Input[str] update_time: The time at which the Storage Intelligence Config resource is last updated.
105
+ """
106
+ if edition_config is not None:
107
+ pulumi.set(__self__, "edition_config", edition_config)
108
+ if effective_intelligence_configs is not None:
109
+ pulumi.set(__self__, "effective_intelligence_configs", effective_intelligence_configs)
110
+ if filter is not None:
111
+ pulumi.set(__self__, "filter", filter)
112
+ if name is not None:
113
+ pulumi.set(__self__, "name", name)
114
+ if update_time is not None:
115
+ pulumi.set(__self__, "update_time", update_time)
116
+
117
+ @property
118
+ @pulumi.getter(name="editionConfig")
119
+ def edition_config(self) -> Optional[pulumi.Input[str]]:
120
+ """
121
+ Edition configuration of the Storage Intelligence resource. Valid values are INHERIT, TRIAL, DISABLED and STANDARD.
122
+ """
123
+ return pulumi.get(self, "edition_config")
124
+
125
+ @edition_config.setter
126
+ def edition_config(self, value: Optional[pulumi.Input[str]]):
127
+ pulumi.set(self, "edition_config", value)
128
+
129
+ @property
130
+ @pulumi.getter(name="effectiveIntelligenceConfigs")
131
+ def effective_intelligence_configs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ControlProjectIntelligenceConfigEffectiveIntelligenceConfigArgs']]]]:
132
+ """
133
+ The Intelligence config that is effective for the resource.
134
+ Structure is documented below.
135
+ """
136
+ return pulumi.get(self, "effective_intelligence_configs")
137
+
138
+ @effective_intelligence_configs.setter
139
+ def effective_intelligence_configs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ControlProjectIntelligenceConfigEffectiveIntelligenceConfigArgs']]]]):
140
+ pulumi.set(self, "effective_intelligence_configs", value)
141
+
142
+ @property
143
+ @pulumi.getter
144
+ def filter(self) -> Optional[pulumi.Input['ControlProjectIntelligenceConfigFilterArgs']]:
145
+ """
146
+ Filter over location and bucket using include or exclude semantics. Resources that match the include or exclude filter are exclusively included or excluded from the Storage Intelligence plan.
147
+ Structure is documented below.
148
+ """
149
+ return pulumi.get(self, "filter")
150
+
151
+ @filter.setter
152
+ def filter(self, value: Optional[pulumi.Input['ControlProjectIntelligenceConfigFilterArgs']]):
153
+ pulumi.set(self, "filter", value)
154
+
155
+ @property
156
+ @pulumi.getter
157
+ def name(self) -> Optional[pulumi.Input[str]]:
158
+ """
159
+ Identifier of the GCP project. For GCP project, this field can be project name or project number.
160
+
161
+
162
+ - - -
163
+ """
164
+ return pulumi.get(self, "name")
165
+
166
+ @name.setter
167
+ def name(self, value: Optional[pulumi.Input[str]]):
168
+ pulumi.set(self, "name", value)
169
+
170
+ @property
171
+ @pulumi.getter(name="updateTime")
172
+ def update_time(self) -> Optional[pulumi.Input[str]]:
173
+ """
174
+ The time at which the Storage Intelligence Config resource is last updated.
175
+ """
176
+ return pulumi.get(self, "update_time")
177
+
178
+ @update_time.setter
179
+ def update_time(self, value: Optional[pulumi.Input[str]]):
180
+ pulumi.set(self, "update_time", value)
181
+
182
+
183
+ class ControlProjectIntelligenceConfig(pulumi.CustomResource):
184
+ @overload
185
+ def __init__(__self__,
186
+ resource_name: str,
187
+ opts: Optional[pulumi.ResourceOptions] = None,
188
+ edition_config: Optional[pulumi.Input[str]] = None,
189
+ filter: Optional[pulumi.Input[Union['ControlProjectIntelligenceConfigFilterArgs', 'ControlProjectIntelligenceConfigFilterArgsDict']]] = None,
190
+ name: Optional[pulumi.Input[str]] = None,
191
+ __props__=None):
192
+ """
193
+ ## Example Usage
194
+
195
+ ### Storage Control Project Intelligence Config Basic
196
+
197
+ ```python
198
+ import pulumi
199
+ import pulumi_gcp as gcp
200
+
201
+ example = gcp.storage.ControlProjectIntelligenceConfig("example",
202
+ name="test-project",
203
+ edition_config="TRIAL",
204
+ filter={
205
+ "included_cloud_storage_buckets": {
206
+ "bucket_id_regexes": [
207
+ "test-id-1*",
208
+ "test-id-2*",
209
+ ],
210
+ },
211
+ })
212
+ ```
213
+
214
+ ## Import
215
+
216
+ ProjectIntelligenceConfig can be imported using any of these accepted formats:
217
+
218
+ * `projects/{{name}}/locations/global/intelligenceConfig`
219
+
220
+ * `{{name}}`
221
+
222
+ When using the `pulumi import` command, ProjectIntelligenceConfig can be imported using one of the formats above. For example:
223
+
224
+ ```sh
225
+ $ pulumi import gcp:storage/controlProjectIntelligenceConfig:ControlProjectIntelligenceConfig default projects/{{name}}/locations/global/intelligenceConfig
226
+ ```
227
+
228
+ ```sh
229
+ $ pulumi import gcp:storage/controlProjectIntelligenceConfig:ControlProjectIntelligenceConfig default {{name}}
230
+ ```
231
+
232
+ :param str resource_name: The name of the resource.
233
+ :param pulumi.ResourceOptions opts: Options for the resource.
234
+ :param pulumi.Input[str] edition_config: Edition configuration of the Storage Intelligence resource. Valid values are INHERIT, TRIAL, DISABLED and STANDARD.
235
+ :param pulumi.Input[Union['ControlProjectIntelligenceConfigFilterArgs', 'ControlProjectIntelligenceConfigFilterArgsDict']] filter: Filter over location and bucket using include or exclude semantics. Resources that match the include or exclude filter are exclusively included or excluded from the Storage Intelligence plan.
236
+ Structure is documented below.
237
+ :param pulumi.Input[str] name: Identifier of the GCP project. For GCP project, this field can be project name or project number.
238
+
239
+
240
+ - - -
241
+ """
242
+ ...
243
+ @overload
244
+ def __init__(__self__,
245
+ resource_name: str,
246
+ args: Optional[ControlProjectIntelligenceConfigArgs] = None,
247
+ opts: Optional[pulumi.ResourceOptions] = None):
248
+ """
249
+ ## Example Usage
250
+
251
+ ### Storage Control Project Intelligence Config Basic
252
+
253
+ ```python
254
+ import pulumi
255
+ import pulumi_gcp as gcp
256
+
257
+ example = gcp.storage.ControlProjectIntelligenceConfig("example",
258
+ name="test-project",
259
+ edition_config="TRIAL",
260
+ filter={
261
+ "included_cloud_storage_buckets": {
262
+ "bucket_id_regexes": [
263
+ "test-id-1*",
264
+ "test-id-2*",
265
+ ],
266
+ },
267
+ })
268
+ ```
269
+
270
+ ## Import
271
+
272
+ ProjectIntelligenceConfig can be imported using any of these accepted formats:
273
+
274
+ * `projects/{{name}}/locations/global/intelligenceConfig`
275
+
276
+ * `{{name}}`
277
+
278
+ When using the `pulumi import` command, ProjectIntelligenceConfig can be imported using one of the formats above. For example:
279
+
280
+ ```sh
281
+ $ pulumi import gcp:storage/controlProjectIntelligenceConfig:ControlProjectIntelligenceConfig default projects/{{name}}/locations/global/intelligenceConfig
282
+ ```
283
+
284
+ ```sh
285
+ $ pulumi import gcp:storage/controlProjectIntelligenceConfig:ControlProjectIntelligenceConfig default {{name}}
286
+ ```
287
+
288
+ :param str resource_name: The name of the resource.
289
+ :param ControlProjectIntelligenceConfigArgs args: The arguments to use to populate this resource's properties.
290
+ :param pulumi.ResourceOptions opts: Options for the resource.
291
+ """
292
+ ...
293
+ def __init__(__self__, resource_name: str, *args, **kwargs):
294
+ resource_args, opts = _utilities.get_resource_args_opts(ControlProjectIntelligenceConfigArgs, pulumi.ResourceOptions, *args, **kwargs)
295
+ if resource_args is not None:
296
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
297
+ else:
298
+ __self__._internal_init(resource_name, *args, **kwargs)
299
+
300
+ def _internal_init(__self__,
301
+ resource_name: str,
302
+ opts: Optional[pulumi.ResourceOptions] = None,
303
+ edition_config: Optional[pulumi.Input[str]] = None,
304
+ filter: Optional[pulumi.Input[Union['ControlProjectIntelligenceConfigFilterArgs', 'ControlProjectIntelligenceConfigFilterArgsDict']]] = None,
305
+ name: Optional[pulumi.Input[str]] = None,
306
+ __props__=None):
307
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
308
+ if not isinstance(opts, pulumi.ResourceOptions):
309
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
310
+ if opts.id is None:
311
+ if __props__ is not None:
312
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
313
+ __props__ = ControlProjectIntelligenceConfigArgs.__new__(ControlProjectIntelligenceConfigArgs)
314
+
315
+ __props__.__dict__["edition_config"] = edition_config
316
+ __props__.__dict__["filter"] = filter
317
+ __props__.__dict__["name"] = name
318
+ __props__.__dict__["effective_intelligence_configs"] = None
319
+ __props__.__dict__["update_time"] = None
320
+ super(ControlProjectIntelligenceConfig, __self__).__init__(
321
+ 'gcp:storage/controlProjectIntelligenceConfig:ControlProjectIntelligenceConfig',
322
+ resource_name,
323
+ __props__,
324
+ opts)
325
+
326
+ @staticmethod
327
+ def get(resource_name: str,
328
+ id: pulumi.Input[str],
329
+ opts: Optional[pulumi.ResourceOptions] = None,
330
+ edition_config: Optional[pulumi.Input[str]] = None,
331
+ effective_intelligence_configs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ControlProjectIntelligenceConfigEffectiveIntelligenceConfigArgs', 'ControlProjectIntelligenceConfigEffectiveIntelligenceConfigArgsDict']]]]] = None,
332
+ filter: Optional[pulumi.Input[Union['ControlProjectIntelligenceConfigFilterArgs', 'ControlProjectIntelligenceConfigFilterArgsDict']]] = None,
333
+ name: Optional[pulumi.Input[str]] = None,
334
+ update_time: Optional[pulumi.Input[str]] = None) -> 'ControlProjectIntelligenceConfig':
335
+ """
336
+ Get an existing ControlProjectIntelligenceConfig resource's state with the given name, id, and optional extra
337
+ properties used to qualify the lookup.
338
+
339
+ :param str resource_name: The unique name of the resulting resource.
340
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
341
+ :param pulumi.ResourceOptions opts: Options for the resource.
342
+ :param pulumi.Input[str] edition_config: Edition configuration of the Storage Intelligence resource. Valid values are INHERIT, TRIAL, DISABLED and STANDARD.
343
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ControlProjectIntelligenceConfigEffectiveIntelligenceConfigArgs', 'ControlProjectIntelligenceConfigEffectiveIntelligenceConfigArgsDict']]]] effective_intelligence_configs: The Intelligence config that is effective for the resource.
344
+ Structure is documented below.
345
+ :param pulumi.Input[Union['ControlProjectIntelligenceConfigFilterArgs', 'ControlProjectIntelligenceConfigFilterArgsDict']] filter: Filter over location and bucket using include or exclude semantics. Resources that match the include or exclude filter are exclusively included or excluded from the Storage Intelligence plan.
346
+ Structure is documented below.
347
+ :param pulumi.Input[str] name: Identifier of the GCP project. For GCP project, this field can be project name or project number.
348
+
349
+
350
+ - - -
351
+ :param pulumi.Input[str] update_time: The time at which the Storage Intelligence Config resource is last updated.
352
+ """
353
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
354
+
355
+ __props__ = _ControlProjectIntelligenceConfigState.__new__(_ControlProjectIntelligenceConfigState)
356
+
357
+ __props__.__dict__["edition_config"] = edition_config
358
+ __props__.__dict__["effective_intelligence_configs"] = effective_intelligence_configs
359
+ __props__.__dict__["filter"] = filter
360
+ __props__.__dict__["name"] = name
361
+ __props__.__dict__["update_time"] = update_time
362
+ return ControlProjectIntelligenceConfig(resource_name, opts=opts, __props__=__props__)
363
+
364
+ @property
365
+ @pulumi.getter(name="editionConfig")
366
+ def edition_config(self) -> pulumi.Output[str]:
367
+ """
368
+ Edition configuration of the Storage Intelligence resource. Valid values are INHERIT, TRIAL, DISABLED and STANDARD.
369
+ """
370
+ return pulumi.get(self, "edition_config")
371
+
372
+ @property
373
+ @pulumi.getter(name="effectiveIntelligenceConfigs")
374
+ def effective_intelligence_configs(self) -> pulumi.Output[Sequence['outputs.ControlProjectIntelligenceConfigEffectiveIntelligenceConfig']]:
375
+ """
376
+ The Intelligence config that is effective for the resource.
377
+ Structure is documented below.
378
+ """
379
+ return pulumi.get(self, "effective_intelligence_configs")
380
+
381
+ @property
382
+ @pulumi.getter
383
+ def filter(self) -> pulumi.Output[Optional['outputs.ControlProjectIntelligenceConfigFilter']]:
384
+ """
385
+ Filter over location and bucket using include or exclude semantics. Resources that match the include or exclude filter are exclusively included or excluded from the Storage Intelligence plan.
386
+ Structure is documented below.
387
+ """
388
+ return pulumi.get(self, "filter")
389
+
390
+ @property
391
+ @pulumi.getter
392
+ def name(self) -> pulumi.Output[str]:
393
+ """
394
+ Identifier of the GCP project. For GCP project, this field can be project name or project number.
395
+
396
+
397
+ - - -
398
+ """
399
+ return pulumi.get(self, "name")
400
+
401
+ @property
402
+ @pulumi.getter(name="updateTime")
403
+ def update_time(self) -> pulumi.Output[str]:
404
+ """
405
+ The time at which the Storage Intelligence Config resource is last updated.
406
+ """
407
+ return pulumi.get(self, "update_time")
408
+
@@ -27,7 +27,7 @@ class GetBucketObjectContentResult:
27
27
  """
28
28
  A collection of values returned by getBucketObjectContent.
29
29
  """
30
- def __init__(__self__, bucket=None, cache_control=None, content=None, content_disposition=None, content_encoding=None, content_language=None, content_type=None, crc32c=None, customer_encryptions=None, detect_md5hash=None, event_based_hold=None, generation=None, id=None, kms_key_name=None, md5hash=None, media_link=None, metadata=None, name=None, output_name=None, retentions=None, self_link=None, source=None, storage_class=None, temporary_hold=None):
30
+ def __init__(__self__, bucket=None, cache_control=None, content=None, content_base64=None, content_disposition=None, content_encoding=None, content_language=None, content_type=None, crc32c=None, customer_encryptions=None, detect_md5hash=None, event_based_hold=None, generation=None, id=None, kms_key_name=None, md5hash=None, media_link=None, metadata=None, name=None, output_name=None, retentions=None, self_link=None, source=None, storage_class=None, temporary_hold=None):
31
31
  if bucket and not isinstance(bucket, str):
32
32
  raise TypeError("Expected argument 'bucket' to be a str")
33
33
  pulumi.set(__self__, "bucket", bucket)
@@ -37,6 +37,9 @@ class GetBucketObjectContentResult:
37
37
  if content and not isinstance(content, str):
38
38
  raise TypeError("Expected argument 'content' to be a str")
39
39
  pulumi.set(__self__, "content", content)
40
+ if content_base64 and not isinstance(content_base64, str):
41
+ raise TypeError("Expected argument 'content_base64' to be a str")
42
+ pulumi.set(__self__, "content_base64", content_base64)
40
43
  if content_disposition and not isinstance(content_disposition, str):
41
44
  raise TypeError("Expected argument 'content_disposition' to be a str")
42
45
  pulumi.set(__self__, "content_disposition", content_disposition)
@@ -119,6 +122,15 @@ class GetBucketObjectContentResult:
119
122
  """
120
123
  return pulumi.get(self, "content")
121
124
 
125
+ @property
126
+ @pulumi.getter(name="contentBase64")
127
+ def content_base64(self) -> str:
128
+ """
129
+ (Computed) Base64 encoded version of the object content.
130
+ Use this when dealing with binary data.
131
+ """
132
+ return pulumi.get(self, "content_base64")
133
+
122
134
  @property
123
135
  @pulumi.getter(name="contentDisposition")
124
136
  def content_disposition(self) -> str:
@@ -237,6 +249,7 @@ class AwaitableGetBucketObjectContentResult(GetBucketObjectContentResult):
237
249
  bucket=self.bucket,
238
250
  cache_control=self.cache_control,
239
251
  content=self.content,
252
+ content_base64=self.content_base64,
240
253
  content_disposition=self.content_disposition,
241
254
  content_encoding=self.content_encoding,
242
255
  content_language=self.content_language,
@@ -301,6 +314,7 @@ def get_bucket_object_content(bucket: Optional[str] = None,
301
314
  bucket=pulumi.get(__ret__, 'bucket'),
302
315
  cache_control=pulumi.get(__ret__, 'cache_control'),
303
316
  content=pulumi.get(__ret__, 'content'),
317
+ content_base64=pulumi.get(__ret__, 'content_base64'),
304
318
  content_disposition=pulumi.get(__ret__, 'content_disposition'),
305
319
  content_encoding=pulumi.get(__ret__, 'content_encoding'),
306
320
  content_language=pulumi.get(__ret__, 'content_language'),
@@ -362,6 +376,7 @@ def get_bucket_object_content_output(bucket: Optional[pulumi.Input[str]] = None,
362
376
  bucket=pulumi.get(__response__, 'bucket'),
363
377
  cache_control=pulumi.get(__response__, 'cache_control'),
364
378
  content=pulumi.get(__response__, 'content'),
379
+ content_base64=pulumi.get(__response__, 'content_base64'),
365
380
  content_disposition=pulumi.get(__response__, 'content_disposition'),
366
381
  content_encoding=pulumi.get(__response__, 'content_encoding'),
367
382
  content_language=pulumi.get(__response__, 'content_language'),
@@ -0,0 +1,160 @@
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 sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+ from . import outputs
17
+
18
+ __all__ = [
19
+ 'GetControlFolderIntelligenceConfigResult',
20
+ 'AwaitableGetControlFolderIntelligenceConfigResult',
21
+ 'get_control_folder_intelligence_config',
22
+ 'get_control_folder_intelligence_config_output',
23
+ ]
24
+
25
+ @pulumi.output_type
26
+ class GetControlFolderIntelligenceConfigResult:
27
+ """
28
+ A collection of values returned by getControlFolderIntelligenceConfig.
29
+ """
30
+ def __init__(__self__, edition_config=None, effective_intelligence_configs=None, filters=None, id=None, name=None, update_time=None):
31
+ if edition_config and not isinstance(edition_config, str):
32
+ raise TypeError("Expected argument 'edition_config' to be a str")
33
+ pulumi.set(__self__, "edition_config", edition_config)
34
+ if effective_intelligence_configs and not isinstance(effective_intelligence_configs, list):
35
+ raise TypeError("Expected argument 'effective_intelligence_configs' to be a list")
36
+ pulumi.set(__self__, "effective_intelligence_configs", effective_intelligence_configs)
37
+ if filters and not isinstance(filters, list):
38
+ raise TypeError("Expected argument 'filters' to be a list")
39
+ pulumi.set(__self__, "filters", filters)
40
+ if id and not isinstance(id, str):
41
+ raise TypeError("Expected argument 'id' to be a str")
42
+ pulumi.set(__self__, "id", id)
43
+ if name and not isinstance(name, str):
44
+ raise TypeError("Expected argument 'name' to be a str")
45
+ pulumi.set(__self__, "name", name)
46
+ if update_time and not isinstance(update_time, str):
47
+ raise TypeError("Expected argument 'update_time' to be a str")
48
+ pulumi.set(__self__, "update_time", update_time)
49
+
50
+ @property
51
+ @pulumi.getter(name="editionConfig")
52
+ def edition_config(self) -> str:
53
+ return pulumi.get(self, "edition_config")
54
+
55
+ @property
56
+ @pulumi.getter(name="effectiveIntelligenceConfigs")
57
+ def effective_intelligence_configs(self) -> Sequence['outputs.GetControlFolderIntelligenceConfigEffectiveIntelligenceConfigResult']:
58
+ return pulumi.get(self, "effective_intelligence_configs")
59
+
60
+ @property
61
+ @pulumi.getter
62
+ def filters(self) -> Sequence['outputs.GetControlFolderIntelligenceConfigFilterResult']:
63
+ return pulumi.get(self, "filters")
64
+
65
+ @property
66
+ @pulumi.getter
67
+ def id(self) -> str:
68
+ """
69
+ The provider-assigned unique ID for this managed resource.
70
+ """
71
+ return pulumi.get(self, "id")
72
+
73
+ @property
74
+ @pulumi.getter
75
+ def name(self) -> str:
76
+ return pulumi.get(self, "name")
77
+
78
+ @property
79
+ @pulumi.getter(name="updateTime")
80
+ def update_time(self) -> str:
81
+ return pulumi.get(self, "update_time")
82
+
83
+
84
+ class AwaitableGetControlFolderIntelligenceConfigResult(GetControlFolderIntelligenceConfigResult):
85
+ # pylint: disable=using-constant-test
86
+ def __await__(self):
87
+ if False:
88
+ yield self
89
+ return GetControlFolderIntelligenceConfigResult(
90
+ edition_config=self.edition_config,
91
+ effective_intelligence_configs=self.effective_intelligence_configs,
92
+ filters=self.filters,
93
+ id=self.id,
94
+ name=self.name,
95
+ update_time=self.update_time)
96
+
97
+
98
+ def get_control_folder_intelligence_config(name: Optional[str] = None,
99
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetControlFolderIntelligenceConfigResult:
100
+ """
101
+ Use this data source to get information about a Folder Storage Intelligence config resource.
102
+ See [the official documentation](https://cloud.google.com/storage/docs/storage-intelligence/overview#resource)
103
+ and
104
+ [API](https://cloud.google.com/storage/docs/json_api/v1/intelligenceConfig).
105
+
106
+ ## Example Usage
107
+
108
+ ```python
109
+ import pulumi
110
+ import pulumi_gcp as gcp
111
+
112
+ sample_config = gcp.storage.get_control_folder_intelligence_config(name="123456789")
113
+ ```
114
+
115
+
116
+ :param str name: The number of GCP folder.
117
+ """
118
+ __args__ = dict()
119
+ __args__['name'] = name
120
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
121
+ __ret__ = pulumi.runtime.invoke('gcp:storage/getControlFolderIntelligenceConfig:getControlFolderIntelligenceConfig', __args__, opts=opts, typ=GetControlFolderIntelligenceConfigResult).value
122
+
123
+ return AwaitableGetControlFolderIntelligenceConfigResult(
124
+ edition_config=pulumi.get(__ret__, 'edition_config'),
125
+ effective_intelligence_configs=pulumi.get(__ret__, 'effective_intelligence_configs'),
126
+ filters=pulumi.get(__ret__, 'filters'),
127
+ id=pulumi.get(__ret__, 'id'),
128
+ name=pulumi.get(__ret__, 'name'),
129
+ update_time=pulumi.get(__ret__, 'update_time'))
130
+ def get_control_folder_intelligence_config_output(name: Optional[pulumi.Input[str]] = None,
131
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetControlFolderIntelligenceConfigResult]:
132
+ """
133
+ Use this data source to get information about a Folder Storage Intelligence config resource.
134
+ See [the official documentation](https://cloud.google.com/storage/docs/storage-intelligence/overview#resource)
135
+ and
136
+ [API](https://cloud.google.com/storage/docs/json_api/v1/intelligenceConfig).
137
+
138
+ ## Example Usage
139
+
140
+ ```python
141
+ import pulumi
142
+ import pulumi_gcp as gcp
143
+
144
+ sample_config = gcp.storage.get_control_folder_intelligence_config(name="123456789")
145
+ ```
146
+
147
+
148
+ :param str name: The number of GCP folder.
149
+ """
150
+ __args__ = dict()
151
+ __args__['name'] = name
152
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
153
+ __ret__ = pulumi.runtime.invoke_output('gcp:storage/getControlFolderIntelligenceConfig:getControlFolderIntelligenceConfig', __args__, opts=opts, typ=GetControlFolderIntelligenceConfigResult)
154
+ return __ret__.apply(lambda __response__: GetControlFolderIntelligenceConfigResult(
155
+ edition_config=pulumi.get(__response__, 'edition_config'),
156
+ effective_intelligence_configs=pulumi.get(__response__, 'effective_intelligence_configs'),
157
+ filters=pulumi.get(__response__, 'filters'),
158
+ id=pulumi.get(__response__, 'id'),
159
+ name=pulumi.get(__response__, 'name'),
160
+ update_time=pulumi.get(__response__, 'update_time')))