pulumi-oci 1.34.0a1714565502__py3-none-any.whl → 1.34.0a1714766740__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 (74) hide show
  1. pulumi_oci/__init__.py +40 -0
  2. pulumi_oci/config/__init__.pyi +2 -2
  3. pulumi_oci/config/vars.py +2 -2
  4. pulumi_oci/database/db_home.py +47 -0
  5. pulumi_oci/database/get_db_home.py +14 -1
  6. pulumi_oci/database/outputs.py +11 -0
  7. pulumi_oci/databasemanagement/__init__.py +5 -0
  8. pulumi_oci/databasemanagement/_inputs.py +1207 -2
  9. pulumi_oci/databasemanagement/database_dbm_features_management.py +275 -0
  10. pulumi_oci/databasemanagement/db_management_private_endpoint.py +28 -0
  11. pulumi_oci/databasemanagement/external_asm.py +28 -0
  12. pulumi_oci/databasemanagement/external_asm_instance.py +28 -0
  13. pulumi_oci/databasemanagement/external_cluster.py +28 -0
  14. pulumi_oci/databasemanagement/external_cluster_instance.py +28 -0
  15. pulumi_oci/databasemanagement/external_db_home.py +28 -0
  16. pulumi_oci/databasemanagement/external_db_node.py +28 -0
  17. pulumi_oci/databasemanagement/external_db_system.py +28 -0
  18. pulumi_oci/databasemanagement/external_db_system_connector.py +28 -0
  19. pulumi_oci/databasemanagement/external_db_system_discovery.py +28 -0
  20. pulumi_oci/databasemanagement/external_exadata_infrastructure.py +28 -0
  21. pulumi_oci/databasemanagement/external_exadata_storage_connector.py +28 -0
  22. pulumi_oci/databasemanagement/external_exadata_storage_grid.py +28 -0
  23. pulumi_oci/databasemanagement/external_exadata_storage_server.py +28 -0
  24. pulumi_oci/databasemanagement/external_listener.py +28 -0
  25. pulumi_oci/databasemanagement/externalcontainerdatabase_external_container_dbm_features_management.py +275 -0
  26. pulumi_oci/databasemanagement/externalnoncontainerdatabase_external_non_container_dbm_features_management.py +275 -0
  27. pulumi_oci/databasemanagement/externalpluggabledatabase_external_pluggable_dbm_features_management.py +275 -0
  28. pulumi_oci/databasemanagement/get_db_management_private_endpoint.py +14 -1
  29. pulumi_oci/databasemanagement/get_external_asm.py +14 -1
  30. pulumi_oci/databasemanagement/get_external_asm_instance.py +14 -1
  31. pulumi_oci/databasemanagement/get_external_cluster.py +14 -1
  32. pulumi_oci/databasemanagement/get_external_cluster_instance.py +14 -1
  33. pulumi_oci/databasemanagement/get_external_databases.py +18 -1
  34. pulumi_oci/databasemanagement/get_external_db_home.py +14 -1
  35. pulumi_oci/databasemanagement/get_external_db_node.py +14 -1
  36. pulumi_oci/databasemanagement/get_external_db_system.py +14 -1
  37. pulumi_oci/databasemanagement/get_external_db_system_connector.py +14 -1
  38. pulumi_oci/databasemanagement/get_external_db_system_discovery.py +14 -1
  39. pulumi_oci/databasemanagement/get_external_exadata_infrastructure.py +14 -1
  40. pulumi_oci/databasemanagement/get_external_exadata_storage_connector.py +14 -1
  41. pulumi_oci/databasemanagement/get_external_exadata_storage_grid.py +14 -1
  42. pulumi_oci/databasemanagement/get_external_exadata_storage_server.py +14 -1
  43. pulumi_oci/databasemanagement/get_external_listener.py +14 -1
  44. pulumi_oci/databasemanagement/get_managed_database_group.py +14 -1
  45. pulumi_oci/databasemanagement/get_managed_my_sql_database.py +6 -6
  46. pulumi_oci/databasemanagement/get_named_credential.py +14 -1
  47. pulumi_oci/databasemanagement/managed_database.py +28 -0
  48. pulumi_oci/databasemanagement/managed_database_group.py +28 -0
  49. pulumi_oci/databasemanagement/named_credential.py +28 -0
  50. pulumi_oci/databasemanagement/outputs.py +1723 -214
  51. pulumi_oci/databasemanagement/pluggabledatabase_pluggable_database_dbm_features_management.py +275 -0
  52. pulumi_oci/datasafe/__init__.py +3 -0
  53. pulumi_oci/datasafe/_inputs.py +80 -0
  54. pulumi_oci/datasafe/get_masking_policy.py +11 -1
  55. pulumi_oci/datasafe/get_masking_policy_health_report.py +235 -0
  56. pulumi_oci/datasafe/get_masking_policy_health_report_logs.py +153 -0
  57. pulumi_oci/datasafe/get_masking_policy_health_reports.py +267 -0
  58. pulumi_oci/datasafe/masking_policy.py +75 -28
  59. pulumi_oci/datasafe/outputs.py +287 -0
  60. pulumi_oci/provider.py +8 -8
  61. pulumi_oci/recoverymod/_inputs.py +16 -0
  62. pulumi_oci/recoverymod/get_protected_database.py +25 -5
  63. pulumi_oci/recoverymod/get_protection_policies.py +1 -7
  64. pulumi_oci/recoverymod/get_protection_policy.py +15 -8
  65. pulumi_oci/recoverymod/get_recovery_service_subnet.py +32 -9
  66. pulumi_oci/recoverymod/get_recovery_service_subnets.py +3 -21
  67. pulumi_oci/recoverymod/outputs.py +96 -24
  68. pulumi_oci/recoverymod/protected_database.py +95 -16
  69. pulumi_oci/recoverymod/protection_policy.py +121 -54
  70. pulumi_oci/recoverymod/recovery_service_subnet.py +143 -55
  71. {pulumi_oci-1.34.0a1714565502.dist-info → pulumi_oci-1.34.0a1714766740.dist-info}/METADATA +1 -1
  72. {pulumi_oci-1.34.0a1714565502.dist-info → pulumi_oci-1.34.0a1714766740.dist-info}/RECORD +74 -66
  73. {pulumi_oci-1.34.0a1714565502.dist-info → pulumi_oci-1.34.0a1714766740.dist-info}/WHEEL +0 -0
  74. {pulumi_oci-1.34.0a1714565502.dist-info → pulumi_oci-1.34.0a1714766740.dist-info}/top_level.txt +0 -0
@@ -18,14 +18,22 @@ class ProtectionPolicyArgs:
18
18
  compartment_id: pulumi.Input[str],
19
19
  display_name: pulumi.Input[str],
20
20
  defined_tags: Optional[pulumi.Input[Mapping[str, Any]]] = None,
21
- freeform_tags: Optional[pulumi.Input[Mapping[str, Any]]] = None):
21
+ freeform_tags: Optional[pulumi.Input[Mapping[str, Any]]] = None,
22
+ policy_locked_date_time: Optional[pulumi.Input[str]] = None):
22
23
  """
23
24
  The set of arguments for constructing a ProtectionPolicy resource.
24
25
  :param pulumi.Input[int] backup_retention_period_in_days: (Updatable) The maximum number of days to retain backups for a protected database.
25
26
  :param pulumi.Input[str] compartment_id: (Updatable) Compartment Identifier
26
27
  :param pulumi.Input[str] display_name: (Updatable) A user provided name for the protection policy. The 'displayName' does not have to be unique, and it can be modified. Avoid entering confidential information.
27
28
  :param pulumi.Input[Mapping[str, Any]] defined_tags: (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"foo-namespace.bar-key": "value"}`. For more information, see [Resource Tags](https://docs.oracle.com/en-us/iaas/Content/General/Concepts/resourcetags.htm)
28
- :param pulumi.Input[Mapping[str, Any]] freeform_tags: (Updatable) Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{"bar-key": "value"}`
29
+ :param pulumi.Input[Mapping[str, Any]] freeform_tags: (Updatable) Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{"bar-key": "value"}`
30
+ :param pulumi.Input[str] policy_locked_date_time: (Updatable) An RFC3339 formatted datetime string that specifies the exact date and time for the retention lock to take effect and permanently lock the retention period defined in the policy.
31
+ * The retention lock feature controls whether Recovery Service strictly preserves backups for the duration defined in a policy. Retention lock is useful to enforce recovery window compliance and to prevent unintentional modifications to protected database backups.
32
+ * Recovery Service enforces a 14-day delay before the retention lock set for a policy can take effect. Therefore, you must set policyLockedDateTime to a date that occurs 14 days after the current date.
33
+ * For example, assuming that the current date is Aug 1, 2023 9 pm, you can set policyLockedDateTime to '2023-08-15T21:00:00.600Z' (Aug 15, 2023, 9:00 pm), or greater.
34
+ * During the 14-day delay period, you can either increase or decrease the retention period in the policy.
35
+ * However, you are only allowed to increase the retention period on or after the retention lock date.
36
+ * You cannot change the value of policyLockedDateTime if the retention lock is already in effect.
29
37
 
30
38
 
31
39
  ** IMPORTANT **
@@ -38,6 +46,8 @@ class ProtectionPolicyArgs:
38
46
  pulumi.set(__self__, "defined_tags", defined_tags)
39
47
  if freeform_tags is not None:
40
48
  pulumi.set(__self__, "freeform_tags", freeform_tags)
49
+ if policy_locked_date_time is not None:
50
+ pulumi.set(__self__, "policy_locked_date_time", policy_locked_date_time)
41
51
 
42
52
  @property
43
53
  @pulumi.getter(name="backupRetentionPeriodInDays")
@@ -91,11 +101,7 @@ class ProtectionPolicyArgs:
91
101
  @pulumi.getter(name="freeformTags")
92
102
  def freeform_tags(self) -> Optional[pulumi.Input[Mapping[str, Any]]]:
93
103
  """
94
- (Updatable) Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{"bar-key": "value"}`
95
-
96
-
97
- ** IMPORTANT **
98
- Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values
104
+ (Updatable) Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{"bar-key": "value"}`
99
105
  """
100
106
  return pulumi.get(self, "freeform_tags")
101
107
 
@@ -103,6 +109,28 @@ class ProtectionPolicyArgs:
103
109
  def freeform_tags(self, value: Optional[pulumi.Input[Mapping[str, Any]]]):
104
110
  pulumi.set(self, "freeform_tags", value)
105
111
 
112
+ @property
113
+ @pulumi.getter(name="policyLockedDateTime")
114
+ def policy_locked_date_time(self) -> Optional[pulumi.Input[str]]:
115
+ """
116
+ (Updatable) An RFC3339 formatted datetime string that specifies the exact date and time for the retention lock to take effect and permanently lock the retention period defined in the policy.
117
+ * The retention lock feature controls whether Recovery Service strictly preserves backups for the duration defined in a policy. Retention lock is useful to enforce recovery window compliance and to prevent unintentional modifications to protected database backups.
118
+ * Recovery Service enforces a 14-day delay before the retention lock set for a policy can take effect. Therefore, you must set policyLockedDateTime to a date that occurs 14 days after the current date.
119
+ * For example, assuming that the current date is Aug 1, 2023 9 pm, you can set policyLockedDateTime to '2023-08-15T21:00:00.600Z' (Aug 15, 2023, 9:00 pm), or greater.
120
+ * During the 14-day delay period, you can either increase or decrease the retention period in the policy.
121
+ * However, you are only allowed to increase the retention period on or after the retention lock date.
122
+ * You cannot change the value of policyLockedDateTime if the retention lock is already in effect.
123
+
124
+
125
+ ** IMPORTANT **
126
+ Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values
127
+ """
128
+ return pulumi.get(self, "policy_locked_date_time")
129
+
130
+ @policy_locked_date_time.setter
131
+ def policy_locked_date_time(self, value: Optional[pulumi.Input[str]]):
132
+ pulumi.set(self, "policy_locked_date_time", value)
133
+
106
134
 
107
135
  @pulumi.input_type
108
136
  class _ProtectionPolicyState:
@@ -114,6 +142,7 @@ class _ProtectionPolicyState:
114
142
  freeform_tags: Optional[pulumi.Input[Mapping[str, Any]]] = None,
115
143
  is_predefined_policy: Optional[pulumi.Input[bool]] = None,
116
144
  lifecycle_details: Optional[pulumi.Input[str]] = None,
145
+ policy_locked_date_time: Optional[pulumi.Input[str]] = None,
117
146
  state: Optional[pulumi.Input[str]] = None,
118
147
  system_tags: Optional[pulumi.Input[Mapping[str, Any]]] = None,
119
148
  time_created: Optional[pulumi.Input[str]] = None,
@@ -124,20 +153,21 @@ class _ProtectionPolicyState:
124
153
  :param pulumi.Input[str] compartment_id: (Updatable) Compartment Identifier
125
154
  :param pulumi.Input[Mapping[str, Any]] defined_tags: (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"foo-namespace.bar-key": "value"}`. For more information, see [Resource Tags](https://docs.oracle.com/en-us/iaas/Content/General/Concepts/resourcetags.htm)
126
155
  :param pulumi.Input[str] display_name: (Updatable) A user provided name for the protection policy. The 'displayName' does not have to be unique, and it can be modified. Avoid entering confidential information.
127
- :param pulumi.Input[Mapping[str, Any]] freeform_tags: (Updatable) Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{"bar-key": "value"}`
156
+ :param pulumi.Input[Mapping[str, Any]] freeform_tags: (Updatable) Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{"bar-key": "value"}`
157
+ :param pulumi.Input[bool] is_predefined_policy: Set to TRUE if the policy is Oracle-defined, and FALSE for a user-defined custom policy. You can modify only the custom policies.
158
+ :param pulumi.Input[str] lifecycle_details: Detailed description about the current lifecycle state of the protection policy. For example, it can be used to provide actionable information for a resource in a Failed state.
159
+ :param pulumi.Input[str] policy_locked_date_time: (Updatable) An RFC3339 formatted datetime string that specifies the exact date and time for the retention lock to take effect and permanently lock the retention period defined in the policy.
160
+ * The retention lock feature controls whether Recovery Service strictly preserves backups for the duration defined in a policy. Retention lock is useful to enforce recovery window compliance and to prevent unintentional modifications to protected database backups.
161
+ * Recovery Service enforces a 14-day delay before the retention lock set for a policy can take effect. Therefore, you must set policyLockedDateTime to a date that occurs 14 days after the current date.
162
+ * For example, assuming that the current date is Aug 1, 2023 9 pm, you can set policyLockedDateTime to '2023-08-15T21:00:00.600Z' (Aug 15, 2023, 9:00 pm), or greater.
163
+ * During the 14-day delay period, you can either increase or decrease the retention period in the policy.
164
+ * However, you are only allowed to increase the retention period on or after the retention lock date.
165
+ * You cannot change the value of policyLockedDateTime if the retention lock is already in effect.
128
166
 
129
167
 
130
168
  ** IMPORTANT **
131
169
  Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values
132
- :param pulumi.Input[bool] is_predefined_policy: Set to TRUE if the policy is Oracle-defined, and FALSE for a user-defined custom policy. You can modify only the custom policies.
133
- :param pulumi.Input[str] lifecycle_details: Detailed description about the current lifecycle state of the protection policy. For example, it can be used to provide actionable information for a resource in a Failed state.
134
- :param pulumi.Input[str] state: The current state of the protection policy. Allowed values are:
135
- * CREATING
136
- * UPDATING
137
- * ACTIVE
138
- * DELETING
139
- * DELETED
140
- * FAILED
170
+ :param pulumi.Input[str] state: The current state of the protection policy.
141
171
  :param pulumi.Input[Mapping[str, Any]] system_tags: Usage of system tag keys. These predefined keys are scoped to namespaces. Example: `{"orcl-cloud.free-tier-retained": "true"}`. For more information, see [Resource Tags](https://docs.oracle.com/en-us/iaas/Content/General/Concepts/resourcetags.htm)
142
172
  :param pulumi.Input[str] time_created: An RFC3339 formatted datetime string that indicates the created time for the protection policy. For example: '2020-05-22T21:10:29.600Z'.
143
173
  :param pulumi.Input[str] time_updated: An RFC3339 formatted datetime string that indicates the updated time for the protection policy. For example: '2020-05-22T21:10:29.600Z'.
@@ -156,6 +186,8 @@ class _ProtectionPolicyState:
156
186
  pulumi.set(__self__, "is_predefined_policy", is_predefined_policy)
157
187
  if lifecycle_details is not None:
158
188
  pulumi.set(__self__, "lifecycle_details", lifecycle_details)
189
+ if policy_locked_date_time is not None:
190
+ pulumi.set(__self__, "policy_locked_date_time", policy_locked_date_time)
159
191
  if state is not None:
160
192
  pulumi.set(__self__, "state", state)
161
193
  if system_tags is not None:
@@ -217,11 +249,7 @@ class _ProtectionPolicyState:
217
249
  @pulumi.getter(name="freeformTags")
218
250
  def freeform_tags(self) -> Optional[pulumi.Input[Mapping[str, Any]]]:
219
251
  """
220
- (Updatable) Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{"bar-key": "value"}`
221
-
222
-
223
- ** IMPORTANT **
224
- Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values
252
+ (Updatable) Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{"bar-key": "value"}`
225
253
  """
226
254
  return pulumi.get(self, "freeform_tags")
227
255
 
@@ -253,17 +281,33 @@ class _ProtectionPolicyState:
253
281
  def lifecycle_details(self, value: Optional[pulumi.Input[str]]):
254
282
  pulumi.set(self, "lifecycle_details", value)
255
283
 
284
+ @property
285
+ @pulumi.getter(name="policyLockedDateTime")
286
+ def policy_locked_date_time(self) -> Optional[pulumi.Input[str]]:
287
+ """
288
+ (Updatable) An RFC3339 formatted datetime string that specifies the exact date and time for the retention lock to take effect and permanently lock the retention period defined in the policy.
289
+ * The retention lock feature controls whether Recovery Service strictly preserves backups for the duration defined in a policy. Retention lock is useful to enforce recovery window compliance and to prevent unintentional modifications to protected database backups.
290
+ * Recovery Service enforces a 14-day delay before the retention lock set for a policy can take effect. Therefore, you must set policyLockedDateTime to a date that occurs 14 days after the current date.
291
+ * For example, assuming that the current date is Aug 1, 2023 9 pm, you can set policyLockedDateTime to '2023-08-15T21:00:00.600Z' (Aug 15, 2023, 9:00 pm), or greater.
292
+ * During the 14-day delay period, you can either increase or decrease the retention period in the policy.
293
+ * However, you are only allowed to increase the retention period on or after the retention lock date.
294
+ * You cannot change the value of policyLockedDateTime if the retention lock is already in effect.
295
+
296
+
297
+ ** IMPORTANT **
298
+ Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values
299
+ """
300
+ return pulumi.get(self, "policy_locked_date_time")
301
+
302
+ @policy_locked_date_time.setter
303
+ def policy_locked_date_time(self, value: Optional[pulumi.Input[str]]):
304
+ pulumi.set(self, "policy_locked_date_time", value)
305
+
256
306
  @property
257
307
  @pulumi.getter
258
308
  def state(self) -> Optional[pulumi.Input[str]]:
259
309
  """
260
- The current state of the protection policy. Allowed values are:
261
- * CREATING
262
- * UPDATING
263
- * ACTIVE
264
- * DELETING
265
- * DELETED
266
- * FAILED
310
+ The current state of the protection policy.
267
311
  """
268
312
  return pulumi.get(self, "state")
269
313
 
@@ -318,6 +362,7 @@ class ProtectionPolicy(pulumi.CustomResource):
318
362
  defined_tags: Optional[pulumi.Input[Mapping[str, Any]]] = None,
319
363
  display_name: Optional[pulumi.Input[str]] = None,
320
364
  freeform_tags: Optional[pulumi.Input[Mapping[str, Any]]] = None,
365
+ policy_locked_date_time: Optional[pulumi.Input[str]] = None,
321
366
  __props__=None):
322
367
  """
323
368
  This resource provides the Protection Policy resource in Oracle Cloud Infrastructure Recovery service.
@@ -339,7 +384,8 @@ class ProtectionPolicy(pulumi.CustomResource):
339
384
  },
340
385
  freeform_tags={
341
386
  "bar-key": "value",
342
- })
387
+ },
388
+ policy_locked_date_time=protection_policy_policy_locked_date_time)
343
389
  ```
344
390
 
345
391
  ## Import
@@ -356,7 +402,14 @@ class ProtectionPolicy(pulumi.CustomResource):
356
402
  :param pulumi.Input[str] compartment_id: (Updatable) Compartment Identifier
357
403
  :param pulumi.Input[Mapping[str, Any]] defined_tags: (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"foo-namespace.bar-key": "value"}`. For more information, see [Resource Tags](https://docs.oracle.com/en-us/iaas/Content/General/Concepts/resourcetags.htm)
358
404
  :param pulumi.Input[str] display_name: (Updatable) A user provided name for the protection policy. The 'displayName' does not have to be unique, and it can be modified. Avoid entering confidential information.
359
- :param pulumi.Input[Mapping[str, Any]] freeform_tags: (Updatable) Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{"bar-key": "value"}`
405
+ :param pulumi.Input[Mapping[str, Any]] freeform_tags: (Updatable) Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{"bar-key": "value"}`
406
+ :param pulumi.Input[str] policy_locked_date_time: (Updatable) An RFC3339 formatted datetime string that specifies the exact date and time for the retention lock to take effect and permanently lock the retention period defined in the policy.
407
+ * The retention lock feature controls whether Recovery Service strictly preserves backups for the duration defined in a policy. Retention lock is useful to enforce recovery window compliance and to prevent unintentional modifications to protected database backups.
408
+ * Recovery Service enforces a 14-day delay before the retention lock set for a policy can take effect. Therefore, you must set policyLockedDateTime to a date that occurs 14 days after the current date.
409
+ * For example, assuming that the current date is Aug 1, 2023 9 pm, you can set policyLockedDateTime to '2023-08-15T21:00:00.600Z' (Aug 15, 2023, 9:00 pm), or greater.
410
+ * During the 14-day delay period, you can either increase or decrease the retention period in the policy.
411
+ * However, you are only allowed to increase the retention period on or after the retention lock date.
412
+ * You cannot change the value of policyLockedDateTime if the retention lock is already in effect.
360
413
 
361
414
 
362
415
  ** IMPORTANT **
@@ -388,7 +441,8 @@ class ProtectionPolicy(pulumi.CustomResource):
388
441
  },
389
442
  freeform_tags={
390
443
  "bar-key": "value",
391
- })
444
+ },
445
+ policy_locked_date_time=protection_policy_policy_locked_date_time)
392
446
  ```
393
447
 
394
448
  ## Import
@@ -419,6 +473,7 @@ class ProtectionPolicy(pulumi.CustomResource):
419
473
  defined_tags: Optional[pulumi.Input[Mapping[str, Any]]] = None,
420
474
  display_name: Optional[pulumi.Input[str]] = None,
421
475
  freeform_tags: Optional[pulumi.Input[Mapping[str, Any]]] = None,
476
+ policy_locked_date_time: Optional[pulumi.Input[str]] = None,
422
477
  __props__=None):
423
478
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
424
479
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -439,6 +494,7 @@ class ProtectionPolicy(pulumi.CustomResource):
439
494
  raise TypeError("Missing required property 'display_name'")
440
495
  __props__.__dict__["display_name"] = display_name
441
496
  __props__.__dict__["freeform_tags"] = freeform_tags
497
+ __props__.__dict__["policy_locked_date_time"] = policy_locked_date_time
442
498
  __props__.__dict__["is_predefined_policy"] = None
443
499
  __props__.__dict__["lifecycle_details"] = None
444
500
  __props__.__dict__["state"] = None
@@ -462,6 +518,7 @@ class ProtectionPolicy(pulumi.CustomResource):
462
518
  freeform_tags: Optional[pulumi.Input[Mapping[str, Any]]] = None,
463
519
  is_predefined_policy: Optional[pulumi.Input[bool]] = None,
464
520
  lifecycle_details: Optional[pulumi.Input[str]] = None,
521
+ policy_locked_date_time: Optional[pulumi.Input[str]] = None,
465
522
  state: Optional[pulumi.Input[str]] = None,
466
523
  system_tags: Optional[pulumi.Input[Mapping[str, Any]]] = None,
467
524
  time_created: Optional[pulumi.Input[str]] = None,
@@ -477,20 +534,21 @@ class ProtectionPolicy(pulumi.CustomResource):
477
534
  :param pulumi.Input[str] compartment_id: (Updatable) Compartment Identifier
478
535
  :param pulumi.Input[Mapping[str, Any]] defined_tags: (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"foo-namespace.bar-key": "value"}`. For more information, see [Resource Tags](https://docs.oracle.com/en-us/iaas/Content/General/Concepts/resourcetags.htm)
479
536
  :param pulumi.Input[str] display_name: (Updatable) A user provided name for the protection policy. The 'displayName' does not have to be unique, and it can be modified. Avoid entering confidential information.
480
- :param pulumi.Input[Mapping[str, Any]] freeform_tags: (Updatable) Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{"bar-key": "value"}`
537
+ :param pulumi.Input[Mapping[str, Any]] freeform_tags: (Updatable) Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{"bar-key": "value"}`
538
+ :param pulumi.Input[bool] is_predefined_policy: Set to TRUE if the policy is Oracle-defined, and FALSE for a user-defined custom policy. You can modify only the custom policies.
539
+ :param pulumi.Input[str] lifecycle_details: Detailed description about the current lifecycle state of the protection policy. For example, it can be used to provide actionable information for a resource in a Failed state.
540
+ :param pulumi.Input[str] policy_locked_date_time: (Updatable) An RFC3339 formatted datetime string that specifies the exact date and time for the retention lock to take effect and permanently lock the retention period defined in the policy.
541
+ * The retention lock feature controls whether Recovery Service strictly preserves backups for the duration defined in a policy. Retention lock is useful to enforce recovery window compliance and to prevent unintentional modifications to protected database backups.
542
+ * Recovery Service enforces a 14-day delay before the retention lock set for a policy can take effect. Therefore, you must set policyLockedDateTime to a date that occurs 14 days after the current date.
543
+ * For example, assuming that the current date is Aug 1, 2023 9 pm, you can set policyLockedDateTime to '2023-08-15T21:00:00.600Z' (Aug 15, 2023, 9:00 pm), or greater.
544
+ * During the 14-day delay period, you can either increase or decrease the retention period in the policy.
545
+ * However, you are only allowed to increase the retention period on or after the retention lock date.
546
+ * You cannot change the value of policyLockedDateTime if the retention lock is already in effect.
481
547
 
482
548
 
483
549
  ** IMPORTANT **
484
550
  Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values
485
- :param pulumi.Input[bool] is_predefined_policy: Set to TRUE if the policy is Oracle-defined, and FALSE for a user-defined custom policy. You can modify only the custom policies.
486
- :param pulumi.Input[str] lifecycle_details: Detailed description about the current lifecycle state of the protection policy. For example, it can be used to provide actionable information for a resource in a Failed state.
487
- :param pulumi.Input[str] state: The current state of the protection policy. Allowed values are:
488
- * CREATING
489
- * UPDATING
490
- * ACTIVE
491
- * DELETING
492
- * DELETED
493
- * FAILED
551
+ :param pulumi.Input[str] state: The current state of the protection policy.
494
552
  :param pulumi.Input[Mapping[str, Any]] system_tags: Usage of system tag keys. These predefined keys are scoped to namespaces. Example: `{"orcl-cloud.free-tier-retained": "true"}`. For more information, see [Resource Tags](https://docs.oracle.com/en-us/iaas/Content/General/Concepts/resourcetags.htm)
495
553
  :param pulumi.Input[str] time_created: An RFC3339 formatted datetime string that indicates the created time for the protection policy. For example: '2020-05-22T21:10:29.600Z'.
496
554
  :param pulumi.Input[str] time_updated: An RFC3339 formatted datetime string that indicates the updated time for the protection policy. For example: '2020-05-22T21:10:29.600Z'.
@@ -506,6 +564,7 @@ class ProtectionPolicy(pulumi.CustomResource):
506
564
  __props__.__dict__["freeform_tags"] = freeform_tags
507
565
  __props__.__dict__["is_predefined_policy"] = is_predefined_policy
508
566
  __props__.__dict__["lifecycle_details"] = lifecycle_details
567
+ __props__.__dict__["policy_locked_date_time"] = policy_locked_date_time
509
568
  __props__.__dict__["state"] = state
510
569
  __props__.__dict__["system_tags"] = system_tags
511
570
  __props__.__dict__["time_created"] = time_created
@@ -548,11 +607,7 @@ class ProtectionPolicy(pulumi.CustomResource):
548
607
  @pulumi.getter(name="freeformTags")
549
608
  def freeform_tags(self) -> pulumi.Output[Mapping[str, Any]]:
550
609
  """
551
- (Updatable) Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{"bar-key": "value"}`
552
-
553
-
554
- ** IMPORTANT **
555
- Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values
610
+ (Updatable) Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{"bar-key": "value"}`
556
611
  """
557
612
  return pulumi.get(self, "freeform_tags")
558
613
 
@@ -572,17 +627,29 @@ class ProtectionPolicy(pulumi.CustomResource):
572
627
  """
573
628
  return pulumi.get(self, "lifecycle_details")
574
629
 
630
+ @property
631
+ @pulumi.getter(name="policyLockedDateTime")
632
+ def policy_locked_date_time(self) -> pulumi.Output[str]:
633
+ """
634
+ (Updatable) An RFC3339 formatted datetime string that specifies the exact date and time for the retention lock to take effect and permanently lock the retention period defined in the policy.
635
+ * The retention lock feature controls whether Recovery Service strictly preserves backups for the duration defined in a policy. Retention lock is useful to enforce recovery window compliance and to prevent unintentional modifications to protected database backups.
636
+ * Recovery Service enforces a 14-day delay before the retention lock set for a policy can take effect. Therefore, you must set policyLockedDateTime to a date that occurs 14 days after the current date.
637
+ * For example, assuming that the current date is Aug 1, 2023 9 pm, you can set policyLockedDateTime to '2023-08-15T21:00:00.600Z' (Aug 15, 2023, 9:00 pm), or greater.
638
+ * During the 14-day delay period, you can either increase or decrease the retention period in the policy.
639
+ * However, you are only allowed to increase the retention period on or after the retention lock date.
640
+ * You cannot change the value of policyLockedDateTime if the retention lock is already in effect.
641
+
642
+
643
+ ** IMPORTANT **
644
+ Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values
645
+ """
646
+ return pulumi.get(self, "policy_locked_date_time")
647
+
575
648
  @property
576
649
  @pulumi.getter
577
650
  def state(self) -> pulumi.Output[str]:
578
651
  """
579
- The current state of the protection policy. Allowed values are:
580
- * CREATING
581
- * UPDATING
582
- * ACTIVE
583
- * DELETING
584
- * DELETED
585
- * FAILED
652
+ The current state of the protection policy.
586
653
  """
587
654
  return pulumi.get(self, "state")
588
655