pulumi-gcp 8.40.0a1754636117__py3-none-any.whl → 8.40.0a1754951145__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 (157) hide show
  1. pulumi_gcp/__init__.py +128 -0
  2. pulumi_gcp/accesscontextmanager/_inputs.py +24 -4
  3. pulumi_gcp/accesscontextmanager/outputs.py +15 -3
  4. pulumi_gcp/apigee/__init__.py +2 -0
  5. pulumi_gcp/apigee/_inputs.py +1435 -0
  6. pulumi_gcp/apigee/api_product.py +1698 -0
  7. pulumi_gcp/apigee/outputs.py +1081 -0
  8. pulumi_gcp/apigee/security_action.py +1010 -0
  9. pulumi_gcp/artifactregistry/__init__.py +1 -0
  10. pulumi_gcp/artifactregistry/get_docker_images.py +164 -0
  11. pulumi_gcp/artifactregistry/outputs.py +109 -2
  12. pulumi_gcp/artifactregistry/repository.py +6 -6
  13. pulumi_gcp/backupdisasterrecovery/backup_vault.py +56 -0
  14. pulumi_gcp/backupdisasterrecovery/get_backup_vault.py +12 -1
  15. pulumi_gcp/bigquery/_inputs.py +6 -0
  16. pulumi_gcp/bigquery/get_table.py +23 -1
  17. pulumi_gcp/bigquery/outputs.py +4 -0
  18. pulumi_gcp/bigquery/table.py +62 -0
  19. pulumi_gcp/bigqueryanalyticshub/_inputs.py +180 -0
  20. pulumi_gcp/bigqueryanalyticshub/data_exchange.py +80 -0
  21. pulumi_gcp/bigqueryanalyticshub/listing.py +322 -2
  22. pulumi_gcp/bigqueryanalyticshub/listing_subscription.py +32 -0
  23. pulumi_gcp/bigqueryanalyticshub/outputs.py +159 -0
  24. pulumi_gcp/bigtable/__init__.py +1 -0
  25. pulumi_gcp/bigtable/_inputs.py +33 -0
  26. pulumi_gcp/bigtable/outputs.py +36 -0
  27. pulumi_gcp/bigtable/schema_bundle.py +568 -0
  28. pulumi_gcp/cloudfunctions/_inputs.py +48 -0
  29. pulumi_gcp/cloudfunctions/function.py +94 -0
  30. pulumi_gcp/cloudfunctions/get_function.py +23 -1
  31. pulumi_gcp/cloudfunctions/outputs.py +70 -0
  32. pulumi_gcp/cloudrunv2/_inputs.py +20 -0
  33. pulumi_gcp/cloudrunv2/job.py +2 -0
  34. pulumi_gcp/cloudrunv2/outputs.py +25 -0
  35. pulumi_gcp/cloudrunv2/worker_pool.py +2 -0
  36. pulumi_gcp/compute/__init__.py +1 -0
  37. pulumi_gcp/compute/_inputs.py +713 -22
  38. pulumi_gcp/compute/firewall_policy_with_rules.py +66 -0
  39. pulumi_gcp/compute/forwarding_rule.py +0 -21
  40. pulumi_gcp/compute/get_router.py +12 -1
  41. pulumi_gcp/compute/outputs.py +562 -22
  42. pulumi_gcp/compute/preview_feature.py +396 -0
  43. pulumi_gcp/compute/region_url_map.py +392 -0
  44. pulumi_gcp/compute/reservation.py +4 -4
  45. pulumi_gcp/compute/router.py +54 -0
  46. pulumi_gcp/compute/storage_pool.py +154 -0
  47. pulumi_gcp/compute/subnetwork.py +54 -0
  48. pulumi_gcp/config/__init__.pyi +2 -0
  49. pulumi_gcp/config/vars.py +4 -0
  50. pulumi_gcp/container/_inputs.py +278 -8
  51. pulumi_gcp/container/cluster.py +61 -21
  52. pulumi_gcp/container/get_cluster.py +12 -1
  53. pulumi_gcp/container/outputs.py +352 -8
  54. pulumi_gcp/dataproc/_inputs.py +249 -14
  55. pulumi_gcp/dataproc/batch.py +6 -0
  56. pulumi_gcp/dataproc/cluster.py +2 -0
  57. pulumi_gcp/dataproc/outputs.py +215 -12
  58. pulumi_gcp/dataproc/session_template.py +14 -2
  59. pulumi_gcp/developerconnect/__init__.py +1 -0
  60. pulumi_gcp/developerconnect/_inputs.py +583 -0
  61. pulumi_gcp/developerconnect/insights_config.py +895 -0
  62. pulumi_gcp/developerconnect/outputs.py +442 -0
  63. pulumi_gcp/diagflow/__init__.py +1 -0
  64. pulumi_gcp/diagflow/_inputs.py +1165 -58
  65. pulumi_gcp/diagflow/cx_generator.py +636 -0
  66. pulumi_gcp/diagflow/cx_tool.py +2 -2
  67. pulumi_gcp/diagflow/cx_webhook.py +380 -36
  68. pulumi_gcp/diagflow/outputs.py +848 -25
  69. pulumi_gcp/discoveryengine/__init__.py +2 -0
  70. pulumi_gcp/discoveryengine/_inputs.py +465 -0
  71. pulumi_gcp/discoveryengine/cmek_config.py +707 -0
  72. pulumi_gcp/discoveryengine/outputs.py +412 -0
  73. pulumi_gcp/discoveryengine/recommendation_engine.py +813 -0
  74. pulumi_gcp/firestore/field.py +6 -6
  75. pulumi_gcp/gemini/gemini_gcp_enablement_setting.py +107 -9
  76. pulumi_gcp/gemini/gemini_gcp_enablement_setting_binding.py +2 -2
  77. pulumi_gcp/gkehub/membership_binding.py +6 -6
  78. pulumi_gcp/gkehub/membership_rbac_role_binding.py +4 -4
  79. pulumi_gcp/gkehub/namespace.py +4 -4
  80. pulumi_gcp/gkehub/scope_rbac_role_binding.py +8 -8
  81. pulumi_gcp/iam/__init__.py +4 -0
  82. pulumi_gcp/iam/_inputs.py +98 -0
  83. pulumi_gcp/iam/get_workforce_pool_iam_policy.py +161 -0
  84. pulumi_gcp/iam/outputs.py +56 -0
  85. pulumi_gcp/iam/workforce_pool_iam_binding.py +761 -0
  86. pulumi_gcp/iam/workforce_pool_iam_member.py +761 -0
  87. pulumi_gcp/iam/workforce_pool_iam_policy.py +600 -0
  88. pulumi_gcp/iap/tunnel_dest_group.py +2 -2
  89. pulumi_gcp/integrationconnectors/managed_zone.py +8 -8
  90. pulumi_gcp/looker/instance.py +28 -7
  91. pulumi_gcp/managedkafka/_inputs.py +127 -0
  92. pulumi_gcp/managedkafka/cluster.py +131 -1
  93. pulumi_gcp/managedkafka/connect_cluster.py +4 -4
  94. pulumi_gcp/managedkafka/connector.py +4 -4
  95. pulumi_gcp/managedkafka/outputs.py +128 -0
  96. pulumi_gcp/memorystore/instance.py +8 -12
  97. pulumi_gcp/modelarmor/__init__.py +1 -0
  98. pulumi_gcp/modelarmor/_inputs.py +683 -0
  99. pulumi_gcp/modelarmor/floorsetting.py +736 -0
  100. pulumi_gcp/modelarmor/outputs.py +618 -0
  101. pulumi_gcp/networkconnectivity/_inputs.py +60 -0
  102. pulumi_gcp/networkconnectivity/internal_range.py +136 -0
  103. pulumi_gcp/networkconnectivity/outputs.py +55 -0
  104. pulumi_gcp/networkconnectivity/spoke.py +14 -14
  105. pulumi_gcp/oracledatabase/__init__.py +2 -0
  106. pulumi_gcp/oracledatabase/autonomous_database.py +262 -38
  107. pulumi_gcp/oracledatabase/cloud_vm_cluster.py +314 -50
  108. pulumi_gcp/oracledatabase/get_autonomous_database.py +23 -1
  109. pulumi_gcp/oracledatabase/get_cloud_vm_cluster.py +34 -1
  110. pulumi_gcp/oracledatabase/odb_network.py +721 -0
  111. pulumi_gcp/oracledatabase/odb_subnet.py +803 -0
  112. pulumi_gcp/oracledatabase/outputs.py +83 -0
  113. pulumi_gcp/orgpolicy/policy.py +2 -2
  114. pulumi_gcp/parametermanager/parameter_version.py +62 -0
  115. pulumi_gcp/parametermanager/regional_parameter_version.py +64 -0
  116. pulumi_gcp/provider.py +20 -0
  117. pulumi_gcp/pubsub/subscription.py +46 -6
  118. pulumi_gcp/pubsub/topic.py +36 -0
  119. pulumi_gcp/pulumi-plugin.json +1 -1
  120. pulumi_gcp/redis/cluster.py +70 -0
  121. pulumi_gcp/redis/get_cluster.py +12 -1
  122. pulumi_gcp/redis/instance.py +8 -12
  123. pulumi_gcp/secretmanager/get_regional_secret.py +12 -1
  124. pulumi_gcp/secretmanager/get_secret.py +12 -1
  125. pulumi_gcp/secretmanager/outputs.py +30 -0
  126. pulumi_gcp/secretmanager/regional_secret.py +61 -0
  127. pulumi_gcp/secretmanager/secret.py +61 -0
  128. pulumi_gcp/securesourcemanager/branch_rule.py +16 -8
  129. pulumi_gcp/securesourcemanager/instance.py +112 -4
  130. pulumi_gcp/securesourcemanager/repository.py +112 -8
  131. pulumi_gcp/serviceaccount/get_account_key.py +1 -0
  132. pulumi_gcp/sql/_inputs.py +6 -6
  133. pulumi_gcp/sql/database.py +0 -12
  134. pulumi_gcp/sql/outputs.py +4 -4
  135. pulumi_gcp/storage/__init__.py +2 -0
  136. pulumi_gcp/storage/_inputs.py +451 -0
  137. pulumi_gcp/storage/bucket.py +7 -7
  138. pulumi_gcp/storage/bucket_object.py +34 -0
  139. pulumi_gcp/storage/get_bucket_object.py +12 -1
  140. pulumi_gcp/storage/get_bucket_object_content.py +12 -1
  141. pulumi_gcp/storage/get_insights_dataset_config.py +363 -0
  142. pulumi_gcp/storage/insights_dataset_config.py +1280 -0
  143. pulumi_gcp/storage/outputs.py +619 -0
  144. pulumi_gcp/vertex/__init__.py +1 -0
  145. pulumi_gcp/vertex/_inputs.py +3646 -3
  146. pulumi_gcp/vertex/ai_endpoint.py +4 -4
  147. pulumi_gcp/vertex/ai_endpoint_with_model_garden_deployment.py +940 -0
  148. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
  149. pulumi_gcp/vertex/outputs.py +2609 -2
  150. pulumi_gcp/vmwareengine/network_peering.py +7 -7
  151. pulumi_gcp/workbench/_inputs.py +118 -0
  152. pulumi_gcp/workbench/instance.py +171 -2
  153. pulumi_gcp/workbench/outputs.py +91 -0
  154. {pulumi_gcp-8.40.0a1754636117.dist-info → pulumi_gcp-8.40.0a1754951145.dist-info}/METADATA +1 -1
  155. {pulumi_gcp-8.40.0a1754636117.dist-info → pulumi_gcp-8.40.0a1754951145.dist-info}/RECORD +157 -138
  156. {pulumi_gcp-8.40.0a1754636117.dist-info → pulumi_gcp-8.40.0a1754951145.dist-info}/WHEEL +0 -0
  157. {pulumi_gcp-8.40.0a1754636117.dist-info → pulumi_gcp-8.40.0a1754951145.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,707 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import builtins as _builtins
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__ = ['CmekConfigArgs', 'CmekConfig']
20
+
21
+ @pulumi.input_type
22
+ class CmekConfigArgs:
23
+ def __init__(__self__, *,
24
+ kms_key: pulumi.Input[_builtins.str],
25
+ location: pulumi.Input[_builtins.str],
26
+ cmek_config_id: Optional[pulumi.Input[_builtins.str]] = None,
27
+ project: Optional[pulumi.Input[_builtins.str]] = None,
28
+ set_default: Optional[pulumi.Input[_builtins.bool]] = None,
29
+ single_region_keys: Optional[pulumi.Input[Sequence[pulumi.Input['CmekConfigSingleRegionKeyArgs']]]] = None):
30
+ """
31
+ The set of arguments for constructing a CmekConfig resource.
32
+ :param pulumi.Input[_builtins.str] kms_key: KMS key resource name which will be used to encrypt resources
33
+ `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.
34
+ :param pulumi.Input[_builtins.str] location: The geographic location where the CMEK config should reside. The value can
35
+ only be one of "us" and "eu".
36
+ :param pulumi.Input[_builtins.str] cmek_config_id: The unique id of the cmek config.
37
+ :param pulumi.Input[_builtins.str] project: The ID of the project in which the resource belongs.
38
+ If it is not provided, the provider project is used.
39
+ :param pulumi.Input[_builtins.bool] set_default: Set the following CmekConfig as the default to be used for child resources
40
+ if one is not specified. The default value is true.
41
+ :param pulumi.Input[Sequence[pulumi.Input['CmekConfigSingleRegionKeyArgs']]] single_region_keys: Single-regional CMEKs that are required for some VAIS features.
42
+ Structure is documented below.
43
+ """
44
+ pulumi.set(__self__, "kms_key", kms_key)
45
+ pulumi.set(__self__, "location", location)
46
+ if cmek_config_id is not None:
47
+ pulumi.set(__self__, "cmek_config_id", cmek_config_id)
48
+ if project is not None:
49
+ pulumi.set(__self__, "project", project)
50
+ if set_default is not None:
51
+ pulumi.set(__self__, "set_default", set_default)
52
+ if single_region_keys is not None:
53
+ pulumi.set(__self__, "single_region_keys", single_region_keys)
54
+
55
+ @_builtins.property
56
+ @pulumi.getter(name="kmsKey")
57
+ def kms_key(self) -> pulumi.Input[_builtins.str]:
58
+ """
59
+ KMS key resource name which will be used to encrypt resources
60
+ `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.
61
+ """
62
+ return pulumi.get(self, "kms_key")
63
+
64
+ @kms_key.setter
65
+ def kms_key(self, value: pulumi.Input[_builtins.str]):
66
+ pulumi.set(self, "kms_key", value)
67
+
68
+ @_builtins.property
69
+ @pulumi.getter
70
+ def location(self) -> pulumi.Input[_builtins.str]:
71
+ """
72
+ The geographic location where the CMEK config should reside. The value can
73
+ only be one of "us" and "eu".
74
+ """
75
+ return pulumi.get(self, "location")
76
+
77
+ @location.setter
78
+ def location(self, value: pulumi.Input[_builtins.str]):
79
+ pulumi.set(self, "location", value)
80
+
81
+ @_builtins.property
82
+ @pulumi.getter(name="cmekConfigId")
83
+ def cmek_config_id(self) -> Optional[pulumi.Input[_builtins.str]]:
84
+ """
85
+ The unique id of the cmek config.
86
+ """
87
+ return pulumi.get(self, "cmek_config_id")
88
+
89
+ @cmek_config_id.setter
90
+ def cmek_config_id(self, value: Optional[pulumi.Input[_builtins.str]]):
91
+ pulumi.set(self, "cmek_config_id", value)
92
+
93
+ @_builtins.property
94
+ @pulumi.getter
95
+ def project(self) -> Optional[pulumi.Input[_builtins.str]]:
96
+ """
97
+ The ID of the project in which the resource belongs.
98
+ If it is not provided, the provider project is used.
99
+ """
100
+ return pulumi.get(self, "project")
101
+
102
+ @project.setter
103
+ def project(self, value: Optional[pulumi.Input[_builtins.str]]):
104
+ pulumi.set(self, "project", value)
105
+
106
+ @_builtins.property
107
+ @pulumi.getter(name="setDefault")
108
+ def set_default(self) -> Optional[pulumi.Input[_builtins.bool]]:
109
+ """
110
+ Set the following CmekConfig as the default to be used for child resources
111
+ if one is not specified. The default value is true.
112
+ """
113
+ return pulumi.get(self, "set_default")
114
+
115
+ @set_default.setter
116
+ def set_default(self, value: Optional[pulumi.Input[_builtins.bool]]):
117
+ pulumi.set(self, "set_default", value)
118
+
119
+ @_builtins.property
120
+ @pulumi.getter(name="singleRegionKeys")
121
+ def single_region_keys(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CmekConfigSingleRegionKeyArgs']]]]:
122
+ """
123
+ Single-regional CMEKs that are required for some VAIS features.
124
+ Structure is documented below.
125
+ """
126
+ return pulumi.get(self, "single_region_keys")
127
+
128
+ @single_region_keys.setter
129
+ def single_region_keys(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['CmekConfigSingleRegionKeyArgs']]]]):
130
+ pulumi.set(self, "single_region_keys", value)
131
+
132
+
133
+ @pulumi.input_type
134
+ class _CmekConfigState:
135
+ def __init__(__self__, *,
136
+ cmek_config_id: Optional[pulumi.Input[_builtins.str]] = None,
137
+ is_default: Optional[pulumi.Input[_builtins.bool]] = None,
138
+ kms_key: Optional[pulumi.Input[_builtins.str]] = None,
139
+ kms_key_version: Optional[pulumi.Input[_builtins.str]] = None,
140
+ last_rotation_timestamp_micros: Optional[pulumi.Input[_builtins.int]] = None,
141
+ location: Optional[pulumi.Input[_builtins.str]] = None,
142
+ name: Optional[pulumi.Input[_builtins.str]] = None,
143
+ notebooklm_state: Optional[pulumi.Input[_builtins.str]] = None,
144
+ project: Optional[pulumi.Input[_builtins.str]] = None,
145
+ set_default: Optional[pulumi.Input[_builtins.bool]] = None,
146
+ single_region_keys: Optional[pulumi.Input[Sequence[pulumi.Input['CmekConfigSingleRegionKeyArgs']]]] = None,
147
+ state: Optional[pulumi.Input[_builtins.str]] = None):
148
+ """
149
+ Input properties used for looking up and filtering CmekConfig resources.
150
+ :param pulumi.Input[_builtins.str] cmek_config_id: The unique id of the cmek config.
151
+ :param pulumi.Input[_builtins.bool] is_default: The default CmekConfig for the Customer.
152
+ :param pulumi.Input[_builtins.str] kms_key: KMS key resource name which will be used to encrypt resources
153
+ `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.
154
+ :param pulumi.Input[_builtins.str] kms_key_version: KMS key version resource name which will be used to encrypt resources
155
+ `<kms_key>/cryptoKeyVersions/{keyVersion}`.
156
+ :param pulumi.Input[_builtins.int] last_rotation_timestamp_micros: The timestamp of the last key rotation.
157
+ :param pulumi.Input[_builtins.str] location: The geographic location where the CMEK config should reside. The value can
158
+ only be one of "us" and "eu".
159
+ :param pulumi.Input[_builtins.str] name: The unique full resource name of the cmek config. Values are of the format
160
+ `projects/{project}/locations/{location}/cmekConfigs/{cmek_config_id}`.
161
+ This field must be a UTF-8 encoded string with a length limit of 1024
162
+ characters.
163
+ :param pulumi.Input[_builtins.str] notebooklm_state: Whether the NotebookLM Corpus is ready to be used.
164
+ :param pulumi.Input[_builtins.str] project: The ID of the project in which the resource belongs.
165
+ If it is not provided, the provider project is used.
166
+ :param pulumi.Input[_builtins.bool] set_default: Set the following CmekConfig as the default to be used for child resources
167
+ if one is not specified. The default value is true.
168
+ :param pulumi.Input[Sequence[pulumi.Input['CmekConfigSingleRegionKeyArgs']]] single_region_keys: Single-regional CMEKs that are required for some VAIS features.
169
+ Structure is documented below.
170
+ :param pulumi.Input[_builtins.str] state: The state of the CmekConfig.
171
+ """
172
+ if cmek_config_id is not None:
173
+ pulumi.set(__self__, "cmek_config_id", cmek_config_id)
174
+ if is_default is not None:
175
+ pulumi.set(__self__, "is_default", is_default)
176
+ if kms_key is not None:
177
+ pulumi.set(__self__, "kms_key", kms_key)
178
+ if kms_key_version is not None:
179
+ pulumi.set(__self__, "kms_key_version", kms_key_version)
180
+ if last_rotation_timestamp_micros is not None:
181
+ pulumi.set(__self__, "last_rotation_timestamp_micros", last_rotation_timestamp_micros)
182
+ if location is not None:
183
+ pulumi.set(__self__, "location", location)
184
+ if name is not None:
185
+ pulumi.set(__self__, "name", name)
186
+ if notebooklm_state is not None:
187
+ pulumi.set(__self__, "notebooklm_state", notebooklm_state)
188
+ if project is not None:
189
+ pulumi.set(__self__, "project", project)
190
+ if set_default is not None:
191
+ pulumi.set(__self__, "set_default", set_default)
192
+ if single_region_keys is not None:
193
+ pulumi.set(__self__, "single_region_keys", single_region_keys)
194
+ if state is not None:
195
+ pulumi.set(__self__, "state", state)
196
+
197
+ @_builtins.property
198
+ @pulumi.getter(name="cmekConfigId")
199
+ def cmek_config_id(self) -> Optional[pulumi.Input[_builtins.str]]:
200
+ """
201
+ The unique id of the cmek config.
202
+ """
203
+ return pulumi.get(self, "cmek_config_id")
204
+
205
+ @cmek_config_id.setter
206
+ def cmek_config_id(self, value: Optional[pulumi.Input[_builtins.str]]):
207
+ pulumi.set(self, "cmek_config_id", value)
208
+
209
+ @_builtins.property
210
+ @pulumi.getter(name="isDefault")
211
+ def is_default(self) -> Optional[pulumi.Input[_builtins.bool]]:
212
+ """
213
+ The default CmekConfig for the Customer.
214
+ """
215
+ return pulumi.get(self, "is_default")
216
+
217
+ @is_default.setter
218
+ def is_default(self, value: Optional[pulumi.Input[_builtins.bool]]):
219
+ pulumi.set(self, "is_default", value)
220
+
221
+ @_builtins.property
222
+ @pulumi.getter(name="kmsKey")
223
+ def kms_key(self) -> Optional[pulumi.Input[_builtins.str]]:
224
+ """
225
+ KMS key resource name which will be used to encrypt resources
226
+ `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.
227
+ """
228
+ return pulumi.get(self, "kms_key")
229
+
230
+ @kms_key.setter
231
+ def kms_key(self, value: Optional[pulumi.Input[_builtins.str]]):
232
+ pulumi.set(self, "kms_key", value)
233
+
234
+ @_builtins.property
235
+ @pulumi.getter(name="kmsKeyVersion")
236
+ def kms_key_version(self) -> Optional[pulumi.Input[_builtins.str]]:
237
+ """
238
+ KMS key version resource name which will be used to encrypt resources
239
+ `<kms_key>/cryptoKeyVersions/{keyVersion}`.
240
+ """
241
+ return pulumi.get(self, "kms_key_version")
242
+
243
+ @kms_key_version.setter
244
+ def kms_key_version(self, value: Optional[pulumi.Input[_builtins.str]]):
245
+ pulumi.set(self, "kms_key_version", value)
246
+
247
+ @_builtins.property
248
+ @pulumi.getter(name="lastRotationTimestampMicros")
249
+ def last_rotation_timestamp_micros(self) -> Optional[pulumi.Input[_builtins.int]]:
250
+ """
251
+ The timestamp of the last key rotation.
252
+ """
253
+ return pulumi.get(self, "last_rotation_timestamp_micros")
254
+
255
+ @last_rotation_timestamp_micros.setter
256
+ def last_rotation_timestamp_micros(self, value: Optional[pulumi.Input[_builtins.int]]):
257
+ pulumi.set(self, "last_rotation_timestamp_micros", value)
258
+
259
+ @_builtins.property
260
+ @pulumi.getter
261
+ def location(self) -> Optional[pulumi.Input[_builtins.str]]:
262
+ """
263
+ The geographic location where the CMEK config should reside. The value can
264
+ only be one of "us" and "eu".
265
+ """
266
+ return pulumi.get(self, "location")
267
+
268
+ @location.setter
269
+ def location(self, value: Optional[pulumi.Input[_builtins.str]]):
270
+ pulumi.set(self, "location", value)
271
+
272
+ @_builtins.property
273
+ @pulumi.getter
274
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
275
+ """
276
+ The unique full resource name of the cmek config. Values are of the format
277
+ `projects/{project}/locations/{location}/cmekConfigs/{cmek_config_id}`.
278
+ This field must be a UTF-8 encoded string with a length limit of 1024
279
+ characters.
280
+ """
281
+ return pulumi.get(self, "name")
282
+
283
+ @name.setter
284
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
285
+ pulumi.set(self, "name", value)
286
+
287
+ @_builtins.property
288
+ @pulumi.getter(name="notebooklmState")
289
+ def notebooklm_state(self) -> Optional[pulumi.Input[_builtins.str]]:
290
+ """
291
+ Whether the NotebookLM Corpus is ready to be used.
292
+ """
293
+ return pulumi.get(self, "notebooklm_state")
294
+
295
+ @notebooklm_state.setter
296
+ def notebooklm_state(self, value: Optional[pulumi.Input[_builtins.str]]):
297
+ pulumi.set(self, "notebooklm_state", value)
298
+
299
+ @_builtins.property
300
+ @pulumi.getter
301
+ def project(self) -> Optional[pulumi.Input[_builtins.str]]:
302
+ """
303
+ The ID of the project in which the resource belongs.
304
+ If it is not provided, the provider project is used.
305
+ """
306
+ return pulumi.get(self, "project")
307
+
308
+ @project.setter
309
+ def project(self, value: Optional[pulumi.Input[_builtins.str]]):
310
+ pulumi.set(self, "project", value)
311
+
312
+ @_builtins.property
313
+ @pulumi.getter(name="setDefault")
314
+ def set_default(self) -> Optional[pulumi.Input[_builtins.bool]]:
315
+ """
316
+ Set the following CmekConfig as the default to be used for child resources
317
+ if one is not specified. The default value is true.
318
+ """
319
+ return pulumi.get(self, "set_default")
320
+
321
+ @set_default.setter
322
+ def set_default(self, value: Optional[pulumi.Input[_builtins.bool]]):
323
+ pulumi.set(self, "set_default", value)
324
+
325
+ @_builtins.property
326
+ @pulumi.getter(name="singleRegionKeys")
327
+ def single_region_keys(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CmekConfigSingleRegionKeyArgs']]]]:
328
+ """
329
+ Single-regional CMEKs that are required for some VAIS features.
330
+ Structure is documented below.
331
+ """
332
+ return pulumi.get(self, "single_region_keys")
333
+
334
+ @single_region_keys.setter
335
+ def single_region_keys(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['CmekConfigSingleRegionKeyArgs']]]]):
336
+ pulumi.set(self, "single_region_keys", value)
337
+
338
+ @_builtins.property
339
+ @pulumi.getter
340
+ def state(self) -> Optional[pulumi.Input[_builtins.str]]:
341
+ """
342
+ The state of the CmekConfig.
343
+ """
344
+ return pulumi.get(self, "state")
345
+
346
+ @state.setter
347
+ def state(self, value: Optional[pulumi.Input[_builtins.str]]):
348
+ pulumi.set(self, "state", value)
349
+
350
+
351
+ @pulumi.type_token("gcp:discoveryengine/cmekConfig:CmekConfig")
352
+ class CmekConfig(pulumi.CustomResource):
353
+ @overload
354
+ def __init__(__self__,
355
+ resource_name: str,
356
+ opts: Optional[pulumi.ResourceOptions] = None,
357
+ cmek_config_id: Optional[pulumi.Input[_builtins.str]] = None,
358
+ kms_key: Optional[pulumi.Input[_builtins.str]] = None,
359
+ location: Optional[pulumi.Input[_builtins.str]] = None,
360
+ project: Optional[pulumi.Input[_builtins.str]] = None,
361
+ set_default: Optional[pulumi.Input[_builtins.bool]] = None,
362
+ single_region_keys: Optional[pulumi.Input[Sequence[pulumi.Input[Union['CmekConfigSingleRegionKeyArgs', 'CmekConfigSingleRegionKeyArgsDict']]]]] = None,
363
+ __props__=None):
364
+ """
365
+ CmekConfig represents configurations used to enable CMEK data encryption with
366
+ Cloud KMS keys.
367
+
368
+ To get more information about CmekConfig, see:
369
+
370
+ * [API documentation](https://cloud.google.com/generative-ai-app-builder/docs/reference/rest/v1/projects.locations.cmekConfigs)
371
+
372
+ ## Example Usage
373
+
374
+ ### Discoveryengine Cmekconfig Default
375
+
376
+ ```python
377
+ import pulumi
378
+ import pulumi_gcp as gcp
379
+
380
+ project = gcp.organizations.get_project()
381
+ crypto_key = gcp.kms.CryptoKeyIAMMember("crypto_key",
382
+ crypto_key_id="kms-key-name",
383
+ role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
384
+ member=f"serviceAccount:service-{project.number}@gcp-sa-discoveryengine.iam.gserviceaccount.com")
385
+ default = gcp.discoveryengine.CmekConfig("default",
386
+ location="us",
387
+ cmek_config_id="cmek-config-id",
388
+ kms_key="kms-key-name",
389
+ opts = pulumi.ResourceOptions(depends_on=[crypto_key]))
390
+ ```
391
+
392
+ ## Import
393
+
394
+ CmekConfig can be imported using any of these accepted formats:
395
+
396
+ * `projects/{{project}}/locations/{{location}}/cmekConfigs/{{cmek_config_id}}`
397
+
398
+ * `{{project}}/{{location}}/{{cmek_config_id}}`
399
+
400
+ * `{{location}}/{{cmek_config_id}}`
401
+
402
+ When using the `pulumi import` command, CmekConfig can be imported using one of the formats above. For example:
403
+
404
+ ```sh
405
+ $ pulumi import gcp:discoveryengine/cmekConfig:CmekConfig default projects/{{project}}/locations/{{location}}/cmekConfigs/{{cmek_config_id}}
406
+ ```
407
+
408
+ ```sh
409
+ $ pulumi import gcp:discoveryengine/cmekConfig:CmekConfig default {{project}}/{{location}}/{{cmek_config_id}}
410
+ ```
411
+
412
+ ```sh
413
+ $ pulumi import gcp:discoveryengine/cmekConfig:CmekConfig default {{location}}/{{cmek_config_id}}
414
+ ```
415
+
416
+ :param str resource_name: The name of the resource.
417
+ :param pulumi.ResourceOptions opts: Options for the resource.
418
+ :param pulumi.Input[_builtins.str] cmek_config_id: The unique id of the cmek config.
419
+ :param pulumi.Input[_builtins.str] kms_key: KMS key resource name which will be used to encrypt resources
420
+ `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.
421
+ :param pulumi.Input[_builtins.str] location: The geographic location where the CMEK config should reside. The value can
422
+ only be one of "us" and "eu".
423
+ :param pulumi.Input[_builtins.str] project: The ID of the project in which the resource belongs.
424
+ If it is not provided, the provider project is used.
425
+ :param pulumi.Input[_builtins.bool] set_default: Set the following CmekConfig as the default to be used for child resources
426
+ if one is not specified. The default value is true.
427
+ :param pulumi.Input[Sequence[pulumi.Input[Union['CmekConfigSingleRegionKeyArgs', 'CmekConfigSingleRegionKeyArgsDict']]]] single_region_keys: Single-regional CMEKs that are required for some VAIS features.
428
+ Structure is documented below.
429
+ """
430
+ ...
431
+ @overload
432
+ def __init__(__self__,
433
+ resource_name: str,
434
+ args: CmekConfigArgs,
435
+ opts: Optional[pulumi.ResourceOptions] = None):
436
+ """
437
+ CmekConfig represents configurations used to enable CMEK data encryption with
438
+ Cloud KMS keys.
439
+
440
+ To get more information about CmekConfig, see:
441
+
442
+ * [API documentation](https://cloud.google.com/generative-ai-app-builder/docs/reference/rest/v1/projects.locations.cmekConfigs)
443
+
444
+ ## Example Usage
445
+
446
+ ### Discoveryengine Cmekconfig Default
447
+
448
+ ```python
449
+ import pulumi
450
+ import pulumi_gcp as gcp
451
+
452
+ project = gcp.organizations.get_project()
453
+ crypto_key = gcp.kms.CryptoKeyIAMMember("crypto_key",
454
+ crypto_key_id="kms-key-name",
455
+ role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
456
+ member=f"serviceAccount:service-{project.number}@gcp-sa-discoveryengine.iam.gserviceaccount.com")
457
+ default = gcp.discoveryengine.CmekConfig("default",
458
+ location="us",
459
+ cmek_config_id="cmek-config-id",
460
+ kms_key="kms-key-name",
461
+ opts = pulumi.ResourceOptions(depends_on=[crypto_key]))
462
+ ```
463
+
464
+ ## Import
465
+
466
+ CmekConfig can be imported using any of these accepted formats:
467
+
468
+ * `projects/{{project}}/locations/{{location}}/cmekConfigs/{{cmek_config_id}}`
469
+
470
+ * `{{project}}/{{location}}/{{cmek_config_id}}`
471
+
472
+ * `{{location}}/{{cmek_config_id}}`
473
+
474
+ When using the `pulumi import` command, CmekConfig can be imported using one of the formats above. For example:
475
+
476
+ ```sh
477
+ $ pulumi import gcp:discoveryengine/cmekConfig:CmekConfig default projects/{{project}}/locations/{{location}}/cmekConfigs/{{cmek_config_id}}
478
+ ```
479
+
480
+ ```sh
481
+ $ pulumi import gcp:discoveryengine/cmekConfig:CmekConfig default {{project}}/{{location}}/{{cmek_config_id}}
482
+ ```
483
+
484
+ ```sh
485
+ $ pulumi import gcp:discoveryengine/cmekConfig:CmekConfig default {{location}}/{{cmek_config_id}}
486
+ ```
487
+
488
+ :param str resource_name: The name of the resource.
489
+ :param CmekConfigArgs args: The arguments to use to populate this resource's properties.
490
+ :param pulumi.ResourceOptions opts: Options for the resource.
491
+ """
492
+ ...
493
+ def __init__(__self__, resource_name: str, *args, **kwargs):
494
+ resource_args, opts = _utilities.get_resource_args_opts(CmekConfigArgs, pulumi.ResourceOptions, *args, **kwargs)
495
+ if resource_args is not None:
496
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
497
+ else:
498
+ __self__._internal_init(resource_name, *args, **kwargs)
499
+
500
+ def _internal_init(__self__,
501
+ resource_name: str,
502
+ opts: Optional[pulumi.ResourceOptions] = None,
503
+ cmek_config_id: Optional[pulumi.Input[_builtins.str]] = None,
504
+ kms_key: Optional[pulumi.Input[_builtins.str]] = None,
505
+ location: Optional[pulumi.Input[_builtins.str]] = None,
506
+ project: Optional[pulumi.Input[_builtins.str]] = None,
507
+ set_default: Optional[pulumi.Input[_builtins.bool]] = None,
508
+ single_region_keys: Optional[pulumi.Input[Sequence[pulumi.Input[Union['CmekConfigSingleRegionKeyArgs', 'CmekConfigSingleRegionKeyArgsDict']]]]] = None,
509
+ __props__=None):
510
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
511
+ if not isinstance(opts, pulumi.ResourceOptions):
512
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
513
+ if opts.id is None:
514
+ if __props__ is not None:
515
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
516
+ __props__ = CmekConfigArgs.__new__(CmekConfigArgs)
517
+
518
+ __props__.__dict__["cmek_config_id"] = cmek_config_id
519
+ if kms_key is None and not opts.urn:
520
+ raise TypeError("Missing required property 'kms_key'")
521
+ __props__.__dict__["kms_key"] = kms_key
522
+ if location is None and not opts.urn:
523
+ raise TypeError("Missing required property 'location'")
524
+ __props__.__dict__["location"] = location
525
+ __props__.__dict__["project"] = project
526
+ __props__.__dict__["set_default"] = set_default
527
+ __props__.__dict__["single_region_keys"] = single_region_keys
528
+ __props__.__dict__["is_default"] = None
529
+ __props__.__dict__["kms_key_version"] = None
530
+ __props__.__dict__["last_rotation_timestamp_micros"] = None
531
+ __props__.__dict__["name"] = None
532
+ __props__.__dict__["notebooklm_state"] = None
533
+ __props__.__dict__["state"] = None
534
+ super(CmekConfig, __self__).__init__(
535
+ 'gcp:discoveryengine/cmekConfig:CmekConfig',
536
+ resource_name,
537
+ __props__,
538
+ opts)
539
+
540
+ @staticmethod
541
+ def get(resource_name: str,
542
+ id: pulumi.Input[str],
543
+ opts: Optional[pulumi.ResourceOptions] = None,
544
+ cmek_config_id: Optional[pulumi.Input[_builtins.str]] = None,
545
+ is_default: Optional[pulumi.Input[_builtins.bool]] = None,
546
+ kms_key: Optional[pulumi.Input[_builtins.str]] = None,
547
+ kms_key_version: Optional[pulumi.Input[_builtins.str]] = None,
548
+ last_rotation_timestamp_micros: Optional[pulumi.Input[_builtins.int]] = None,
549
+ location: Optional[pulumi.Input[_builtins.str]] = None,
550
+ name: Optional[pulumi.Input[_builtins.str]] = None,
551
+ notebooklm_state: Optional[pulumi.Input[_builtins.str]] = None,
552
+ project: Optional[pulumi.Input[_builtins.str]] = None,
553
+ set_default: Optional[pulumi.Input[_builtins.bool]] = None,
554
+ single_region_keys: Optional[pulumi.Input[Sequence[pulumi.Input[Union['CmekConfigSingleRegionKeyArgs', 'CmekConfigSingleRegionKeyArgsDict']]]]] = None,
555
+ state: Optional[pulumi.Input[_builtins.str]] = None) -> 'CmekConfig':
556
+ """
557
+ Get an existing CmekConfig resource's state with the given name, id, and optional extra
558
+ properties used to qualify the lookup.
559
+
560
+ :param str resource_name: The unique name of the resulting resource.
561
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
562
+ :param pulumi.ResourceOptions opts: Options for the resource.
563
+ :param pulumi.Input[_builtins.str] cmek_config_id: The unique id of the cmek config.
564
+ :param pulumi.Input[_builtins.bool] is_default: The default CmekConfig for the Customer.
565
+ :param pulumi.Input[_builtins.str] kms_key: KMS key resource name which will be used to encrypt resources
566
+ `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.
567
+ :param pulumi.Input[_builtins.str] kms_key_version: KMS key version resource name which will be used to encrypt resources
568
+ `<kms_key>/cryptoKeyVersions/{keyVersion}`.
569
+ :param pulumi.Input[_builtins.int] last_rotation_timestamp_micros: The timestamp of the last key rotation.
570
+ :param pulumi.Input[_builtins.str] location: The geographic location where the CMEK config should reside. The value can
571
+ only be one of "us" and "eu".
572
+ :param pulumi.Input[_builtins.str] name: The unique full resource name of the cmek config. Values are of the format
573
+ `projects/{project}/locations/{location}/cmekConfigs/{cmek_config_id}`.
574
+ This field must be a UTF-8 encoded string with a length limit of 1024
575
+ characters.
576
+ :param pulumi.Input[_builtins.str] notebooklm_state: Whether the NotebookLM Corpus is ready to be used.
577
+ :param pulumi.Input[_builtins.str] project: The ID of the project in which the resource belongs.
578
+ If it is not provided, the provider project is used.
579
+ :param pulumi.Input[_builtins.bool] set_default: Set the following CmekConfig as the default to be used for child resources
580
+ if one is not specified. The default value is true.
581
+ :param pulumi.Input[Sequence[pulumi.Input[Union['CmekConfigSingleRegionKeyArgs', 'CmekConfigSingleRegionKeyArgsDict']]]] single_region_keys: Single-regional CMEKs that are required for some VAIS features.
582
+ Structure is documented below.
583
+ :param pulumi.Input[_builtins.str] state: The state of the CmekConfig.
584
+ """
585
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
586
+
587
+ __props__ = _CmekConfigState.__new__(_CmekConfigState)
588
+
589
+ __props__.__dict__["cmek_config_id"] = cmek_config_id
590
+ __props__.__dict__["is_default"] = is_default
591
+ __props__.__dict__["kms_key"] = kms_key
592
+ __props__.__dict__["kms_key_version"] = kms_key_version
593
+ __props__.__dict__["last_rotation_timestamp_micros"] = last_rotation_timestamp_micros
594
+ __props__.__dict__["location"] = location
595
+ __props__.__dict__["name"] = name
596
+ __props__.__dict__["notebooklm_state"] = notebooklm_state
597
+ __props__.__dict__["project"] = project
598
+ __props__.__dict__["set_default"] = set_default
599
+ __props__.__dict__["single_region_keys"] = single_region_keys
600
+ __props__.__dict__["state"] = state
601
+ return CmekConfig(resource_name, opts=opts, __props__=__props__)
602
+
603
+ @_builtins.property
604
+ @pulumi.getter(name="cmekConfigId")
605
+ def cmek_config_id(self) -> pulumi.Output[Optional[_builtins.str]]:
606
+ """
607
+ The unique id of the cmek config.
608
+ """
609
+ return pulumi.get(self, "cmek_config_id")
610
+
611
+ @_builtins.property
612
+ @pulumi.getter(name="isDefault")
613
+ def is_default(self) -> pulumi.Output[_builtins.bool]:
614
+ """
615
+ The default CmekConfig for the Customer.
616
+ """
617
+ return pulumi.get(self, "is_default")
618
+
619
+ @_builtins.property
620
+ @pulumi.getter(name="kmsKey")
621
+ def kms_key(self) -> pulumi.Output[_builtins.str]:
622
+ """
623
+ KMS key resource name which will be used to encrypt resources
624
+ `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.
625
+ """
626
+ return pulumi.get(self, "kms_key")
627
+
628
+ @_builtins.property
629
+ @pulumi.getter(name="kmsKeyVersion")
630
+ def kms_key_version(self) -> pulumi.Output[_builtins.str]:
631
+ """
632
+ KMS key version resource name which will be used to encrypt resources
633
+ `<kms_key>/cryptoKeyVersions/{keyVersion}`.
634
+ """
635
+ return pulumi.get(self, "kms_key_version")
636
+
637
+ @_builtins.property
638
+ @pulumi.getter(name="lastRotationTimestampMicros")
639
+ def last_rotation_timestamp_micros(self) -> pulumi.Output[_builtins.int]:
640
+ """
641
+ The timestamp of the last key rotation.
642
+ """
643
+ return pulumi.get(self, "last_rotation_timestamp_micros")
644
+
645
+ @_builtins.property
646
+ @pulumi.getter
647
+ def location(self) -> pulumi.Output[_builtins.str]:
648
+ """
649
+ The geographic location where the CMEK config should reside. The value can
650
+ only be one of "us" and "eu".
651
+ """
652
+ return pulumi.get(self, "location")
653
+
654
+ @_builtins.property
655
+ @pulumi.getter
656
+ def name(self) -> pulumi.Output[_builtins.str]:
657
+ """
658
+ The unique full resource name of the cmek config. Values are of the format
659
+ `projects/{project}/locations/{location}/cmekConfigs/{cmek_config_id}`.
660
+ This field must be a UTF-8 encoded string with a length limit of 1024
661
+ characters.
662
+ """
663
+ return pulumi.get(self, "name")
664
+
665
+ @_builtins.property
666
+ @pulumi.getter(name="notebooklmState")
667
+ def notebooklm_state(self) -> pulumi.Output[_builtins.str]:
668
+ """
669
+ Whether the NotebookLM Corpus is ready to be used.
670
+ """
671
+ return pulumi.get(self, "notebooklm_state")
672
+
673
+ @_builtins.property
674
+ @pulumi.getter
675
+ def project(self) -> pulumi.Output[_builtins.str]:
676
+ """
677
+ The ID of the project in which the resource belongs.
678
+ If it is not provided, the provider project is used.
679
+ """
680
+ return pulumi.get(self, "project")
681
+
682
+ @_builtins.property
683
+ @pulumi.getter(name="setDefault")
684
+ def set_default(self) -> pulumi.Output[Optional[_builtins.bool]]:
685
+ """
686
+ Set the following CmekConfig as the default to be used for child resources
687
+ if one is not specified. The default value is true.
688
+ """
689
+ return pulumi.get(self, "set_default")
690
+
691
+ @_builtins.property
692
+ @pulumi.getter(name="singleRegionKeys")
693
+ def single_region_keys(self) -> pulumi.Output[Optional[Sequence['outputs.CmekConfigSingleRegionKey']]]:
694
+ """
695
+ Single-regional CMEKs that are required for some VAIS features.
696
+ Structure is documented below.
697
+ """
698
+ return pulumi.get(self, "single_region_keys")
699
+
700
+ @_builtins.property
701
+ @pulumi.getter
702
+ def state(self) -> pulumi.Output[_builtins.str]:
703
+ """
704
+ The state of the CmekConfig.
705
+ """
706
+ return pulumi.get(self, "state")
707
+