pulumi-gcp 9.2.0a1759043191__py3-none-any.whl → 9.3.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 (76) hide show
  1. pulumi_gcp/__init__.py +32 -0
  2. pulumi_gcp/apigee/__init__.py +1 -0
  3. pulumi_gcp/apigee/api_deployment.py +372 -0
  4. pulumi_gcp/apihub/plugin.py +1 -1
  5. pulumi_gcp/artifactregistry/__init__.py +2 -0
  6. pulumi_gcp/artifactregistry/get_maven_artifacts.py +164 -0
  7. pulumi_gcp/artifactregistry/get_npm_packages.py +164 -0
  8. pulumi_gcp/artifactregistry/outputs.py +165 -0
  9. pulumi_gcp/cloudrunv2/_inputs.py +823 -15
  10. pulumi_gcp/cloudrunv2/outputs.py +1749 -743
  11. pulumi_gcp/cloudrunv2/worker_pool.py +110 -0
  12. pulumi_gcp/compute/_inputs.py +28 -0
  13. pulumi_gcp/compute/outputs.py +20 -1
  14. pulumi_gcp/compute/vpn_tunnel.py +97 -23
  15. pulumi_gcp/compute/wire_group.py +2 -0
  16. pulumi_gcp/dataloss/_inputs.py +970 -30
  17. pulumi_gcp/dataloss/outputs.py +850 -20
  18. pulumi_gcp/dataloss/prevention_discovery_config.py +54 -0
  19. pulumi_gcp/diagflow/_inputs.py +66 -0
  20. pulumi_gcp/diagflow/conversation_profile.py +84 -0
  21. pulumi_gcp/diagflow/outputs.py +57 -0
  22. pulumi_gcp/discoveryengine/__init__.py +1 -0
  23. pulumi_gcp/discoveryengine/_inputs.py +187 -0
  24. pulumi_gcp/discoveryengine/data_connector.py +1368 -0
  25. pulumi_gcp/discoveryengine/outputs.py +135 -0
  26. pulumi_gcp/discoveryengine/search_engine.py +47 -0
  27. pulumi_gcp/gkebackup/_inputs.py +111 -0
  28. pulumi_gcp/gkebackup/backup_plan.py +72 -0
  29. pulumi_gcp/gkebackup/outputs.py +84 -0
  30. pulumi_gcp/kms/__init__.py +1 -0
  31. pulumi_gcp/kms/_inputs.py +43 -0
  32. pulumi_gcp/kms/organization_kaj_policy_config.py +290 -0
  33. pulumi_gcp/kms/outputs.py +43 -0
  34. pulumi_gcp/logging/metric.py +2 -2
  35. pulumi_gcp/looker/instance.py +51 -0
  36. pulumi_gcp/managedkafka/connect_cluster.py +20 -82
  37. pulumi_gcp/managedkafka/connector.py +24 -94
  38. pulumi_gcp/netapp/_inputs.py +28 -5
  39. pulumi_gcp/netapp/outputs.py +19 -3
  40. pulumi_gcp/netapp/storage_pool.py +56 -0
  41. pulumi_gcp/netapp/volume.py +28 -0
  42. pulumi_gcp/networkconnectivity/spoke.py +14 -14
  43. pulumi_gcp/networksecurity/mirroring_endpoint_group.py +211 -23
  44. pulumi_gcp/oracledatabase/odb_network.py +101 -2
  45. pulumi_gcp/orgpolicy/policy.py +2 -2
  46. pulumi_gcp/privilegedaccessmanager/_inputs.py +27 -4
  47. pulumi_gcp/privilegedaccessmanager/outputs.py +31 -6
  48. pulumi_gcp/pubsub/get_subscription.py +12 -1
  49. pulumi_gcp/pubsub/get_topic.py +15 -4
  50. pulumi_gcp/pubsub/subscription.py +153 -7
  51. pulumi_gcp/pubsub/topic.py +145 -3
  52. pulumi_gcp/pulumi-plugin.json +1 -1
  53. pulumi_gcp/saasruntime/__init__.py +1 -0
  54. pulumi_gcp/saasruntime/_inputs.py +60 -0
  55. pulumi_gcp/saasruntime/outputs.py +55 -0
  56. pulumi_gcp/saasruntime/rollout_kind.py +1086 -0
  57. pulumi_gcp/sql/_inputs.py +122 -3
  58. pulumi_gcp/sql/database_instance.py +47 -0
  59. pulumi_gcp/sql/get_database_instance.py +12 -1
  60. pulumi_gcp/sql/outputs.py +233 -2
  61. pulumi_gcp/storage/bucket.py +52 -24
  62. pulumi_gcp/storage/get_insights_dataset_config.py +12 -1
  63. pulumi_gcp/storage/insights_dataset_config.py +49 -0
  64. pulumi_gcp/storage/insights_report_config.py +47 -0
  65. pulumi_gcp/vertex/_inputs.py +339 -1
  66. pulumi_gcp/vertex/ai_endpoint.py +4 -4
  67. pulumi_gcp/vertex/ai_endpoint_with_model_garden_deployment.py +102 -0
  68. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
  69. pulumi_gcp/vertex/ai_index.py +74 -2
  70. pulumi_gcp/vertex/ai_index_endpoint.py +54 -0
  71. pulumi_gcp/vertex/get_ai_index.py +12 -1
  72. pulumi_gcp/vertex/outputs.py +303 -1
  73. {pulumi_gcp-9.2.0a1759043191.dist-info → pulumi_gcp-9.3.0.dist-info}/METADATA +1 -1
  74. {pulumi_gcp-9.2.0a1759043191.dist-info → pulumi_gcp-9.3.0.dist-info}/RECORD +76 -70
  75. {pulumi_gcp-9.2.0a1759043191.dist-info → pulumi_gcp-9.3.0.dist-info}/WHEEL +0 -0
  76. {pulumi_gcp-9.2.0a1759043191.dist-info → pulumi_gcp-9.3.0.dist-info}/top_level.txt +0 -0
@@ -38,6 +38,7 @@ from .key_ring_iam_binding import *
38
38
  from .key_ring_iam_member import *
39
39
  from .key_ring_iam_policy import *
40
40
  from .key_ring_import_job import *
41
+ from .organization_kaj_policy_config import *
41
42
  from .secret_ciphertext import *
42
43
  from ._inputs import *
43
44
  from . import outputs
pulumi_gcp/kms/_inputs.py CHANGED
@@ -49,6 +49,8 @@ __all__ = [
49
49
  'KeyRingImportJobAttestationArgsDict',
50
50
  'KeyRingImportJobPublicKeyArgs',
51
51
  'KeyRingImportJobPublicKeyArgsDict',
52
+ 'OrganizationKajPolicyConfigDefaultKeyAccessJustificationPolicyArgs',
53
+ 'OrganizationKajPolicyConfigDefaultKeyAccessJustificationPolicyArgsDict',
52
54
  ]
53
55
 
54
56
  MYPY = False
@@ -1350,3 +1352,44 @@ class KeyRingImportJobPublicKeyArgs:
1350
1352
  pulumi.set(self, "pem", value)
1351
1353
 
1352
1354
 
1355
+ if not MYPY:
1356
+ class OrganizationKajPolicyConfigDefaultKeyAccessJustificationPolicyArgsDict(TypedDict):
1357
+ allowed_access_reasons: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
1358
+ """
1359
+ A KeyAccessJustificationsPolicy specifies zero or more allowed
1360
+ AccessReason values for encrypt, decrypt, and sign operations on a
1361
+ CryptoKey.
1362
+ Each value may be one of: `CUSTOMER_INITIATED_SUPPORT`, `GOOGLE_INITIATED_SERVICE`, `THIRD_PARTY_DATA_REQUEST`, `GOOGLE_INITIATED_REVIEW`, `CUSTOMER_INITIATED_ACCESS`, `GOOGLE_INITIATED_SYSTEM_OPERATION`, `REASON_NOT_EXPECTED`, `MODIFIED_CUSTOMER_INITIATED_ACCESS`, `MODIFIED_GOOGLE_INITIATED_SYSTEM_OPERATION`, `GOOGLE_RESPONSE_TO_PRODUCTION_ALERT`, `CUSTOMER_AUTHORIZED_WORKFLOW_SERVICING`.
1363
+ """
1364
+ elif False:
1365
+ OrganizationKajPolicyConfigDefaultKeyAccessJustificationPolicyArgsDict: TypeAlias = Mapping[str, Any]
1366
+
1367
+ @pulumi.input_type
1368
+ class OrganizationKajPolicyConfigDefaultKeyAccessJustificationPolicyArgs:
1369
+ def __init__(__self__, *,
1370
+ allowed_access_reasons: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None):
1371
+ """
1372
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] allowed_access_reasons: A KeyAccessJustificationsPolicy specifies zero or more allowed
1373
+ AccessReason values for encrypt, decrypt, and sign operations on a
1374
+ CryptoKey.
1375
+ Each value may be one of: `CUSTOMER_INITIATED_SUPPORT`, `GOOGLE_INITIATED_SERVICE`, `THIRD_PARTY_DATA_REQUEST`, `GOOGLE_INITIATED_REVIEW`, `CUSTOMER_INITIATED_ACCESS`, `GOOGLE_INITIATED_SYSTEM_OPERATION`, `REASON_NOT_EXPECTED`, `MODIFIED_CUSTOMER_INITIATED_ACCESS`, `MODIFIED_GOOGLE_INITIATED_SYSTEM_OPERATION`, `GOOGLE_RESPONSE_TO_PRODUCTION_ALERT`, `CUSTOMER_AUTHORIZED_WORKFLOW_SERVICING`.
1376
+ """
1377
+ if allowed_access_reasons is not None:
1378
+ pulumi.set(__self__, "allowed_access_reasons", allowed_access_reasons)
1379
+
1380
+ @_builtins.property
1381
+ @pulumi.getter(name="allowedAccessReasons")
1382
+ def allowed_access_reasons(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
1383
+ """
1384
+ A KeyAccessJustificationsPolicy specifies zero or more allowed
1385
+ AccessReason values for encrypt, decrypt, and sign operations on a
1386
+ CryptoKey.
1387
+ Each value may be one of: `CUSTOMER_INITIATED_SUPPORT`, `GOOGLE_INITIATED_SERVICE`, `THIRD_PARTY_DATA_REQUEST`, `GOOGLE_INITIATED_REVIEW`, `CUSTOMER_INITIATED_ACCESS`, `GOOGLE_INITIATED_SYSTEM_OPERATION`, `REASON_NOT_EXPECTED`, `MODIFIED_CUSTOMER_INITIATED_ACCESS`, `MODIFIED_GOOGLE_INITIATED_SYSTEM_OPERATION`, `GOOGLE_RESPONSE_TO_PRODUCTION_ALERT`, `CUSTOMER_AUTHORIZED_WORKFLOW_SERVICING`.
1388
+ """
1389
+ return pulumi.get(self, "allowed_access_reasons")
1390
+
1391
+ @allowed_access_reasons.setter
1392
+ def allowed_access_reasons(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
1393
+ pulumi.set(self, "allowed_access_reasons", value)
1394
+
1395
+
@@ -0,0 +1,290 @@
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__ = ['OrganizationKajPolicyConfigArgs', 'OrganizationKajPolicyConfig']
20
+
21
+ @pulumi.input_type
22
+ class OrganizationKajPolicyConfigArgs:
23
+ def __init__(__self__, *,
24
+ organization: pulumi.Input[_builtins.str],
25
+ default_key_access_justification_policy: Optional[pulumi.Input['OrganizationKajPolicyConfigDefaultKeyAccessJustificationPolicyArgs']] = None):
26
+ """
27
+ The set of arguments for constructing a OrganizationKajPolicyConfig resource.
28
+ :param pulumi.Input[_builtins.str] organization: The organization number for which to retrieve config.
29
+ :param pulumi.Input['OrganizationKajPolicyConfigDefaultKeyAccessJustificationPolicyArgs'] default_key_access_justification_policy: The default key access justification policy used when a CryptoKey is
30
+ created in this organization. This is only used when a Key Access Justifications
31
+ policy is not provided in the CreateCryptoKeyRequest.
32
+ Structure is documented below.
33
+ """
34
+ pulumi.set(__self__, "organization", organization)
35
+ if default_key_access_justification_policy is not None:
36
+ pulumi.set(__self__, "default_key_access_justification_policy", default_key_access_justification_policy)
37
+
38
+ @_builtins.property
39
+ @pulumi.getter
40
+ def organization(self) -> pulumi.Input[_builtins.str]:
41
+ """
42
+ The organization number for which to retrieve config.
43
+ """
44
+ return pulumi.get(self, "organization")
45
+
46
+ @organization.setter
47
+ def organization(self, value: pulumi.Input[_builtins.str]):
48
+ pulumi.set(self, "organization", value)
49
+
50
+ @_builtins.property
51
+ @pulumi.getter(name="defaultKeyAccessJustificationPolicy")
52
+ def default_key_access_justification_policy(self) -> Optional[pulumi.Input['OrganizationKajPolicyConfigDefaultKeyAccessJustificationPolicyArgs']]:
53
+ """
54
+ The default key access justification policy used when a CryptoKey is
55
+ created in this organization. This is only used when a Key Access Justifications
56
+ policy is not provided in the CreateCryptoKeyRequest.
57
+ Structure is documented below.
58
+ """
59
+ return pulumi.get(self, "default_key_access_justification_policy")
60
+
61
+ @default_key_access_justification_policy.setter
62
+ def default_key_access_justification_policy(self, value: Optional[pulumi.Input['OrganizationKajPolicyConfigDefaultKeyAccessJustificationPolicyArgs']]):
63
+ pulumi.set(self, "default_key_access_justification_policy", value)
64
+
65
+
66
+ @pulumi.input_type
67
+ class _OrganizationKajPolicyConfigState:
68
+ def __init__(__self__, *,
69
+ default_key_access_justification_policy: Optional[pulumi.Input['OrganizationKajPolicyConfigDefaultKeyAccessJustificationPolicyArgs']] = None,
70
+ organization: Optional[pulumi.Input[_builtins.str]] = None):
71
+ """
72
+ Input properties used for looking up and filtering OrganizationKajPolicyConfig resources.
73
+ :param pulumi.Input['OrganizationKajPolicyConfigDefaultKeyAccessJustificationPolicyArgs'] default_key_access_justification_policy: The default key access justification policy used when a CryptoKey is
74
+ created in this organization. This is only used when a Key Access Justifications
75
+ policy is not provided in the CreateCryptoKeyRequest.
76
+ Structure is documented below.
77
+ :param pulumi.Input[_builtins.str] organization: The organization number for which to retrieve config.
78
+ """
79
+ if default_key_access_justification_policy is not None:
80
+ pulumi.set(__self__, "default_key_access_justification_policy", default_key_access_justification_policy)
81
+ if organization is not None:
82
+ pulumi.set(__self__, "organization", organization)
83
+
84
+ @_builtins.property
85
+ @pulumi.getter(name="defaultKeyAccessJustificationPolicy")
86
+ def default_key_access_justification_policy(self) -> Optional[pulumi.Input['OrganizationKajPolicyConfigDefaultKeyAccessJustificationPolicyArgs']]:
87
+ """
88
+ The default key access justification policy used when a CryptoKey is
89
+ created in this organization. This is only used when a Key Access Justifications
90
+ policy is not provided in the CreateCryptoKeyRequest.
91
+ Structure is documented below.
92
+ """
93
+ return pulumi.get(self, "default_key_access_justification_policy")
94
+
95
+ @default_key_access_justification_policy.setter
96
+ def default_key_access_justification_policy(self, value: Optional[pulumi.Input['OrganizationKajPolicyConfigDefaultKeyAccessJustificationPolicyArgs']]):
97
+ pulumi.set(self, "default_key_access_justification_policy", value)
98
+
99
+ @_builtins.property
100
+ @pulumi.getter
101
+ def organization(self) -> Optional[pulumi.Input[_builtins.str]]:
102
+ """
103
+ The organization number for which to retrieve config.
104
+ """
105
+ return pulumi.get(self, "organization")
106
+
107
+ @organization.setter
108
+ def organization(self, value: Optional[pulumi.Input[_builtins.str]]):
109
+ pulumi.set(self, "organization", value)
110
+
111
+
112
+ @pulumi.type_token("gcp:kms/organizationKajPolicyConfig:OrganizationKajPolicyConfig")
113
+ class OrganizationKajPolicyConfig(pulumi.CustomResource):
114
+ @overload
115
+ def __init__(__self__,
116
+ resource_name: str,
117
+ opts: Optional[pulumi.ResourceOptions] = None,
118
+ default_key_access_justification_policy: Optional[pulumi.Input[Union['OrganizationKajPolicyConfigDefaultKeyAccessJustificationPolicyArgs', 'OrganizationKajPolicyConfigDefaultKeyAccessJustificationPolicyArgsDict']]] = None,
119
+ organization: Optional[pulumi.Input[_builtins.str]] = None,
120
+ __props__=None):
121
+ """
122
+ ## Example Usage
123
+
124
+ ### Kms Organization Kaj Policy Config Basic
125
+
126
+ ```python
127
+ import pulumi
128
+ import pulumi_gcp as gcp
129
+
130
+ example = gcp.kms.OrganizationKajPolicyConfig("example",
131
+ organization="123456789",
132
+ default_key_access_justification_policy={
133
+ "allowed_access_reasons": [
134
+ "CUSTOMER_INITIATED_ACCESS",
135
+ "GOOGLE_INITIATED_SYSTEM_OPERATION",
136
+ ],
137
+ })
138
+ ```
139
+
140
+ ## Import
141
+
142
+ OrganizationKajPolicyConfig can be imported using any of these accepted formats:
143
+
144
+ * `organizations/{{organization}}/kajPolicyConfig`
145
+
146
+ * `{{organization}}`
147
+
148
+ When using the `pulumi import` command, OrganizationKajPolicyConfig can be imported using one of the formats above. For example:
149
+
150
+ ```sh
151
+ $ pulumi import gcp:kms/organizationKajPolicyConfig:OrganizationKajPolicyConfig default organizations/{{organization}}/kajPolicyConfig
152
+ ```
153
+
154
+ ```sh
155
+ $ pulumi import gcp:kms/organizationKajPolicyConfig:OrganizationKajPolicyConfig default {{organization}}
156
+ ```
157
+
158
+ :param str resource_name: The name of the resource.
159
+ :param pulumi.ResourceOptions opts: Options for the resource.
160
+ :param pulumi.Input[Union['OrganizationKajPolicyConfigDefaultKeyAccessJustificationPolicyArgs', 'OrganizationKajPolicyConfigDefaultKeyAccessJustificationPolicyArgsDict']] default_key_access_justification_policy: The default key access justification policy used when a CryptoKey is
161
+ created in this organization. This is only used when a Key Access Justifications
162
+ policy is not provided in the CreateCryptoKeyRequest.
163
+ Structure is documented below.
164
+ :param pulumi.Input[_builtins.str] organization: The organization number for which to retrieve config.
165
+ """
166
+ ...
167
+ @overload
168
+ def __init__(__self__,
169
+ resource_name: str,
170
+ args: OrganizationKajPolicyConfigArgs,
171
+ opts: Optional[pulumi.ResourceOptions] = None):
172
+ """
173
+ ## Example Usage
174
+
175
+ ### Kms Organization Kaj Policy Config Basic
176
+
177
+ ```python
178
+ import pulumi
179
+ import pulumi_gcp as gcp
180
+
181
+ example = gcp.kms.OrganizationKajPolicyConfig("example",
182
+ organization="123456789",
183
+ default_key_access_justification_policy={
184
+ "allowed_access_reasons": [
185
+ "CUSTOMER_INITIATED_ACCESS",
186
+ "GOOGLE_INITIATED_SYSTEM_OPERATION",
187
+ ],
188
+ })
189
+ ```
190
+
191
+ ## Import
192
+
193
+ OrganizationKajPolicyConfig can be imported using any of these accepted formats:
194
+
195
+ * `organizations/{{organization}}/kajPolicyConfig`
196
+
197
+ * `{{organization}}`
198
+
199
+ When using the `pulumi import` command, OrganizationKajPolicyConfig can be imported using one of the formats above. For example:
200
+
201
+ ```sh
202
+ $ pulumi import gcp:kms/organizationKajPolicyConfig:OrganizationKajPolicyConfig default organizations/{{organization}}/kajPolicyConfig
203
+ ```
204
+
205
+ ```sh
206
+ $ pulumi import gcp:kms/organizationKajPolicyConfig:OrganizationKajPolicyConfig default {{organization}}
207
+ ```
208
+
209
+ :param str resource_name: The name of the resource.
210
+ :param OrganizationKajPolicyConfigArgs args: The arguments to use to populate this resource's properties.
211
+ :param pulumi.ResourceOptions opts: Options for the resource.
212
+ """
213
+ ...
214
+ def __init__(__self__, resource_name: str, *args, **kwargs):
215
+ resource_args, opts = _utilities.get_resource_args_opts(OrganizationKajPolicyConfigArgs, pulumi.ResourceOptions, *args, **kwargs)
216
+ if resource_args is not None:
217
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
218
+ else:
219
+ __self__._internal_init(resource_name, *args, **kwargs)
220
+
221
+ def _internal_init(__self__,
222
+ resource_name: str,
223
+ opts: Optional[pulumi.ResourceOptions] = None,
224
+ default_key_access_justification_policy: Optional[pulumi.Input[Union['OrganizationKajPolicyConfigDefaultKeyAccessJustificationPolicyArgs', 'OrganizationKajPolicyConfigDefaultKeyAccessJustificationPolicyArgsDict']]] = None,
225
+ organization: Optional[pulumi.Input[_builtins.str]] = None,
226
+ __props__=None):
227
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
228
+ if not isinstance(opts, pulumi.ResourceOptions):
229
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
230
+ if opts.id is None:
231
+ if __props__ is not None:
232
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
233
+ __props__ = OrganizationKajPolicyConfigArgs.__new__(OrganizationKajPolicyConfigArgs)
234
+
235
+ __props__.__dict__["default_key_access_justification_policy"] = default_key_access_justification_policy
236
+ if organization is None and not opts.urn:
237
+ raise TypeError("Missing required property 'organization'")
238
+ __props__.__dict__["organization"] = organization
239
+ super(OrganizationKajPolicyConfig, __self__).__init__(
240
+ 'gcp:kms/organizationKajPolicyConfig:OrganizationKajPolicyConfig',
241
+ resource_name,
242
+ __props__,
243
+ opts)
244
+
245
+ @staticmethod
246
+ def get(resource_name: str,
247
+ id: pulumi.Input[str],
248
+ opts: Optional[pulumi.ResourceOptions] = None,
249
+ default_key_access_justification_policy: Optional[pulumi.Input[Union['OrganizationKajPolicyConfigDefaultKeyAccessJustificationPolicyArgs', 'OrganizationKajPolicyConfigDefaultKeyAccessJustificationPolicyArgsDict']]] = None,
250
+ organization: Optional[pulumi.Input[_builtins.str]] = None) -> 'OrganizationKajPolicyConfig':
251
+ """
252
+ Get an existing OrganizationKajPolicyConfig resource's state with the given name, id, and optional extra
253
+ properties used to qualify the lookup.
254
+
255
+ :param str resource_name: The unique name of the resulting resource.
256
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
257
+ :param pulumi.ResourceOptions opts: Options for the resource.
258
+ :param pulumi.Input[Union['OrganizationKajPolicyConfigDefaultKeyAccessJustificationPolicyArgs', 'OrganizationKajPolicyConfigDefaultKeyAccessJustificationPolicyArgsDict']] default_key_access_justification_policy: The default key access justification policy used when a CryptoKey is
259
+ created in this organization. This is only used when a Key Access Justifications
260
+ policy is not provided in the CreateCryptoKeyRequest.
261
+ Structure is documented below.
262
+ :param pulumi.Input[_builtins.str] organization: The organization number for which to retrieve config.
263
+ """
264
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
265
+
266
+ __props__ = _OrganizationKajPolicyConfigState.__new__(_OrganizationKajPolicyConfigState)
267
+
268
+ __props__.__dict__["default_key_access_justification_policy"] = default_key_access_justification_policy
269
+ __props__.__dict__["organization"] = organization
270
+ return OrganizationKajPolicyConfig(resource_name, opts=opts, __props__=__props__)
271
+
272
+ @_builtins.property
273
+ @pulumi.getter(name="defaultKeyAccessJustificationPolicy")
274
+ def default_key_access_justification_policy(self) -> pulumi.Output[Optional['outputs.OrganizationKajPolicyConfigDefaultKeyAccessJustificationPolicy']]:
275
+ """
276
+ The default key access justification policy used when a CryptoKey is
277
+ created in this organization. This is only used when a Key Access Justifications
278
+ policy is not provided in the CreateCryptoKeyRequest.
279
+ Structure is documented below.
280
+ """
281
+ return pulumi.get(self, "default_key_access_justification_policy")
282
+
283
+ @_builtins.property
284
+ @pulumi.getter
285
+ def organization(self) -> pulumi.Output[_builtins.str]:
286
+ """
287
+ The organization number for which to retrieve config.
288
+ """
289
+ return pulumi.get(self, "organization")
290
+
pulumi_gcp/kms/outputs.py CHANGED
@@ -33,6 +33,7 @@ __all__ = [
33
33
  'KeyRingIAMMemberCondition',
34
34
  'KeyRingImportJobAttestation',
35
35
  'KeyRingImportJobPublicKey',
36
+ 'OrganizationKajPolicyConfigDefaultKeyAccessJustificationPolicy',
36
37
  'GetCryptoKeyLatestVersionPublicKeyResult',
37
38
  'GetCryptoKeyVersionsPublicKeyResult',
38
39
  'GetCryptoKeyVersionsVersionResult',
@@ -984,6 +985,48 @@ class KeyRingImportJobPublicKey(dict):
984
985
  return pulumi.get(self, "pem")
985
986
 
986
987
 
988
+ @pulumi.output_type
989
+ class OrganizationKajPolicyConfigDefaultKeyAccessJustificationPolicy(dict):
990
+ @staticmethod
991
+ def __key_warning(key: str):
992
+ suggest = None
993
+ if key == "allowedAccessReasons":
994
+ suggest = "allowed_access_reasons"
995
+
996
+ if suggest:
997
+ pulumi.log.warn(f"Key '{key}' not found in OrganizationKajPolicyConfigDefaultKeyAccessJustificationPolicy. Access the value via the '{suggest}' property getter instead.")
998
+
999
+ def __getitem__(self, key: str) -> Any:
1000
+ OrganizationKajPolicyConfigDefaultKeyAccessJustificationPolicy.__key_warning(key)
1001
+ return super().__getitem__(key)
1002
+
1003
+ def get(self, key: str, default = None) -> Any:
1004
+ OrganizationKajPolicyConfigDefaultKeyAccessJustificationPolicy.__key_warning(key)
1005
+ return super().get(key, default)
1006
+
1007
+ def __init__(__self__, *,
1008
+ allowed_access_reasons: Optional[Sequence[_builtins.str]] = None):
1009
+ """
1010
+ :param Sequence[_builtins.str] allowed_access_reasons: A KeyAccessJustificationsPolicy specifies zero or more allowed
1011
+ AccessReason values for encrypt, decrypt, and sign operations on a
1012
+ CryptoKey.
1013
+ Each value may be one of: `CUSTOMER_INITIATED_SUPPORT`, `GOOGLE_INITIATED_SERVICE`, `THIRD_PARTY_DATA_REQUEST`, `GOOGLE_INITIATED_REVIEW`, `CUSTOMER_INITIATED_ACCESS`, `GOOGLE_INITIATED_SYSTEM_OPERATION`, `REASON_NOT_EXPECTED`, `MODIFIED_CUSTOMER_INITIATED_ACCESS`, `MODIFIED_GOOGLE_INITIATED_SYSTEM_OPERATION`, `GOOGLE_RESPONSE_TO_PRODUCTION_ALERT`, `CUSTOMER_AUTHORIZED_WORKFLOW_SERVICING`.
1014
+ """
1015
+ if allowed_access_reasons is not None:
1016
+ pulumi.set(__self__, "allowed_access_reasons", allowed_access_reasons)
1017
+
1018
+ @_builtins.property
1019
+ @pulumi.getter(name="allowedAccessReasons")
1020
+ def allowed_access_reasons(self) -> Optional[Sequence[_builtins.str]]:
1021
+ """
1022
+ A KeyAccessJustificationsPolicy specifies zero or more allowed
1023
+ AccessReason values for encrypt, decrypt, and sign operations on a
1024
+ CryptoKey.
1025
+ Each value may be one of: `CUSTOMER_INITIATED_SUPPORT`, `GOOGLE_INITIATED_SERVICE`, `THIRD_PARTY_DATA_REQUEST`, `GOOGLE_INITIATED_REVIEW`, `CUSTOMER_INITIATED_ACCESS`, `GOOGLE_INITIATED_SYSTEM_OPERATION`, `REASON_NOT_EXPECTED`, `MODIFIED_CUSTOMER_INITIATED_ACCESS`, `MODIFIED_GOOGLE_INITIATED_SYSTEM_OPERATION`, `GOOGLE_RESPONSE_TO_PRODUCTION_ALERT`, `CUSTOMER_AUTHORIZED_WORKFLOW_SERVICING`.
1026
+ """
1027
+ return pulumi.get(self, "allowed_access_reasons")
1028
+
1029
+
987
1030
  @pulumi.output_type
988
1031
  class GetCryptoKeyLatestVersionPublicKeyResult(dict):
989
1032
  def __init__(__self__, *,
@@ -564,7 +564,7 @@ class Metric(pulumi.CustomResource):
564
564
  logging_metric_metric = gcp.logging.Metric("logging_metric",
565
565
  name="my-(custom)/metric",
566
566
  filter="resource.type=gae_app AND severity>=ERROR",
567
- bucket_name=logging_metric.id)
567
+ bucket_name=logging_metric.name)
568
568
  ```
569
569
  ### Logging Metric Disabled
570
570
 
@@ -744,7 +744,7 @@ class Metric(pulumi.CustomResource):
744
744
  logging_metric_metric = gcp.logging.Metric("logging_metric",
745
745
  name="my-(custom)/metric",
746
746
  filter="resource.type=gae_app AND severity>=ERROR",
747
- bucket_name=logging_metric.id)
747
+ bucket_name=logging_metric.name)
748
748
  ```
749
749
  ### Logging Metric Disabled
750
750
 
@@ -29,6 +29,7 @@ class InstanceArgs:
29
29
  deny_maintenance_period: Optional[pulumi.Input['InstanceDenyMaintenancePeriodArgs']] = None,
30
30
  encryption_config: Optional[pulumi.Input['InstanceEncryptionConfigArgs']] = None,
31
31
  fips_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
32
+ gemini_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
32
33
  maintenance_window: Optional[pulumi.Input['InstanceMaintenanceWindowArgs']] = None,
33
34
  name: Optional[pulumi.Input[_builtins.str]] = None,
34
35
  platform_edition: Optional[pulumi.Input[_builtins.str]] = None,
@@ -62,6 +63,7 @@ class InstanceArgs:
62
63
  :param pulumi.Input['InstanceEncryptionConfigArgs'] encryption_config: Looker instance encryption settings.
63
64
  Structure is documented below.
64
65
  :param pulumi.Input[_builtins.bool] fips_enabled: FIPS 140-2 Encryption enablement for Looker (Google Cloud Core).
66
+ :param pulumi.Input[_builtins.bool] gemini_enabled: Gemini enablement for Looker (Google Cloud Core).
65
67
  :param pulumi.Input['InstanceMaintenanceWindowArgs'] maintenance_window: Maintenance window for an instance.
66
68
  Maintenance of your instance takes place once a month, and will require
67
69
  your instance to be restarted during updates, which will temporarily
@@ -116,6 +118,8 @@ class InstanceArgs:
116
118
  pulumi.set(__self__, "encryption_config", encryption_config)
117
119
  if fips_enabled is not None:
118
120
  pulumi.set(__self__, "fips_enabled", fips_enabled)
121
+ if gemini_enabled is not None:
122
+ pulumi.set(__self__, "gemini_enabled", gemini_enabled)
119
123
  if maintenance_window is not None:
120
124
  pulumi.set(__self__, "maintenance_window", maintenance_window)
121
125
  if name is not None:
@@ -247,6 +251,18 @@ class InstanceArgs:
247
251
  def fips_enabled(self, value: Optional[pulumi.Input[_builtins.bool]]):
248
252
  pulumi.set(self, "fips_enabled", value)
249
253
 
254
+ @_builtins.property
255
+ @pulumi.getter(name="geminiEnabled")
256
+ def gemini_enabled(self) -> Optional[pulumi.Input[_builtins.bool]]:
257
+ """
258
+ Gemini enablement for Looker (Google Cloud Core).
259
+ """
260
+ return pulumi.get(self, "gemini_enabled")
261
+
262
+ @gemini_enabled.setter
263
+ def gemini_enabled(self, value: Optional[pulumi.Input[_builtins.bool]]):
264
+ pulumi.set(self, "gemini_enabled", value)
265
+
250
266
  @_builtins.property
251
267
  @pulumi.getter(name="maintenanceWindow")
252
268
  def maintenance_window(self) -> Optional[pulumi.Input['InstanceMaintenanceWindowArgs']]:
@@ -419,6 +435,7 @@ class _InstanceState:
419
435
  egress_public_ip: Optional[pulumi.Input[_builtins.str]] = None,
420
436
  encryption_config: Optional[pulumi.Input['InstanceEncryptionConfigArgs']] = None,
421
437
  fips_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
438
+ gemini_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
422
439
  ingress_private_ip: Optional[pulumi.Input[_builtins.str]] = None,
423
440
  ingress_public_ip: Optional[pulumi.Input[_builtins.str]] = None,
424
441
  looker_uri: Optional[pulumi.Input[_builtins.str]] = None,
@@ -459,6 +476,7 @@ class _InstanceState:
459
476
  :param pulumi.Input['InstanceEncryptionConfigArgs'] encryption_config: Looker instance encryption settings.
460
477
  Structure is documented below.
461
478
  :param pulumi.Input[_builtins.bool] fips_enabled: FIPS 140-2 Encryption enablement for Looker (Google Cloud Core).
479
+ :param pulumi.Input[_builtins.bool] gemini_enabled: Gemini enablement for Looker (Google Cloud Core).
462
480
  :param pulumi.Input[_builtins.str] ingress_private_ip: Private Ingress IP (IPv4).
463
481
  :param pulumi.Input[_builtins.str] ingress_public_ip: Public Ingress IP (IPv4).
464
482
  :param pulumi.Input[_builtins.str] looker_uri: Looker instance URI which can be used to access the Looker Instance UI.
@@ -524,6 +542,8 @@ class _InstanceState:
524
542
  pulumi.set(__self__, "encryption_config", encryption_config)
525
543
  if fips_enabled is not None:
526
544
  pulumi.set(__self__, "fips_enabled", fips_enabled)
545
+ if gemini_enabled is not None:
546
+ pulumi.set(__self__, "gemini_enabled", gemini_enabled)
527
547
  if ingress_private_ip is not None:
528
548
  pulumi.set(__self__, "ingress_private_ip", ingress_private_ip)
529
549
  if ingress_public_ip is not None:
@@ -679,6 +699,18 @@ class _InstanceState:
679
699
  def fips_enabled(self, value: Optional[pulumi.Input[_builtins.bool]]):
680
700
  pulumi.set(self, "fips_enabled", value)
681
701
 
702
+ @_builtins.property
703
+ @pulumi.getter(name="geminiEnabled")
704
+ def gemini_enabled(self) -> Optional[pulumi.Input[_builtins.bool]]:
705
+ """
706
+ Gemini enablement for Looker (Google Cloud Core).
707
+ """
708
+ return pulumi.get(self, "gemini_enabled")
709
+
710
+ @gemini_enabled.setter
711
+ def gemini_enabled(self, value: Optional[pulumi.Input[_builtins.bool]]):
712
+ pulumi.set(self, "gemini_enabled", value)
713
+
682
714
  @_builtins.property
683
715
  @pulumi.getter(name="ingressPrivateIp")
684
716
  def ingress_private_ip(self) -> Optional[pulumi.Input[_builtins.str]]:
@@ -926,6 +958,7 @@ class Instance(pulumi.CustomResource):
926
958
  deny_maintenance_period: Optional[pulumi.Input[Union['InstanceDenyMaintenancePeriodArgs', 'InstanceDenyMaintenancePeriodArgsDict']]] = None,
927
959
  encryption_config: Optional[pulumi.Input[Union['InstanceEncryptionConfigArgs', 'InstanceEncryptionConfigArgsDict']]] = None,
928
960
  fips_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
961
+ gemini_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
929
962
  maintenance_window: Optional[pulumi.Input[Union['InstanceMaintenanceWindowArgs', 'InstanceMaintenanceWindowArgsDict']]] = None,
930
963
  name: Optional[pulumi.Input[_builtins.str]] = None,
931
964
  oauth_config: Optional[pulumi.Input[Union['InstanceOauthConfigArgs', 'InstanceOauthConfigArgsDict']]] = None,
@@ -978,6 +1011,7 @@ class Instance(pulumi.CustomResource):
978
1011
  platform_edition="LOOKER_CORE_STANDARD_ANNUAL",
979
1012
  region="us-central1",
980
1013
  public_ip_enabled=True,
1014
+ gemini_enabled=True,
981
1015
  admin_settings={
982
1016
  "allowed_email_domains": ["google.com"],
983
1017
  },
@@ -1053,6 +1087,7 @@ class Instance(pulumi.CustomResource):
1053
1087
  region="us-central1",
1054
1088
  private_ip_enabled=True,
1055
1089
  public_ip_enabled=False,
1090
+ gemini_enabled=True,
1056
1091
  reserved_range=looker_range.name,
1057
1092
  consumer_network=looker_network.id,
1058
1093
  admin_settings={
@@ -1205,6 +1240,7 @@ class Instance(pulumi.CustomResource):
1205
1240
  :param pulumi.Input[Union['InstanceEncryptionConfigArgs', 'InstanceEncryptionConfigArgsDict']] encryption_config: Looker instance encryption settings.
1206
1241
  Structure is documented below.
1207
1242
  :param pulumi.Input[_builtins.bool] fips_enabled: FIPS 140-2 Encryption enablement for Looker (Google Cloud Core).
1243
+ :param pulumi.Input[_builtins.bool] gemini_enabled: Gemini enablement for Looker (Google Cloud Core).
1208
1244
  :param pulumi.Input[Union['InstanceMaintenanceWindowArgs', 'InstanceMaintenanceWindowArgsDict']] maintenance_window: Maintenance window for an instance.
1209
1245
  Maintenance of your instance takes place once a month, and will require
1210
1246
  your instance to be restarted during updates, which will temporarily
@@ -1291,6 +1327,7 @@ class Instance(pulumi.CustomResource):
1291
1327
  platform_edition="LOOKER_CORE_STANDARD_ANNUAL",
1292
1328
  region="us-central1",
1293
1329
  public_ip_enabled=True,
1330
+ gemini_enabled=True,
1294
1331
  admin_settings={
1295
1332
  "allowed_email_domains": ["google.com"],
1296
1333
  },
@@ -1366,6 +1403,7 @@ class Instance(pulumi.CustomResource):
1366
1403
  region="us-central1",
1367
1404
  private_ip_enabled=True,
1368
1405
  public_ip_enabled=False,
1406
+ gemini_enabled=True,
1369
1407
  reserved_range=looker_range.name,
1370
1408
  consumer_network=looker_network.id,
1371
1409
  admin_settings={
@@ -1520,6 +1558,7 @@ class Instance(pulumi.CustomResource):
1520
1558
  deny_maintenance_period: Optional[pulumi.Input[Union['InstanceDenyMaintenancePeriodArgs', 'InstanceDenyMaintenancePeriodArgsDict']]] = None,
1521
1559
  encryption_config: Optional[pulumi.Input[Union['InstanceEncryptionConfigArgs', 'InstanceEncryptionConfigArgsDict']]] = None,
1522
1560
  fips_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
1561
+ gemini_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
1523
1562
  maintenance_window: Optional[pulumi.Input[Union['InstanceMaintenanceWindowArgs', 'InstanceMaintenanceWindowArgsDict']]] = None,
1524
1563
  name: Optional[pulumi.Input[_builtins.str]] = None,
1525
1564
  oauth_config: Optional[pulumi.Input[Union['InstanceOauthConfigArgs', 'InstanceOauthConfigArgsDict']]] = None,
@@ -1548,6 +1587,7 @@ class Instance(pulumi.CustomResource):
1548
1587
  __props__.__dict__["deny_maintenance_period"] = deny_maintenance_period
1549
1588
  __props__.__dict__["encryption_config"] = encryption_config
1550
1589
  __props__.__dict__["fips_enabled"] = fips_enabled
1590
+ __props__.__dict__["gemini_enabled"] = gemini_enabled
1551
1591
  __props__.__dict__["maintenance_window"] = maintenance_window
1552
1592
  __props__.__dict__["name"] = name
1553
1593
  if oauth_config is None and not opts.urn:
@@ -1588,6 +1628,7 @@ class Instance(pulumi.CustomResource):
1588
1628
  egress_public_ip: Optional[pulumi.Input[_builtins.str]] = None,
1589
1629
  encryption_config: Optional[pulumi.Input[Union['InstanceEncryptionConfigArgs', 'InstanceEncryptionConfigArgsDict']]] = None,
1590
1630
  fips_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
1631
+ gemini_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
1591
1632
  ingress_private_ip: Optional[pulumi.Input[_builtins.str]] = None,
1592
1633
  ingress_public_ip: Optional[pulumi.Input[_builtins.str]] = None,
1593
1634
  looker_uri: Optional[pulumi.Input[_builtins.str]] = None,
@@ -1633,6 +1674,7 @@ class Instance(pulumi.CustomResource):
1633
1674
  :param pulumi.Input[Union['InstanceEncryptionConfigArgs', 'InstanceEncryptionConfigArgsDict']] encryption_config: Looker instance encryption settings.
1634
1675
  Structure is documented below.
1635
1676
  :param pulumi.Input[_builtins.bool] fips_enabled: FIPS 140-2 Encryption enablement for Looker (Google Cloud Core).
1677
+ :param pulumi.Input[_builtins.bool] gemini_enabled: Gemini enablement for Looker (Google Cloud Core).
1636
1678
  :param pulumi.Input[_builtins.str] ingress_private_ip: Private Ingress IP (IPv4).
1637
1679
  :param pulumi.Input[_builtins.str] ingress_public_ip: Public Ingress IP (IPv4).
1638
1680
  :param pulumi.Input[_builtins.str] looker_uri: Looker instance URI which can be used to access the Looker Instance UI.
@@ -1693,6 +1735,7 @@ class Instance(pulumi.CustomResource):
1693
1735
  __props__.__dict__["egress_public_ip"] = egress_public_ip
1694
1736
  __props__.__dict__["encryption_config"] = encryption_config
1695
1737
  __props__.__dict__["fips_enabled"] = fips_enabled
1738
+ __props__.__dict__["gemini_enabled"] = gemini_enabled
1696
1739
  __props__.__dict__["ingress_private_ip"] = ingress_private_ip
1697
1740
  __props__.__dict__["ingress_public_ip"] = ingress_public_ip
1698
1741
  __props__.__dict__["looker_uri"] = looker_uri
@@ -1796,6 +1839,14 @@ class Instance(pulumi.CustomResource):
1796
1839
  """
1797
1840
  return pulumi.get(self, "fips_enabled")
1798
1841
 
1842
+ @_builtins.property
1843
+ @pulumi.getter(name="geminiEnabled")
1844
+ def gemini_enabled(self) -> pulumi.Output[Optional[_builtins.bool]]:
1845
+ """
1846
+ Gemini enablement for Looker (Google Cloud Core).
1847
+ """
1848
+ return pulumi.get(self, "gemini_enabled")
1849
+
1799
1850
  @_builtins.property
1800
1851
  @pulumi.getter(name="ingressPrivateIp")
1801
1852
  def ingress_private_ip(self) -> pulumi.Output[_builtins.str]: