pulumi-gcp 7.17.0a1712402830__py3-none-any.whl → 7.17.0a1712602552__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 (55) hide show
  1. pulumi_gcp/__init__.py +27 -0
  2. pulumi_gcp/apphub/__init__.py +1 -0
  3. pulumi_gcp/apphub/get_application.py +220 -0
  4. pulumi_gcp/apphub/outputs.py +214 -0
  5. pulumi_gcp/applicationintegration/__init__.py +10 -0
  6. pulumi_gcp/applicationintegration/_inputs.py +119 -0
  7. pulumi_gcp/applicationintegration/client.py +566 -0
  8. pulumi_gcp/applicationintegration/outputs.py +122 -0
  9. pulumi_gcp/bigquery/_inputs.py +16 -0
  10. pulumi_gcp/bigquery/outputs.py +14 -0
  11. pulumi_gcp/bigquery/routine.py +98 -0
  12. pulumi_gcp/billing/project_info.py +4 -4
  13. pulumi_gcp/cloudquota/__init__.py +2 -0
  14. pulumi_gcp/cloudquota/_inputs.py +131 -0
  15. pulumi_gcp/cloudquota/outputs.py +118 -0
  16. pulumi_gcp/cloudquota/s_quota_preference.py +777 -0
  17. pulumi_gcp/compute/interconnect_attachment.py +64 -0
  18. pulumi_gcp/compute/network_endpoint.py +8 -0
  19. pulumi_gcp/compute/network_endpoint_list.py +8 -0
  20. pulumi_gcp/compute/region_backend_service.py +28 -0
  21. pulumi_gcp/compute/target_instance.py +4 -4
  22. pulumi_gcp/config/__init__.pyi +2 -0
  23. pulumi_gcp/config/vars.py +4 -0
  24. pulumi_gcp/databasemigrationservice/connection_profile.py +6 -6
  25. pulumi_gcp/dataflow/flex_template_job.py +84 -112
  26. pulumi_gcp/dataplex/task.py +16 -16
  27. pulumi_gcp/dataproc/_inputs.py +71 -0
  28. pulumi_gcp/dataproc/get_metastore_service.py +11 -1
  29. pulumi_gcp/dataproc/metastore_service.py +120 -0
  30. pulumi_gcp/dataproc/outputs.py +128 -0
  31. pulumi_gcp/firebase/app_check_service_config.py +2 -2
  32. pulumi_gcp/firestore/backup_schedule.py +14 -14
  33. pulumi_gcp/firestore/field.py +4 -4
  34. pulumi_gcp/gkehub/membership_binding.py +6 -6
  35. pulumi_gcp/gkehub/membership_rbac_role_binding.py +4 -4
  36. pulumi_gcp/gkehub/namespace.py +4 -4
  37. pulumi_gcp/gkehub/scope_rbac_role_binding.py +4 -4
  38. pulumi_gcp/iap/tunnel_dest_group.py +2 -2
  39. pulumi_gcp/kms/_inputs.py +46 -0
  40. pulumi_gcp/kms/crypto_key.py +54 -0
  41. pulumi_gcp/kms/crypto_key_version.py +54 -0
  42. pulumi_gcp/kms/get_kms_crypto_key.py +11 -1
  43. pulumi_gcp/kms/outputs.py +54 -0
  44. pulumi_gcp/orgpolicy/policy.py +2 -2
  45. pulumi_gcp/provider.py +20 -0
  46. pulumi_gcp/pubsub/subscription.py +4 -4
  47. pulumi_gcp/vertex/__init__.py +1 -0
  48. pulumi_gcp/vertex/_inputs.py +169 -0
  49. pulumi_gcp/vertex/ai_deployment_resource_pool.py +477 -0
  50. pulumi_gcp/vertex/outputs.py +194 -0
  51. pulumi_gcp/vpcaccess/connector.py +77 -28
  52. {pulumi_gcp-7.17.0a1712402830.dist-info → pulumi_gcp-7.17.0a1712602552.dist-info}/METADATA +1 -1
  53. {pulumi_gcp-7.17.0a1712402830.dist-info → pulumi_gcp-7.17.0a1712602552.dist-info}/RECORD +55 -47
  54. {pulumi_gcp-7.17.0a1712402830.dist-info → pulumi_gcp-7.17.0a1712602552.dist-info}/WHEEL +0 -0
  55. {pulumi_gcp-7.17.0a1712402830.dist-info → pulumi_gcp-7.17.0a1712602552.dist-info}/top_level.txt +0 -0
@@ -29,11 +29,11 @@ class BackupScheduleArgs:
29
29
 
30
30
 
31
31
  - - -
32
- :param pulumi.Input['BackupScheduleDailyRecurrenceArgs'] daily_recurrence: For a schedule that runs daily at a specified time.
32
+ :param pulumi.Input['BackupScheduleDailyRecurrenceArgs'] daily_recurrence: For a schedule that runs daily.
33
33
  :param pulumi.Input[str] database: The Firestore database id. Defaults to `"(default)"`.
34
34
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
35
35
  If it is not provided, the provider project is used.
36
- :param pulumi.Input['BackupScheduleWeeklyRecurrenceArgs'] weekly_recurrence: For a schedule that runs weekly on a specific day and time.
36
+ :param pulumi.Input['BackupScheduleWeeklyRecurrenceArgs'] weekly_recurrence: For a schedule that runs weekly on a specific day.
37
37
  Structure is documented below.
38
38
  """
39
39
  pulumi.set(__self__, "retention", retention)
@@ -67,7 +67,7 @@ class BackupScheduleArgs:
67
67
  @pulumi.getter(name="dailyRecurrence")
68
68
  def daily_recurrence(self) -> Optional[pulumi.Input['BackupScheduleDailyRecurrenceArgs']]:
69
69
  """
70
- For a schedule that runs daily at a specified time.
70
+ For a schedule that runs daily.
71
71
  """
72
72
  return pulumi.get(self, "daily_recurrence")
73
73
 
@@ -104,7 +104,7 @@ class BackupScheduleArgs:
104
104
  @pulumi.getter(name="weeklyRecurrence")
105
105
  def weekly_recurrence(self) -> Optional[pulumi.Input['BackupScheduleWeeklyRecurrenceArgs']]:
106
106
  """
107
- For a schedule that runs weekly on a specific day and time.
107
+ For a schedule that runs weekly on a specific day.
108
108
  Structure is documented below.
109
109
  """
110
110
  return pulumi.get(self, "weekly_recurrence")
@@ -125,7 +125,7 @@ class _BackupScheduleState:
125
125
  weekly_recurrence: Optional[pulumi.Input['BackupScheduleWeeklyRecurrenceArgs']] = None):
126
126
  """
127
127
  Input properties used for looking up and filtering BackupSchedule resources.
128
- :param pulumi.Input['BackupScheduleDailyRecurrenceArgs'] daily_recurrence: For a schedule that runs daily at a specified time.
128
+ :param pulumi.Input['BackupScheduleDailyRecurrenceArgs'] daily_recurrence: For a schedule that runs daily.
129
129
  :param pulumi.Input[str] database: The Firestore database id. Defaults to `"(default)"`.
130
130
  :param pulumi.Input[str] name: The unique backup schedule identifier across all locations and databases for the given project. Format:
131
131
  `projects/{{project}}/databases/{{database}}/backupSchedules/{{backupSchedule}}`
@@ -137,7 +137,7 @@ class _BackupScheduleState:
137
137
 
138
138
 
139
139
  - - -
140
- :param pulumi.Input['BackupScheduleWeeklyRecurrenceArgs'] weekly_recurrence: For a schedule that runs weekly on a specific day and time.
140
+ :param pulumi.Input['BackupScheduleWeeklyRecurrenceArgs'] weekly_recurrence: For a schedule that runs weekly on a specific day.
141
141
  Structure is documented below.
142
142
  """
143
143
  if daily_recurrence is not None:
@@ -157,7 +157,7 @@ class _BackupScheduleState:
157
157
  @pulumi.getter(name="dailyRecurrence")
158
158
  def daily_recurrence(self) -> Optional[pulumi.Input['BackupScheduleDailyRecurrenceArgs']]:
159
159
  """
160
- For a schedule that runs daily at a specified time.
160
+ For a schedule that runs daily.
161
161
  """
162
162
  return pulumi.get(self, "daily_recurrence")
163
163
 
@@ -224,7 +224,7 @@ class _BackupScheduleState:
224
224
  @pulumi.getter(name="weeklyRecurrence")
225
225
  def weekly_recurrence(self) -> Optional[pulumi.Input['BackupScheduleWeeklyRecurrenceArgs']]:
226
226
  """
227
- For a schedule that runs weekly on a specific day and time.
227
+ For a schedule that runs weekly on a specific day.
228
228
  Structure is documented below.
229
229
  """
230
230
  return pulumi.get(self, "weekly_recurrence")
@@ -334,7 +334,7 @@ class BackupSchedule(pulumi.CustomResource):
334
334
 
335
335
  :param str resource_name: The name of the resource.
336
336
  :param pulumi.ResourceOptions opts: Options for the resource.
337
- :param pulumi.Input[pulumi.InputType['BackupScheduleDailyRecurrenceArgs']] daily_recurrence: For a schedule that runs daily at a specified time.
337
+ :param pulumi.Input[pulumi.InputType['BackupScheduleDailyRecurrenceArgs']] daily_recurrence: For a schedule that runs daily.
338
338
  :param pulumi.Input[str] database: The Firestore database id. Defaults to `"(default)"`.
339
339
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
340
340
  If it is not provided, the provider project is used.
@@ -344,7 +344,7 @@ class BackupSchedule(pulumi.CustomResource):
344
344
 
345
345
 
346
346
  - - -
347
- :param pulumi.Input[pulumi.InputType['BackupScheduleWeeklyRecurrenceArgs']] weekly_recurrence: For a schedule that runs weekly on a specific day and time.
347
+ :param pulumi.Input[pulumi.InputType['BackupScheduleWeeklyRecurrenceArgs']] weekly_recurrence: For a schedule that runs weekly on a specific day.
348
348
  Structure is documented below.
349
349
  """
350
350
  ...
@@ -500,7 +500,7 @@ class BackupSchedule(pulumi.CustomResource):
500
500
  :param str resource_name: The unique name of the resulting resource.
501
501
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
502
502
  :param pulumi.ResourceOptions opts: Options for the resource.
503
- :param pulumi.Input[pulumi.InputType['BackupScheduleDailyRecurrenceArgs']] daily_recurrence: For a schedule that runs daily at a specified time.
503
+ :param pulumi.Input[pulumi.InputType['BackupScheduleDailyRecurrenceArgs']] daily_recurrence: For a schedule that runs daily.
504
504
  :param pulumi.Input[str] database: The Firestore database id. Defaults to `"(default)"`.
505
505
  :param pulumi.Input[str] name: The unique backup schedule identifier across all locations and databases for the given project. Format:
506
506
  `projects/{{project}}/databases/{{database}}/backupSchedules/{{backupSchedule}}`
@@ -512,7 +512,7 @@ class BackupSchedule(pulumi.CustomResource):
512
512
 
513
513
 
514
514
  - - -
515
- :param pulumi.Input[pulumi.InputType['BackupScheduleWeeklyRecurrenceArgs']] weekly_recurrence: For a schedule that runs weekly on a specific day and time.
515
+ :param pulumi.Input[pulumi.InputType['BackupScheduleWeeklyRecurrenceArgs']] weekly_recurrence: For a schedule that runs weekly on a specific day.
516
516
  Structure is documented below.
517
517
  """
518
518
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
@@ -531,7 +531,7 @@ class BackupSchedule(pulumi.CustomResource):
531
531
  @pulumi.getter(name="dailyRecurrence")
532
532
  def daily_recurrence(self) -> pulumi.Output[Optional['outputs.BackupScheduleDailyRecurrence']]:
533
533
  """
534
- For a schedule that runs daily at a specified time.
534
+ For a schedule that runs daily.
535
535
  """
536
536
  return pulumi.get(self, "daily_recurrence")
537
537
 
@@ -578,7 +578,7 @@ class BackupSchedule(pulumi.CustomResource):
578
578
  @pulumi.getter(name="weeklyRecurrence")
579
579
  def weekly_recurrence(self) -> pulumi.Output[Optional['outputs.BackupScheduleWeeklyRecurrence']]:
580
580
  """
581
- For a schedule that runs weekly on a specific day and time.
581
+ For a schedule that runs weekly on a specific day.
582
582
  Structure is documented below.
583
583
  """
584
584
  return pulumi.get(self, "weekly_recurrence")
@@ -320,7 +320,7 @@ class Field(pulumi.CustomResource):
320
320
  basic = gcp.firestore.Field("basic",
321
321
  project="my-project-name",
322
322
  database=database.name,
323
- collection="chatrooms__64336",
323
+ collection="chatrooms__34962",
324
324
  field="basic",
325
325
  index_config=gcp.firestore.FieldIndexConfigArgs(
326
326
  indexes=[
@@ -375,7 +375,7 @@ class Field(pulumi.CustomResource):
375
375
  match_override = gcp.firestore.Field("match_override",
376
376
  project="my-project-name",
377
377
  database=database.name,
378
- collection="chatrooms__34962",
378
+ collection="chatrooms__74000",
379
379
  field="field_with_same_configuration_as_ancestor",
380
380
  index_config=gcp.firestore.FieldIndexConfigArgs(
381
381
  indexes=[
@@ -464,7 +464,7 @@ class Field(pulumi.CustomResource):
464
464
  basic = gcp.firestore.Field("basic",
465
465
  project="my-project-name",
466
466
  database=database.name,
467
- collection="chatrooms__64336",
467
+ collection="chatrooms__34962",
468
468
  field="basic",
469
469
  index_config=gcp.firestore.FieldIndexConfigArgs(
470
470
  indexes=[
@@ -519,7 +519,7 @@ class Field(pulumi.CustomResource):
519
519
  match_override = gcp.firestore.Field("match_override",
520
520
  project="my-project-name",
521
521
  database=database.name,
522
- collection="chatrooms__34962",
522
+ collection="chatrooms__74000",
523
523
  field="field_with_same_configuration_as_ancestor",
524
524
  index_config=gcp.firestore.FieldIndexConfigArgs(
525
525
  indexes=[
@@ -419,15 +419,15 @@ class MembershipBinding(pulumi.CustomResource):
419
419
  network="default",
420
420
  subnetwork="default")
421
421
  membership = gcp.gkehub.Membership("membership",
422
- membership_id="tf-test-membership_74000",
422
+ membership_id="tf-test-membership_75125",
423
423
  endpoint=gcp.gkehub.MembershipEndpointArgs(
424
424
  gke_cluster=gcp.gkehub.MembershipEndpointGkeClusterArgs(
425
425
  resource_link=primary.id.apply(lambda id: f"//container.googleapis.com/{id}"),
426
426
  ),
427
427
  ))
428
- scope = gcp.gkehub.Scope("scope", scope_id="tf-test-scope_75125")
428
+ scope = gcp.gkehub.Scope("scope", scope_id="tf-test-scope_88722")
429
429
  membership_binding = gcp.gkehub.MembershipBinding("membership_binding",
430
- membership_binding_id="tf-test-membership-binding_88722",
430
+ membership_binding_id="tf-test-membership-binding_39249",
431
431
  scope=scope.name,
432
432
  membership_id=membership.membership_id,
433
433
  location="global",
@@ -512,15 +512,15 @@ class MembershipBinding(pulumi.CustomResource):
512
512
  network="default",
513
513
  subnetwork="default")
514
514
  membership = gcp.gkehub.Membership("membership",
515
- membership_id="tf-test-membership_74000",
515
+ membership_id="tf-test-membership_75125",
516
516
  endpoint=gcp.gkehub.MembershipEndpointArgs(
517
517
  gke_cluster=gcp.gkehub.MembershipEndpointGkeClusterArgs(
518
518
  resource_link=primary.id.apply(lambda id: f"//container.googleapis.com/{id}"),
519
519
  ),
520
520
  ))
521
- scope = gcp.gkehub.Scope("scope", scope_id="tf-test-scope_75125")
521
+ scope = gcp.gkehub.Scope("scope", scope_id="tf-test-scope_88722")
522
522
  membership_binding = gcp.gkehub.MembershipBinding("membership_binding",
523
- membership_binding_id="tf-test-membership-binding_88722",
523
+ membership_binding_id="tf-test-membership-binding_39249",
524
524
  scope=scope.name,
525
525
  membership_id=membership.membership_id,
526
526
  location="global",
@@ -364,7 +364,7 @@ class MembershipRbacRoleBinding(pulumi.CustomResource):
364
364
  network="default",
365
365
  subnetwork="default")
366
366
  membership = gcp.gkehub.Membership("membership",
367
- membership_id="tf-test-membership_39249",
367
+ membership_id="tf-test-membership_74391",
368
368
  endpoint=gcp.gkehub.MembershipEndpointArgs(
369
369
  gke_cluster=gcp.gkehub.MembershipEndpointGkeClusterArgs(
370
370
  resource_link=primary.id.apply(lambda id: f"//container.googleapis.com/{id}"),
@@ -372,7 +372,7 @@ class MembershipRbacRoleBinding(pulumi.CustomResource):
372
372
  ))
373
373
  project = gcp.organizations.get_project()
374
374
  membership_rbac_role_binding = gcp.gkehub.MembershipRbacRoleBinding("membership_rbac_role_binding",
375
- membership_rbac_role_binding_id="tf-test-membership-rbac-role-binding_74391",
375
+ membership_rbac_role_binding_id="tf-test-membership-rbac-role-binding_16511",
376
376
  membership_id=membership.membership_id,
377
377
  user=f"service-{project.number}@gcp-sa-anthossupport.iam.gserviceaccount.com",
378
378
  role=gcp.gkehub.MembershipRbacRoleBindingRoleArgs(
@@ -444,7 +444,7 @@ class MembershipRbacRoleBinding(pulumi.CustomResource):
444
444
  network="default",
445
445
  subnetwork="default")
446
446
  membership = gcp.gkehub.Membership("membership",
447
- membership_id="tf-test-membership_39249",
447
+ membership_id="tf-test-membership_74391",
448
448
  endpoint=gcp.gkehub.MembershipEndpointArgs(
449
449
  gke_cluster=gcp.gkehub.MembershipEndpointGkeClusterArgs(
450
450
  resource_link=primary.id.apply(lambda id: f"//container.googleapis.com/{id}"),
@@ -452,7 +452,7 @@ class MembershipRbacRoleBinding(pulumi.CustomResource):
452
452
  ))
453
453
  project = gcp.organizations.get_project()
454
454
  membership_rbac_role_binding = gcp.gkehub.MembershipRbacRoleBinding("membership_rbac_role_binding",
455
- membership_rbac_role_binding_id="tf-test-membership-rbac-role-binding_74391",
455
+ membership_rbac_role_binding_id="tf-test-membership-rbac-role-binding_16511",
456
456
  membership_id=membership.membership_id,
457
457
  user=f"service-{project.number}@gcp-sa-anthossupport.iam.gserviceaccount.com",
458
458
  role=gcp.gkehub.MembershipRbacRoleBindingRoleArgs(
@@ -424,9 +424,9 @@ class Namespace(pulumi.CustomResource):
424
424
  import pulumi
425
425
  import pulumi_gcp as gcp
426
426
 
427
- scope = gcp.gkehub.Scope("scope", scope_id="tf-test-scope_16511")
427
+ scope = gcp.gkehub.Scope("scope", scope_id="tf-test-scope_8493")
428
428
  namespace = gcp.gkehub.Namespace("namespace",
429
- scope_namespace_id="tf-test-namespace_8493",
429
+ scope_namespace_id="tf-test-namespace_9106",
430
430
  scope_id=scope.scope_id,
431
431
  scope=scope.name,
432
432
  namespace_labels={
@@ -510,9 +510,9 @@ class Namespace(pulumi.CustomResource):
510
510
  import pulumi
511
511
  import pulumi_gcp as gcp
512
512
 
513
- scope = gcp.gkehub.Scope("scope", scope_id="tf-test-scope_16511")
513
+ scope = gcp.gkehub.Scope("scope", scope_id="tf-test-scope_8493")
514
514
  namespace = gcp.gkehub.Namespace("namespace",
515
- scope_namespace_id="tf-test-namespace_8493",
515
+ scope_namespace_id="tf-test-namespace_9106",
516
516
  scope_id=scope.scope_id,
517
517
  scope=scope.name,
518
518
  namespace_labels={
@@ -453,9 +453,9 @@ class ScopeRbacRoleBinding(pulumi.CustomResource):
453
453
  import pulumi
454
454
  import pulumi_gcp as gcp
455
455
 
456
- scope = gcp.gkehub.Scope("scope", scope_id="tf-test-scope_9106")
456
+ scope = gcp.gkehub.Scope("scope", scope_id="tf-test-scope_27169")
457
457
  scope_rbac_role_binding = gcp.gkehub.ScopeRbacRoleBinding("scope_rbac_role_binding",
458
- scope_rbac_role_binding_id="tf-test-scope-rbac-role-binding_27169",
458
+ scope_rbac_role_binding_id="tf-test-scope-rbac-role-binding_75223",
459
459
  scope_id=scope.scope_id,
460
460
  user="test-email@gmail.com",
461
461
  role=gcp.gkehub.ScopeRbacRoleBindingRoleArgs(
@@ -535,9 +535,9 @@ class ScopeRbacRoleBinding(pulumi.CustomResource):
535
535
  import pulumi
536
536
  import pulumi_gcp as gcp
537
537
 
538
- scope = gcp.gkehub.Scope("scope", scope_id="tf-test-scope_9106")
538
+ scope = gcp.gkehub.Scope("scope", scope_id="tf-test-scope_27169")
539
539
  scope_rbac_role_binding = gcp.gkehub.ScopeRbacRoleBinding("scope_rbac_role_binding",
540
- scope_rbac_role_binding_id="tf-test-scope-rbac-role-binding_27169",
540
+ scope_rbac_role_binding_id="tf-test-scope-rbac-role-binding_75223",
541
541
  scope_id=scope.scope_id,
542
542
  user="test-email@gmail.com",
543
543
  role=gcp.gkehub.ScopeRbacRoleBindingRoleArgs(
@@ -249,7 +249,7 @@ class TunnelDestGroup(pulumi.CustomResource):
249
249
 
250
250
  dest_group = gcp.iap.TunnelDestGroup("dest_group",
251
251
  region="us-central1",
252
- group_name="testgroup_75223",
252
+ group_name="testgroup_41819",
253
253
  cidrs=[
254
254
  "10.1.0.0/16",
255
255
  "192.168.10.0/24",
@@ -337,7 +337,7 @@ class TunnelDestGroup(pulumi.CustomResource):
337
337
 
338
338
  dest_group = gcp.iap.TunnelDestGroup("dest_group",
339
339
  region="us-central1",
340
- group_name="testgroup_75223",
340
+ group_name="testgroup_41819",
341
341
  cidrs=[
342
342
  "10.1.0.0/16",
343
343
  "192.168.10.0/24",
pulumi_gcp/kms/_inputs.py CHANGED
@@ -16,6 +16,7 @@ __all__ = [
16
16
  'CryptoKeyVersionAttestationArgs',
17
17
  'CryptoKeyVersionAttestationCertChainsArgs',
18
18
  'CryptoKeyVersionAttestationExternalProtectionLevelOptionsArgs',
19
+ 'CryptoKeyVersionExternalProtectionLevelOptionsArgs',
19
20
  'CryptoKeyVersionTemplateArgs',
20
21
  'EkmConnectionServiceResolverArgs',
21
22
  'EkmConnectionServiceResolverServerCertificateArgs',
@@ -209,6 +210,9 @@ class CryptoKeyVersionAttestationArgs:
209
210
  pulumi.set(__self__, "cert_chains", cert_chains)
210
211
  if content is not None:
211
212
  pulumi.set(__self__, "content", content)
213
+ if external_protection_level_options is not None:
214
+ warnings.warn("""`externalProtectionLevelOptions` is being un-nested from the `attestation` field. Please use the top level `externalProtectionLevelOptions` field instead.""", DeprecationWarning)
215
+ pulumi.log.warn("""external_protection_level_options is deprecated: `externalProtectionLevelOptions` is being un-nested from the `attestation` field. Please use the top level `externalProtectionLevelOptions` field instead.""")
212
216
  if external_protection_level_options is not None:
213
217
  pulumi.set(__self__, "external_protection_level_options", external_protection_level_options)
214
218
  if format is not None:
@@ -247,6 +251,9 @@ class CryptoKeyVersionAttestationArgs:
247
251
  ExternalProtectionLevelOptions stores a group of additional fields for configuring a CryptoKeyVersion that are specific to the EXTERNAL protection level and EXTERNAL_VPC protection levels.
248
252
  Structure is documented below.
249
253
  """
254
+ warnings.warn("""`externalProtectionLevelOptions` is being un-nested from the `attestation` field. Please use the top level `externalProtectionLevelOptions` field instead.""", DeprecationWarning)
255
+ pulumi.log.warn("""external_protection_level_options is deprecated: `externalProtectionLevelOptions` is being un-nested from the `attestation` field. Please use the top level `externalProtectionLevelOptions` field instead.""")
256
+
250
257
  return pulumi.get(self, "external_protection_level_options")
251
258
 
252
259
  @external_protection_level_options.setter
@@ -361,6 +368,45 @@ class CryptoKeyVersionAttestationExternalProtectionLevelOptionsArgs:
361
368
  pulumi.set(self, "external_key_uri", value)
362
369
 
363
370
 
371
+ @pulumi.input_type
372
+ class CryptoKeyVersionExternalProtectionLevelOptionsArgs:
373
+ def __init__(__self__, *,
374
+ ekm_connection_key_path: Optional[pulumi.Input[str]] = None,
375
+ external_key_uri: Optional[pulumi.Input[str]] = None):
376
+ """
377
+ :param pulumi.Input[str] ekm_connection_key_path: The path to the external key material on the EKM when using EkmConnection e.g., "v0/my/key". Set this field instead of externalKeyUri when using an EkmConnection.
378
+ :param pulumi.Input[str] external_key_uri: The URI for an external resource that this CryptoKeyVersion represents.
379
+ """
380
+ if ekm_connection_key_path is not None:
381
+ pulumi.set(__self__, "ekm_connection_key_path", ekm_connection_key_path)
382
+ if external_key_uri is not None:
383
+ pulumi.set(__self__, "external_key_uri", external_key_uri)
384
+
385
+ @property
386
+ @pulumi.getter(name="ekmConnectionKeyPath")
387
+ def ekm_connection_key_path(self) -> Optional[pulumi.Input[str]]:
388
+ """
389
+ The path to the external key material on the EKM when using EkmConnection e.g., "v0/my/key". Set this field instead of externalKeyUri when using an EkmConnection.
390
+ """
391
+ return pulumi.get(self, "ekm_connection_key_path")
392
+
393
+ @ekm_connection_key_path.setter
394
+ def ekm_connection_key_path(self, value: Optional[pulumi.Input[str]]):
395
+ pulumi.set(self, "ekm_connection_key_path", value)
396
+
397
+ @property
398
+ @pulumi.getter(name="externalKeyUri")
399
+ def external_key_uri(self) -> Optional[pulumi.Input[str]]:
400
+ """
401
+ The URI for an external resource that this CryptoKeyVersion represents.
402
+ """
403
+ return pulumi.get(self, "external_key_uri")
404
+
405
+ @external_key_uri.setter
406
+ def external_key_uri(self, value: Optional[pulumi.Input[str]]):
407
+ pulumi.set(self, "external_key_uri", value)
408
+
409
+
364
410
  @pulumi.input_type
365
411
  class CryptoKeyVersionTemplateArgs:
366
412
  def __init__(__self__, *,
@@ -17,6 +17,7 @@ __all__ = ['CryptoKeyArgs', 'CryptoKey']
17
17
  class CryptoKeyArgs:
18
18
  def __init__(__self__, *,
19
19
  key_ring: pulumi.Input[str],
20
+ crypto_key_backend: Optional[pulumi.Input[str]] = None,
20
21
  destroy_scheduled_duration: Optional[pulumi.Input[str]] = None,
21
22
  import_only: Optional[pulumi.Input[bool]] = None,
22
23
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
@@ -32,6 +33,8 @@ class CryptoKeyArgs:
32
33
 
33
34
 
34
35
  - - -
36
+ :param pulumi.Input[str] crypto_key_backend: The resource name of the backend environment associated with all CryptoKeyVersions within this CryptoKey.
37
+ The resource name is in the format "projects/*/locations/*/ekmConnections/*" and only applies to "EXTERNAL_VPC" keys.
35
38
  :param pulumi.Input[str] destroy_scheduled_duration: The period of time that versions of this key spend in the DESTROY_SCHEDULED state before transitioning to DESTROYED.
36
39
  If not specified at creation time, the default duration is 24 hours.
37
40
  :param pulumi.Input[bool] import_only: Whether this key may contain imported versions only.
@@ -54,6 +57,8 @@ class CryptoKeyArgs:
54
57
  Structure is documented below.
55
58
  """
56
59
  pulumi.set(__self__, "key_ring", key_ring)
60
+ if crypto_key_backend is not None:
61
+ pulumi.set(__self__, "crypto_key_backend", crypto_key_backend)
57
62
  if destroy_scheduled_duration is not None:
58
63
  pulumi.set(__self__, "destroy_scheduled_duration", destroy_scheduled_duration)
59
64
  if import_only is not None:
@@ -87,6 +92,19 @@ class CryptoKeyArgs:
87
92
  def key_ring(self, value: pulumi.Input[str]):
88
93
  pulumi.set(self, "key_ring", value)
89
94
 
95
+ @property
96
+ @pulumi.getter(name="cryptoKeyBackend")
97
+ def crypto_key_backend(self) -> Optional[pulumi.Input[str]]:
98
+ """
99
+ The resource name of the backend environment associated with all CryptoKeyVersions within this CryptoKey.
100
+ The resource name is in the format "projects/*/locations/*/ekmConnections/*" and only applies to "EXTERNAL_VPC" keys.
101
+ """
102
+ return pulumi.get(self, "crypto_key_backend")
103
+
104
+ @crypto_key_backend.setter
105
+ def crypto_key_backend(self, value: Optional[pulumi.Input[str]]):
106
+ pulumi.set(self, "crypto_key_backend", value)
107
+
90
108
  @property
91
109
  @pulumi.getter(name="destroyScheduledDuration")
92
110
  def destroy_scheduled_duration(self) -> Optional[pulumi.Input[str]]:
@@ -199,6 +217,7 @@ class CryptoKeyArgs:
199
217
  @pulumi.input_type
200
218
  class _CryptoKeyState:
201
219
  def __init__(__self__, *,
220
+ crypto_key_backend: Optional[pulumi.Input[str]] = None,
202
221
  destroy_scheduled_duration: Optional[pulumi.Input[str]] = None,
203
222
  effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
204
223
  import_only: Optional[pulumi.Input[bool]] = None,
@@ -213,6 +232,8 @@ class _CryptoKeyState:
213
232
  version_template: Optional[pulumi.Input['CryptoKeyVersionTemplateArgs']] = None):
214
233
  """
215
234
  Input properties used for looking up and filtering CryptoKey resources.
235
+ :param pulumi.Input[str] crypto_key_backend: The resource name of the backend environment associated with all CryptoKeyVersions within this CryptoKey.
236
+ The resource name is in the format "projects/*/locations/*/ekmConnections/*" and only applies to "EXTERNAL_VPC" keys.
216
237
  :param pulumi.Input[str] destroy_scheduled_duration: The period of time that versions of this key spend in the DESTROY_SCHEDULED state before transitioning to DESTROYED.
217
238
  If not specified at creation time, the default duration is 24 hours.
218
239
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
@@ -245,6 +266,8 @@ class _CryptoKeyState:
245
266
  :param pulumi.Input['CryptoKeyVersionTemplateArgs'] version_template: A template describing settings for new crypto key versions.
246
267
  Structure is documented below.
247
268
  """
269
+ if crypto_key_backend is not None:
270
+ pulumi.set(__self__, "crypto_key_backend", crypto_key_backend)
248
271
  if destroy_scheduled_duration is not None:
249
272
  pulumi.set(__self__, "destroy_scheduled_duration", destroy_scheduled_duration)
250
273
  if effective_labels is not None:
@@ -270,6 +293,19 @@ class _CryptoKeyState:
270
293
  if version_template is not None:
271
294
  pulumi.set(__self__, "version_template", version_template)
272
295
 
296
+ @property
297
+ @pulumi.getter(name="cryptoKeyBackend")
298
+ def crypto_key_backend(self) -> Optional[pulumi.Input[str]]:
299
+ """
300
+ The resource name of the backend environment associated with all CryptoKeyVersions within this CryptoKey.
301
+ The resource name is in the format "projects/*/locations/*/ekmConnections/*" and only applies to "EXTERNAL_VPC" keys.
302
+ """
303
+ return pulumi.get(self, "crypto_key_backend")
304
+
305
+ @crypto_key_backend.setter
306
+ def crypto_key_backend(self, value: Optional[pulumi.Input[str]]):
307
+ pulumi.set(self, "crypto_key_backend", value)
308
+
273
309
  @property
274
310
  @pulumi.getter(name="destroyScheduledDuration")
275
311
  def destroy_scheduled_duration(self) -> Optional[pulumi.Input[str]]:
@@ -439,6 +475,7 @@ class CryptoKey(pulumi.CustomResource):
439
475
  def __init__(__self__,
440
476
  resource_name: str,
441
477
  opts: Optional[pulumi.ResourceOptions] = None,
478
+ crypto_key_backend: Optional[pulumi.Input[str]] = None,
442
479
  destroy_scheduled_duration: Optional[pulumi.Input[str]] = None,
443
480
  import_only: Optional[pulumi.Input[bool]] = None,
444
481
  key_ring: Optional[pulumi.Input[str]] = None,
@@ -525,6 +562,8 @@ class CryptoKey(pulumi.CustomResource):
525
562
 
526
563
  :param str resource_name: The name of the resource.
527
564
  :param pulumi.ResourceOptions opts: Options for the resource.
565
+ :param pulumi.Input[str] crypto_key_backend: The resource name of the backend environment associated with all CryptoKeyVersions within this CryptoKey.
566
+ The resource name is in the format "projects/*/locations/*/ekmConnections/*" and only applies to "EXTERNAL_VPC" keys.
528
567
  :param pulumi.Input[str] destroy_scheduled_duration: The period of time that versions of this key spend in the DESTROY_SCHEDULED state before transitioning to DESTROYED.
529
568
  If not specified at creation time, the default duration is 24 hours.
530
569
  :param pulumi.Input[bool] import_only: Whether this key may contain imported versions only.
@@ -646,6 +685,7 @@ class CryptoKey(pulumi.CustomResource):
646
685
  def _internal_init(__self__,
647
686
  resource_name: str,
648
687
  opts: Optional[pulumi.ResourceOptions] = None,
688
+ crypto_key_backend: Optional[pulumi.Input[str]] = None,
649
689
  destroy_scheduled_duration: Optional[pulumi.Input[str]] = None,
650
690
  import_only: Optional[pulumi.Input[bool]] = None,
651
691
  key_ring: Optional[pulumi.Input[str]] = None,
@@ -664,6 +704,7 @@ class CryptoKey(pulumi.CustomResource):
664
704
  raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
665
705
  __props__ = CryptoKeyArgs.__new__(CryptoKeyArgs)
666
706
 
707
+ __props__.__dict__["crypto_key_backend"] = crypto_key_backend
667
708
  __props__.__dict__["destroy_scheduled_duration"] = destroy_scheduled_duration
668
709
  __props__.__dict__["import_only"] = import_only
669
710
  if key_ring is None and not opts.urn:
@@ -690,6 +731,7 @@ class CryptoKey(pulumi.CustomResource):
690
731
  def get(resource_name: str,
691
732
  id: pulumi.Input[str],
692
733
  opts: Optional[pulumi.ResourceOptions] = None,
734
+ crypto_key_backend: Optional[pulumi.Input[str]] = None,
693
735
  destroy_scheduled_duration: Optional[pulumi.Input[str]] = None,
694
736
  effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
695
737
  import_only: Optional[pulumi.Input[bool]] = None,
@@ -709,6 +751,8 @@ class CryptoKey(pulumi.CustomResource):
709
751
  :param str resource_name: The unique name of the resulting resource.
710
752
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
711
753
  :param pulumi.ResourceOptions opts: Options for the resource.
754
+ :param pulumi.Input[str] crypto_key_backend: The resource name of the backend environment associated with all CryptoKeyVersions within this CryptoKey.
755
+ The resource name is in the format "projects/*/locations/*/ekmConnections/*" and only applies to "EXTERNAL_VPC" keys.
712
756
  :param pulumi.Input[str] destroy_scheduled_duration: The period of time that versions of this key spend in the DESTROY_SCHEDULED state before transitioning to DESTROYED.
713
757
  If not specified at creation time, the default duration is 24 hours.
714
758
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
@@ -745,6 +789,7 @@ class CryptoKey(pulumi.CustomResource):
745
789
 
746
790
  __props__ = _CryptoKeyState.__new__(_CryptoKeyState)
747
791
 
792
+ __props__.__dict__["crypto_key_backend"] = crypto_key_backend
748
793
  __props__.__dict__["destroy_scheduled_duration"] = destroy_scheduled_duration
749
794
  __props__.__dict__["effective_labels"] = effective_labels
750
795
  __props__.__dict__["import_only"] = import_only
@@ -759,6 +804,15 @@ class CryptoKey(pulumi.CustomResource):
759
804
  __props__.__dict__["version_template"] = version_template
760
805
  return CryptoKey(resource_name, opts=opts, __props__=__props__)
761
806
 
807
+ @property
808
+ @pulumi.getter(name="cryptoKeyBackend")
809
+ def crypto_key_backend(self) -> pulumi.Output[str]:
810
+ """
811
+ The resource name of the backend environment associated with all CryptoKeyVersions within this CryptoKey.
812
+ The resource name is in the format "projects/*/locations/*/ekmConnections/*" and only applies to "EXTERNAL_VPC" keys.
813
+ """
814
+ return pulumi.get(self, "crypto_key_backend")
815
+
762
816
  @property
763
817
  @pulumi.getter(name="destroyScheduledDuration")
764
818
  def destroy_scheduled_duration(self) -> pulumi.Output[str]: