pulumi-gcp 7.26.0a1717725112__py3-none-any.whl → 7.27.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.
- pulumi_gcp/__init__.py +32 -0
- pulumi_gcp/appengine/_inputs.py +40 -0
- pulumi_gcp/appengine/flexible_app_version.py +47 -0
- pulumi_gcp/appengine/outputs.py +51 -0
- pulumi_gcp/bigtable/instance.py +47 -0
- pulumi_gcp/clouddeploy/_inputs.py +16 -0
- pulumi_gcp/clouddeploy/outputs.py +12 -0
- pulumi_gcp/compute/__init__.py +2 -0
- pulumi_gcp/compute/_inputs.py +84 -0
- pulumi_gcp/compute/backend_service.py +54 -0
- pulumi_gcp/compute/disk.py +68 -0
- pulumi_gcp/compute/get_backend_service.py +11 -1
- pulumi_gcp/compute/get_disk.py +11 -1
- pulumi_gcp/compute/get_instance.py +11 -1
- pulumi_gcp/compute/get_instance_group_manager.py +31 -1
- pulumi_gcp/compute/get_instance_template.py +11 -1
- pulumi_gcp/compute/get_region_instance_template.py +11 -1
- pulumi_gcp/compute/get_security_policy.py +214 -0
- pulumi_gcp/compute/instance.py +47 -0
- pulumi_gcp/compute/instance_from_machine_image.py +47 -0
- pulumi_gcp/compute/instance_from_template.py +47 -0
- pulumi_gcp/compute/instance_group_manager.py +185 -0
- pulumi_gcp/compute/instance_template.py +47 -0
- pulumi_gcp/compute/outputs.py +1039 -0
- pulumi_gcp/compute/project_cloud_armor_tier.py +336 -0
- pulumi_gcp/compute/region_instance_group_manager.py +185 -0
- pulumi_gcp/compute/region_instance_template.py +47 -0
- pulumi_gcp/config/__init__.pyi +2 -0
- pulumi_gcp/config/vars.py +4 -0
- pulumi_gcp/container/_inputs.py +33 -4
- pulumi_gcp/container/cluster.py +61 -0
- pulumi_gcp/container/get_cluster.py +11 -1
- pulumi_gcp/container/outputs.py +48 -4
- pulumi_gcp/dataloss/_inputs.py +185 -19
- pulumi_gcp/dataloss/outputs.py +206 -17
- pulumi_gcp/dataloss/prevention_inspect_template.py +54 -0
- pulumi_gcp/gkebackup/_inputs.py +282 -7
- pulumi_gcp/gkebackup/backup_plan.py +100 -0
- pulumi_gcp/gkebackup/outputs.py +312 -7
- pulumi_gcp/gkebackup/restore_plan.py +326 -0
- pulumi_gcp/gkebackup/restore_plan_iam_binding.py +326 -0
- pulumi_gcp/gkebackup/restore_plan_iam_member.py +326 -0
- pulumi_gcp/gkebackup/restore_plan_iam_policy.py +326 -0
- pulumi_gcp/healthcare/_inputs.py +17 -1
- pulumi_gcp/healthcare/dicom_store.py +2 -0
- pulumi_gcp/healthcare/fhir_store.py +44 -60
- pulumi_gcp/healthcare/outputs.py +15 -1
- pulumi_gcp/integrationconnectors/endpoint_attachment.py +47 -0
- pulumi_gcp/kms/crypto_key.py +14 -7
- pulumi_gcp/netapp/_inputs.py +58 -0
- pulumi_gcp/netapp/outputs.py +67 -0
- pulumi_gcp/netapp/volume.py +54 -0
- pulumi_gcp/networkservices/__init__.py +1 -0
- pulumi_gcp/networkservices/_inputs.py +47 -0
- pulumi_gcp/networkservices/outputs.py +56 -0
- pulumi_gcp/networkservices/service_lb_policies.py +782 -0
- pulumi_gcp/provider.py +20 -0
- pulumi_gcp/pulumi-plugin.json +1 -1
- pulumi_gcp/redis/_inputs.py +44 -0
- pulumi_gcp/redis/cluster.py +128 -3
- pulumi_gcp/redis/outputs.py +36 -0
- pulumi_gcp/secretmanager/_inputs.py +20 -0
- pulumi_gcp/secretmanager/outputs.py +20 -0
- pulumi_gcp/secretmanager/secret_iam_binding.py +244 -0
- pulumi_gcp/secretmanager/secret_iam_member.py +244 -0
- pulumi_gcp/secretmanager/secret_iam_policy.py +224 -0
- pulumi_gcp/securitycenter/__init__.py +1 -0
- pulumi_gcp/securitycenter/management_organization_event_threat_detection_custom_module.py +568 -0
- pulumi_gcp/spanner/__init__.py +1 -0
- pulumi_gcp/spanner/_inputs.py +68 -0
- pulumi_gcp/spanner/instance_config.py +569 -0
- pulumi_gcp/spanner/outputs.py +73 -0
- pulumi_gcp/sql/_inputs.py +8 -2
- pulumi_gcp/sql/outputs.py +9 -6
- pulumi_gcp/workstations/_inputs.py +51 -1
- pulumi_gcp/workstations/outputs.py +46 -2
- pulumi_gcp/workstations/workstation_config.py +10 -4
- {pulumi_gcp-7.26.0a1717725112.dist-info → pulumi_gcp-7.27.0.dist-info}/METADATA +1 -1
- {pulumi_gcp-7.26.0a1717725112.dist-info → pulumi_gcp-7.27.0.dist-info}/RECORD +81 -76
- {pulumi_gcp-7.26.0a1717725112.dist-info → pulumi_gcp-7.27.0.dist-info}/WHEEL +0 -0
- {pulumi_gcp-7.26.0a1717725112.dist-info → pulumi_gcp-7.27.0.dist-info}/top_level.txt +0 -0
pulumi_gcp/gkebackup/_inputs.py
CHANGED
@@ -31,6 +31,10 @@ __all__ = [
|
|
31
31
|
'RestorePlanRestoreConfigClusterResourceRestoreScopeExcludedGroupKindArgs',
|
32
32
|
'RestorePlanRestoreConfigClusterResourceRestoreScopeSelectedGroupKindArgs',
|
33
33
|
'RestorePlanRestoreConfigExcludedNamespacesArgs',
|
34
|
+
'RestorePlanRestoreConfigRestoreOrderArgs',
|
35
|
+
'RestorePlanRestoreConfigRestoreOrderGroupKindDependencyArgs',
|
36
|
+
'RestorePlanRestoreConfigRestoreOrderGroupKindDependencyRequiringArgs',
|
37
|
+
'RestorePlanRestoreConfigRestoreOrderGroupKindDependencySatisfyingArgs',
|
34
38
|
'RestorePlanRestoreConfigSelectedApplicationsArgs',
|
35
39
|
'RestorePlanRestoreConfigSelectedApplicationsNamespacedNameArgs',
|
36
40
|
'RestorePlanRestoreConfigSelectedNamespacesArgs',
|
@@ -38,6 +42,7 @@ __all__ = [
|
|
38
42
|
'RestorePlanRestoreConfigTransformationRuleFieldActionArgs',
|
39
43
|
'RestorePlanRestoreConfigTransformationRuleResourceFilterArgs',
|
40
44
|
'RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArgs',
|
45
|
+
'RestorePlanRestoreConfigVolumeDataRestorePolicyBindingArgs',
|
41
46
|
]
|
42
47
|
|
43
48
|
@pulumi.input_type
|
@@ -47,6 +52,7 @@ class BackupPlanBackupConfigArgs:
|
|
47
52
|
encryption_key: Optional[pulumi.Input['BackupPlanBackupConfigEncryptionKeyArgs']] = None,
|
48
53
|
include_secrets: Optional[pulumi.Input[bool]] = None,
|
49
54
|
include_volume_data: Optional[pulumi.Input[bool]] = None,
|
55
|
+
permissive_mode: Optional[pulumi.Input[bool]] = None,
|
50
56
|
selected_applications: Optional[pulumi.Input['BackupPlanBackupConfigSelectedApplicationsArgs']] = None,
|
51
57
|
selected_namespaces: Optional[pulumi.Input['BackupPlanBackupConfigSelectedNamespacesArgs']] = None):
|
52
58
|
"""
|
@@ -58,6 +64,9 @@ class BackupPlanBackupConfigArgs:
|
|
58
64
|
when they fall into the scope of Backups.
|
59
65
|
:param pulumi.Input[bool] include_volume_data: This flag specifies whether volume data should be backed up when PVCs are
|
60
66
|
included in the scope of a Backup.
|
67
|
+
:param pulumi.Input[bool] permissive_mode: This flag specifies whether Backups will not fail when
|
68
|
+
Backup for GKE detects Kubernetes configuration that is
|
69
|
+
non-standard or requires additional setup to restore.
|
61
70
|
:param pulumi.Input['BackupPlanBackupConfigSelectedApplicationsArgs'] selected_applications: A list of namespaced Kubernetes Resources.
|
62
71
|
Structure is documented below.
|
63
72
|
:param pulumi.Input['BackupPlanBackupConfigSelectedNamespacesArgs'] selected_namespaces: If set, include just the resources in the listed namespaces.
|
@@ -71,6 +80,8 @@ class BackupPlanBackupConfigArgs:
|
|
71
80
|
pulumi.set(__self__, "include_secrets", include_secrets)
|
72
81
|
if include_volume_data is not None:
|
73
82
|
pulumi.set(__self__, "include_volume_data", include_volume_data)
|
83
|
+
if permissive_mode is not None:
|
84
|
+
pulumi.set(__self__, "permissive_mode", permissive_mode)
|
74
85
|
if selected_applications is not None:
|
75
86
|
pulumi.set(__self__, "selected_applications", selected_applications)
|
76
87
|
if selected_namespaces is not None:
|
@@ -128,6 +139,20 @@ class BackupPlanBackupConfigArgs:
|
|
128
139
|
def include_volume_data(self, value: Optional[pulumi.Input[bool]]):
|
129
140
|
pulumi.set(self, "include_volume_data", value)
|
130
141
|
|
142
|
+
@property
|
143
|
+
@pulumi.getter(name="permissiveMode")
|
144
|
+
def permissive_mode(self) -> Optional[pulumi.Input[bool]]:
|
145
|
+
"""
|
146
|
+
This flag specifies whether Backups will not fail when
|
147
|
+
Backup for GKE detects Kubernetes configuration that is
|
148
|
+
non-standard or requires additional setup to restore.
|
149
|
+
"""
|
150
|
+
return pulumi.get(self, "permissive_mode")
|
151
|
+
|
152
|
+
@permissive_mode.setter
|
153
|
+
def permissive_mode(self, value: Optional[pulumi.Input[bool]]):
|
154
|
+
pulumi.set(self, "permissive_mode", value)
|
155
|
+
|
131
156
|
@property
|
132
157
|
@pulumi.getter(name="selectedApplications")
|
133
158
|
def selected_applications(self) -> Optional[pulumi.Input['BackupPlanBackupConfigSelectedApplicationsArgs']]:
|
@@ -905,10 +930,12 @@ class RestorePlanRestoreConfigArgs:
|
|
905
930
|
excluded_namespaces: Optional[pulumi.Input['RestorePlanRestoreConfigExcludedNamespacesArgs']] = None,
|
906
931
|
namespaced_resource_restore_mode: Optional[pulumi.Input[str]] = None,
|
907
932
|
no_namespaces: Optional[pulumi.Input[bool]] = None,
|
933
|
+
restore_order: Optional[pulumi.Input['RestorePlanRestoreConfigRestoreOrderArgs']] = None,
|
908
934
|
selected_applications: Optional[pulumi.Input['RestorePlanRestoreConfigSelectedApplicationsArgs']] = None,
|
909
935
|
selected_namespaces: Optional[pulumi.Input['RestorePlanRestoreConfigSelectedNamespacesArgs']] = None,
|
910
936
|
transformation_rules: Optional[pulumi.Input[Sequence[pulumi.Input['RestorePlanRestoreConfigTransformationRuleArgs']]]] = None,
|
911
|
-
volume_data_restore_policy: Optional[pulumi.Input[str]] = None
|
937
|
+
volume_data_restore_policy: Optional[pulumi.Input[str]] = None,
|
938
|
+
volume_data_restore_policy_bindings: Optional[pulumi.Input[Sequence[pulumi.Input['RestorePlanRestoreConfigVolumeDataRestorePolicyBindingArgs']]]] = None):
|
912
939
|
"""
|
913
940
|
:param pulumi.Input[bool] all_namespaces: If True, restore all namespaced resources in the Backup.
|
914
941
|
Setting this field to False will result in an error.
|
@@ -930,9 +957,11 @@ class RestorePlanRestoreConfigArgs:
|
|
930
957
|
if the `namespacedResourceRestoreScope` is anything other than `noNamespaces`.
|
931
958
|
See https://cloud.google.com/kubernetes-engine/docs/add-on/backup-for-gke/reference/rest/v1/RestoreConfig#namespacedresourcerestoremode
|
932
959
|
for more information on each mode.
|
933
|
-
Possible values are: `DELETE_AND_RESTORE`, `FAIL_ON_CONFLICT`.
|
960
|
+
Possible values are: `DELETE_AND_RESTORE`, `FAIL_ON_CONFLICT`, `MERGE_SKIP_ON_CONFLICT`, `MERGE_REPLACE_VOLUME_ON_CONFLICT`, `MERGE_REPLACE_ON_CONFLICT`.
|
934
961
|
:param pulumi.Input[bool] no_namespaces: Do not restore any namespaced resources if set to "True".
|
935
962
|
Specifying this field to "False" is not allowed.
|
963
|
+
:param pulumi.Input['RestorePlanRestoreConfigRestoreOrderArgs'] restore_order: It contains custom ordering to use on a Restore.
|
964
|
+
Structure is documented below.
|
936
965
|
:param pulumi.Input['RestorePlanRestoreConfigSelectedApplicationsArgs'] selected_applications: A list of selected ProtectedApplications to restore.
|
937
966
|
The listed ProtectedApplications and all the resources
|
938
967
|
to which they refer will be restored.
|
@@ -953,6 +982,10 @@ class RestorePlanRestoreConfigArgs:
|
|
953
982
|
See https://cloud.google.com/kubernetes-engine/docs/add-on/backup-for-gke/reference/rest/v1/RestoreConfig#VolumeDataRestorePolicy
|
954
983
|
for more information on each policy option.
|
955
984
|
Possible values are: `RESTORE_VOLUME_DATA_FROM_BACKUP`, `REUSE_VOLUME_HANDLE_FROM_BACKUP`, `NO_VOLUME_DATA_RESTORATION`.
|
985
|
+
:param pulumi.Input[Sequence[pulumi.Input['RestorePlanRestoreConfigVolumeDataRestorePolicyBindingArgs']]] volume_data_restore_policy_bindings: A table that binds volumes by their scope to a restore policy. Bindings
|
986
|
+
must have a unique scope. Any volumes not scoped in the bindings are
|
987
|
+
subject to the policy defined in volume_data_restore_policy.
|
988
|
+
Structure is documented below.
|
956
989
|
"""
|
957
990
|
if all_namespaces is not None:
|
958
991
|
pulumi.set(__self__, "all_namespaces", all_namespaces)
|
@@ -966,6 +999,8 @@ class RestorePlanRestoreConfigArgs:
|
|
966
999
|
pulumi.set(__self__, "namespaced_resource_restore_mode", namespaced_resource_restore_mode)
|
967
1000
|
if no_namespaces is not None:
|
968
1001
|
pulumi.set(__self__, "no_namespaces", no_namespaces)
|
1002
|
+
if restore_order is not None:
|
1003
|
+
pulumi.set(__self__, "restore_order", restore_order)
|
969
1004
|
if selected_applications is not None:
|
970
1005
|
pulumi.set(__self__, "selected_applications", selected_applications)
|
971
1006
|
if selected_namespaces is not None:
|
@@ -974,6 +1009,8 @@ class RestorePlanRestoreConfigArgs:
|
|
974
1009
|
pulumi.set(__self__, "transformation_rules", transformation_rules)
|
975
1010
|
if volume_data_restore_policy is not None:
|
976
1011
|
pulumi.set(__self__, "volume_data_restore_policy", volume_data_restore_policy)
|
1012
|
+
if volume_data_restore_policy_bindings is not None:
|
1013
|
+
pulumi.set(__self__, "volume_data_restore_policy_bindings", volume_data_restore_policy_bindings)
|
977
1014
|
|
978
1015
|
@property
|
979
1016
|
@pulumi.getter(name="allNamespaces")
|
@@ -1043,7 +1080,7 @@ class RestorePlanRestoreConfigArgs:
|
|
1043
1080
|
if the `namespacedResourceRestoreScope` is anything other than `noNamespaces`.
|
1044
1081
|
See https://cloud.google.com/kubernetes-engine/docs/add-on/backup-for-gke/reference/rest/v1/RestoreConfig#namespacedresourcerestoremode
|
1045
1082
|
for more information on each mode.
|
1046
|
-
Possible values are: `DELETE_AND_RESTORE`, `FAIL_ON_CONFLICT`.
|
1083
|
+
Possible values are: `DELETE_AND_RESTORE`, `FAIL_ON_CONFLICT`, `MERGE_SKIP_ON_CONFLICT`, `MERGE_REPLACE_VOLUME_ON_CONFLICT`, `MERGE_REPLACE_ON_CONFLICT`.
|
1047
1084
|
"""
|
1048
1085
|
return pulumi.get(self, "namespaced_resource_restore_mode")
|
1049
1086
|
|
@@ -1064,6 +1101,19 @@ class RestorePlanRestoreConfigArgs:
|
|
1064
1101
|
def no_namespaces(self, value: Optional[pulumi.Input[bool]]):
|
1065
1102
|
pulumi.set(self, "no_namespaces", value)
|
1066
1103
|
|
1104
|
+
@property
|
1105
|
+
@pulumi.getter(name="restoreOrder")
|
1106
|
+
def restore_order(self) -> Optional[pulumi.Input['RestorePlanRestoreConfigRestoreOrderArgs']]:
|
1107
|
+
"""
|
1108
|
+
It contains custom ordering to use on a Restore.
|
1109
|
+
Structure is documented below.
|
1110
|
+
"""
|
1111
|
+
return pulumi.get(self, "restore_order")
|
1112
|
+
|
1113
|
+
@restore_order.setter
|
1114
|
+
def restore_order(self, value: Optional[pulumi.Input['RestorePlanRestoreConfigRestoreOrderArgs']]):
|
1115
|
+
pulumi.set(self, "restore_order", value)
|
1116
|
+
|
1067
1117
|
@property
|
1068
1118
|
@pulumi.getter(name="selectedApplications")
|
1069
1119
|
def selected_applications(self) -> Optional[pulumi.Input['RestorePlanRestoreConfigSelectedApplicationsArgs']]:
|
@@ -1128,6 +1178,21 @@ class RestorePlanRestoreConfigArgs:
|
|
1128
1178
|
def volume_data_restore_policy(self, value: Optional[pulumi.Input[str]]):
|
1129
1179
|
pulumi.set(self, "volume_data_restore_policy", value)
|
1130
1180
|
|
1181
|
+
@property
|
1182
|
+
@pulumi.getter(name="volumeDataRestorePolicyBindings")
|
1183
|
+
def volume_data_restore_policy_bindings(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RestorePlanRestoreConfigVolumeDataRestorePolicyBindingArgs']]]]:
|
1184
|
+
"""
|
1185
|
+
A table that binds volumes by their scope to a restore policy. Bindings
|
1186
|
+
must have a unique scope. Any volumes not scoped in the bindings are
|
1187
|
+
subject to the policy defined in volume_data_restore_policy.
|
1188
|
+
Structure is documented below.
|
1189
|
+
"""
|
1190
|
+
return pulumi.get(self, "volume_data_restore_policy_bindings")
|
1191
|
+
|
1192
|
+
@volume_data_restore_policy_bindings.setter
|
1193
|
+
def volume_data_restore_policy_bindings(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RestorePlanRestoreConfigVolumeDataRestorePolicyBindingArgs']]]]):
|
1194
|
+
pulumi.set(self, "volume_data_restore_policy_bindings", value)
|
1195
|
+
|
1131
1196
|
|
1132
1197
|
@pulumi.input_type
|
1133
1198
|
class RestorePlanRestoreConfigClusterResourceRestoreScopeArgs:
|
@@ -1330,6 +1395,173 @@ class RestorePlanRestoreConfigExcludedNamespacesArgs:
|
|
1330
1395
|
pulumi.set(self, "namespaces", value)
|
1331
1396
|
|
1332
1397
|
|
1398
|
+
@pulumi.input_type
|
1399
|
+
class RestorePlanRestoreConfigRestoreOrderArgs:
|
1400
|
+
def __init__(__self__, *,
|
1401
|
+
group_kind_dependencies: pulumi.Input[Sequence[pulumi.Input['RestorePlanRestoreConfigRestoreOrderGroupKindDependencyArgs']]]):
|
1402
|
+
"""
|
1403
|
+
:param pulumi.Input[Sequence[pulumi.Input['RestorePlanRestoreConfigRestoreOrderGroupKindDependencyArgs']]] group_kind_dependencies: A list of group kind dependency pairs
|
1404
|
+
that is used by Backup for GKE to
|
1405
|
+
generate a group kind restore order.
|
1406
|
+
Structure is documented below.
|
1407
|
+
"""
|
1408
|
+
pulumi.set(__self__, "group_kind_dependencies", group_kind_dependencies)
|
1409
|
+
|
1410
|
+
@property
|
1411
|
+
@pulumi.getter(name="groupKindDependencies")
|
1412
|
+
def group_kind_dependencies(self) -> pulumi.Input[Sequence[pulumi.Input['RestorePlanRestoreConfigRestoreOrderGroupKindDependencyArgs']]]:
|
1413
|
+
"""
|
1414
|
+
A list of group kind dependency pairs
|
1415
|
+
that is used by Backup for GKE to
|
1416
|
+
generate a group kind restore order.
|
1417
|
+
Structure is documented below.
|
1418
|
+
"""
|
1419
|
+
return pulumi.get(self, "group_kind_dependencies")
|
1420
|
+
|
1421
|
+
@group_kind_dependencies.setter
|
1422
|
+
def group_kind_dependencies(self, value: pulumi.Input[Sequence[pulumi.Input['RestorePlanRestoreConfigRestoreOrderGroupKindDependencyArgs']]]):
|
1423
|
+
pulumi.set(self, "group_kind_dependencies", value)
|
1424
|
+
|
1425
|
+
|
1426
|
+
@pulumi.input_type
|
1427
|
+
class RestorePlanRestoreConfigRestoreOrderGroupKindDependencyArgs:
|
1428
|
+
def __init__(__self__, *,
|
1429
|
+
requiring: pulumi.Input['RestorePlanRestoreConfigRestoreOrderGroupKindDependencyRequiringArgs'],
|
1430
|
+
satisfying: pulumi.Input['RestorePlanRestoreConfigRestoreOrderGroupKindDependencySatisfyingArgs']):
|
1431
|
+
"""
|
1432
|
+
:param pulumi.Input['RestorePlanRestoreConfigRestoreOrderGroupKindDependencyRequiringArgs'] requiring: The requiring group kind requires that the satisfying
|
1433
|
+
group kind be restored first.
|
1434
|
+
Structure is documented below.
|
1435
|
+
:param pulumi.Input['RestorePlanRestoreConfigRestoreOrderGroupKindDependencySatisfyingArgs'] satisfying: The satisfying group kind must be restored first
|
1436
|
+
in order to satisfy the dependency.
|
1437
|
+
Structure is documented below.
|
1438
|
+
"""
|
1439
|
+
pulumi.set(__self__, "requiring", requiring)
|
1440
|
+
pulumi.set(__self__, "satisfying", satisfying)
|
1441
|
+
|
1442
|
+
@property
|
1443
|
+
@pulumi.getter
|
1444
|
+
def requiring(self) -> pulumi.Input['RestorePlanRestoreConfigRestoreOrderGroupKindDependencyRequiringArgs']:
|
1445
|
+
"""
|
1446
|
+
The requiring group kind requires that the satisfying
|
1447
|
+
group kind be restored first.
|
1448
|
+
Structure is documented below.
|
1449
|
+
"""
|
1450
|
+
return pulumi.get(self, "requiring")
|
1451
|
+
|
1452
|
+
@requiring.setter
|
1453
|
+
def requiring(self, value: pulumi.Input['RestorePlanRestoreConfigRestoreOrderGroupKindDependencyRequiringArgs']):
|
1454
|
+
pulumi.set(self, "requiring", value)
|
1455
|
+
|
1456
|
+
@property
|
1457
|
+
@pulumi.getter
|
1458
|
+
def satisfying(self) -> pulumi.Input['RestorePlanRestoreConfigRestoreOrderGroupKindDependencySatisfyingArgs']:
|
1459
|
+
"""
|
1460
|
+
The satisfying group kind must be restored first
|
1461
|
+
in order to satisfy the dependency.
|
1462
|
+
Structure is documented below.
|
1463
|
+
"""
|
1464
|
+
return pulumi.get(self, "satisfying")
|
1465
|
+
|
1466
|
+
@satisfying.setter
|
1467
|
+
def satisfying(self, value: pulumi.Input['RestorePlanRestoreConfigRestoreOrderGroupKindDependencySatisfyingArgs']):
|
1468
|
+
pulumi.set(self, "satisfying", value)
|
1469
|
+
|
1470
|
+
|
1471
|
+
@pulumi.input_type
|
1472
|
+
class RestorePlanRestoreConfigRestoreOrderGroupKindDependencyRequiringArgs:
|
1473
|
+
def __init__(__self__, *,
|
1474
|
+
resource_group: Optional[pulumi.Input[str]] = None,
|
1475
|
+
resource_kind: Optional[pulumi.Input[str]] = None):
|
1476
|
+
"""
|
1477
|
+
:param pulumi.Input[str] resource_group: API Group of a Kubernetes resource, e.g.
|
1478
|
+
"apiextensions.k8s.io", "storage.k8s.io", etc.
|
1479
|
+
Use empty string for core group.
|
1480
|
+
:param pulumi.Input[str] resource_kind: Kind of a Kubernetes resource, e.g.
|
1481
|
+
"CustomResourceDefinition", "StorageClass", etc.
|
1482
|
+
|
1483
|
+
- - -
|
1484
|
+
"""
|
1485
|
+
if resource_group is not None:
|
1486
|
+
pulumi.set(__self__, "resource_group", resource_group)
|
1487
|
+
if resource_kind is not None:
|
1488
|
+
pulumi.set(__self__, "resource_kind", resource_kind)
|
1489
|
+
|
1490
|
+
@property
|
1491
|
+
@pulumi.getter(name="resourceGroup")
|
1492
|
+
def resource_group(self) -> Optional[pulumi.Input[str]]:
|
1493
|
+
"""
|
1494
|
+
API Group of a Kubernetes resource, e.g.
|
1495
|
+
"apiextensions.k8s.io", "storage.k8s.io", etc.
|
1496
|
+
Use empty string for core group.
|
1497
|
+
"""
|
1498
|
+
return pulumi.get(self, "resource_group")
|
1499
|
+
|
1500
|
+
@resource_group.setter
|
1501
|
+
def resource_group(self, value: Optional[pulumi.Input[str]]):
|
1502
|
+
pulumi.set(self, "resource_group", value)
|
1503
|
+
|
1504
|
+
@property
|
1505
|
+
@pulumi.getter(name="resourceKind")
|
1506
|
+
def resource_kind(self) -> Optional[pulumi.Input[str]]:
|
1507
|
+
"""
|
1508
|
+
Kind of a Kubernetes resource, e.g.
|
1509
|
+
"CustomResourceDefinition", "StorageClass", etc.
|
1510
|
+
|
1511
|
+
- - -
|
1512
|
+
"""
|
1513
|
+
return pulumi.get(self, "resource_kind")
|
1514
|
+
|
1515
|
+
@resource_kind.setter
|
1516
|
+
def resource_kind(self, value: Optional[pulumi.Input[str]]):
|
1517
|
+
pulumi.set(self, "resource_kind", value)
|
1518
|
+
|
1519
|
+
|
1520
|
+
@pulumi.input_type
|
1521
|
+
class RestorePlanRestoreConfigRestoreOrderGroupKindDependencySatisfyingArgs:
|
1522
|
+
def __init__(__self__, *,
|
1523
|
+
resource_group: Optional[pulumi.Input[str]] = None,
|
1524
|
+
resource_kind: Optional[pulumi.Input[str]] = None):
|
1525
|
+
"""
|
1526
|
+
:param pulumi.Input[str] resource_group: API Group of a Kubernetes resource, e.g.
|
1527
|
+
"apiextensions.k8s.io", "storage.k8s.io", etc.
|
1528
|
+
Use empty string for core group.
|
1529
|
+
:param pulumi.Input[str] resource_kind: Kind of a Kubernetes resource, e.g.
|
1530
|
+
"CustomResourceDefinition", "StorageClass", etc.
|
1531
|
+
"""
|
1532
|
+
if resource_group is not None:
|
1533
|
+
pulumi.set(__self__, "resource_group", resource_group)
|
1534
|
+
if resource_kind is not None:
|
1535
|
+
pulumi.set(__self__, "resource_kind", resource_kind)
|
1536
|
+
|
1537
|
+
@property
|
1538
|
+
@pulumi.getter(name="resourceGroup")
|
1539
|
+
def resource_group(self) -> Optional[pulumi.Input[str]]:
|
1540
|
+
"""
|
1541
|
+
API Group of a Kubernetes resource, e.g.
|
1542
|
+
"apiextensions.k8s.io", "storage.k8s.io", etc.
|
1543
|
+
Use empty string for core group.
|
1544
|
+
"""
|
1545
|
+
return pulumi.get(self, "resource_group")
|
1546
|
+
|
1547
|
+
@resource_group.setter
|
1548
|
+
def resource_group(self, value: Optional[pulumi.Input[str]]):
|
1549
|
+
pulumi.set(self, "resource_group", value)
|
1550
|
+
|
1551
|
+
@property
|
1552
|
+
@pulumi.getter(name="resourceKind")
|
1553
|
+
def resource_kind(self) -> Optional[pulumi.Input[str]]:
|
1554
|
+
"""
|
1555
|
+
Kind of a Kubernetes resource, e.g.
|
1556
|
+
"CustomResourceDefinition", "StorageClass", etc.
|
1557
|
+
"""
|
1558
|
+
return pulumi.get(self, "resource_kind")
|
1559
|
+
|
1560
|
+
@resource_kind.setter
|
1561
|
+
def resource_kind(self, value: Optional[pulumi.Input[str]]):
|
1562
|
+
pulumi.set(self, "resource_kind", value)
|
1563
|
+
|
1564
|
+
|
1333
1565
|
@pulumi.input_type
|
1334
1566
|
class RestorePlanRestoreConfigSelectedApplicationsArgs:
|
1335
1567
|
def __init__(__self__, *,
|
@@ -1501,8 +1733,6 @@ class RestorePlanRestoreConfigTransformationRuleFieldActionArgs:
|
|
1501
1733
|
location within the target document where the operation is performed.
|
1502
1734
|
:param pulumi.Input[str] value: A string that specifies the desired value in string format
|
1503
1735
|
to use for transformation.
|
1504
|
-
|
1505
|
-
- - -
|
1506
1736
|
"""
|
1507
1737
|
pulumi.set(__self__, "op", op)
|
1508
1738
|
if from_path is not None:
|
@@ -1557,8 +1787,6 @@ class RestorePlanRestoreConfigTransformationRuleFieldActionArgs:
|
|
1557
1787
|
"""
|
1558
1788
|
A string that specifies the desired value in string format
|
1559
1789
|
to use for transformation.
|
1560
|
-
|
1561
|
-
- - -
|
1562
1790
|
"""
|
1563
1791
|
return pulumi.get(self, "value")
|
1564
1792
|
|
@@ -1695,3 +1923,50 @@ class RestorePlanRestoreConfigTransformationRuleResourceFilterGroupKindArgs:
|
|
1695
1923
|
pulumi.set(self, "resource_kind", value)
|
1696
1924
|
|
1697
1925
|
|
1926
|
+
@pulumi.input_type
|
1927
|
+
class RestorePlanRestoreConfigVolumeDataRestorePolicyBindingArgs:
|
1928
|
+
def __init__(__self__, *,
|
1929
|
+
policy: pulumi.Input[str],
|
1930
|
+
volume_type: pulumi.Input[str]):
|
1931
|
+
"""
|
1932
|
+
:param pulumi.Input[str] policy: Specifies the mechanism to be used to restore this volume data.
|
1933
|
+
See https://cloud.google.com/kubernetes-engine/docs/add-on/backup-for-gke/reference/rest/v1/RestoreConfig#VolumeDataRestorePolicy
|
1934
|
+
for more information on each policy option.
|
1935
|
+
Possible values are: `RESTORE_VOLUME_DATA_FROM_BACKUP`, `REUSE_VOLUME_HANDLE_FROM_BACKUP`, `NO_VOLUME_DATA_RESTORATION`.
|
1936
|
+
:param pulumi.Input[str] volume_type: The volume type, as determined by the PVC's
|
1937
|
+
bound PV, to apply the policy to.
|
1938
|
+
Possible values are: `GCE_PERSISTENT_DISK`.
|
1939
|
+
"""
|
1940
|
+
pulumi.set(__self__, "policy", policy)
|
1941
|
+
pulumi.set(__self__, "volume_type", volume_type)
|
1942
|
+
|
1943
|
+
@property
|
1944
|
+
@pulumi.getter
|
1945
|
+
def policy(self) -> pulumi.Input[str]:
|
1946
|
+
"""
|
1947
|
+
Specifies the mechanism to be used to restore this volume data.
|
1948
|
+
See https://cloud.google.com/kubernetes-engine/docs/add-on/backup-for-gke/reference/rest/v1/RestoreConfig#VolumeDataRestorePolicy
|
1949
|
+
for more information on each policy option.
|
1950
|
+
Possible values are: `RESTORE_VOLUME_DATA_FROM_BACKUP`, `REUSE_VOLUME_HANDLE_FROM_BACKUP`, `NO_VOLUME_DATA_RESTORATION`.
|
1951
|
+
"""
|
1952
|
+
return pulumi.get(self, "policy")
|
1953
|
+
|
1954
|
+
@policy.setter
|
1955
|
+
def policy(self, value: pulumi.Input[str]):
|
1956
|
+
pulumi.set(self, "policy", value)
|
1957
|
+
|
1958
|
+
@property
|
1959
|
+
@pulumi.getter(name="volumeType")
|
1960
|
+
def volume_type(self) -> pulumi.Input[str]:
|
1961
|
+
"""
|
1962
|
+
The volume type, as determined by the PVC's
|
1963
|
+
bound PV, to apply the policy to.
|
1964
|
+
Possible values are: `GCE_PERSISTENT_DISK`.
|
1965
|
+
"""
|
1966
|
+
return pulumi.get(self, "volume_type")
|
1967
|
+
|
1968
|
+
@volume_type.setter
|
1969
|
+
def volume_type(self, value: pulumi.Input[str]):
|
1970
|
+
pulumi.set(self, "volume_type", value)
|
1971
|
+
|
1972
|
+
|
@@ -715,6 +715,56 @@ class BackupPlan(pulumi.CustomResource):
|
|
715
715
|
),
|
716
716
|
))
|
717
717
|
```
|
718
|
+
### Gkebackup Backupplan Permissive
|
719
|
+
|
720
|
+
```python
|
721
|
+
import pulumi
|
722
|
+
import pulumi_gcp as gcp
|
723
|
+
|
724
|
+
primary = gcp.container.Cluster("primary",
|
725
|
+
name="permissive-cluster",
|
726
|
+
location="us-central1",
|
727
|
+
initial_node_count=1,
|
728
|
+
workload_identity_config=gcp.container.ClusterWorkloadIdentityConfigArgs(
|
729
|
+
workload_pool="my-project-name.svc.id.goog",
|
730
|
+
),
|
731
|
+
addons_config=gcp.container.ClusterAddonsConfigArgs(
|
732
|
+
gke_backup_agent_config=gcp.container.ClusterAddonsConfigGkeBackupAgentConfigArgs(
|
733
|
+
enabled=True,
|
734
|
+
),
|
735
|
+
),
|
736
|
+
deletion_protection=True,
|
737
|
+
network="default",
|
738
|
+
subnetwork="default")
|
739
|
+
permissive = gcp.gkebackup.BackupPlan("permissive",
|
740
|
+
name="permissive-plan",
|
741
|
+
cluster=primary.id,
|
742
|
+
location="us-central1",
|
743
|
+
retention_policy=gcp.gkebackup.BackupPlanRetentionPolicyArgs(
|
744
|
+
backup_delete_lock_days=30,
|
745
|
+
backup_retain_days=180,
|
746
|
+
),
|
747
|
+
backup_schedule=gcp.gkebackup.BackupPlanBackupScheduleArgs(
|
748
|
+
cron_schedule="0 9 * * 1",
|
749
|
+
),
|
750
|
+
backup_config=gcp.gkebackup.BackupPlanBackupConfigArgs(
|
751
|
+
include_volume_data=True,
|
752
|
+
include_secrets=True,
|
753
|
+
permissive_mode=True,
|
754
|
+
selected_applications=gcp.gkebackup.BackupPlanBackupConfigSelectedApplicationsArgs(
|
755
|
+
namespaced_names=[
|
756
|
+
gcp.gkebackup.BackupPlanBackupConfigSelectedApplicationsNamespacedNameArgs(
|
757
|
+
name="app1",
|
758
|
+
namespace="ns1",
|
759
|
+
),
|
760
|
+
gcp.gkebackup.BackupPlanBackupConfigSelectedApplicationsNamespacedNameArgs(
|
761
|
+
name="app2",
|
762
|
+
namespace="ns2",
|
763
|
+
),
|
764
|
+
],
|
765
|
+
),
|
766
|
+
))
|
767
|
+
```
|
718
768
|
### Gkebackup Backupplan Rpo Daily Window
|
719
769
|
|
720
770
|
```python
|
@@ -1085,6 +1135,56 @@ class BackupPlan(pulumi.CustomResource):
|
|
1085
1135
|
),
|
1086
1136
|
))
|
1087
1137
|
```
|
1138
|
+
### Gkebackup Backupplan Permissive
|
1139
|
+
|
1140
|
+
```python
|
1141
|
+
import pulumi
|
1142
|
+
import pulumi_gcp as gcp
|
1143
|
+
|
1144
|
+
primary = gcp.container.Cluster("primary",
|
1145
|
+
name="permissive-cluster",
|
1146
|
+
location="us-central1",
|
1147
|
+
initial_node_count=1,
|
1148
|
+
workload_identity_config=gcp.container.ClusterWorkloadIdentityConfigArgs(
|
1149
|
+
workload_pool="my-project-name.svc.id.goog",
|
1150
|
+
),
|
1151
|
+
addons_config=gcp.container.ClusterAddonsConfigArgs(
|
1152
|
+
gke_backup_agent_config=gcp.container.ClusterAddonsConfigGkeBackupAgentConfigArgs(
|
1153
|
+
enabled=True,
|
1154
|
+
),
|
1155
|
+
),
|
1156
|
+
deletion_protection=True,
|
1157
|
+
network="default",
|
1158
|
+
subnetwork="default")
|
1159
|
+
permissive = gcp.gkebackup.BackupPlan("permissive",
|
1160
|
+
name="permissive-plan",
|
1161
|
+
cluster=primary.id,
|
1162
|
+
location="us-central1",
|
1163
|
+
retention_policy=gcp.gkebackup.BackupPlanRetentionPolicyArgs(
|
1164
|
+
backup_delete_lock_days=30,
|
1165
|
+
backup_retain_days=180,
|
1166
|
+
),
|
1167
|
+
backup_schedule=gcp.gkebackup.BackupPlanBackupScheduleArgs(
|
1168
|
+
cron_schedule="0 9 * * 1",
|
1169
|
+
),
|
1170
|
+
backup_config=gcp.gkebackup.BackupPlanBackupConfigArgs(
|
1171
|
+
include_volume_data=True,
|
1172
|
+
include_secrets=True,
|
1173
|
+
permissive_mode=True,
|
1174
|
+
selected_applications=gcp.gkebackup.BackupPlanBackupConfigSelectedApplicationsArgs(
|
1175
|
+
namespaced_names=[
|
1176
|
+
gcp.gkebackup.BackupPlanBackupConfigSelectedApplicationsNamespacedNameArgs(
|
1177
|
+
name="app1",
|
1178
|
+
namespace="ns1",
|
1179
|
+
),
|
1180
|
+
gcp.gkebackup.BackupPlanBackupConfigSelectedApplicationsNamespacedNameArgs(
|
1181
|
+
name="app2",
|
1182
|
+
namespace="ns2",
|
1183
|
+
),
|
1184
|
+
],
|
1185
|
+
),
|
1186
|
+
))
|
1187
|
+
```
|
1088
1188
|
### Gkebackup Backupplan Rpo Daily Window
|
1089
1189
|
|
1090
1190
|
```python
|