pulumi-gcp 8.17.0a1738274430__py3-none-any.whl → 8.18.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 (137) hide show
  1. pulumi_gcp/__init__.py +115 -0
  2. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_resource.py +28 -0
  3. pulumi_gcp/alloydb/cluster.py +75 -7
  4. pulumi_gcp/alloydb/user.py +10 -1
  5. pulumi_gcp/apigee/_inputs.py +91 -0
  6. pulumi_gcp/apigee/endpoint_attachment.py +0 -64
  7. pulumi_gcp/apigee/environment.py +54 -0
  8. pulumi_gcp/apigee/outputs.py +54 -0
  9. pulumi_gcp/apihub/__init__.py +10 -0
  10. pulumi_gcp/apihub/_inputs.py +154 -0
  11. pulumi_gcp/apihub/api_hub_instance.py +784 -0
  12. pulumi_gcp/apihub/outputs.py +124 -0
  13. pulumi_gcp/assuredworkloads/workload.py +7 -7
  14. pulumi_gcp/beyondcorp/__init__.py +4 -0
  15. pulumi_gcp/beyondcorp/_inputs.py +130 -0
  16. pulumi_gcp/beyondcorp/get_security_gateway_iam_policy.py +180 -0
  17. pulumi_gcp/beyondcorp/outputs.py +76 -0
  18. pulumi_gcp/beyondcorp/security_gateway.py +52 -25
  19. pulumi_gcp/beyondcorp/security_gateway_iam_binding.py +1075 -0
  20. pulumi_gcp/beyondcorp/security_gateway_iam_member.py +1075 -0
  21. pulumi_gcp/beyondcorp/security_gateway_iam_policy.py +894 -0
  22. pulumi_gcp/bigquery/_inputs.py +33 -0
  23. pulumi_gcp/bigquery/dataset.py +7 -7
  24. pulumi_gcp/bigquery/outputs.py +36 -0
  25. pulumi_gcp/bigquery/table.py +61 -7
  26. pulumi_gcp/chronicle/__init__.py +1 -0
  27. pulumi_gcp/chronicle/_inputs.py +124 -0
  28. pulumi_gcp/chronicle/outputs.py +112 -0
  29. pulumi_gcp/chronicle/retrohunt.py +629 -0
  30. pulumi_gcp/cloudquota/s_quota_adjuster_settings.py +23 -23
  31. pulumi_gcp/cloudrunv2/_inputs.py +197 -0
  32. pulumi_gcp/cloudrunv2/get_service.py +12 -1
  33. pulumi_gcp/cloudrunv2/outputs.py +256 -0
  34. pulumi_gcp/cloudrunv2/service.py +159 -0
  35. pulumi_gcp/colab/__init__.py +5 -0
  36. pulumi_gcp/colab/_inputs.py +131 -0
  37. pulumi_gcp/colab/get_runtime_template_iam_policy.py +182 -0
  38. pulumi_gcp/colab/outputs.py +92 -0
  39. pulumi_gcp/colab/runtime.py +696 -0
  40. pulumi_gcp/colab/runtime_template_iam_binding.py +828 -0
  41. pulumi_gcp/colab/runtime_template_iam_member.py +828 -0
  42. pulumi_gcp/colab/runtime_template_iam_policy.py +667 -0
  43. pulumi_gcp/compute/__init__.py +4 -0
  44. pulumi_gcp/compute/_inputs.py +535 -9
  45. pulumi_gcp/compute/firewall_policy_rule.py +104 -22
  46. pulumi_gcp/compute/firewall_policy_with_rules.py +114 -42
  47. pulumi_gcp/compute/get_instance_template_iam_policy.py +159 -0
  48. pulumi_gcp/compute/get_network.py +3 -3
  49. pulumi_gcp/compute/instance_template_iam_binding.py +998 -0
  50. pulumi_gcp/compute/instance_template_iam_member.py +998 -0
  51. pulumi_gcp/compute/instance_template_iam_policy.py +817 -0
  52. pulumi_gcp/compute/interconnect_attachment.py +189 -2
  53. pulumi_gcp/compute/network.py +7 -7
  54. pulumi_gcp/compute/network_firewall_policy_rule.py +122 -10
  55. pulumi_gcp/compute/network_firewall_policy_with_rules.py +116 -44
  56. pulumi_gcp/compute/outputs.py +358 -6
  57. pulumi_gcp/compute/project_metadata_item.py +12 -0
  58. pulumi_gcp/compute/public_advertised_prefix.py +87 -0
  59. pulumi_gcp/compute/region_network_firewall_policy_rule.py +130 -10
  60. pulumi_gcp/compute/region_network_firewall_policy_with_rules.py +104 -32
  61. pulumi_gcp/compute/router_peer.py +227 -3
  62. pulumi_gcp/config/__init__.pyi +2 -0
  63. pulumi_gcp/config/vars.py +4 -0
  64. pulumi_gcp/container/_inputs.py +79 -20
  65. pulumi_gcp/container/outputs.py +75 -12
  66. pulumi_gcp/dataproc/_inputs.py +34 -0
  67. pulumi_gcp/dataproc/outputs.py +37 -0
  68. pulumi_gcp/dataproc/workflow_template.py +47 -0
  69. pulumi_gcp/filestore/get_instance.py +12 -1
  70. pulumi_gcp/filestore/instance.py +75 -0
  71. pulumi_gcp/firestore/field.py +60 -0
  72. pulumi_gcp/gemini/code_repository_index.py +29 -33
  73. pulumi_gcp/gemini/get_repository_group_iam_policy.py +28 -2
  74. pulumi_gcp/gemini/repository_group.py +76 -26
  75. pulumi_gcp/gemini/repository_group_iam_binding.py +258 -0
  76. pulumi_gcp/gemini/repository_group_iam_member.py +258 -0
  77. pulumi_gcp/gemini/repository_group_iam_policy.py +258 -0
  78. pulumi_gcp/gkehub/_inputs.py +20 -0
  79. pulumi_gcp/gkehub/membership_binding.py +6 -6
  80. pulumi_gcp/gkehub/membership_rbac_role_binding.py +4 -4
  81. pulumi_gcp/gkehub/namespace.py +4 -4
  82. pulumi_gcp/gkehub/outputs.py +26 -1
  83. pulumi_gcp/gkehub/scope_rbac_role_binding.py +4 -4
  84. pulumi_gcp/iap/tunnel_dest_group.py +2 -2
  85. pulumi_gcp/integrationconnectors/managed_zone.py +8 -8
  86. pulumi_gcp/kms/__init__.py +1 -0
  87. pulumi_gcp/kms/get_key_handles.py +172 -0
  88. pulumi_gcp/kms/outputs.py +45 -0
  89. pulumi_gcp/netapp/storage_pool.py +1 -1
  90. pulumi_gcp/networkconnectivity/spoke.py +76 -14
  91. pulumi_gcp/networksecurity/_inputs.py +72 -0
  92. pulumi_gcp/networksecurity/outputs.py +76 -0
  93. pulumi_gcp/networksecurity/security_profile.py +233 -7
  94. pulumi_gcp/networksecurity/security_profile_group.py +218 -0
  95. pulumi_gcp/organizations/__init__.py +1 -0
  96. pulumi_gcp/organizations/get_s.py +128 -0
  97. pulumi_gcp/organizations/outputs.py +63 -0
  98. pulumi_gcp/orgpolicy/policy.py +2 -2
  99. pulumi_gcp/parametermanager/__init__.py +6 -0
  100. pulumi_gcp/parametermanager/get_parameter.py +211 -0
  101. pulumi_gcp/parametermanager/get_parameter_version.py +216 -0
  102. pulumi_gcp/parametermanager/get_parameters.py +140 -0
  103. pulumi_gcp/parametermanager/get_regional_parameter_version.py +235 -0
  104. pulumi_gcp/parametermanager/get_regional_parameters.py +157 -0
  105. pulumi_gcp/parametermanager/outputs.py +366 -0
  106. pulumi_gcp/parametermanager/parameter_version.py +496 -0
  107. pulumi_gcp/parametermanager/regional_parameter_version.py +10 -38
  108. pulumi_gcp/provider.py +20 -0
  109. pulumi_gcp/pubsub/_inputs.py +477 -1
  110. pulumi_gcp/pubsub/outputs.py +631 -2
  111. pulumi_gcp/pubsub/subscription.py +6 -6
  112. pulumi_gcp/pubsub/topic.py +112 -0
  113. pulumi_gcp/pulumi-plugin.json +1 -1
  114. pulumi_gcp/redis/__init__.py +1 -0
  115. pulumi_gcp/redis/_inputs.py +342 -6
  116. pulumi_gcp/redis/cluster.py +223 -102
  117. pulumi_gcp/redis/cluster_user_created_connections.py +845 -0
  118. pulumi_gcp/redis/outputs.py +268 -4
  119. pulumi_gcp/resourcemanager/lien.py +12 -0
  120. pulumi_gcp/secretmanager/regional_secret.py +4 -0
  121. pulumi_gcp/secretmanager/regional_secret_version.py +12 -0
  122. pulumi_gcp/secretmanager/secret.py +4 -0
  123. pulumi_gcp/secretmanager/secret_version.py +12 -0
  124. pulumi_gcp/securityposture/posture.py +4 -0
  125. pulumi_gcp/securityposture/posture_deployment.py +4 -0
  126. pulumi_gcp/serviceaccount/get_s.py +98 -8
  127. pulumi_gcp/spanner/_inputs.py +68 -0
  128. pulumi_gcp/spanner/backup_schedule.py +70 -4
  129. pulumi_gcp/spanner/outputs.py +60 -0
  130. pulumi_gcp/storage/get_bucket_object_content.py +4 -4
  131. pulumi_gcp/vertex/ai_endpoint.py +4 -4
  132. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
  133. pulumi_gcp/workflows/workflow.py +175 -0
  134. {pulumi_gcp-8.17.0a1738274430.dist-info → pulumi_gcp-8.18.0.dist-info}/METADATA +1 -1
  135. {pulumi_gcp-8.17.0a1738274430.dist-info → pulumi_gcp-8.18.0.dist-info}/RECORD +137 -110
  136. {pulumi_gcp-8.17.0a1738274430.dist-info → pulumi_gcp-8.18.0.dist-info}/WHEEL +0 -0
  137. {pulumi_gcp-8.17.0a1738274430.dist-info → pulumi_gcp-8.18.0.dist-info}/top_level.txt +0 -0
@@ -15,6 +15,8 @@ else:
15
15
  from .. import _utilities
16
16
 
17
17
  __all__ = [
18
+ 'BackupScheduleEncryptionConfigArgs',
19
+ 'BackupScheduleEncryptionConfigArgsDict',
18
20
  'BackupScheduleFullBackupSpecArgs',
19
21
  'BackupScheduleFullBackupSpecArgsDict',
20
22
  'BackupScheduleIncrementalBackupSpecArgs',
@@ -53,6 +55,72 @@ __all__ = [
53
55
 
54
56
  MYPY = False
55
57
 
58
+ if not MYPY:
59
+ class BackupScheduleEncryptionConfigArgsDict(TypedDict):
60
+ encryption_type: pulumi.Input[str]
61
+ """
62
+ The encryption type of backups created by the backup schedule.
63
+ Possible values are USE_DATABASE_ENCRYPTION, GOOGLE_DEFAULT_ENCRYPTION, or CUSTOMER_MANAGED_ENCRYPTION.
64
+ If you use CUSTOMER_MANAGED_ENCRYPTION, you must specify a kmsKeyName.
65
+ If your backup type is incremental-backup, the encryption type must be GOOGLE_DEFAULT_ENCRYPTION.
66
+ Possible values are: `USE_DATABASE_ENCRYPTION`, `GOOGLE_DEFAULT_ENCRYPTION`, `CUSTOMER_MANAGED_ENCRYPTION`.
67
+ """
68
+ kms_key_name: NotRequired[pulumi.Input[str]]
69
+ """
70
+ The resource name of the Cloud KMS key to use for encryption.
71
+ Format: 'projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{cryptoKey}'
72
+ """
73
+ elif False:
74
+ BackupScheduleEncryptionConfigArgsDict: TypeAlias = Mapping[str, Any]
75
+
76
+ @pulumi.input_type
77
+ class BackupScheduleEncryptionConfigArgs:
78
+ def __init__(__self__, *,
79
+ encryption_type: pulumi.Input[str],
80
+ kms_key_name: Optional[pulumi.Input[str]] = None):
81
+ """
82
+ :param pulumi.Input[str] encryption_type: The encryption type of backups created by the backup schedule.
83
+ Possible values are USE_DATABASE_ENCRYPTION, GOOGLE_DEFAULT_ENCRYPTION, or CUSTOMER_MANAGED_ENCRYPTION.
84
+ If you use CUSTOMER_MANAGED_ENCRYPTION, you must specify a kmsKeyName.
85
+ If your backup type is incremental-backup, the encryption type must be GOOGLE_DEFAULT_ENCRYPTION.
86
+ Possible values are: `USE_DATABASE_ENCRYPTION`, `GOOGLE_DEFAULT_ENCRYPTION`, `CUSTOMER_MANAGED_ENCRYPTION`.
87
+ :param pulumi.Input[str] kms_key_name: The resource name of the Cloud KMS key to use for encryption.
88
+ Format: 'projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{cryptoKey}'
89
+ """
90
+ pulumi.set(__self__, "encryption_type", encryption_type)
91
+ if kms_key_name is not None:
92
+ pulumi.set(__self__, "kms_key_name", kms_key_name)
93
+
94
+ @property
95
+ @pulumi.getter(name="encryptionType")
96
+ def encryption_type(self) -> pulumi.Input[str]:
97
+ """
98
+ The encryption type of backups created by the backup schedule.
99
+ Possible values are USE_DATABASE_ENCRYPTION, GOOGLE_DEFAULT_ENCRYPTION, or CUSTOMER_MANAGED_ENCRYPTION.
100
+ If you use CUSTOMER_MANAGED_ENCRYPTION, you must specify a kmsKeyName.
101
+ If your backup type is incremental-backup, the encryption type must be GOOGLE_DEFAULT_ENCRYPTION.
102
+ Possible values are: `USE_DATABASE_ENCRYPTION`, `GOOGLE_DEFAULT_ENCRYPTION`, `CUSTOMER_MANAGED_ENCRYPTION`.
103
+ """
104
+ return pulumi.get(self, "encryption_type")
105
+
106
+ @encryption_type.setter
107
+ def encryption_type(self, value: pulumi.Input[str]):
108
+ pulumi.set(self, "encryption_type", value)
109
+
110
+ @property
111
+ @pulumi.getter(name="kmsKeyName")
112
+ def kms_key_name(self) -> Optional[pulumi.Input[str]]:
113
+ """
114
+ The resource name of the Cloud KMS key to use for encryption.
115
+ Format: 'projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{cryptoKey}'
116
+ """
117
+ return pulumi.get(self, "kms_key_name")
118
+
119
+ @kms_key_name.setter
120
+ def kms_key_name(self, value: Optional[pulumi.Input[str]]):
121
+ pulumi.set(self, "kms_key_name", value)
122
+
123
+
56
124
  if not MYPY:
57
125
  class BackupScheduleFullBackupSpecArgsDict(TypedDict):
58
126
  pass
@@ -24,6 +24,7 @@ class BackupScheduleArgs:
24
24
  database: pulumi.Input[str],
25
25
  instance: pulumi.Input[str],
26
26
  retention_duration: pulumi.Input[str],
27
+ encryption_config: Optional[pulumi.Input['BackupScheduleEncryptionConfigArgs']] = None,
27
28
  full_backup_spec: Optional[pulumi.Input['BackupScheduleFullBackupSpecArgs']] = None,
28
29
  incremental_backup_spec: Optional[pulumi.Input['BackupScheduleIncrementalBackupSpecArgs']] = None,
29
30
  name: Optional[pulumi.Input[str]] = None,
@@ -39,6 +40,8 @@ class BackupScheduleArgs:
39
40
  :param pulumi.Input[str] retention_duration: At what relative time in the future, compared to its creation time, the backup should be deleted, e.g. keep backups for 7 days.
40
41
  A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'.
41
42
  You can set this to a value up to 366 days.
43
+ :param pulumi.Input['BackupScheduleEncryptionConfigArgs'] encryption_config: Configuration for the encryption of the backup schedule.
44
+ Structure is documented below.
42
45
  :param pulumi.Input['BackupScheduleFullBackupSpecArgs'] full_backup_spec: The schedule creates only full backups..
43
46
  :param pulumi.Input['BackupScheduleIncrementalBackupSpecArgs'] incremental_backup_spec: The schedule creates incremental backup chains.
44
47
  :param pulumi.Input[str] name: A unique identifier for the backup schedule, which cannot be changed after
@@ -51,6 +54,8 @@ class BackupScheduleArgs:
51
54
  pulumi.set(__self__, "database", database)
52
55
  pulumi.set(__self__, "instance", instance)
53
56
  pulumi.set(__self__, "retention_duration", retention_duration)
57
+ if encryption_config is not None:
58
+ pulumi.set(__self__, "encryption_config", encryption_config)
54
59
  if full_backup_spec is not None:
55
60
  pulumi.set(__self__, "full_backup_spec", full_backup_spec)
56
61
  if incremental_backup_spec is not None:
@@ -103,6 +108,19 @@ class BackupScheduleArgs:
103
108
  def retention_duration(self, value: pulumi.Input[str]):
104
109
  pulumi.set(self, "retention_duration", value)
105
110
 
111
+ @property
112
+ @pulumi.getter(name="encryptionConfig")
113
+ def encryption_config(self) -> Optional[pulumi.Input['BackupScheduleEncryptionConfigArgs']]:
114
+ """
115
+ Configuration for the encryption of the backup schedule.
116
+ Structure is documented below.
117
+ """
118
+ return pulumi.get(self, "encryption_config")
119
+
120
+ @encryption_config.setter
121
+ def encryption_config(self, value: Optional[pulumi.Input['BackupScheduleEncryptionConfigArgs']]):
122
+ pulumi.set(self, "encryption_config", value)
123
+
106
124
  @property
107
125
  @pulumi.getter(name="fullBackupSpec")
108
126
  def full_backup_spec(self) -> Optional[pulumi.Input['BackupScheduleFullBackupSpecArgs']]:
@@ -171,6 +189,7 @@ class BackupScheduleArgs:
171
189
  class _BackupScheduleState:
172
190
  def __init__(__self__, *,
173
191
  database: Optional[pulumi.Input[str]] = None,
192
+ encryption_config: Optional[pulumi.Input['BackupScheduleEncryptionConfigArgs']] = None,
174
193
  full_backup_spec: Optional[pulumi.Input['BackupScheduleFullBackupSpecArgs']] = None,
175
194
  incremental_backup_spec: Optional[pulumi.Input['BackupScheduleIncrementalBackupSpecArgs']] = None,
176
195
  instance: Optional[pulumi.Input[str]] = None,
@@ -184,6 +203,8 @@ class _BackupScheduleState:
184
203
 
185
204
 
186
205
  - - -
206
+ :param pulumi.Input['BackupScheduleEncryptionConfigArgs'] encryption_config: Configuration for the encryption of the backup schedule.
207
+ Structure is documented below.
187
208
  :param pulumi.Input['BackupScheduleFullBackupSpecArgs'] full_backup_spec: The schedule creates only full backups..
188
209
  :param pulumi.Input['BackupScheduleIncrementalBackupSpecArgs'] incremental_backup_spec: The schedule creates incremental backup chains.
189
210
  :param pulumi.Input[str] instance: The instance to create the database on.
@@ -199,6 +220,8 @@ class _BackupScheduleState:
199
220
  """
200
221
  if database is not None:
201
222
  pulumi.set(__self__, "database", database)
223
+ if encryption_config is not None:
224
+ pulumi.set(__self__, "encryption_config", encryption_config)
202
225
  if full_backup_spec is not None:
203
226
  pulumi.set(__self__, "full_backup_spec", full_backup_spec)
204
227
  if incremental_backup_spec is not None:
@@ -229,6 +252,19 @@ class _BackupScheduleState:
229
252
  def database(self, value: Optional[pulumi.Input[str]]):
230
253
  pulumi.set(self, "database", value)
231
254
 
255
+ @property
256
+ @pulumi.getter(name="encryptionConfig")
257
+ def encryption_config(self) -> Optional[pulumi.Input['BackupScheduleEncryptionConfigArgs']]:
258
+ """
259
+ Configuration for the encryption of the backup schedule.
260
+ Structure is documented below.
261
+ """
262
+ return pulumi.get(self, "encryption_config")
263
+
264
+ @encryption_config.setter
265
+ def encryption_config(self, value: Optional[pulumi.Input['BackupScheduleEncryptionConfigArgs']]):
266
+ pulumi.set(self, "encryption_config", value)
267
+
232
268
  @property
233
269
  @pulumi.getter(name="fullBackupSpec")
234
270
  def full_backup_spec(self) -> Optional[pulumi.Input['BackupScheduleFullBackupSpecArgs']]:
@@ -325,6 +361,7 @@ class BackupSchedule(pulumi.CustomResource):
325
361
  resource_name: str,
326
362
  opts: Optional[pulumi.ResourceOptions] = None,
327
363
  database: Optional[pulumi.Input[str]] = None,
364
+ encryption_config: Optional[pulumi.Input[Union['BackupScheduleEncryptionConfigArgs', 'BackupScheduleEncryptionConfigArgsDict']]] = None,
328
365
  full_backup_spec: Optional[pulumi.Input[Union['BackupScheduleFullBackupSpecArgs', 'BackupScheduleFullBackupSpecArgsDict']]] = None,
329
366
  incremental_backup_spec: Optional[pulumi.Input[Union['BackupScheduleIncrementalBackupSpecArgs', 'BackupScheduleIncrementalBackupSpecArgsDict']]] = None,
330
367
  instance: Optional[pulumi.Input[str]] = None,
@@ -381,7 +418,10 @@ class BackupSchedule(pulumi.CustomResource):
381
418
  "text": "0 12 * * *",
382
419
  },
383
420
  },
384
- full_backup_spec={})
421
+ full_backup_spec={},
422
+ encryption_config={
423
+ "encryption_type": "USE_DATABASE_ENCRYPTION",
424
+ })
385
425
  ```
386
426
  ### Spanner Backup Schedule Daily Incremental
387
427
 
@@ -414,7 +454,10 @@ class BackupSchedule(pulumi.CustomResource):
414
454
  "text": "0 12 * * *",
415
455
  },
416
456
  },
417
- incremental_backup_spec={})
457
+ incremental_backup_spec={},
458
+ encryption_config={
459
+ "encryption_type": "GOOGLE_DEFAULT_ENCRYPTION",
460
+ })
418
461
  ```
419
462
 
420
463
  ## Import
@@ -447,6 +490,8 @@ class BackupSchedule(pulumi.CustomResource):
447
490
 
448
491
 
449
492
  - - -
493
+ :param pulumi.Input[Union['BackupScheduleEncryptionConfigArgs', 'BackupScheduleEncryptionConfigArgsDict']] encryption_config: Configuration for the encryption of the backup schedule.
494
+ Structure is documented below.
450
495
  :param pulumi.Input[Union['BackupScheduleFullBackupSpecArgs', 'BackupScheduleFullBackupSpecArgsDict']] full_backup_spec: The schedule creates only full backups..
451
496
  :param pulumi.Input[Union['BackupScheduleIncrementalBackupSpecArgs', 'BackupScheduleIncrementalBackupSpecArgsDict']] incremental_backup_spec: The schedule creates incremental backup chains.
452
497
  :param pulumi.Input[str] instance: The instance to create the database on.
@@ -514,7 +559,10 @@ class BackupSchedule(pulumi.CustomResource):
514
559
  "text": "0 12 * * *",
515
560
  },
516
561
  },
517
- full_backup_spec={})
562
+ full_backup_spec={},
563
+ encryption_config={
564
+ "encryption_type": "USE_DATABASE_ENCRYPTION",
565
+ })
518
566
  ```
519
567
  ### Spanner Backup Schedule Daily Incremental
520
568
 
@@ -547,7 +595,10 @@ class BackupSchedule(pulumi.CustomResource):
547
595
  "text": "0 12 * * *",
548
596
  },
549
597
  },
550
- incremental_backup_spec={})
598
+ incremental_backup_spec={},
599
+ encryption_config={
600
+ "encryption_type": "GOOGLE_DEFAULT_ENCRYPTION",
601
+ })
551
602
  ```
552
603
 
553
604
  ## Import
@@ -590,6 +641,7 @@ class BackupSchedule(pulumi.CustomResource):
590
641
  resource_name: str,
591
642
  opts: Optional[pulumi.ResourceOptions] = None,
592
643
  database: Optional[pulumi.Input[str]] = None,
644
+ encryption_config: Optional[pulumi.Input[Union['BackupScheduleEncryptionConfigArgs', 'BackupScheduleEncryptionConfigArgsDict']]] = None,
593
645
  full_backup_spec: Optional[pulumi.Input[Union['BackupScheduleFullBackupSpecArgs', 'BackupScheduleFullBackupSpecArgsDict']]] = None,
594
646
  incremental_backup_spec: Optional[pulumi.Input[Union['BackupScheduleIncrementalBackupSpecArgs', 'BackupScheduleIncrementalBackupSpecArgsDict']]] = None,
595
647
  instance: Optional[pulumi.Input[str]] = None,
@@ -609,6 +661,7 @@ class BackupSchedule(pulumi.CustomResource):
609
661
  if database is None and not opts.urn:
610
662
  raise TypeError("Missing required property 'database'")
611
663
  __props__.__dict__["database"] = database
664
+ __props__.__dict__["encryption_config"] = encryption_config
612
665
  __props__.__dict__["full_backup_spec"] = full_backup_spec
613
666
  __props__.__dict__["incremental_backup_spec"] = incremental_backup_spec
614
667
  if instance is None and not opts.urn:
@@ -631,6 +684,7 @@ class BackupSchedule(pulumi.CustomResource):
631
684
  id: pulumi.Input[str],
632
685
  opts: Optional[pulumi.ResourceOptions] = None,
633
686
  database: Optional[pulumi.Input[str]] = None,
687
+ encryption_config: Optional[pulumi.Input[Union['BackupScheduleEncryptionConfigArgs', 'BackupScheduleEncryptionConfigArgsDict']]] = None,
634
688
  full_backup_spec: Optional[pulumi.Input[Union['BackupScheduleFullBackupSpecArgs', 'BackupScheduleFullBackupSpecArgsDict']]] = None,
635
689
  incremental_backup_spec: Optional[pulumi.Input[Union['BackupScheduleIncrementalBackupSpecArgs', 'BackupScheduleIncrementalBackupSpecArgsDict']]] = None,
636
690
  instance: Optional[pulumi.Input[str]] = None,
@@ -649,6 +703,8 @@ class BackupSchedule(pulumi.CustomResource):
649
703
 
650
704
 
651
705
  - - -
706
+ :param pulumi.Input[Union['BackupScheduleEncryptionConfigArgs', 'BackupScheduleEncryptionConfigArgsDict']] encryption_config: Configuration for the encryption of the backup schedule.
707
+ Structure is documented below.
652
708
  :param pulumi.Input[Union['BackupScheduleFullBackupSpecArgs', 'BackupScheduleFullBackupSpecArgsDict']] full_backup_spec: The schedule creates only full backups..
653
709
  :param pulumi.Input[Union['BackupScheduleIncrementalBackupSpecArgs', 'BackupScheduleIncrementalBackupSpecArgsDict']] incremental_backup_spec: The schedule creates incremental backup chains.
654
710
  :param pulumi.Input[str] instance: The instance to create the database on.
@@ -667,6 +723,7 @@ class BackupSchedule(pulumi.CustomResource):
667
723
  __props__ = _BackupScheduleState.__new__(_BackupScheduleState)
668
724
 
669
725
  __props__.__dict__["database"] = database
726
+ __props__.__dict__["encryption_config"] = encryption_config
670
727
  __props__.__dict__["full_backup_spec"] = full_backup_spec
671
728
  __props__.__dict__["incremental_backup_spec"] = incremental_backup_spec
672
729
  __props__.__dict__["instance"] = instance
@@ -687,6 +744,15 @@ class BackupSchedule(pulumi.CustomResource):
687
744
  """
688
745
  return pulumi.get(self, "database")
689
746
 
747
+ @property
748
+ @pulumi.getter(name="encryptionConfig")
749
+ def encryption_config(self) -> pulumi.Output['outputs.BackupScheduleEncryptionConfig']:
750
+ """
751
+ Configuration for the encryption of the backup schedule.
752
+ Structure is documented below.
753
+ """
754
+ return pulumi.get(self, "encryption_config")
755
+
690
756
  @property
691
757
  @pulumi.getter(name="fullBackupSpec")
692
758
  def full_backup_spec(self) -> pulumi.Output[Optional['outputs.BackupScheduleFullBackupSpec']]:
@@ -16,6 +16,7 @@ from .. import _utilities
16
16
  from . import outputs
17
17
 
18
18
  __all__ = [
19
+ 'BackupScheduleEncryptionConfig',
19
20
  'BackupScheduleFullBackupSpec',
20
21
  'BackupScheduleIncrementalBackupSpec',
21
22
  'BackupScheduleSpec',
@@ -43,6 +44,65 @@ __all__ = [
43
44
  'GetInstanceAutoscalingConfigAutoscalingTargetResult',
44
45
  ]
45
46
 
47
+ @pulumi.output_type
48
+ class BackupScheduleEncryptionConfig(dict):
49
+ @staticmethod
50
+ def __key_warning(key: str):
51
+ suggest = None
52
+ if key == "encryptionType":
53
+ suggest = "encryption_type"
54
+ elif key == "kmsKeyName":
55
+ suggest = "kms_key_name"
56
+
57
+ if suggest:
58
+ pulumi.log.warn(f"Key '{key}' not found in BackupScheduleEncryptionConfig. Access the value via the '{suggest}' property getter instead.")
59
+
60
+ def __getitem__(self, key: str) -> Any:
61
+ BackupScheduleEncryptionConfig.__key_warning(key)
62
+ return super().__getitem__(key)
63
+
64
+ def get(self, key: str, default = None) -> Any:
65
+ BackupScheduleEncryptionConfig.__key_warning(key)
66
+ return super().get(key, default)
67
+
68
+ def __init__(__self__, *,
69
+ encryption_type: str,
70
+ kms_key_name: Optional[str] = None):
71
+ """
72
+ :param str encryption_type: The encryption type of backups created by the backup schedule.
73
+ Possible values are USE_DATABASE_ENCRYPTION, GOOGLE_DEFAULT_ENCRYPTION, or CUSTOMER_MANAGED_ENCRYPTION.
74
+ If you use CUSTOMER_MANAGED_ENCRYPTION, you must specify a kmsKeyName.
75
+ If your backup type is incremental-backup, the encryption type must be GOOGLE_DEFAULT_ENCRYPTION.
76
+ Possible values are: `USE_DATABASE_ENCRYPTION`, `GOOGLE_DEFAULT_ENCRYPTION`, `CUSTOMER_MANAGED_ENCRYPTION`.
77
+ :param str kms_key_name: The resource name of the Cloud KMS key to use for encryption.
78
+ Format: 'projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{cryptoKey}'
79
+ """
80
+ pulumi.set(__self__, "encryption_type", encryption_type)
81
+ if kms_key_name is not None:
82
+ pulumi.set(__self__, "kms_key_name", kms_key_name)
83
+
84
+ @property
85
+ @pulumi.getter(name="encryptionType")
86
+ def encryption_type(self) -> str:
87
+ """
88
+ The encryption type of backups created by the backup schedule.
89
+ Possible values are USE_DATABASE_ENCRYPTION, GOOGLE_DEFAULT_ENCRYPTION, or CUSTOMER_MANAGED_ENCRYPTION.
90
+ If you use CUSTOMER_MANAGED_ENCRYPTION, you must specify a kmsKeyName.
91
+ If your backup type is incremental-backup, the encryption type must be GOOGLE_DEFAULT_ENCRYPTION.
92
+ Possible values are: `USE_DATABASE_ENCRYPTION`, `GOOGLE_DEFAULT_ENCRYPTION`, `CUSTOMER_MANAGED_ENCRYPTION`.
93
+ """
94
+ return pulumi.get(self, "encryption_type")
95
+
96
+ @property
97
+ @pulumi.getter(name="kmsKeyName")
98
+ def kms_key_name(self) -> Optional[str]:
99
+ """
100
+ The resource name of the Cloud KMS key to use for encryption.
101
+ Format: 'projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{cryptoKey}'
102
+ """
103
+ return pulumi.get(self, "kms_key_name")
104
+
105
+
46
106
  @pulumi.output_type
47
107
  class BackupScheduleFullBackupSpec(dict):
48
108
  def __init__(__self__):
@@ -113,9 +113,9 @@ class GetBucketObjectContentResult:
113
113
 
114
114
  @property
115
115
  @pulumi.getter
116
- def content(self) -> Optional[str]:
116
+ def content(self) -> str:
117
117
  """
118
- (Computed) [Content-Language](https://tools.ietf.org/html/rfc7231#section-3.1.3.2) of the object content.
118
+ (Computed) The content of the object.
119
119
  """
120
120
  return pulumi.get(self, "content")
121
121
 
@@ -287,7 +287,7 @@ def get_bucket_object_content(bucket: Optional[str] = None,
287
287
 
288
288
 
289
289
  :param str bucket: The name of the containing bucket.
290
- :param str content: (Computed) [Content-Language](https://tools.ietf.org/html/rfc7231#section-3.1.3.2) of the object content.
290
+ :param str content: (Computed) The content of the object.
291
291
  :param str name: The name of the object.
292
292
  """
293
293
  __args__ = dict()
@@ -349,7 +349,7 @@ def get_bucket_object_content_output(bucket: Optional[pulumi.Input[str]] = None,
349
349
 
350
350
 
351
351
  :param str bucket: The name of the containing bucket.
352
- :param str content: (Computed) [Content-Language](https://tools.ietf.org/html/rfc7231#section-3.1.3.2) of the object content.
352
+ :param str content: (Computed) The content of the object.
353
353
  :param str name: The name of the object.
354
354
  """
355
355
  __args__ = dict()
@@ -730,7 +730,7 @@ class AiEndpoint(pulumi.CustomResource):
730
730
 
731
731
  project = gcp.organizations.get_project()
732
732
  endpoint = gcp.vertex.AiEndpoint("endpoint",
733
- name="endpoint-name_60646",
733
+ name="endpoint-name_9394",
734
734
  display_name="sample-endpoint",
735
735
  description="A sample vertex endpoint",
736
736
  location="us-central1",
@@ -751,7 +751,7 @@ class AiEndpoint(pulumi.CustomResource):
751
751
  import pulumi_gcp as gcp
752
752
 
753
753
  endpoint = gcp.vertex.AiEndpoint("endpoint",
754
- name="endpoint-name_9394",
754
+ name="endpoint-name_11380",
755
755
  display_name="sample-endpoint",
756
756
  description="A sample vertex endpoint",
757
757
  location="us-central1",
@@ -896,7 +896,7 @@ class AiEndpoint(pulumi.CustomResource):
896
896
 
897
897
  project = gcp.organizations.get_project()
898
898
  endpoint = gcp.vertex.AiEndpoint("endpoint",
899
- name="endpoint-name_60646",
899
+ name="endpoint-name_9394",
900
900
  display_name="sample-endpoint",
901
901
  description="A sample vertex endpoint",
902
902
  location="us-central1",
@@ -917,7 +917,7 @@ class AiEndpoint(pulumi.CustomResource):
917
917
  import pulumi_gcp as gcp
918
918
 
919
919
  endpoint = gcp.vertex.AiEndpoint("endpoint",
920
- name="endpoint-name_9394",
920
+ name="endpoint-name_11380",
921
921
  display_name="sample-endpoint",
922
922
  description="A sample vertex endpoint",
923
923
  location="us-central1",
@@ -618,8 +618,8 @@ class AiFeatureOnlineStoreFeatureview(pulumi.CustomResource):
618
618
 
619
619
  test_project = gcp.organizations.get_project()
620
620
  project = gcp.organizations.Project("project",
621
- project_id="tf-test_11380",
622
- name="tf-test_35305",
621
+ project_id="tf-test_35305",
622
+ name="tf-test_62793",
623
623
  org_id="123456789",
624
624
  billing_account="000000-0000000-0000000-000000",
625
625
  deletion_policy="DELETE")
@@ -1063,8 +1063,8 @@ class AiFeatureOnlineStoreFeatureview(pulumi.CustomResource):
1063
1063
 
1064
1064
  test_project = gcp.organizations.get_project()
1065
1065
  project = gcp.organizations.Project("project",
1066
- project_id="tf-test_11380",
1067
- name="tf-test_35305",
1066
+ project_id="tf-test_35305",
1067
+ name="tf-test_62793",
1068
1068
  org_id="123456789",
1069
1069
  billing_account="000000-0000000-0000000-000000",
1070
1070
  deletion_policy="DELETE")