pulumi-gcp 7.27.0a1718279079__py3-none-any.whl → 7.28.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 (59) hide show
  1. pulumi_gcp/__init__.py +59 -0
  2. pulumi_gcp/accesscontextmanager/_inputs.py +58 -74
  3. pulumi_gcp/accesscontextmanager/access_levels.py +0 -20
  4. pulumi_gcp/accesscontextmanager/outputs.py +58 -74
  5. pulumi_gcp/accesscontextmanager/service_perimeter.py +2 -0
  6. pulumi_gcp/bigtable/_inputs.py +40 -0
  7. pulumi_gcp/bigtable/outputs.py +49 -0
  8. pulumi_gcp/bigtable/table.py +54 -0
  9. pulumi_gcp/cloudbuildv2/_inputs.py +383 -0
  10. pulumi_gcp/cloudbuildv2/connection.py +110 -2
  11. pulumi_gcp/cloudbuildv2/outputs.py +421 -0
  12. pulumi_gcp/composer/__init__.py +3 -0
  13. pulumi_gcp/composer/get_user_workloads_config_map.py +190 -0
  14. pulumi_gcp/composer/get_user_workloads_secret.py +188 -0
  15. pulumi_gcp/composer/user_workloads_config_map.py +475 -0
  16. pulumi_gcp/compute/_inputs.py +4 -2
  17. pulumi_gcp/compute/backend_service.py +28 -48
  18. pulumi_gcp/compute/interconnect.py +4 -4
  19. pulumi_gcp/compute/outputs.py +10 -4
  20. pulumi_gcp/compute/region_backend_service.py +35 -48
  21. pulumi_gcp/compute/region_network_endpoint.py +187 -0
  22. pulumi_gcp/compute/region_network_endpoint_group.py +49 -9
  23. pulumi_gcp/compute/region_target_https_proxy.py +7 -14
  24. pulumi_gcp/compute/target_https_proxy.py +28 -14
  25. pulumi_gcp/config/__init__.pyi +2 -0
  26. pulumi_gcp/config/vars.py +4 -0
  27. pulumi_gcp/container/_inputs.py +2 -2
  28. pulumi_gcp/container/outputs.py +4 -4
  29. pulumi_gcp/discoveryengine/_inputs.py +227 -0
  30. pulumi_gcp/discoveryengine/data_store.py +108 -0
  31. pulumi_gcp/discoveryengine/outputs.py +280 -0
  32. pulumi_gcp/edgecontainer/_inputs.py +107 -1
  33. pulumi_gcp/edgecontainer/outputs.py +123 -1
  34. pulumi_gcp/gkehub/_inputs.py +16 -0
  35. pulumi_gcp/gkehub/outputs.py +15 -1
  36. pulumi_gcp/kms/crypto_key.py +2 -6
  37. pulumi_gcp/logging/folder_sink.py +14 -14
  38. pulumi_gcp/logging/organization_sink.py +14 -14
  39. pulumi_gcp/managedkafka/__init__.py +11 -0
  40. pulumi_gcp/managedkafka/_inputs.py +169 -0
  41. pulumi_gcp/managedkafka/cluster.py +807 -0
  42. pulumi_gcp/managedkafka/outputs.py +197 -0
  43. pulumi_gcp/managedkafka/topic.py +599 -0
  44. pulumi_gcp/netapp/__init__.py +1 -0
  45. pulumi_gcp/netapp/active_directory.py +55 -0
  46. pulumi_gcp/netapp/backup.py +903 -0
  47. pulumi_gcp/provider.py +20 -0
  48. pulumi_gcp/pulumi-plugin.json +1 -1
  49. pulumi_gcp/securitycenter/__init__.py +3 -0
  50. pulumi_gcp/securitycenter/_inputs.py +1105 -0
  51. pulumi_gcp/securitycenter/management_folder_security_health_analytics_custom_module.py +725 -0
  52. pulumi_gcp/securitycenter/management_organization_security_health_analytics_custom_module.py +713 -0
  53. pulumi_gcp/securitycenter/management_project_security_health_analytics_custom_module.py +706 -0
  54. pulumi_gcp/securitycenter/outputs.py +1048 -0
  55. pulumi_gcp/vertex/ai_feature_online_store.py +37 -8
  56. {pulumi_gcp-7.27.0a1718279079.dist-info → pulumi_gcp-7.28.0.dist-info}/METADATA +1 -1
  57. {pulumi_gcp-7.27.0a1718279079.dist-info → pulumi_gcp-7.28.0.dist-info}/RECORD +59 -47
  58. {pulumi_gcp-7.27.0a1718279079.dist-info → pulumi_gcp-7.28.0.dist-info}/WHEEL +1 -1
  59. {pulumi_gcp-7.27.0a1718279079.dist-info → pulumi_gcp-7.28.0.dist-info}/top_level.txt +0 -0
@@ -1668,8 +1668,8 @@ class ServicePerimeterEgressPolicyEgressFrom(dict):
1668
1668
  sources: Optional[Sequence['outputs.ServicePerimeterEgressPolicyEgressFromSource']] = None):
1669
1669
  """
1670
1670
  :param Sequence[str] identities: A list of identities that are allowed access through this `EgressPolicy`.
1671
- Should be in the format of an email address. The email address should
1672
- represent an individual user, service account, or Google group.
1671
+ Should be in the format of email address. The email address should
1672
+ represent individual user or service account only.
1673
1673
  :param str identity_type: Specifies the type of identities that are allowed access to outside the
1674
1674
  perimeter. If left unspecified, then members of `identities` field will
1675
1675
  be allowed access.
@@ -1693,8 +1693,8 @@ class ServicePerimeterEgressPolicyEgressFrom(dict):
1693
1693
  def identities(self) -> Optional[Sequence[str]]:
1694
1694
  """
1695
1695
  A list of identities that are allowed access through this `EgressPolicy`.
1696
- Should be in the format of an email address. The email address should
1697
- represent an individual user, service account, or Google group.
1696
+ Should be in the format of email address. The email address should
1697
+ represent individual user or service account only.
1698
1698
  """
1699
1699
  return pulumi.get(self, "identities")
1700
1700
 
@@ -1963,9 +1963,9 @@ class ServicePerimeterIngressPolicyIngressFrom(dict):
1963
1963
  identity_type: Optional[str] = None,
1964
1964
  sources: Optional[Sequence['outputs.ServicePerimeterIngressPolicyIngressFromSource']] = None):
1965
1965
  """
1966
- :param Sequence[str] identities: A list of identities that are allowed access through this `IngressPolicy`.
1967
- Should be in the format of an email address. The email address should represent
1968
- an individual user, service account, or Google group.
1966
+ :param Sequence[str] identities: A list of identities that are allowed access through this ingress policy.
1967
+ Should be in the format of email address. The email address should represent
1968
+ individual user or service account only.
1969
1969
  :param str identity_type: Specifies the type of identities that are allowed access from outside the
1970
1970
  perimeter. If left unspecified, then members of `identities` field will be
1971
1971
  allowed access.
@@ -1984,9 +1984,9 @@ class ServicePerimeterIngressPolicyIngressFrom(dict):
1984
1984
  @pulumi.getter
1985
1985
  def identities(self) -> Optional[Sequence[str]]:
1986
1986
  """
1987
- A list of identities that are allowed access through this `IngressPolicy`.
1988
- Should be in the format of an email address. The email address should represent
1989
- an individual user, service account, or Google group.
1987
+ A list of identities that are allowed access through this ingress policy.
1988
+ Should be in the format of email address. The email address should represent
1989
+ individual user or service account only.
1990
1990
  """
1991
1991
  return pulumi.get(self, "identities")
1992
1992
 
@@ -2466,10 +2466,9 @@ class ServicePerimeterSpecEgressPolicyEgressFrom(dict):
2466
2466
  source_restriction: Optional[str] = None,
2467
2467
  sources: Optional[Sequence['outputs.ServicePerimeterSpecEgressPolicyEgressFromSource']] = None):
2468
2468
  """
2469
- :param Sequence[str] identities: 'A list of identities that are allowed access through this `EgressPolicy`.
2470
- To specify an identity or identity group, use the IAM v1
2471
- format specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1).
2472
- The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'
2469
+ :param Sequence[str] identities: A list of identities that are allowed access through this `EgressPolicy`.
2470
+ Should be in the format of email address. The email address should
2471
+ represent individual user or service account only.
2473
2472
  :param str identity_type: Specifies the type of identities that are allowed access to outside the
2474
2473
  perimeter. If left unspecified, then members of `identities` field will
2475
2474
  be allowed access.
@@ -2492,10 +2491,9 @@ class ServicePerimeterSpecEgressPolicyEgressFrom(dict):
2492
2491
  @pulumi.getter
2493
2492
  def identities(self) -> Optional[Sequence[str]]:
2494
2493
  """
2495
- 'A list of identities that are allowed access through this `EgressPolicy`.
2496
- To specify an identity or identity group, use the IAM v1
2497
- format specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1).
2498
- The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'
2494
+ A list of identities that are allowed access through this `EgressPolicy`.
2495
+ Should be in the format of email address. The email address should
2496
+ represent individual user or service account only.
2499
2497
  """
2500
2498
  return pulumi.get(self, "identities")
2501
2499
 
@@ -2822,10 +2820,9 @@ class ServicePerimeterSpecIngressPolicyIngressFrom(dict):
2822
2820
  identity_type: Optional[str] = None,
2823
2821
  sources: Optional[Sequence['outputs.ServicePerimeterSpecIngressPolicyIngressFromSource']] = None):
2824
2822
  """
2825
- :param Sequence[str] identities: 'A list of identities that are allowed access through this `IngressPolicy`.
2826
- To specify an identity or identity group, use the IAM v1
2827
- format specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1).
2828
- The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'
2823
+ :param Sequence[str] identities: A list of identities that are allowed access through this ingress policy.
2824
+ Should be in the format of email address. The email address should represent
2825
+ individual user or service account only.
2829
2826
  :param str identity_type: Specifies the type of identities that are allowed access from outside the
2830
2827
  perimeter. If left unspecified, then members of `identities` field will be
2831
2828
  allowed access.
@@ -2844,10 +2841,9 @@ class ServicePerimeterSpecIngressPolicyIngressFrom(dict):
2844
2841
  @pulumi.getter
2845
2842
  def identities(self) -> Optional[Sequence[str]]:
2846
2843
  """
2847
- 'A list of identities that are allowed access through this `IngressPolicy`.
2848
- To specify an identity or identity group, use the IAM v1
2849
- format specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1).
2850
- The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'
2844
+ A list of identities that are allowed access through this ingress policy.
2845
+ Should be in the format of email address. The email address should represent
2846
+ individual user or service account only.
2851
2847
  """
2852
2848
  return pulumi.get(self, "identities")
2853
2849
 
@@ -3367,10 +3363,9 @@ class ServicePerimeterStatusEgressPolicyEgressFrom(dict):
3367
3363
  source_restriction: Optional[str] = None,
3368
3364
  sources: Optional[Sequence['outputs.ServicePerimeterStatusEgressPolicyEgressFromSource']] = None):
3369
3365
  """
3370
- :param Sequence[str] identities: 'A list of identities that are allowed access through this `EgressPolicy`.
3371
- To specify an identity or identity group, use the IAM v1
3372
- format specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1).
3373
- The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'
3366
+ :param Sequence[str] identities: A list of identities that are allowed access through this `EgressPolicy`.
3367
+ Should be in the format of email address. The email address should
3368
+ represent individual user or service account only.
3374
3369
  :param str identity_type: Specifies the type of identities that are allowed access to outside the
3375
3370
  perimeter. If left unspecified, then members of `identities` field will
3376
3371
  be allowed access.
@@ -3393,10 +3388,9 @@ class ServicePerimeterStatusEgressPolicyEgressFrom(dict):
3393
3388
  @pulumi.getter
3394
3389
  def identities(self) -> Optional[Sequence[str]]:
3395
3390
  """
3396
- 'A list of identities that are allowed access through this `EgressPolicy`.
3397
- To specify an identity or identity group, use the IAM v1
3398
- format specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1).
3399
- The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'
3391
+ A list of identities that are allowed access through this `EgressPolicy`.
3392
+ Should be in the format of email address. The email address should
3393
+ represent individual user or service account only.
3400
3394
  """
3401
3395
  return pulumi.get(self, "identities")
3402
3396
 
@@ -3723,10 +3717,9 @@ class ServicePerimeterStatusIngressPolicyIngressFrom(dict):
3723
3717
  identity_type: Optional[str] = None,
3724
3718
  sources: Optional[Sequence['outputs.ServicePerimeterStatusIngressPolicyIngressFromSource']] = None):
3725
3719
  """
3726
- :param Sequence[str] identities: 'A list of identities that are allowed access through this `IngressPolicy`.
3727
- To specify an identity or identity group, use the IAM v1
3728
- format specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1).
3729
- The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'
3720
+ :param Sequence[str] identities: A list of identities that are allowed access through this ingress policy.
3721
+ Should be in the format of email address. The email address should represent
3722
+ individual user or service account only.
3730
3723
  :param str identity_type: Specifies the type of identities that are allowed access from outside the
3731
3724
  perimeter. If left unspecified, then members of `identities` field will be
3732
3725
  allowed access.
@@ -3745,10 +3738,9 @@ class ServicePerimeterStatusIngressPolicyIngressFrom(dict):
3745
3738
  @pulumi.getter
3746
3739
  def identities(self) -> Optional[Sequence[str]]:
3747
3740
  """
3748
- 'A list of identities that are allowed access through this `IngressPolicy`.
3749
- To specify an identity or identity group, use the IAM v1
3750
- format specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1).
3751
- The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'
3741
+ A list of identities that are allowed access through this ingress policy.
3742
+ Should be in the format of email address. The email address should represent
3743
+ individual user or service account only.
3752
3744
  """
3753
3745
  return pulumi.get(self, "identities")
3754
3746
 
@@ -4474,10 +4466,9 @@ class ServicePerimetersServicePerimeterSpecEgressPolicyEgressFrom(dict):
4474
4466
  source_restriction: Optional[str] = None,
4475
4467
  sources: Optional[Sequence['outputs.ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSource']] = None):
4476
4468
  """
4477
- :param Sequence[str] identities: 'A list of identities that are allowed access through this `EgressPolicy`.
4478
- To specify an identity or identity group, use the IAM v1 format
4479
- specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1).
4480
- The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'
4469
+ :param Sequence[str] identities: A list of identities that are allowed access through this `EgressPolicy`.
4470
+ Should be in the format of email address. The email address should
4471
+ represent individual user or service account only.
4481
4472
  :param str identity_type: Specifies the type of identities that are allowed access to outside the
4482
4473
  perimeter. If left unspecified, then members of `identities` field will
4483
4474
  be allowed access.
@@ -4500,10 +4491,9 @@ class ServicePerimetersServicePerimeterSpecEgressPolicyEgressFrom(dict):
4500
4491
  @pulumi.getter
4501
4492
  def identities(self) -> Optional[Sequence[str]]:
4502
4493
  """
4503
- 'A list of identities that are allowed access through this `EgressPolicy`.
4504
- To specify an identity or identity group, use the IAM v1 format
4505
- specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1).
4506
- The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'
4494
+ A list of identities that are allowed access through this `EgressPolicy`.
4495
+ Should be in the format of email address. The email address should
4496
+ represent individual user or service account only.
4507
4497
  """
4508
4498
  return pulumi.get(self, "identities")
4509
4499
 
@@ -4830,10 +4820,9 @@ class ServicePerimetersServicePerimeterSpecIngressPolicyIngressFrom(dict):
4830
4820
  identity_type: Optional[str] = None,
4831
4821
  sources: Optional[Sequence['outputs.ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSource']] = None):
4832
4822
  """
4833
- :param Sequence[str] identities: 'A list of identities that are allowed access through this `IngressPolicy`.
4834
- To specify an identity or identity group, use the IAM v1 format
4835
- specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1).
4836
- The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'
4823
+ :param Sequence[str] identities: A list of identities that are allowed access through this ingress policy.
4824
+ Should be in the format of email address. The email address should represent
4825
+ individual user or service account only.
4837
4826
  :param str identity_type: Specifies the type of identities that are allowed access from outside the
4838
4827
  perimeter. If left unspecified, then members of `identities` field will be
4839
4828
  allowed access.
@@ -4852,10 +4841,9 @@ class ServicePerimetersServicePerimeterSpecIngressPolicyIngressFrom(dict):
4852
4841
  @pulumi.getter
4853
4842
  def identities(self) -> Optional[Sequence[str]]:
4854
4843
  """
4855
- 'A list of identities that are allowed access through this `IngressPolicy`.
4856
- To specify an identity or identity group, use the IAM v1 format
4857
- specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1).
4858
- The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'
4844
+ A list of identities that are allowed access through this ingress policy.
4845
+ Should be in the format of email address. The email address should represent
4846
+ individual user or service account only.
4859
4847
  """
4860
4848
  return pulumi.get(self, "identities")
4861
4849
 
@@ -5375,10 +5363,9 @@ class ServicePerimetersServicePerimeterStatusEgressPolicyEgressFrom(dict):
5375
5363
  source_restriction: Optional[str] = None,
5376
5364
  sources: Optional[Sequence['outputs.ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSource']] = None):
5377
5365
  """
5378
- :param Sequence[str] identities: 'A list of identities that are allowed access through this `EgressPolicy`.
5379
- To specify an identity or identity group, use the IAM v1 format
5380
- specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1).
5381
- The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'
5366
+ :param Sequence[str] identities: A list of identities that are allowed access through this `EgressPolicy`.
5367
+ Should be in the format of email address. The email address should
5368
+ represent individual user or service account only.
5382
5369
  :param str identity_type: Specifies the type of identities that are allowed access to outside the
5383
5370
  perimeter. If left unspecified, then members of `identities` field will
5384
5371
  be allowed access.
@@ -5401,10 +5388,9 @@ class ServicePerimetersServicePerimeterStatusEgressPolicyEgressFrom(dict):
5401
5388
  @pulumi.getter
5402
5389
  def identities(self) -> Optional[Sequence[str]]:
5403
5390
  """
5404
- 'A list of identities that are allowed access through this `EgressPolicy`.
5405
- To specify an identity or identity group, use the IAM v1 format
5406
- specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1).
5407
- The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'
5391
+ A list of identities that are allowed access through this `EgressPolicy`.
5392
+ Should be in the format of email address. The email address should
5393
+ represent individual user or service account only.
5408
5394
  """
5409
5395
  return pulumi.get(self, "identities")
5410
5396
 
@@ -5731,10 +5717,9 @@ class ServicePerimetersServicePerimeterStatusIngressPolicyIngressFrom(dict):
5731
5717
  identity_type: Optional[str] = None,
5732
5718
  sources: Optional[Sequence['outputs.ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSource']] = None):
5733
5719
  """
5734
- :param Sequence[str] identities: 'A list of identities that are allowed access through this `IngressPolicy`.
5735
- To specify an identity or identity group, use the IAM v1 format
5736
- specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1).
5737
- The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'
5720
+ :param Sequence[str] identities: A list of identities that are allowed access through this ingress policy.
5721
+ Should be in the format of email address. The email address should represent
5722
+ individual user or service account only.
5738
5723
  :param str identity_type: Specifies the type of identities that are allowed access from outside the
5739
5724
  perimeter. If left unspecified, then members of `identities` field will be
5740
5725
  allowed access.
@@ -5753,10 +5738,9 @@ class ServicePerimetersServicePerimeterStatusIngressPolicyIngressFrom(dict):
5753
5738
  @pulumi.getter
5754
5739
  def identities(self) -> Optional[Sequence[str]]:
5755
5740
  """
5756
- 'A list of identities that are allowed access through this `IngressPolicy`.
5757
- To specify an identity or identity group, use the IAM v1 format
5758
- specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1).
5759
- The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'
5741
+ A list of identities that are allowed access through this ingress policy.
5742
+ Should be in the format of email address. The email address should represent
5743
+ individual user or service account only.
5760
5744
  """
5761
5745
  return pulumi.get(self, "identities")
5762
5746
 
@@ -667,6 +667,7 @@ class ServicePerimeter(pulumi.CustomResource):
667
667
  ),
668
668
  use_explicit_dry_run_spec=True)
669
669
  ```
670
+
670
671
  ## Import
671
672
 
672
673
  ServicePerimeter can be imported using any of these accepted formats:
@@ -923,6 +924,7 @@ class ServicePerimeter(pulumi.CustomResource):
923
924
  ),
924
925
  use_explicit_dry_run_spec=True)
925
926
  ```
927
+
926
928
  ## Import
927
929
 
928
930
  ServicePerimeter can be imported using any of these accepted formats:
@@ -18,6 +18,7 @@ __all__ = [
18
18
  'InstanceClusterAutoscalingConfigArgs',
19
19
  'InstanceIamBindingConditionArgs',
20
20
  'InstanceIamMemberConditionArgs',
21
+ 'TableAutomatedBackupPolicyArgs',
21
22
  'TableColumnFamilyArgs',
22
23
  'TableIamBindingConditionArgs',
23
24
  'TableIamMemberConditionArgs',
@@ -493,6 +494,45 @@ class InstanceIamMemberConditionArgs:
493
494
  pulumi.set(self, "description", value)
494
495
 
495
496
 
497
+ @pulumi.input_type
498
+ class TableAutomatedBackupPolicyArgs:
499
+ def __init__(__self__, *,
500
+ frequency: Optional[pulumi.Input[str]] = None,
501
+ retention_period: Optional[pulumi.Input[str]] = None):
502
+ """
503
+ :param pulumi.Input[str] frequency: How frequently automated backups should occur.
504
+ :param pulumi.Input[str] retention_period: How long the automated backups should be retained.
505
+ """
506
+ if frequency is not None:
507
+ pulumi.set(__self__, "frequency", frequency)
508
+ if retention_period is not None:
509
+ pulumi.set(__self__, "retention_period", retention_period)
510
+
511
+ @property
512
+ @pulumi.getter
513
+ def frequency(self) -> Optional[pulumi.Input[str]]:
514
+ """
515
+ How frequently automated backups should occur.
516
+ """
517
+ return pulumi.get(self, "frequency")
518
+
519
+ @frequency.setter
520
+ def frequency(self, value: Optional[pulumi.Input[str]]):
521
+ pulumi.set(self, "frequency", value)
522
+
523
+ @property
524
+ @pulumi.getter(name="retentionPeriod")
525
+ def retention_period(self) -> Optional[pulumi.Input[str]]:
526
+ """
527
+ How long the automated backups should be retained.
528
+ """
529
+ return pulumi.get(self, "retention_period")
530
+
531
+ @retention_period.setter
532
+ def retention_period(self, value: Optional[pulumi.Input[str]]):
533
+ pulumi.set(self, "retention_period", value)
534
+
535
+
496
536
  @pulumi.input_type
497
537
  class TableColumnFamilyArgs:
498
538
  def __init__(__self__, *,
@@ -19,6 +19,7 @@ __all__ = [
19
19
  'InstanceClusterAutoscalingConfig',
20
20
  'InstanceIamBindingCondition',
21
21
  'InstanceIamMemberCondition',
22
+ 'TableAutomatedBackupPolicy',
22
23
  'TableColumnFamily',
23
24
  'TableIamBindingCondition',
24
25
  'TableIamMemberCondition',
@@ -477,6 +478,54 @@ class InstanceIamMemberCondition(dict):
477
478
  return pulumi.get(self, "description")
478
479
 
479
480
 
481
+ @pulumi.output_type
482
+ class TableAutomatedBackupPolicy(dict):
483
+ @staticmethod
484
+ def __key_warning(key: str):
485
+ suggest = None
486
+ if key == "retentionPeriod":
487
+ suggest = "retention_period"
488
+
489
+ if suggest:
490
+ pulumi.log.warn(f"Key '{key}' not found in TableAutomatedBackupPolicy. Access the value via the '{suggest}' property getter instead.")
491
+
492
+ def __getitem__(self, key: str) -> Any:
493
+ TableAutomatedBackupPolicy.__key_warning(key)
494
+ return super().__getitem__(key)
495
+
496
+ def get(self, key: str, default = None) -> Any:
497
+ TableAutomatedBackupPolicy.__key_warning(key)
498
+ return super().get(key, default)
499
+
500
+ def __init__(__self__, *,
501
+ frequency: Optional[str] = None,
502
+ retention_period: Optional[str] = None):
503
+ """
504
+ :param str frequency: How frequently automated backups should occur.
505
+ :param str retention_period: How long the automated backups should be retained.
506
+ """
507
+ if frequency is not None:
508
+ pulumi.set(__self__, "frequency", frequency)
509
+ if retention_period is not None:
510
+ pulumi.set(__self__, "retention_period", retention_period)
511
+
512
+ @property
513
+ @pulumi.getter
514
+ def frequency(self) -> Optional[str]:
515
+ """
516
+ How frequently automated backups should occur.
517
+ """
518
+ return pulumi.get(self, "frequency")
519
+
520
+ @property
521
+ @pulumi.getter(name="retentionPeriod")
522
+ def retention_period(self) -> Optional[str]:
523
+ """
524
+ How long the automated backups should be retained.
525
+ """
526
+ return pulumi.get(self, "retention_period")
527
+
528
+
480
529
  @pulumi.output_type
481
530
  class TableColumnFamily(dict):
482
531
  def __init__(__self__, *,
@@ -17,6 +17,7 @@ __all__ = ['TableArgs', 'Table']
17
17
  class TableArgs:
18
18
  def __init__(__self__, *,
19
19
  instance_name: pulumi.Input[str],
20
+ automated_backup_policy: Optional[pulumi.Input['TableAutomatedBackupPolicyArgs']] = None,
20
21
  change_stream_retention: Optional[pulumi.Input[str]] = None,
21
22
  column_families: Optional[pulumi.Input[Sequence[pulumi.Input['TableColumnFamilyArgs']]]] = None,
22
23
  deletion_protection: Optional[pulumi.Input[str]] = None,
@@ -26,6 +27,8 @@ class TableArgs:
26
27
  """
27
28
  The set of arguments for constructing a Table resource.
28
29
  :param pulumi.Input[str] instance_name: The name of the Bigtable instance.
30
+ :param pulumi.Input['TableAutomatedBackupPolicyArgs'] automated_backup_policy: Defines an automated backup policy for a table, specified by Retention Period and Frequency. To disable, set both
31
+ Retention Period and Frequency to 0.
29
32
  :param pulumi.Input[str] change_stream_retention: Duration to retain change stream data for the table. Set to 0 to disable. Must be between 1 and 7 days.
30
33
 
31
34
  -----
@@ -39,6 +42,8 @@ class TableArgs:
39
42
  to delete/recreate the entire `bigtable.Table` resource.
40
43
  """
41
44
  pulumi.set(__self__, "instance_name", instance_name)
45
+ if automated_backup_policy is not None:
46
+ pulumi.set(__self__, "automated_backup_policy", automated_backup_policy)
42
47
  if change_stream_retention is not None:
43
48
  pulumi.set(__self__, "change_stream_retention", change_stream_retention)
44
49
  if column_families is not None:
@@ -64,6 +69,19 @@ class TableArgs:
64
69
  def instance_name(self, value: pulumi.Input[str]):
65
70
  pulumi.set(self, "instance_name", value)
66
71
 
72
+ @property
73
+ @pulumi.getter(name="automatedBackupPolicy")
74
+ def automated_backup_policy(self) -> Optional[pulumi.Input['TableAutomatedBackupPolicyArgs']]:
75
+ """
76
+ Defines an automated backup policy for a table, specified by Retention Period and Frequency. To disable, set both
77
+ Retention Period and Frequency to 0.
78
+ """
79
+ return pulumi.get(self, "automated_backup_policy")
80
+
81
+ @automated_backup_policy.setter
82
+ def automated_backup_policy(self, value: Optional[pulumi.Input['TableAutomatedBackupPolicyArgs']]):
83
+ pulumi.set(self, "automated_backup_policy", value)
84
+
67
85
  @property
68
86
  @pulumi.getter(name="changeStreamRetention")
69
87
  def change_stream_retention(self) -> Optional[pulumi.Input[str]]:
@@ -145,6 +163,7 @@ class TableArgs:
145
163
  @pulumi.input_type
146
164
  class _TableState:
147
165
  def __init__(__self__, *,
166
+ automated_backup_policy: Optional[pulumi.Input['TableAutomatedBackupPolicyArgs']] = None,
148
167
  change_stream_retention: Optional[pulumi.Input[str]] = None,
149
168
  column_families: Optional[pulumi.Input[Sequence[pulumi.Input['TableColumnFamilyArgs']]]] = None,
150
169
  deletion_protection: Optional[pulumi.Input[str]] = None,
@@ -154,6 +173,8 @@ class _TableState:
154
173
  split_keys: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
155
174
  """
156
175
  Input properties used for looking up and filtering Table resources.
176
+ :param pulumi.Input['TableAutomatedBackupPolicyArgs'] automated_backup_policy: Defines an automated backup policy for a table, specified by Retention Period and Frequency. To disable, set both
177
+ Retention Period and Frequency to 0.
157
178
  :param pulumi.Input[str] change_stream_retention: Duration to retain change stream data for the table. Set to 0 to disable. Must be between 1 and 7 days.
158
179
 
159
180
  -----
@@ -167,6 +188,8 @@ class _TableState:
167
188
  !> **Warning:** Modifying the `split_keys` of an existing table will cause the provider
168
189
  to delete/recreate the entire `bigtable.Table` resource.
169
190
  """
191
+ if automated_backup_policy is not None:
192
+ pulumi.set(__self__, "automated_backup_policy", automated_backup_policy)
170
193
  if change_stream_retention is not None:
171
194
  pulumi.set(__self__, "change_stream_retention", change_stream_retention)
172
195
  if column_families is not None:
@@ -182,6 +205,19 @@ class _TableState:
182
205
  if split_keys is not None:
183
206
  pulumi.set(__self__, "split_keys", split_keys)
184
207
 
208
+ @property
209
+ @pulumi.getter(name="automatedBackupPolicy")
210
+ def automated_backup_policy(self) -> Optional[pulumi.Input['TableAutomatedBackupPolicyArgs']]:
211
+ """
212
+ Defines an automated backup policy for a table, specified by Retention Period and Frequency. To disable, set both
213
+ Retention Period and Frequency to 0.
214
+ """
215
+ return pulumi.get(self, "automated_backup_policy")
216
+
217
+ @automated_backup_policy.setter
218
+ def automated_backup_policy(self, value: Optional[pulumi.Input['TableAutomatedBackupPolicyArgs']]):
219
+ pulumi.set(self, "automated_backup_policy", value)
220
+
185
221
  @property
186
222
  @pulumi.getter(name="changeStreamRetention")
187
223
  def change_stream_retention(self) -> Optional[pulumi.Input[str]]:
@@ -277,6 +313,7 @@ class Table(pulumi.CustomResource):
277
313
  def __init__(__self__,
278
314
  resource_name: str,
279
315
  opts: Optional[pulumi.ResourceOptions] = None,
316
+ automated_backup_policy: Optional[pulumi.Input[pulumi.InputType['TableAutomatedBackupPolicyArgs']]] = None,
280
317
  change_stream_retention: Optional[pulumi.Input[str]] = None,
281
318
  column_families: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['TableColumnFamilyArgs']]]]] = None,
282
319
  deletion_protection: Optional[pulumi.Input[str]] = None,
@@ -351,6 +388,8 @@ class Table(pulumi.CustomResource):
351
388
 
352
389
  :param str resource_name: The name of the resource.
353
390
  :param pulumi.ResourceOptions opts: Options for the resource.
391
+ :param pulumi.Input[pulumi.InputType['TableAutomatedBackupPolicyArgs']] automated_backup_policy: Defines an automated backup policy for a table, specified by Retention Period and Frequency. To disable, set both
392
+ Retention Period and Frequency to 0.
354
393
  :param pulumi.Input[str] change_stream_retention: Duration to retain change stream data for the table. Set to 0 to disable. Must be between 1 and 7 days.
355
394
 
356
395
  -----
@@ -449,6 +488,7 @@ class Table(pulumi.CustomResource):
449
488
  def _internal_init(__self__,
450
489
  resource_name: str,
451
490
  opts: Optional[pulumi.ResourceOptions] = None,
491
+ automated_backup_policy: Optional[pulumi.Input[pulumi.InputType['TableAutomatedBackupPolicyArgs']]] = None,
452
492
  change_stream_retention: Optional[pulumi.Input[str]] = None,
453
493
  column_families: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['TableColumnFamilyArgs']]]]] = None,
454
494
  deletion_protection: Optional[pulumi.Input[str]] = None,
@@ -465,6 +505,7 @@ class Table(pulumi.CustomResource):
465
505
  raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
466
506
  __props__ = TableArgs.__new__(TableArgs)
467
507
 
508
+ __props__.__dict__["automated_backup_policy"] = automated_backup_policy
468
509
  __props__.__dict__["change_stream_retention"] = change_stream_retention
469
510
  __props__.__dict__["column_families"] = column_families
470
511
  __props__.__dict__["deletion_protection"] = deletion_protection
@@ -484,6 +525,7 @@ class Table(pulumi.CustomResource):
484
525
  def get(resource_name: str,
485
526
  id: pulumi.Input[str],
486
527
  opts: Optional[pulumi.ResourceOptions] = None,
528
+ automated_backup_policy: Optional[pulumi.Input[pulumi.InputType['TableAutomatedBackupPolicyArgs']]] = None,
487
529
  change_stream_retention: Optional[pulumi.Input[str]] = None,
488
530
  column_families: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['TableColumnFamilyArgs']]]]] = None,
489
531
  deletion_protection: Optional[pulumi.Input[str]] = None,
@@ -498,6 +540,8 @@ class Table(pulumi.CustomResource):
498
540
  :param str resource_name: The unique name of the resulting resource.
499
541
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
500
542
  :param pulumi.ResourceOptions opts: Options for the resource.
543
+ :param pulumi.Input[pulumi.InputType['TableAutomatedBackupPolicyArgs']] automated_backup_policy: Defines an automated backup policy for a table, specified by Retention Period and Frequency. To disable, set both
544
+ Retention Period and Frequency to 0.
501
545
  :param pulumi.Input[str] change_stream_retention: Duration to retain change stream data for the table. Set to 0 to disable. Must be between 1 and 7 days.
502
546
 
503
547
  -----
@@ -515,6 +559,7 @@ class Table(pulumi.CustomResource):
515
559
 
516
560
  __props__ = _TableState.__new__(_TableState)
517
561
 
562
+ __props__.__dict__["automated_backup_policy"] = automated_backup_policy
518
563
  __props__.__dict__["change_stream_retention"] = change_stream_retention
519
564
  __props__.__dict__["column_families"] = column_families
520
565
  __props__.__dict__["deletion_protection"] = deletion_protection
@@ -524,6 +569,15 @@ class Table(pulumi.CustomResource):
524
569
  __props__.__dict__["split_keys"] = split_keys
525
570
  return Table(resource_name, opts=opts, __props__=__props__)
526
571
 
572
+ @property
573
+ @pulumi.getter(name="automatedBackupPolicy")
574
+ def automated_backup_policy(self) -> pulumi.Output[Optional['outputs.TableAutomatedBackupPolicy']]:
575
+ """
576
+ Defines an automated backup policy for a table, specified by Retention Period and Frequency. To disable, set both
577
+ Retention Period and Frequency to 0.
578
+ """
579
+ return pulumi.get(self, "automated_backup_policy")
580
+
527
581
  @property
528
582
  @pulumi.getter(name="changeStreamRetention")
529
583
  def change_stream_retention(self) -> pulumi.Output[str]: