pulumi-gcp 8.36.0a1751060819__py3-none-any.whl → 8.37.0a1751903932__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 (64) hide show
  1. pulumi_gcp/__init__.py +24 -0
  2. pulumi_gcp/apihub/__init__.py +1 -0
  3. pulumi_gcp/apihub/_inputs.py +675 -0
  4. pulumi_gcp/apihub/outputs.py +567 -0
  5. pulumi_gcp/apihub/plugin.py +1146 -0
  6. pulumi_gcp/bigqueryanalyticshub/data_exchange.py +7 -7
  7. pulumi_gcp/bigqueryanalyticshub/listing.py +7 -7
  8. pulumi_gcp/cloudidentity/group_membership.py +47 -0
  9. pulumi_gcp/cloudidentity/outputs.py +11 -0
  10. pulumi_gcp/cloudrunv2/_inputs.py +65 -9
  11. pulumi_gcp/cloudrunv2/job.py +44 -0
  12. pulumi_gcp/cloudrunv2/outputs.py +73 -8
  13. pulumi_gcp/cloudrunv2/service.py +0 -2
  14. pulumi_gcp/cloudrunv2/worker_pool.py +18 -20
  15. pulumi_gcp/compute/__init__.py +1 -0
  16. pulumi_gcp/compute/_inputs.py +763 -6
  17. pulumi_gcp/compute/disk.py +35 -28
  18. pulumi_gcp/compute/firewall_policy_rule.py +207 -0
  19. pulumi_gcp/compute/get_instance_group_manager.py +12 -1
  20. pulumi_gcp/compute/get_region_disk.py +12 -1
  21. pulumi_gcp/compute/instance_group_manager.py +165 -14
  22. pulumi_gcp/compute/network.py +56 -0
  23. pulumi_gcp/compute/network_firewall_policy.py +68 -0
  24. pulumi_gcp/compute/network_firewall_policy_with_rules.py +61 -0
  25. pulumi_gcp/compute/outputs.py +604 -4
  26. pulumi_gcp/compute/region_disk.py +114 -0
  27. pulumi_gcp/compute/region_network_firewall_policy.py +90 -0
  28. pulumi_gcp/compute/region_network_firewall_policy_with_rules.py +109 -0
  29. pulumi_gcp/compute/wire_group.py +751 -0
  30. pulumi_gcp/container/_inputs.py +135 -16
  31. pulumi_gcp/container/cluster.py +54 -0
  32. pulumi_gcp/container/get_cluster.py +12 -1
  33. pulumi_gcp/container/node_pool.py +14 -0
  34. pulumi_gcp/container/outputs.py +222 -12
  35. pulumi_gcp/diagflow/__init__.py +1 -0
  36. pulumi_gcp/diagflow/_inputs.py +431 -0
  37. pulumi_gcp/diagflow/cx_generative_settings.py +625 -0
  38. pulumi_gcp/diagflow/outputs.py +370 -0
  39. pulumi_gcp/dns/record_set.py +4 -2
  40. pulumi_gcp/firestore/database.py +0 -9
  41. pulumi_gcp/iam/_inputs.py +36 -0
  42. pulumi_gcp/iam/outputs.py +38 -0
  43. pulumi_gcp/iam/workload_identity_pool_managed_identity.py +88 -2
  44. pulumi_gcp/kms/autokey_config.py +28 -0
  45. pulumi_gcp/kms/get_autokey_config.py +12 -1
  46. pulumi_gcp/memorystore/get_instance.py +12 -1
  47. pulumi_gcp/memorystore/instance.py +49 -0
  48. pulumi_gcp/monitoring/metric_descriptor.py +55 -57
  49. pulumi_gcp/notebooks/instance.py +8 -8
  50. pulumi_gcp/pulumi-plugin.json +1 -1
  51. pulumi_gcp/redis/get_instance.py +12 -1
  52. pulumi_gcp/redis/instance.py +44 -0
  53. pulumi_gcp/secretmanager/get_regional_secret.py +12 -1
  54. pulumi_gcp/secretmanager/outputs.py +7 -0
  55. pulumi_gcp/secretmanager/regional_secret.py +38 -2
  56. pulumi_gcp/spanner/_inputs.py +24 -1
  57. pulumi_gcp/spanner/outputs.py +17 -1
  58. pulumi_gcp/storage/_inputs.py +43 -3
  59. pulumi_gcp/storage/outputs.py +53 -3
  60. pulumi_gcp/workbench/instance.py +2 -0
  61. {pulumi_gcp-8.36.0a1751060819.dist-info → pulumi_gcp-8.37.0a1751903932.dist-info}/METADATA +1 -1
  62. {pulumi_gcp-8.36.0a1751060819.dist-info → pulumi_gcp-8.37.0a1751903932.dist-info}/RECORD +64 -61
  63. {pulumi_gcp-8.36.0a1751060819.dist-info → pulumi_gcp-8.37.0a1751903932.dist-info}/WHEEL +0 -0
  64. {pulumi_gcp-8.36.0a1751060819.dist-info → pulumi_gcp-8.37.0a1751903932.dist-info}/top_level.txt +0 -0
@@ -14,6 +14,8 @@ if sys.version_info >= (3, 11):
14
14
  else:
15
15
  from typing_extensions import NotRequired, TypedDict, TypeAlias
16
16
  from .. import _utilities
17
+ from . import outputs
18
+ from ._inputs import *
17
19
 
18
20
  __all__ = ['WorkloadIdentityPoolManagedIdentityArgs', 'WorkloadIdentityPoolManagedIdentity']
19
21
 
@@ -23,6 +25,7 @@ class WorkloadIdentityPoolManagedIdentityArgs:
23
25
  workload_identity_pool_id: pulumi.Input[builtins.str],
24
26
  workload_identity_pool_managed_identity_id: pulumi.Input[builtins.str],
25
27
  workload_identity_pool_namespace_id: pulumi.Input[builtins.str],
28
+ attestation_rules: Optional[pulumi.Input[Sequence[pulumi.Input['WorkloadIdentityPoolManagedIdentityAttestationRuleArgs']]]] = None,
26
29
  description: Optional[pulumi.Input[builtins.str]] = None,
27
30
  disabled: Optional[pulumi.Input[builtins.bool]] = None,
28
31
  project: Optional[pulumi.Input[builtins.str]] = None):
@@ -48,6 +51,10 @@ class WorkloadIdentityPoolManagedIdentityArgs:
48
51
  * end with an alphanumeric character
49
52
 
50
53
  The prefix `gcp-` will be reserved for future uses.
54
+ :param pulumi.Input[Sequence[pulumi.Input['WorkloadIdentityPoolManagedIdentityAttestationRuleArgs']]] attestation_rules: Defines which workloads can receive an identity within a pool. When an AttestationRule is
55
+ defined under a managed identity, matching workloads may receive that identity. A maximum of
56
+ 50 AttestationRules can be set.
57
+ Structure is documented below.
51
58
  :param pulumi.Input[builtins.str] description: A description of the managed identity. Cannot exceed 256 characters.
52
59
  :param pulumi.Input[builtins.bool] disabled: Whether the managed identity is disabled. If disabled, credentials may no longer be issued for
53
60
  the identity, however existing credentials will still be accepted until they expire.
@@ -57,6 +64,8 @@ class WorkloadIdentityPoolManagedIdentityArgs:
57
64
  pulumi.set(__self__, "workload_identity_pool_id", workload_identity_pool_id)
58
65
  pulumi.set(__self__, "workload_identity_pool_managed_identity_id", workload_identity_pool_managed_identity_id)
59
66
  pulumi.set(__self__, "workload_identity_pool_namespace_id", workload_identity_pool_namespace_id)
67
+ if attestation_rules is not None:
68
+ pulumi.set(__self__, "attestation_rules", attestation_rules)
60
69
  if description is not None:
61
70
  pulumi.set(__self__, "description", description)
62
71
  if disabled is not None:
@@ -117,6 +126,21 @@ class WorkloadIdentityPoolManagedIdentityArgs:
117
126
  def workload_identity_pool_namespace_id(self, value: pulumi.Input[builtins.str]):
118
127
  pulumi.set(self, "workload_identity_pool_namespace_id", value)
119
128
 
129
+ @property
130
+ @pulumi.getter(name="attestationRules")
131
+ def attestation_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WorkloadIdentityPoolManagedIdentityAttestationRuleArgs']]]]:
132
+ """
133
+ Defines which workloads can receive an identity within a pool. When an AttestationRule is
134
+ defined under a managed identity, matching workloads may receive that identity. A maximum of
135
+ 50 AttestationRules can be set.
136
+ Structure is documented below.
137
+ """
138
+ return pulumi.get(self, "attestation_rules")
139
+
140
+ @attestation_rules.setter
141
+ def attestation_rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WorkloadIdentityPoolManagedIdentityAttestationRuleArgs']]]]):
142
+ pulumi.set(self, "attestation_rules", value)
143
+
120
144
  @property
121
145
  @pulumi.getter
122
146
  def description(self) -> Optional[pulumi.Input[builtins.str]]:
@@ -159,6 +183,7 @@ class WorkloadIdentityPoolManagedIdentityArgs:
159
183
  @pulumi.input_type
160
184
  class _WorkloadIdentityPoolManagedIdentityState:
161
185
  def __init__(__self__, *,
186
+ attestation_rules: Optional[pulumi.Input[Sequence[pulumi.Input['WorkloadIdentityPoolManagedIdentityAttestationRuleArgs']]]] = None,
162
187
  description: Optional[pulumi.Input[builtins.str]] = None,
163
188
  disabled: Optional[pulumi.Input[builtins.bool]] = None,
164
189
  name: Optional[pulumi.Input[builtins.str]] = None,
@@ -169,6 +194,10 @@ class _WorkloadIdentityPoolManagedIdentityState:
169
194
  workload_identity_pool_namespace_id: Optional[pulumi.Input[builtins.str]] = None):
170
195
  """
171
196
  Input properties used for looking up and filtering WorkloadIdentityPoolManagedIdentity resources.
197
+ :param pulumi.Input[Sequence[pulumi.Input['WorkloadIdentityPoolManagedIdentityAttestationRuleArgs']]] attestation_rules: Defines which workloads can receive an identity within a pool. When an AttestationRule is
198
+ defined under a managed identity, matching workloads may receive that identity. A maximum of
199
+ 50 AttestationRules can be set.
200
+ Structure is documented below.
172
201
  :param pulumi.Input[builtins.str] description: A description of the managed identity. Cannot exceed 256 characters.
173
202
  :param pulumi.Input[builtins.bool] disabled: Whether the managed identity is disabled. If disabled, credentials may no longer be issued for
174
203
  the identity, however existing credentials will still be accepted until they expire.
@@ -203,6 +232,8 @@ class _WorkloadIdentityPoolManagedIdentityState:
203
232
 
204
233
  The prefix `gcp-` will be reserved for future uses.
205
234
  """
235
+ if attestation_rules is not None:
236
+ pulumi.set(__self__, "attestation_rules", attestation_rules)
206
237
  if description is not None:
207
238
  pulumi.set(__self__, "description", description)
208
239
  if disabled is not None:
@@ -220,6 +251,21 @@ class _WorkloadIdentityPoolManagedIdentityState:
220
251
  if workload_identity_pool_namespace_id is not None:
221
252
  pulumi.set(__self__, "workload_identity_pool_namespace_id", workload_identity_pool_namespace_id)
222
253
 
254
+ @property
255
+ @pulumi.getter(name="attestationRules")
256
+ def attestation_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WorkloadIdentityPoolManagedIdentityAttestationRuleArgs']]]]:
257
+ """
258
+ Defines which workloads can receive an identity within a pool. When an AttestationRule is
259
+ defined under a managed identity, matching workloads may receive that identity. A maximum of
260
+ 50 AttestationRules can be set.
261
+ Structure is documented below.
262
+ """
263
+ return pulumi.get(self, "attestation_rules")
264
+
265
+ @attestation_rules.setter
266
+ def attestation_rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WorkloadIdentityPoolManagedIdentityAttestationRuleArgs']]]]):
267
+ pulumi.set(self, "attestation_rules", value)
268
+
223
269
  @property
224
270
  @pulumi.getter
225
271
  def description(self) -> Optional[pulumi.Input[builtins.str]]:
@@ -348,6 +394,7 @@ class WorkloadIdentityPoolManagedIdentity(pulumi.CustomResource):
348
394
  def __init__(__self__,
349
395
  resource_name: str,
350
396
  opts: Optional[pulumi.ResourceOptions] = None,
397
+ attestation_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['WorkloadIdentityPoolManagedIdentityAttestationRuleArgs', 'WorkloadIdentityPoolManagedIdentityAttestationRuleArgsDict']]]]] = None,
351
398
  description: Optional[pulumi.Input[builtins.str]] = None,
352
399
  disabled: Optional[pulumi.Input[builtins.bool]] = None,
353
400
  project: Optional[pulumi.Input[builtins.str]] = None,
@@ -392,7 +439,15 @@ class WorkloadIdentityPoolManagedIdentity(pulumi.CustomResource):
392
439
  workload_identity_pool_namespace_id=ns.workload_identity_pool_namespace_id,
393
440
  workload_identity_pool_managed_identity_id="example-managed-identity",
394
441
  description="Example Managed Identity in a Workload Identity Pool Namespace",
395
- disabled=True)
442
+ disabled=True,
443
+ attestation_rules=[
444
+ {
445
+ "google_cloud_resource": "//compute.googleapis.com/projects/1111111111111/uid/zones/us-central1-a/instances/12345678",
446
+ },
447
+ {
448
+ "google_cloud_resource": "//run.googleapis.com/projects/1111111111111/name/locations/us-east1/services/my-service",
449
+ },
450
+ ])
396
451
  ```
397
452
 
398
453
  ## Import
@@ -421,6 +476,10 @@ class WorkloadIdentityPoolManagedIdentity(pulumi.CustomResource):
421
476
 
422
477
  :param str resource_name: The name of the resource.
423
478
  :param pulumi.ResourceOptions opts: Options for the resource.
479
+ :param pulumi.Input[Sequence[pulumi.Input[Union['WorkloadIdentityPoolManagedIdentityAttestationRuleArgs', 'WorkloadIdentityPoolManagedIdentityAttestationRuleArgsDict']]]] attestation_rules: Defines which workloads can receive an identity within a pool. When an AttestationRule is
480
+ defined under a managed identity, matching workloads may receive that identity. A maximum of
481
+ 50 AttestationRules can be set.
482
+ Structure is documented below.
424
483
  :param pulumi.Input[builtins.str] description: A description of the managed identity. Cannot exceed 256 characters.
425
484
  :param pulumi.Input[builtins.bool] disabled: Whether the managed identity is disabled. If disabled, credentials may no longer be issued for
426
485
  the identity, however existing credentials will still be accepted until they expire.
@@ -490,7 +549,15 @@ class WorkloadIdentityPoolManagedIdentity(pulumi.CustomResource):
490
549
  workload_identity_pool_namespace_id=ns.workload_identity_pool_namespace_id,
491
550
  workload_identity_pool_managed_identity_id="example-managed-identity",
492
551
  description="Example Managed Identity in a Workload Identity Pool Namespace",
493
- disabled=True)
552
+ disabled=True,
553
+ attestation_rules=[
554
+ {
555
+ "google_cloud_resource": "//compute.googleapis.com/projects/1111111111111/uid/zones/us-central1-a/instances/12345678",
556
+ },
557
+ {
558
+ "google_cloud_resource": "//run.googleapis.com/projects/1111111111111/name/locations/us-east1/services/my-service",
559
+ },
560
+ ])
494
561
  ```
495
562
 
496
563
  ## Import
@@ -532,6 +599,7 @@ class WorkloadIdentityPoolManagedIdentity(pulumi.CustomResource):
532
599
  def _internal_init(__self__,
533
600
  resource_name: str,
534
601
  opts: Optional[pulumi.ResourceOptions] = None,
602
+ attestation_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['WorkloadIdentityPoolManagedIdentityAttestationRuleArgs', 'WorkloadIdentityPoolManagedIdentityAttestationRuleArgsDict']]]]] = None,
535
603
  description: Optional[pulumi.Input[builtins.str]] = None,
536
604
  disabled: Optional[pulumi.Input[builtins.bool]] = None,
537
605
  project: Optional[pulumi.Input[builtins.str]] = None,
@@ -547,6 +615,7 @@ class WorkloadIdentityPoolManagedIdentity(pulumi.CustomResource):
547
615
  raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
548
616
  __props__ = WorkloadIdentityPoolManagedIdentityArgs.__new__(WorkloadIdentityPoolManagedIdentityArgs)
549
617
 
618
+ __props__.__dict__["attestation_rules"] = attestation_rules
550
619
  __props__.__dict__["description"] = description
551
620
  __props__.__dict__["disabled"] = disabled
552
621
  __props__.__dict__["project"] = project
@@ -571,6 +640,7 @@ class WorkloadIdentityPoolManagedIdentity(pulumi.CustomResource):
571
640
  def get(resource_name: str,
572
641
  id: pulumi.Input[str],
573
642
  opts: Optional[pulumi.ResourceOptions] = None,
643
+ attestation_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['WorkloadIdentityPoolManagedIdentityAttestationRuleArgs', 'WorkloadIdentityPoolManagedIdentityAttestationRuleArgsDict']]]]] = None,
574
644
  description: Optional[pulumi.Input[builtins.str]] = None,
575
645
  disabled: Optional[pulumi.Input[builtins.bool]] = None,
576
646
  name: Optional[pulumi.Input[builtins.str]] = None,
@@ -586,6 +656,10 @@ class WorkloadIdentityPoolManagedIdentity(pulumi.CustomResource):
586
656
  :param str resource_name: The unique name of the resulting resource.
587
657
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
588
658
  :param pulumi.ResourceOptions opts: Options for the resource.
659
+ :param pulumi.Input[Sequence[pulumi.Input[Union['WorkloadIdentityPoolManagedIdentityAttestationRuleArgs', 'WorkloadIdentityPoolManagedIdentityAttestationRuleArgsDict']]]] attestation_rules: Defines which workloads can receive an identity within a pool. When an AttestationRule is
660
+ defined under a managed identity, matching workloads may receive that identity. A maximum of
661
+ 50 AttestationRules can be set.
662
+ Structure is documented below.
589
663
  :param pulumi.Input[builtins.str] description: A description of the managed identity. Cannot exceed 256 characters.
590
664
  :param pulumi.Input[builtins.bool] disabled: Whether the managed identity is disabled. If disabled, credentials may no longer be issued for
591
665
  the identity, however existing credentials will still be accepted until they expire.
@@ -624,6 +698,7 @@ class WorkloadIdentityPoolManagedIdentity(pulumi.CustomResource):
624
698
 
625
699
  __props__ = _WorkloadIdentityPoolManagedIdentityState.__new__(_WorkloadIdentityPoolManagedIdentityState)
626
700
 
701
+ __props__.__dict__["attestation_rules"] = attestation_rules
627
702
  __props__.__dict__["description"] = description
628
703
  __props__.__dict__["disabled"] = disabled
629
704
  __props__.__dict__["name"] = name
@@ -634,6 +709,17 @@ class WorkloadIdentityPoolManagedIdentity(pulumi.CustomResource):
634
709
  __props__.__dict__["workload_identity_pool_namespace_id"] = workload_identity_pool_namespace_id
635
710
  return WorkloadIdentityPoolManagedIdentity(resource_name, opts=opts, __props__=__props__)
636
711
 
712
+ @property
713
+ @pulumi.getter(name="attestationRules")
714
+ def attestation_rules(self) -> pulumi.Output[Optional[Sequence['outputs.WorkloadIdentityPoolManagedIdentityAttestationRule']]]:
715
+ """
716
+ Defines which workloads can receive an identity within a pool. When an AttestationRule is
717
+ defined under a managed identity, matching workloads may receive that identity. A maximum of
718
+ 50 AttestationRules can be set.
719
+ Structure is documented below.
720
+ """
721
+ return pulumi.get(self, "attestation_rules")
722
+
637
723
  @property
638
724
  @pulumi.getter
639
725
  def description(self) -> pulumi.Output[Optional[builtins.str]]:
@@ -69,10 +69,12 @@ class AutokeyConfigArgs:
69
69
  @pulumi.input_type
70
70
  class _AutokeyConfigState:
71
71
  def __init__(__self__, *,
72
+ etag: Optional[pulumi.Input[builtins.str]] = None,
72
73
  folder: Optional[pulumi.Input[builtins.str]] = None,
73
74
  key_project: Optional[pulumi.Input[builtins.str]] = None):
74
75
  """
75
76
  Input properties used for looking up and filtering AutokeyConfig resources.
77
+ :param pulumi.Input[builtins.str] etag: The etag of the AutokeyConfig for optimistic concurrency control.
76
78
  :param pulumi.Input[builtins.str] folder: The folder for which to retrieve config.
77
79
 
78
80
 
@@ -81,11 +83,25 @@ class _AutokeyConfigState:
81
83
  CryptoKey for any new KeyHandle the Developer creates. Should have the form
82
84
  `projects/<project_id_or_number>`.
83
85
  """
86
+ if etag is not None:
87
+ pulumi.set(__self__, "etag", etag)
84
88
  if folder is not None:
85
89
  pulumi.set(__self__, "folder", folder)
86
90
  if key_project is not None:
87
91
  pulumi.set(__self__, "key_project", key_project)
88
92
 
93
+ @property
94
+ @pulumi.getter
95
+ def etag(self) -> Optional[pulumi.Input[builtins.str]]:
96
+ """
97
+ The etag of the AutokeyConfig for optimistic concurrency control.
98
+ """
99
+ return pulumi.get(self, "etag")
100
+
101
+ @etag.setter
102
+ def etag(self, value: Optional[pulumi.Input[builtins.str]]):
103
+ pulumi.set(self, "etag", value)
104
+
89
105
  @property
90
106
  @pulumi.getter
91
107
  def folder(self) -> Optional[pulumi.Input[builtins.str]]:
@@ -327,6 +343,7 @@ class AutokeyConfig(pulumi.CustomResource):
327
343
  raise TypeError("Missing required property 'folder'")
328
344
  __props__.__dict__["folder"] = folder
329
345
  __props__.__dict__["key_project"] = key_project
346
+ __props__.__dict__["etag"] = None
330
347
  super(AutokeyConfig, __self__).__init__(
331
348
  'gcp:kms/autokeyConfig:AutokeyConfig',
332
349
  resource_name,
@@ -337,6 +354,7 @@ class AutokeyConfig(pulumi.CustomResource):
337
354
  def get(resource_name: str,
338
355
  id: pulumi.Input[str],
339
356
  opts: Optional[pulumi.ResourceOptions] = None,
357
+ etag: Optional[pulumi.Input[builtins.str]] = None,
340
358
  folder: Optional[pulumi.Input[builtins.str]] = None,
341
359
  key_project: Optional[pulumi.Input[builtins.str]] = None) -> 'AutokeyConfig':
342
360
  """
@@ -346,6 +364,7 @@ class AutokeyConfig(pulumi.CustomResource):
346
364
  :param str resource_name: The unique name of the resulting resource.
347
365
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
348
366
  :param pulumi.ResourceOptions opts: Options for the resource.
367
+ :param pulumi.Input[builtins.str] etag: The etag of the AutokeyConfig for optimistic concurrency control.
349
368
  :param pulumi.Input[builtins.str] folder: The folder for which to retrieve config.
350
369
 
351
370
 
@@ -358,10 +377,19 @@ class AutokeyConfig(pulumi.CustomResource):
358
377
 
359
378
  __props__ = _AutokeyConfigState.__new__(_AutokeyConfigState)
360
379
 
380
+ __props__.__dict__["etag"] = etag
361
381
  __props__.__dict__["folder"] = folder
362
382
  __props__.__dict__["key_project"] = key_project
363
383
  return AutokeyConfig(resource_name, opts=opts, __props__=__props__)
364
384
 
385
+ @property
386
+ @pulumi.getter
387
+ def etag(self) -> pulumi.Output[builtins.str]:
388
+ """
389
+ The etag of the AutokeyConfig for optimistic concurrency control.
390
+ """
391
+ return pulumi.get(self, "etag")
392
+
365
393
  @property
366
394
  @pulumi.getter
367
395
  def folder(self) -> pulumi.Output[builtins.str]:
@@ -27,7 +27,10 @@ class GetAutokeyConfigResult:
27
27
  """
28
28
  A collection of values returned by getAutokeyConfig.
29
29
  """
30
- def __init__(__self__, folder=None, id=None, key_project=None):
30
+ def __init__(__self__, etag=None, folder=None, id=None, key_project=None):
31
+ if etag and not isinstance(etag, str):
32
+ raise TypeError("Expected argument 'etag' to be a str")
33
+ pulumi.set(__self__, "etag", etag)
31
34
  if folder and not isinstance(folder, str):
32
35
  raise TypeError("Expected argument 'folder' to be a str")
33
36
  pulumi.set(__self__, "folder", folder)
@@ -38,6 +41,11 @@ class GetAutokeyConfigResult:
38
41
  raise TypeError("Expected argument 'key_project' to be a str")
39
42
  pulumi.set(__self__, "key_project", key_project)
40
43
 
44
+ @property
45
+ @pulumi.getter
46
+ def etag(self) -> builtins.str:
47
+ return pulumi.get(self, "etag")
48
+
41
49
  @property
42
50
  @pulumi.getter
43
51
  def folder(self) -> builtins.str:
@@ -66,6 +74,7 @@ class AwaitableGetAutokeyConfigResult(GetAutokeyConfigResult):
66
74
  if False:
67
75
  yield self
68
76
  return GetAutokeyConfigResult(
77
+ etag=self.etag,
69
78
  folder=self.folder,
70
79
  id=self.id,
71
80
  key_project=self.key_project)
@@ -93,6 +102,7 @@ def get_autokey_config(folder: Optional[builtins.str] = None,
93
102
  __ret__ = pulumi.runtime.invoke('gcp:kms/getAutokeyConfig:getAutokeyConfig', __args__, opts=opts, typ=GetAutokeyConfigResult).value
94
103
 
95
104
  return AwaitableGetAutokeyConfigResult(
105
+ etag=pulumi.get(__ret__, 'etag'),
96
106
  folder=pulumi.get(__ret__, 'folder'),
97
107
  id=pulumi.get(__ret__, 'id'),
98
108
  key_project=pulumi.get(__ret__, 'key_project'))
@@ -117,6 +127,7 @@ def get_autokey_config_output(folder: Optional[pulumi.Input[builtins.str]] = Non
117
127
  opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
118
128
  __ret__ = pulumi.runtime.invoke_output('gcp:kms/getAutokeyConfig:getAutokeyConfig', __args__, opts=opts, typ=GetAutokeyConfigResult)
119
129
  return __ret__.apply(lambda __response__: GetAutokeyConfigResult(
130
+ etag=pulumi.get(__response__, 'etag'),
120
131
  folder=pulumi.get(__response__, 'folder'),
121
132
  id=pulumi.get(__response__, 'id'),
122
133
  key_project=pulumi.get(__response__, 'key_project')))
@@ -28,7 +28,7 @@ class GetInstanceResult:
28
28
  """
29
29
  A collection of values returned by getInstance.
30
30
  """
31
- def __init__(__self__, authorization_mode=None, automated_backup_configs=None, backup_collection=None, create_time=None, cross_instance_replication_configs=None, deletion_protection_enabled=None, desired_auto_created_endpoints=None, desired_psc_auto_connections=None, discovery_endpoints=None, effective_labels=None, endpoints=None, engine_configs=None, engine_version=None, gcs_sources=None, id=None, instance_id=None, labels=None, location=None, maintenance_policies=None, maintenance_schedules=None, managed_backup_sources=None, mode=None, name=None, node_configs=None, node_type=None, persistence_configs=None, project=None, psc_attachment_details=None, psc_auto_connections=None, pulumi_labels=None, replica_count=None, shard_count=None, state=None, state_infos=None, transit_encryption_mode=None, uid=None, update_time=None, zone_distribution_configs=None):
31
+ def __init__(__self__, authorization_mode=None, automated_backup_configs=None, backup_collection=None, create_time=None, cross_instance_replication_configs=None, deletion_protection_enabled=None, desired_auto_created_endpoints=None, desired_psc_auto_connections=None, discovery_endpoints=None, effective_labels=None, endpoints=None, engine_configs=None, engine_version=None, gcs_sources=None, id=None, instance_id=None, kms_key=None, labels=None, location=None, maintenance_policies=None, maintenance_schedules=None, managed_backup_sources=None, mode=None, name=None, node_configs=None, node_type=None, persistence_configs=None, project=None, psc_attachment_details=None, psc_auto_connections=None, pulumi_labels=None, replica_count=None, shard_count=None, state=None, state_infos=None, transit_encryption_mode=None, uid=None, update_time=None, zone_distribution_configs=None):
32
32
  if authorization_mode and not isinstance(authorization_mode, str):
33
33
  raise TypeError("Expected argument 'authorization_mode' to be a str")
34
34
  pulumi.set(__self__, "authorization_mode", authorization_mode)
@@ -77,6 +77,9 @@ class GetInstanceResult:
77
77
  if instance_id and not isinstance(instance_id, str):
78
78
  raise TypeError("Expected argument 'instance_id' to be a str")
79
79
  pulumi.set(__self__, "instance_id", instance_id)
80
+ if kms_key and not isinstance(kms_key, str):
81
+ raise TypeError("Expected argument 'kms_key' to be a str")
82
+ pulumi.set(__self__, "kms_key", kms_key)
80
83
  if labels and not isinstance(labels, dict):
81
84
  raise TypeError("Expected argument 'labels' to be a dict")
82
85
  pulumi.set(__self__, "labels", labels)
@@ -227,6 +230,11 @@ class GetInstanceResult:
227
230
  def instance_id(self) -> builtins.str:
228
231
  return pulumi.get(self, "instance_id")
229
232
 
233
+ @property
234
+ @pulumi.getter(name="kmsKey")
235
+ def kms_key(self) -> builtins.str:
236
+ return pulumi.get(self, "kms_key")
237
+
230
238
  @property
231
239
  @pulumi.getter
232
240
  def labels(self) -> Mapping[str, builtins.str]:
@@ -360,6 +368,7 @@ class AwaitableGetInstanceResult(GetInstanceResult):
360
368
  gcs_sources=self.gcs_sources,
361
369
  id=self.id,
362
370
  instance_id=self.instance_id,
371
+ kms_key=self.kms_key,
363
372
  labels=self.labels,
364
373
  location=self.location,
365
374
  maintenance_policies=self.maintenance_policies,
@@ -432,6 +441,7 @@ def get_instance(instance_id: Optional[builtins.str] = None,
432
441
  gcs_sources=pulumi.get(__ret__, 'gcs_sources'),
433
442
  id=pulumi.get(__ret__, 'id'),
434
443
  instance_id=pulumi.get(__ret__, 'instance_id'),
444
+ kms_key=pulumi.get(__ret__, 'kms_key'),
435
445
  labels=pulumi.get(__ret__, 'labels'),
436
446
  location=pulumi.get(__ret__, 'location'),
437
447
  maintenance_policies=pulumi.get(__ret__, 'maintenance_policies'),
@@ -501,6 +511,7 @@ def get_instance_output(instance_id: Optional[pulumi.Input[builtins.str]] = None
501
511
  gcs_sources=pulumi.get(__response__, 'gcs_sources'),
502
512
  id=pulumi.get(__response__, 'id'),
503
513
  instance_id=pulumi.get(__response__, 'instance_id'),
514
+ kms_key=pulumi.get(__response__, 'kms_key'),
504
515
  labels=pulumi.get(__response__, 'labels'),
505
516
  location=pulumi.get(__response__, 'location'),
506
517
  maintenance_policies=pulumi.get(__response__, 'maintenance_policies'),
@@ -34,6 +34,7 @@ class InstanceArgs:
34
34
  engine_configs: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
35
35
  engine_version: Optional[pulumi.Input[builtins.str]] = None,
36
36
  gcs_source: Optional[pulumi.Input['InstanceGcsSourceArgs']] = None,
37
+ kms_key: Optional[pulumi.Input[builtins.str]] = None,
37
38
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
38
39
  maintenance_policy: Optional[pulumi.Input['InstanceMaintenancePolicyArgs']] = None,
39
40
  managed_backup_source: Optional[pulumi.Input['InstanceManagedBackupSourceArgs']] = None,
@@ -73,6 +74,7 @@ class InstanceArgs:
73
74
  :param pulumi.Input[builtins.str] engine_version: Optional. Engine version of the instance.
74
75
  :param pulumi.Input['InstanceGcsSourceArgs'] gcs_source: GCS source for the instance.
75
76
  Structure is documented below.
77
+ :param pulumi.Input[builtins.str] kms_key: The KMS key used to encrypt the at-rest data of the cluster
76
78
  :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] labels: Optional. Labels to represent user-provided metadata.
77
79
  **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
78
80
  Please refer to the field `effective_labels` for all of the labels present on the resource.
@@ -127,6 +129,8 @@ class InstanceArgs:
127
129
  pulumi.set(__self__, "engine_version", engine_version)
128
130
  if gcs_source is not None:
129
131
  pulumi.set(__self__, "gcs_source", gcs_source)
132
+ if kms_key is not None:
133
+ pulumi.set(__self__, "kms_key", kms_key)
130
134
  if labels is not None:
131
135
  pulumi.set(__self__, "labels", labels)
132
136
  if maintenance_policy is not None:
@@ -308,6 +312,18 @@ class InstanceArgs:
308
312
  def gcs_source(self, value: Optional[pulumi.Input['InstanceGcsSourceArgs']]):
309
313
  pulumi.set(self, "gcs_source", value)
310
314
 
315
+ @property
316
+ @pulumi.getter(name="kmsKey")
317
+ def kms_key(self) -> Optional[pulumi.Input[builtins.str]]:
318
+ """
319
+ The KMS key used to encrypt the at-rest data of the cluster
320
+ """
321
+ return pulumi.get(self, "kms_key")
322
+
323
+ @kms_key.setter
324
+ def kms_key(self, value: Optional[pulumi.Input[builtins.str]]):
325
+ pulumi.set(self, "kms_key", value)
326
+
311
327
  @property
312
328
  @pulumi.getter
313
329
  def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]:
@@ -466,6 +482,7 @@ class _InstanceState:
466
482
  engine_version: Optional[pulumi.Input[builtins.str]] = None,
467
483
  gcs_source: Optional[pulumi.Input['InstanceGcsSourceArgs']] = None,
468
484
  instance_id: Optional[pulumi.Input[builtins.str]] = None,
485
+ kms_key: Optional[pulumi.Input[builtins.str]] = None,
469
486
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
470
487
  location: Optional[pulumi.Input[builtins.str]] = None,
471
488
  maintenance_policy: Optional[pulumi.Input['InstanceMaintenancePolicyArgs']] = None,
@@ -525,6 +542,7 @@ class _InstanceState:
525
542
 
526
543
 
527
544
  - - -
545
+ :param pulumi.Input[builtins.str] kms_key: The KMS key used to encrypt the at-rest data of the cluster
528
546
  :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] labels: Optional. Labels to represent user-provided metadata.
529
547
  **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
530
548
  Please refer to the field `effective_labels` for all of the labels present on the resource.
@@ -616,6 +634,8 @@ class _InstanceState:
616
634
  pulumi.set(__self__, "gcs_source", gcs_source)
617
635
  if instance_id is not None:
618
636
  pulumi.set(__self__, "instance_id", instance_id)
637
+ if kms_key is not None:
638
+ pulumi.set(__self__, "kms_key", kms_key)
619
639
  if labels is not None:
620
640
  pulumi.set(__self__, "labels", labels)
621
641
  if location is not None:
@@ -866,6 +886,18 @@ class _InstanceState:
866
886
  def instance_id(self, value: Optional[pulumi.Input[builtins.str]]):
867
887
  pulumi.set(self, "instance_id", value)
868
888
 
889
+ @property
890
+ @pulumi.getter(name="kmsKey")
891
+ def kms_key(self) -> Optional[pulumi.Input[builtins.str]]:
892
+ """
893
+ The KMS key used to encrypt the at-rest data of the cluster
894
+ """
895
+ return pulumi.get(self, "kms_key")
896
+
897
+ @kms_key.setter
898
+ def kms_key(self, value: Optional[pulumi.Input[builtins.str]]):
899
+ pulumi.set(self, "kms_key", value)
900
+
869
901
  @property
870
902
  @pulumi.getter
871
903
  def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]:
@@ -1180,6 +1212,7 @@ class Instance(pulumi.CustomResource):
1180
1212
  engine_version: Optional[pulumi.Input[builtins.str]] = None,
1181
1213
  gcs_source: Optional[pulumi.Input[Union['InstanceGcsSourceArgs', 'InstanceGcsSourceArgsDict']]] = None,
1182
1214
  instance_id: Optional[pulumi.Input[builtins.str]] = None,
1215
+ kms_key: Optional[pulumi.Input[builtins.str]] = None,
1183
1216
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
1184
1217
  location: Optional[pulumi.Input[builtins.str]] = None,
1185
1218
  maintenance_policy: Optional[pulumi.Input[Union['InstanceMaintenancePolicyArgs', 'InstanceMaintenancePolicyArgsDict']]] = None,
@@ -1286,6 +1319,7 @@ class Instance(pulumi.CustomResource):
1286
1319
  node_type="SHARED_CORE_NANO",
1287
1320
  transit_encryption_mode="TRANSIT_ENCRYPTION_DISABLED",
1288
1321
  authorization_mode="AUTH_DISABLED",
1322
+ kms_key="my-key",
1289
1323
  engine_configs={
1290
1324
  "maxmemory-policy": "volatile-ttl",
1291
1325
  },
@@ -1524,6 +1558,7 @@ class Instance(pulumi.CustomResource):
1524
1558
 
1525
1559
 
1526
1560
  - - -
1561
+ :param pulumi.Input[builtins.str] kms_key: The KMS key used to encrypt the at-rest data of the cluster
1527
1562
  :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] labels: Optional. Labels to represent user-provided metadata.
1528
1563
  **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
1529
1564
  Please refer to the field `effective_labels` for all of the labels present on the resource.
@@ -1655,6 +1690,7 @@ class Instance(pulumi.CustomResource):
1655
1690
  node_type="SHARED_CORE_NANO",
1656
1691
  transit_encryption_mode="TRANSIT_ENCRYPTION_DISABLED",
1657
1692
  authorization_mode="AUTH_DISABLED",
1693
+ kms_key="my-key",
1658
1694
  engine_configs={
1659
1695
  "maxmemory-policy": "volatile-ttl",
1660
1696
  },
@@ -1891,6 +1927,7 @@ class Instance(pulumi.CustomResource):
1891
1927
  engine_version: Optional[pulumi.Input[builtins.str]] = None,
1892
1928
  gcs_source: Optional[pulumi.Input[Union['InstanceGcsSourceArgs', 'InstanceGcsSourceArgsDict']]] = None,
1893
1929
  instance_id: Optional[pulumi.Input[builtins.str]] = None,
1930
+ kms_key: Optional[pulumi.Input[builtins.str]] = None,
1894
1931
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
1895
1932
  location: Optional[pulumi.Input[builtins.str]] = None,
1896
1933
  maintenance_policy: Optional[pulumi.Input[Union['InstanceMaintenancePolicyArgs', 'InstanceMaintenancePolicyArgsDict']]] = None,
@@ -1924,6 +1961,7 @@ class Instance(pulumi.CustomResource):
1924
1961
  if instance_id is None and not opts.urn:
1925
1962
  raise TypeError("Missing required property 'instance_id'")
1926
1963
  __props__.__dict__["instance_id"] = instance_id
1964
+ __props__.__dict__["kms_key"] = kms_key
1927
1965
  __props__.__dict__["labels"] = labels
1928
1966
  if location is None and not opts.urn:
1929
1967
  raise TypeError("Missing required property 'location'")
@@ -1982,6 +2020,7 @@ class Instance(pulumi.CustomResource):
1982
2020
  engine_version: Optional[pulumi.Input[builtins.str]] = None,
1983
2021
  gcs_source: Optional[pulumi.Input[Union['InstanceGcsSourceArgs', 'InstanceGcsSourceArgsDict']]] = None,
1984
2022
  instance_id: Optional[pulumi.Input[builtins.str]] = None,
2023
+ kms_key: Optional[pulumi.Input[builtins.str]] = None,
1985
2024
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
1986
2025
  location: Optional[pulumi.Input[builtins.str]] = None,
1987
2026
  maintenance_policy: Optional[pulumi.Input[Union['InstanceMaintenancePolicyArgs', 'InstanceMaintenancePolicyArgsDict']]] = None,
@@ -2046,6 +2085,7 @@ class Instance(pulumi.CustomResource):
2046
2085
 
2047
2086
 
2048
2087
  - - -
2088
+ :param pulumi.Input[builtins.str] kms_key: The KMS key used to encrypt the at-rest data of the cluster
2049
2089
  :param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] labels: Optional. Labels to represent user-provided metadata.
2050
2090
  **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
2051
2091
  Please refer to the field `effective_labels` for all of the labels present on the resource.
@@ -2120,6 +2160,7 @@ class Instance(pulumi.CustomResource):
2120
2160
  __props__.__dict__["engine_version"] = engine_version
2121
2161
  __props__.__dict__["gcs_source"] = gcs_source
2122
2162
  __props__.__dict__["instance_id"] = instance_id
2163
+ __props__.__dict__["kms_key"] = kms_key
2123
2164
  __props__.__dict__["labels"] = labels
2124
2165
  __props__.__dict__["location"] = location
2125
2166
  __props__.__dict__["maintenance_policy"] = maintenance_policy
@@ -2286,6 +2327,14 @@ class Instance(pulumi.CustomResource):
2286
2327
  """
2287
2328
  return pulumi.get(self, "instance_id")
2288
2329
 
2330
+ @property
2331
+ @pulumi.getter(name="kmsKey")
2332
+ def kms_key(self) -> pulumi.Output[Optional[builtins.str]]:
2333
+ """
2334
+ The KMS key used to encrypt the at-rest data of the cluster
2335
+ """
2336
+ return pulumi.get(self, "kms_key")
2337
+
2289
2338
  @property
2290
2339
  @pulumi.getter
2291
2340
  def labels(self) -> pulumi.Output[Optional[Mapping[str, builtins.str]]]: