pulumi-gcp 8.24.0a1743177741__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 (126) hide show
  1. pulumi_gcp/__init__.py +104 -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/reservation_assignment.py +7 -7
  11. pulumi_gcp/bigtable/table.py +8 -8
  12. pulumi_gcp/chronicle/data_access_label.py +2 -2
  13. pulumi_gcp/chronicle/data_access_scope.py +16 -0
  14. pulumi_gcp/chronicle/reference_list.py +16 -0
  15. pulumi_gcp/chronicle/retrohunt.py +16 -0
  16. pulumi_gcp/chronicle/rule.py +16 -0
  17. pulumi_gcp/chronicle/rule_deployment.py +16 -0
  18. pulumi_gcp/chronicle/watchlist.py +16 -0
  19. pulumi_gcp/cloudfunctionsv2/_inputs.py +20 -0
  20. pulumi_gcp/cloudfunctionsv2/outputs.py +25 -0
  21. pulumi_gcp/cloudrunv2/_inputs.py +20 -0
  22. pulumi_gcp/cloudrunv2/outputs.py +25 -0
  23. pulumi_gcp/compute/__init__.py +1 -0
  24. pulumi_gcp/compute/_inputs.py +2011 -43
  25. pulumi_gcp/compute/backend_service.py +121 -3
  26. pulumi_gcp/compute/get_backend_service.py +15 -4
  27. pulumi_gcp/compute/get_instance.py +12 -1
  28. pulumi_gcp/compute/get_region_backend_service.py +482 -0
  29. pulumi_gcp/compute/get_router.py +12 -1
  30. pulumi_gcp/compute/get_subnetwork.py +43 -1
  31. pulumi_gcp/compute/instance.py +47 -0
  32. pulumi_gcp/compute/instance_from_machine_image.py +94 -0
  33. pulumi_gcp/compute/instance_from_template.py +47 -0
  34. pulumi_gcp/compute/outputs.py +3578 -139
  35. pulumi_gcp/compute/public_delegated_prefix.py +69 -15
  36. pulumi_gcp/compute/router.py +54 -0
  37. pulumi_gcp/compute/subnetwork.py +35 -5
  38. pulumi_gcp/config/__init__.pyi +2 -0
  39. pulumi_gcp/config/outputs.py +27 -0
  40. pulumi_gcp/config/vars.py +4 -0
  41. pulumi_gcp/container/_inputs.py +12 -12
  42. pulumi_gcp/container/cluster.py +47 -0
  43. pulumi_gcp/container/get_cluster.py +12 -1
  44. pulumi_gcp/container/get_registry_image.py +4 -0
  45. pulumi_gcp/container/get_registry_repository.py +4 -0
  46. pulumi_gcp/container/outputs.py +8 -8
  47. pulumi_gcp/container/registry.py +4 -0
  48. pulumi_gcp/datafusion/instance.py +68 -0
  49. pulumi_gcp/dataproc/__init__.py +8 -0
  50. pulumi_gcp/dataproc/_inputs.py +196 -0
  51. pulumi_gcp/dataproc/get_metastore_database_iam_policy.py +193 -0
  52. pulumi_gcp/dataproc/get_metastore_table_iam_policy.py +210 -0
  53. pulumi_gcp/dataproc/metastore_database_iam_binding.py +848 -0
  54. pulumi_gcp/dataproc/metastore_database_iam_member.py +848 -0
  55. pulumi_gcp/dataproc/metastore_database_iam_policy.py +687 -0
  56. pulumi_gcp/dataproc/metastore_federation.py +38 -2
  57. pulumi_gcp/dataproc/metastore_table_iam_binding.py +895 -0
  58. pulumi_gcp/dataproc/metastore_table_iam_member.py +895 -0
  59. pulumi_gcp/dataproc/metastore_table_iam_policy.py +734 -0
  60. pulumi_gcp/dataproc/outputs.py +112 -0
  61. pulumi_gcp/datastream/_inputs.py +311 -94
  62. pulumi_gcp/datastream/connection_profile.py +40 -0
  63. pulumi_gcp/datastream/outputs.py +244 -51
  64. pulumi_gcp/datastream/stream.py +216 -0
  65. pulumi_gcp/discoveryengine/__init__.py +1 -0
  66. pulumi_gcp/discoveryengine/sitemap.py +504 -0
  67. pulumi_gcp/eventarc/__init__.py +1 -0
  68. pulumi_gcp/eventarc/enrollment.py +980 -0
  69. pulumi_gcp/firebase/__init__.py +1 -0
  70. pulumi_gcp/firebase/_inputs.py +484 -0
  71. pulumi_gcp/firebase/app_hosting_build.py +1232 -0
  72. pulumi_gcp/firebase/outputs.py +333 -0
  73. pulumi_gcp/identityplatform/_inputs.py +91 -0
  74. pulumi_gcp/identityplatform/outputs.py +73 -0
  75. pulumi_gcp/identityplatform/tenant.py +56 -0
  76. pulumi_gcp/managedkafka/cluster.py +2 -2
  77. pulumi_gcp/memorystore/__init__.py +1 -0
  78. pulumi_gcp/memorystore/_inputs.py +826 -0
  79. pulumi_gcp/memorystore/get_instance.py +23 -1
  80. pulumi_gcp/memorystore/instance.py +344 -23
  81. pulumi_gcp/memorystore/instance_desired_user_created_endpoints.py +843 -0
  82. pulumi_gcp/memorystore/outputs.py +889 -8
  83. pulumi_gcp/networksecurity/_inputs.py +473 -0
  84. pulumi_gcp/networksecurity/mirroring_deployment_group.py +44 -16
  85. pulumi_gcp/networksecurity/mirroring_endpoint_group.py +94 -36
  86. pulumi_gcp/networksecurity/mirroring_endpoint_group_association.py +53 -8
  87. pulumi_gcp/networksecurity/outputs.py +291 -1
  88. pulumi_gcp/networksecurity/security_profile.py +8 -0
  89. pulumi_gcp/organizations/__init__.py +1 -0
  90. pulumi_gcp/organizations/get_iam_custom_roles.py +164 -0
  91. pulumi_gcp/organizations/outputs.py +96 -0
  92. pulumi_gcp/parametermanager/get_parameter.py +16 -1
  93. pulumi_gcp/parametermanager/get_parameter_version.py +19 -1
  94. pulumi_gcp/parametermanager/get_parameter_version_render.py +4 -0
  95. pulumi_gcp/parametermanager/get_parameters.py +4 -0
  96. pulumi_gcp/parametermanager/get_regional_parameter.py +4 -0
  97. pulumi_gcp/parametermanager/get_regional_parameter_version.py +4 -0
  98. pulumi_gcp/parametermanager/get_regional_parameter_version_render.py +8 -0
  99. pulumi_gcp/parametermanager/get_regional_parameters.py +4 -0
  100. pulumi_gcp/parametermanager/outputs.py +11 -0
  101. pulumi_gcp/parametermanager/parameter.py +88 -0
  102. pulumi_gcp/parametermanager/parameter_version.py +74 -0
  103. pulumi_gcp/parametermanager/regional_parameter.py +12 -0
  104. pulumi_gcp/parametermanager/regional_parameter_version.py +12 -0
  105. pulumi_gcp/provider.py +15 -0
  106. pulumi_gcp/pulumi-plugin.json +1 -1
  107. pulumi_gcp/redis/_inputs.py +136 -0
  108. pulumi_gcp/redis/cluster.py +54 -0
  109. pulumi_gcp/redis/outputs.py +114 -0
  110. pulumi_gcp/secretmanager/regional_secret_version.py +0 -16
  111. pulumi_gcp/storage/__init__.py +4 -0
  112. pulumi_gcp/storage/_inputs.py +596 -0
  113. pulumi_gcp/storage/bucket.py +7 -7
  114. pulumi_gcp/storage/control_folder_intelligence_config.py +420 -0
  115. pulumi_gcp/storage/control_organization_intelligence_config.py +420 -0
  116. pulumi_gcp/storage/control_project_intelligence_config.py +49 -7
  117. pulumi_gcp/storage/get_bucket_object_content.py +16 -1
  118. pulumi_gcp/storage/get_control_folder_intelligence_config.py +160 -0
  119. pulumi_gcp/storage/get_control_organization_intelligence_config.py +160 -0
  120. pulumi_gcp/storage/get_control_project_intelligence_config.py +32 -2
  121. pulumi_gcp/storage/outputs.py +2132 -1312
  122. pulumi_gcp/workbench/instance.py +14 -2
  123. {pulumi_gcp-8.24.0a1743177741.dist-info → pulumi_gcp-8.25.0.dist-info}/METADATA +1 -1
  124. {pulumi_gcp-8.24.0a1743177741.dist-info → pulumi_gcp-8.25.0.dist-info}/RECORD +126 -107
  125. {pulumi_gcp-8.24.0a1743177741.dist-info → pulumi_gcp-8.25.0.dist-info}/WHEEL +0 -0
  126. {pulumi_gcp-8.24.0a1743177741.dist-info → pulumi_gcp-8.25.0.dist-info}/top_level.txt +0 -0
@@ -65,7 +65,7 @@ class BucketArgs:
65
65
  :param pulumi.Input[str] name: The name of the bucket.
66
66
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs. If it
67
67
  is not provided, the provider project is used.
68
- :param pulumi.Input[str] public_access_prevention: Prevents public access to a bucket. Acceptable values are "inherited" or "enforced". If "inherited", the bucket uses [public access prevention](https://cloud.google.com/storage/docs/public-access-prevention). only if the bucket is subject to the public access prevention organization policy constraint. Defaults to "inherited".
68
+ :param pulumi.Input[str] public_access_prevention: Prevents public access to a bucket. Acceptable values are "inherited" or "enforced". If "inherited", the bucket uses [public access prevention](https://cloud.google.com/storage/docs/public-access-prevention) only if the bucket is subject to the public access prevention organization policy constraint. Defaults to "inherited".
69
69
  :param pulumi.Input[bool] requester_pays: Enables [Requester Pays](https://cloud.google.com/storage/docs/requester-pays) on a storage bucket.
70
70
  :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.
71
71
  :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.
@@ -299,7 +299,7 @@ class BucketArgs:
299
299
  @pulumi.getter(name="publicAccessPrevention")
300
300
  def public_access_prevention(self) -> Optional[pulumi.Input[str]]:
301
301
  """
302
- Prevents public access to a bucket. Acceptable values are "inherited" or "enforced". If "inherited", the bucket uses [public access prevention](https://cloud.google.com/storage/docs/public-access-prevention). only if the bucket is subject to the public access prevention organization policy constraint. Defaults to "inherited".
302
+ Prevents public access to a bucket. Acceptable values are "inherited" or "enforced". If "inherited", the bucket uses [public access prevention](https://cloud.google.com/storage/docs/public-access-prevention) only if the bucket is subject to the public access prevention organization policy constraint. Defaults to "inherited".
303
303
  """
304
304
  return pulumi.get(self, "public_access_prevention")
305
305
 
@@ -458,7 +458,7 @@ class _BucketState:
458
458
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs. If it
459
459
  is not provided, the provider project is used.
460
460
  :param pulumi.Input[int] project_number: The project number of the project in which the resource belongs.
461
- :param pulumi.Input[str] public_access_prevention: Prevents public access to a bucket. Acceptable values are "inherited" or "enforced". If "inherited", the bucket uses [public access prevention](https://cloud.google.com/storage/docs/public-access-prevention). only if the bucket is subject to the public access prevention organization policy constraint. Defaults to "inherited".
461
+ :param pulumi.Input[str] public_access_prevention: Prevents public access to a bucket. Acceptable values are "inherited" or "enforced". If "inherited", the bucket uses [public access prevention](https://cloud.google.com/storage/docs/public-access-prevention) only if the bucket is subject to the public access prevention organization policy constraint. Defaults to "inherited".
462
462
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource and default labels configured on the provider.
463
463
  :param pulumi.Input[bool] requester_pays: Enables [Requester Pays](https://cloud.google.com/storage/docs/requester-pays) on a storage bucket.
464
464
  :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.
@@ -727,7 +727,7 @@ class _BucketState:
727
727
  @pulumi.getter(name="publicAccessPrevention")
728
728
  def public_access_prevention(self) -> Optional[pulumi.Input[str]]:
729
729
  """
730
- Prevents public access to a bucket. Acceptable values are "inherited" or "enforced". If "inherited", the bucket uses [public access prevention](https://cloud.google.com/storage/docs/public-access-prevention). only if the bucket is subject to the public access prevention organization policy constraint. Defaults to "inherited".
730
+ Prevents public access to a bucket. Acceptable values are "inherited" or "enforced". If "inherited", the bucket uses [public access prevention](https://cloud.google.com/storage/docs/public-access-prevention) only if the bucket is subject to the public access prevention organization policy constraint. Defaults to "inherited".
731
731
  """
732
732
  return pulumi.get(self, "public_access_prevention")
733
733
 
@@ -1072,7 +1072,7 @@ class Bucket(pulumi.CustomResource):
1072
1072
  :param pulumi.Input[str] name: The name of the bucket.
1073
1073
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs. If it
1074
1074
  is not provided, the provider project is used.
1075
- :param pulumi.Input[str] public_access_prevention: Prevents public access to a bucket. Acceptable values are "inherited" or "enforced". If "inherited", the bucket uses [public access prevention](https://cloud.google.com/storage/docs/public-access-prevention). only if the bucket is subject to the public access prevention organization policy constraint. Defaults to "inherited".
1075
+ :param pulumi.Input[str] public_access_prevention: Prevents public access to a bucket. Acceptable values are "inherited" or "enforced". If "inherited", the bucket uses [public access prevention](https://cloud.google.com/storage/docs/public-access-prevention) only if the bucket is subject to the public access prevention organization policy constraint. Defaults to "inherited".
1076
1076
  :param pulumi.Input[bool] requester_pays: Enables [Requester Pays](https://cloud.google.com/storage/docs/requester-pays) on a storage bucket.
1077
1077
  :param pulumi.Input[Union['BucketRetentionPolicyArgs', 'BucketRetentionPolicyArgsDict']] retention_policy: Configuration of the bucket's data retention policy for how long objects in the bucket should be retained. Structure is documented below.
1078
1078
  :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.
@@ -1386,7 +1386,7 @@ class Bucket(pulumi.CustomResource):
1386
1386
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs. If it
1387
1387
  is not provided, the provider project is used.
1388
1388
  :param pulumi.Input[int] project_number: The project number of the project in which the resource belongs.
1389
- :param pulumi.Input[str] public_access_prevention: Prevents public access to a bucket. Acceptable values are "inherited" or "enforced". If "inherited", the bucket uses [public access prevention](https://cloud.google.com/storage/docs/public-access-prevention). only if the bucket is subject to the public access prevention organization policy constraint. Defaults to "inherited".
1389
+ :param pulumi.Input[str] public_access_prevention: Prevents public access to a bucket. Acceptable values are "inherited" or "enforced". If "inherited", the bucket uses [public access prevention](https://cloud.google.com/storage/docs/public-access-prevention) only if the bucket is subject to the public access prevention organization policy constraint. Defaults to "inherited".
1390
1390
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource and default labels configured on the provider.
1391
1391
  :param pulumi.Input[bool] requester_pays: Enables [Requester Pays](https://cloud.google.com/storage/docs/requester-pays) on a storage bucket.
1392
1392
  :param pulumi.Input[Union['BucketRetentionPolicyArgs', 'BucketRetentionPolicyArgsDict']] retention_policy: Configuration of the bucket's data retention policy for how long objects in the bucket should be retained. Structure is documented below.
@@ -1568,7 +1568,7 @@ class Bucket(pulumi.CustomResource):
1568
1568
  @pulumi.getter(name="publicAccessPrevention")
1569
1569
  def public_access_prevention(self) -> pulumi.Output[str]:
1570
1570
  """
1571
- Prevents public access to a bucket. Acceptable values are "inherited" or "enforced". If "inherited", the bucket uses [public access prevention](https://cloud.google.com/storage/docs/public-access-prevention). only if the bucket is subject to the public access prevention organization policy constraint. Defaults to "inherited".
1571
+ Prevents public access to a bucket. Acceptable values are "inherited" or "enforced". If "inherited", the bucket uses [public access prevention](https://cloud.google.com/storage/docs/public-access-prevention) only if the bucket is subject to the public access prevention organization policy constraint. Defaults to "inherited".
1572
1572
  """
1573
1573
  return pulumi.get(self, "public_access_prevention")
1574
1574
 
@@ -0,0 +1,420 @@
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__ = ['ControlFolderIntelligenceConfigArgs', 'ControlFolderIntelligenceConfig']
20
+
21
+ @pulumi.input_type
22
+ class ControlFolderIntelligenceConfigArgs:
23
+ def __init__(__self__, *,
24
+ edition_config: Optional[pulumi.Input[str]] = None,
25
+ filter: Optional[pulumi.Input['ControlFolderIntelligenceConfigFilterArgs']] = None,
26
+ name: Optional[pulumi.Input[str]] = None):
27
+ """
28
+ The set of arguments for constructing a ControlFolderIntelligenceConfig 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['ControlFolderIntelligenceConfigFilterArgs'] 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 Folder. For GCP Folder, this field can be folder 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['ControlFolderIntelligenceConfigFilterArgs']]:
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['ControlFolderIntelligenceConfigFilterArgs']]):
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 Folder. For GCP Folder, this field can be folder 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 _ControlFolderIntelligenceConfigState:
87
+ def __init__(__self__, *,
88
+ edition_config: Optional[pulumi.Input[str]] = None,
89
+ effective_intelligence_configs: Optional[pulumi.Input[Sequence[pulumi.Input['ControlFolderIntelligenceConfigEffectiveIntelligenceConfigArgs']]]] = None,
90
+ filter: Optional[pulumi.Input['ControlFolderIntelligenceConfigFilterArgs']] = 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 ControlFolderIntelligenceConfig 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['ControlFolderIntelligenceConfigEffectiveIntelligenceConfigArgs']]] effective_intelligence_configs: The Intelligence config that is effective for the resource.
97
+ Structure is documented below.
98
+ :param pulumi.Input['ControlFolderIntelligenceConfigFilterArgs'] 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 Folder. For GCP Folder, this field can be folder 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['ControlFolderIntelligenceConfigEffectiveIntelligenceConfigArgs']]]]:
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['ControlFolderIntelligenceConfigEffectiveIntelligenceConfigArgs']]]]):
140
+ pulumi.set(self, "effective_intelligence_configs", value)
141
+
142
+ @property
143
+ @pulumi.getter
144
+ def filter(self) -> Optional[pulumi.Input['ControlFolderIntelligenceConfigFilterArgs']]:
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['ControlFolderIntelligenceConfigFilterArgs']]):
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 Folder. For GCP Folder, this field can be folder 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 ControlFolderIntelligenceConfig(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['ControlFolderIntelligenceConfigFilterArgs', 'ControlFolderIntelligenceConfigFilterArgsDict']]] = None,
190
+ name: Optional[pulumi.Input[str]] = None,
191
+ __props__=None):
192
+ """
193
+ ## Example Usage
194
+
195
+ ### Storage Control Folder Intelligence Config Basic
196
+
197
+ ```python
198
+ import pulumi
199
+ import pulumi_gcp as gcp
200
+
201
+ example = gcp.storage.ControlFolderIntelligenceConfig("example",
202
+ name="12345678",
203
+ edition_config="STANDARD",
204
+ filter={
205
+ "included_cloud_storage_buckets": {
206
+ "bucket_id_regexes": [
207
+ "test-id-1*",
208
+ "test-id-2*",
209
+ ],
210
+ },
211
+ "excluded_cloud_storage_locations": {
212
+ "locations": [
213
+ "test-location-1*",
214
+ "test-locations-2*",
215
+ ],
216
+ },
217
+ })
218
+ ```
219
+
220
+ ## Import
221
+
222
+ FolderIntelligenceConfig can be imported using any of these accepted formats:
223
+
224
+ * `folders/{{name}}/locations/global/intelligenceConfig`
225
+
226
+ * `{{name}}`
227
+
228
+ When using the `pulumi import` command, FolderIntelligenceConfig can be imported using one of the formats above. For example:
229
+
230
+ ```sh
231
+ $ pulumi import gcp:storage/controlFolderIntelligenceConfig:ControlFolderIntelligenceConfig default folders/{{name}}/locations/global/intelligenceConfig
232
+ ```
233
+
234
+ ```sh
235
+ $ pulumi import gcp:storage/controlFolderIntelligenceConfig:ControlFolderIntelligenceConfig default {{name}}
236
+ ```
237
+
238
+ :param str resource_name: The name of the resource.
239
+ :param pulumi.ResourceOptions opts: Options for the resource.
240
+ :param pulumi.Input[str] edition_config: Edition configuration of the Storage Intelligence resource. Valid values are INHERIT, TRIAL, DISABLED and STANDARD.
241
+ :param pulumi.Input[Union['ControlFolderIntelligenceConfigFilterArgs', 'ControlFolderIntelligenceConfigFilterArgsDict']] 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.
242
+ Structure is documented below.
243
+ :param pulumi.Input[str] name: Identifier of the GCP Folder. For GCP Folder, this field can be folder number.
244
+
245
+
246
+ - - -
247
+ """
248
+ ...
249
+ @overload
250
+ def __init__(__self__,
251
+ resource_name: str,
252
+ args: Optional[ControlFolderIntelligenceConfigArgs] = None,
253
+ opts: Optional[pulumi.ResourceOptions] = None):
254
+ """
255
+ ## Example Usage
256
+
257
+ ### Storage Control Folder Intelligence Config Basic
258
+
259
+ ```python
260
+ import pulumi
261
+ import pulumi_gcp as gcp
262
+
263
+ example = gcp.storage.ControlFolderIntelligenceConfig("example",
264
+ name="12345678",
265
+ edition_config="STANDARD",
266
+ filter={
267
+ "included_cloud_storage_buckets": {
268
+ "bucket_id_regexes": [
269
+ "test-id-1*",
270
+ "test-id-2*",
271
+ ],
272
+ },
273
+ "excluded_cloud_storage_locations": {
274
+ "locations": [
275
+ "test-location-1*",
276
+ "test-locations-2*",
277
+ ],
278
+ },
279
+ })
280
+ ```
281
+
282
+ ## Import
283
+
284
+ FolderIntelligenceConfig can be imported using any of these accepted formats:
285
+
286
+ * `folders/{{name}}/locations/global/intelligenceConfig`
287
+
288
+ * `{{name}}`
289
+
290
+ When using the `pulumi import` command, FolderIntelligenceConfig can be imported using one of the formats above. For example:
291
+
292
+ ```sh
293
+ $ pulumi import gcp:storage/controlFolderIntelligenceConfig:ControlFolderIntelligenceConfig default folders/{{name}}/locations/global/intelligenceConfig
294
+ ```
295
+
296
+ ```sh
297
+ $ pulumi import gcp:storage/controlFolderIntelligenceConfig:ControlFolderIntelligenceConfig default {{name}}
298
+ ```
299
+
300
+ :param str resource_name: The name of the resource.
301
+ :param ControlFolderIntelligenceConfigArgs args: The arguments to use to populate this resource's properties.
302
+ :param pulumi.ResourceOptions opts: Options for the resource.
303
+ """
304
+ ...
305
+ def __init__(__self__, resource_name: str, *args, **kwargs):
306
+ resource_args, opts = _utilities.get_resource_args_opts(ControlFolderIntelligenceConfigArgs, pulumi.ResourceOptions, *args, **kwargs)
307
+ if resource_args is not None:
308
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
309
+ else:
310
+ __self__._internal_init(resource_name, *args, **kwargs)
311
+
312
+ def _internal_init(__self__,
313
+ resource_name: str,
314
+ opts: Optional[pulumi.ResourceOptions] = None,
315
+ edition_config: Optional[pulumi.Input[str]] = None,
316
+ filter: Optional[pulumi.Input[Union['ControlFolderIntelligenceConfigFilterArgs', 'ControlFolderIntelligenceConfigFilterArgsDict']]] = None,
317
+ name: Optional[pulumi.Input[str]] = None,
318
+ __props__=None):
319
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
320
+ if not isinstance(opts, pulumi.ResourceOptions):
321
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
322
+ if opts.id is None:
323
+ if __props__ is not None:
324
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
325
+ __props__ = ControlFolderIntelligenceConfigArgs.__new__(ControlFolderIntelligenceConfigArgs)
326
+
327
+ __props__.__dict__["edition_config"] = edition_config
328
+ __props__.__dict__["filter"] = filter
329
+ __props__.__dict__["name"] = name
330
+ __props__.__dict__["effective_intelligence_configs"] = None
331
+ __props__.__dict__["update_time"] = None
332
+ super(ControlFolderIntelligenceConfig, __self__).__init__(
333
+ 'gcp:storage/controlFolderIntelligenceConfig:ControlFolderIntelligenceConfig',
334
+ resource_name,
335
+ __props__,
336
+ opts)
337
+
338
+ @staticmethod
339
+ def get(resource_name: str,
340
+ id: pulumi.Input[str],
341
+ opts: Optional[pulumi.ResourceOptions] = None,
342
+ edition_config: Optional[pulumi.Input[str]] = None,
343
+ effective_intelligence_configs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ControlFolderIntelligenceConfigEffectiveIntelligenceConfigArgs', 'ControlFolderIntelligenceConfigEffectiveIntelligenceConfigArgsDict']]]]] = None,
344
+ filter: Optional[pulumi.Input[Union['ControlFolderIntelligenceConfigFilterArgs', 'ControlFolderIntelligenceConfigFilterArgsDict']]] = None,
345
+ name: Optional[pulumi.Input[str]] = None,
346
+ update_time: Optional[pulumi.Input[str]] = None) -> 'ControlFolderIntelligenceConfig':
347
+ """
348
+ Get an existing ControlFolderIntelligenceConfig resource's state with the given name, id, and optional extra
349
+ properties used to qualify the lookup.
350
+
351
+ :param str resource_name: The unique name of the resulting resource.
352
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
353
+ :param pulumi.ResourceOptions opts: Options for the resource.
354
+ :param pulumi.Input[str] edition_config: Edition configuration of the Storage Intelligence resource. Valid values are INHERIT, TRIAL, DISABLED and STANDARD.
355
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ControlFolderIntelligenceConfigEffectiveIntelligenceConfigArgs', 'ControlFolderIntelligenceConfigEffectiveIntelligenceConfigArgsDict']]]] effective_intelligence_configs: The Intelligence config that is effective for the resource.
356
+ Structure is documented below.
357
+ :param pulumi.Input[Union['ControlFolderIntelligenceConfigFilterArgs', 'ControlFolderIntelligenceConfigFilterArgsDict']] 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.
358
+ Structure is documented below.
359
+ :param pulumi.Input[str] name: Identifier of the GCP Folder. For GCP Folder, this field can be folder number.
360
+
361
+
362
+ - - -
363
+ :param pulumi.Input[str] update_time: The time at which the Storage Intelligence Config resource is last updated.
364
+ """
365
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
366
+
367
+ __props__ = _ControlFolderIntelligenceConfigState.__new__(_ControlFolderIntelligenceConfigState)
368
+
369
+ __props__.__dict__["edition_config"] = edition_config
370
+ __props__.__dict__["effective_intelligence_configs"] = effective_intelligence_configs
371
+ __props__.__dict__["filter"] = filter
372
+ __props__.__dict__["name"] = name
373
+ __props__.__dict__["update_time"] = update_time
374
+ return ControlFolderIntelligenceConfig(resource_name, opts=opts, __props__=__props__)
375
+
376
+ @property
377
+ @pulumi.getter(name="editionConfig")
378
+ def edition_config(self) -> pulumi.Output[str]:
379
+ """
380
+ Edition configuration of the Storage Intelligence resource. Valid values are INHERIT, TRIAL, DISABLED and STANDARD.
381
+ """
382
+ return pulumi.get(self, "edition_config")
383
+
384
+ @property
385
+ @pulumi.getter(name="effectiveIntelligenceConfigs")
386
+ def effective_intelligence_configs(self) -> pulumi.Output[Sequence['outputs.ControlFolderIntelligenceConfigEffectiveIntelligenceConfig']]:
387
+ """
388
+ The Intelligence config that is effective for the resource.
389
+ Structure is documented below.
390
+ """
391
+ return pulumi.get(self, "effective_intelligence_configs")
392
+
393
+ @property
394
+ @pulumi.getter
395
+ def filter(self) -> pulumi.Output[Optional['outputs.ControlFolderIntelligenceConfigFilter']]:
396
+ """
397
+ 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.
398
+ Structure is documented below.
399
+ """
400
+ return pulumi.get(self, "filter")
401
+
402
+ @property
403
+ @pulumi.getter
404
+ def name(self) -> pulumi.Output[str]:
405
+ """
406
+ Identifier of the GCP Folder. For GCP Folder, this field can be folder number.
407
+
408
+
409
+ - - -
410
+ """
411
+ return pulumi.get(self, "name")
412
+
413
+ @property
414
+ @pulumi.getter(name="updateTime")
415
+ def update_time(self) -> pulumi.Output[str]:
416
+ """
417
+ The time at which the Storage Intelligence Config resource is last updated.
418
+ """
419
+ return pulumi.get(self, "update_time")
420
+