pulumi-azure 6.27.0a1758695020__py3-none-any.whl → 6.27.0a1759511969__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.

Potentially problematic release.


This version of pulumi-azure might be problematic. Click here for more details.

Files changed (169) hide show
  1. pulumi_azure/__init__.py +32 -0
  2. pulumi_azure/apimanagement/backend.py +2 -2
  3. pulumi_azure/appservice/_inputs.py +78 -6
  4. pulumi_azure/appservice/app_flex_consumption.py +61 -0
  5. pulumi_azure/appservice/outputs.py +52 -4
  6. pulumi_azure/appservice/service_plan.py +14 -14
  7. pulumi_azure/billing/account_cost_management_export.py +2 -2
  8. pulumi_azure/cdn/_inputs.py +57 -95
  9. pulumi_azure/cdn/frontdoor_firewall_policy.py +34 -107
  10. pulumi_azure/cdn/frontdoor_profile.py +87 -2
  11. pulumi_azure/cdn/frontdoor_security_policy.py +7 -7
  12. pulumi_azure/cdn/get_frontdoor_firewall_policy.py +15 -1
  13. pulumi_azure/cdn/get_frontdoor_profile.py +25 -11
  14. pulumi_azure/cdn/outputs.py +79 -21
  15. pulumi_azure/cognitive/account.py +7 -7
  16. pulumi_azure/compute/__init__.py +1 -0
  17. pulumi_azure/compute/_inputs.py +79 -47
  18. pulumi_azure/compute/get_managed_disks.py +140 -0
  19. pulumi_azure/compute/linux_virtual_machine.py +97 -23
  20. pulumi_azure/compute/outputs.py +362 -34
  21. pulumi_azure/compute/windows_virtual_machine.py +172 -42
  22. pulumi_azure/containerservice/_inputs.py +209 -17
  23. pulumi_azure/containerservice/cluster_trusted_access_role_binding.py +2 -2
  24. pulumi_azure/containerservice/get_cluster_node_pool.py +14 -3
  25. pulumi_azure/containerservice/get_kubernetes_cluster.py +2 -2
  26. pulumi_azure/containerservice/get_kubernetes_node_pool_snapshot.py +2 -2
  27. pulumi_azure/containerservice/kubernetes_cluster.py +49 -2
  28. pulumi_azure/containerservice/kubernetes_cluster_node_pool.py +49 -2
  29. pulumi_azure/containerservice/outputs.py +173 -11
  30. pulumi_azure/core/_inputs.py +0 -54
  31. pulumi_azure/core/outputs.py +0 -36
  32. pulumi_azure/core/resource_group_cost_management_export.py +2 -2
  33. pulumi_azure/core/resource_group_policy_assignment.py +7 -7
  34. pulumi_azure/core/resource_policy_assignment.py +7 -7
  35. pulumi_azure/core/subscription_cost_management_export.py +2 -2
  36. pulumi_azure/core/subscription_policy_assignment.py +7 -7
  37. pulumi_azure/datafactory/__init__.py +1 -0
  38. pulumi_azure/datafactory/customer_managed_key.py +439 -0
  39. pulumi_azure/datafactory/factory.py +2 -2
  40. pulumi_azure/dataprotection/_inputs.py +36 -6
  41. pulumi_azure/dataprotection/backup_policy_blob_storage.py +76 -2
  42. pulumi_azure/dataprotection/outputs.py +24 -4
  43. pulumi_azure/devcenter/get_project_pool.py +15 -1
  44. pulumi_azure/devcenter/project_pool.py +47 -0
  45. pulumi_azure/eventgrid/domain.py +2 -2
  46. pulumi_azure/eventgrid/domain_topic.py +2 -2
  47. pulumi_azure/eventgrid/event_subscription.py +2 -2
  48. pulumi_azure/eventgrid/get_domain.py +2 -2
  49. pulumi_azure/eventgrid/get_domain_topic.py +2 -2
  50. pulumi_azure/eventgrid/get_partner_namespace.py +2 -2
  51. pulumi_azure/eventgrid/get_partner_registration.py +2 -2
  52. pulumi_azure/eventgrid/get_system_topic.py +28 -6
  53. pulumi_azure/eventgrid/get_topic.py +2 -2
  54. pulumi_azure/eventgrid/partner_configuration.py +2 -2
  55. pulumi_azure/eventgrid/partner_namespace.py +2 -2
  56. pulumi_azure/eventgrid/partner_registration.py +2 -2
  57. pulumi_azure/eventgrid/system_topic.py +97 -35
  58. pulumi_azure/eventgrid/system_topic_event_subscription.py +4 -4
  59. pulumi_azure/eventgrid/topic.py +2 -2
  60. pulumi_azure/eventhub/domain.py +2 -2
  61. pulumi_azure/eventhub/event_grid_topic.py +2 -2
  62. pulumi_azure/eventhub/event_subscription.py +2 -2
  63. pulumi_azure/hpc/cache_blob_target.py +2 -2
  64. pulumi_azure/iot/_inputs.py +27 -1
  65. pulumi_azure/iot/endpoint_cosmosdb_account.py +64 -3
  66. pulumi_azure/iot/endpoint_eventhub.py +64 -3
  67. pulumi_azure/iot/endpoint_servicebus_queue.py +64 -3
  68. pulumi_azure/iot/endpoint_servicebus_topic.py +64 -3
  69. pulumi_azure/iot/endpoint_storage_container.py +64 -3
  70. pulumi_azure/iot/outputs.py +19 -1
  71. pulumi_azure/keyvault/_inputs.py +3 -17
  72. pulumi_azure/keyvault/get_key_vault.py +13 -1
  73. pulumi_azure/keyvault/key_vault.py +78 -35
  74. pulumi_azure/keyvault/outputs.py +2 -10
  75. pulumi_azure/kusto/_inputs.py +16 -6
  76. pulumi_azure/kusto/cluster.py +95 -66
  77. pulumi_azure/kusto/outputs.py +10 -4
  78. pulumi_azure/lb/get_lb_outbound_rule.py +12 -1
  79. pulumi_azure/lb/get_lb_rule.py +28 -4
  80. pulumi_azure/lb/load_balancer.py +94 -0
  81. pulumi_azure/lb/nat_rule.py +115 -29
  82. pulumi_azure/lb/outbound_rule.py +60 -17
  83. pulumi_azure/lb/rule.py +116 -30
  84. pulumi_azure/loadtest/_inputs.py +6 -3
  85. pulumi_azure/loadtest/load_test.py +0 -4
  86. pulumi_azure/loadtest/outputs.py +4 -2
  87. pulumi_azure/logicapps/_inputs.py +46 -987
  88. pulumi_azure/logicapps/get_standard.py +0 -7
  89. pulumi_azure/logicapps/outputs.py +117 -101
  90. pulumi_azure/logicapps/standard.py +7 -7
  91. pulumi_azure/machinelearning/_inputs.py +24 -4
  92. pulumi_azure/machinelearning/compute_instance.py +35 -7
  93. pulumi_azure/machinelearning/datastore_blobstorage.py +2 -2
  94. pulumi_azure/machinelearning/datastore_datalake_gen2.py +2 -2
  95. pulumi_azure/machinelearning/inference_cluster.py +2 -2
  96. pulumi_azure/machinelearning/outputs.py +17 -3
  97. pulumi_azure/machinelearning/workspace.py +61 -0
  98. pulumi_azure/management/_inputs.py +0 -18
  99. pulumi_azure/management/group_policy_assignment.py +7 -7
  100. pulumi_azure/management/outputs.py +0 -12
  101. pulumi_azure/management/private_link_association.py +0 -70
  102. pulumi_azure/mobile/_inputs.py +14 -6
  103. pulumi_azure/mobile/network_sim.py +2 -6
  104. pulumi_azure/mobile/network_sim_policy.py +2 -6
  105. pulumi_azure/mobile/network_slice.py +116 -31
  106. pulumi_azure/mobile/outputs.py +6 -4
  107. pulumi_azure/monitoring/_inputs.py +15 -9
  108. pulumi_azure/monitoring/activity_log_alert.py +7 -7
  109. pulumi_azure/monitoring/outputs.py +10 -6
  110. pulumi_azure/mssql/job_step.py +11 -11
  111. pulumi_azure/mysql/_inputs.py +20 -0
  112. pulumi_azure/mysql/outputs.py +14 -0
  113. pulumi_azure/netapp/_inputs.py +18 -6
  114. pulumi_azure/netapp/account.py +2 -2
  115. pulumi_azure/netapp/account_encryption.py +132 -4
  116. pulumi_azure/netapp/backup_policy.py +2 -2
  117. pulumi_azure/netapp/backup_vault.py +2 -2
  118. pulumi_azure/netapp/get_account.py +2 -2
  119. pulumi_azure/netapp/get_account_encryption.py +25 -3
  120. pulumi_azure/netapp/get_backup_policy.py +2 -2
  121. pulumi_azure/netapp/get_backup_vault.py +2 -2
  122. pulumi_azure/netapp/get_pool.py +17 -3
  123. pulumi_azure/netapp/get_snapshot.py +2 -2
  124. pulumi_azure/netapp/get_snapshot_policy.py +2 -2
  125. pulumi_azure/netapp/get_volume.py +17 -3
  126. pulumi_azure/netapp/get_volume_group_oracle.py +2 -2
  127. pulumi_azure/netapp/get_volume_group_sap_hana.py +2 -2
  128. pulumi_azure/netapp/get_volume_quota_rule.py +2 -2
  129. pulumi_azure/netapp/outputs.py +12 -4
  130. pulumi_azure/netapp/pool.py +104 -9
  131. pulumi_azure/netapp/snapshot.py +2 -2
  132. pulumi_azure/netapp/snapshot_policy.py +2 -2
  133. pulumi_azure/netapp/volume.py +82 -7
  134. pulumi_azure/netapp/volume_group_oracle.py +2 -2
  135. pulumi_azure/netapp/volume_group_sap_hana.py +2 -2
  136. pulumi_azure/netapp/volume_quota_rule.py +2 -2
  137. pulumi_azure/network/__init__.py +2 -0
  138. pulumi_azure/network/network_manager_ipam_pool_static_cidr.py +415 -0
  139. pulumi_azure/network/network_manager_routing_configuration.py +7 -7
  140. pulumi_azure/network/network_manager_routing_rule_collection.py +429 -0
  141. pulumi_azure/network/subnet.py +76 -1
  142. pulumi_azure/oracle/__init__.py +3 -0
  143. pulumi_azure/oracle/autonomous_database_backup.py +310 -0
  144. pulumi_azure/oracle/get_autonomous_database_backup.py +347 -0
  145. pulumi_azure/oracle/get_autonomous_database_backups.py +138 -0
  146. pulumi_azure/oracle/outputs.py +191 -0
  147. pulumi_azure/paloalto/next_generation_firewall_virtual_hub_local_rulestack.py +2 -2
  148. pulumi_azure/paloalto/next_generation_firewall_virtual_hub_panorama.py +2 -2
  149. pulumi_azure/paloalto/next_generation_firewall_virtual_network_local_rulestack.py +2 -2
  150. pulumi_azure/paloalto/next_generation_firewall_virtual_network_panorama.py +2 -2
  151. pulumi_azure/policy/_inputs.py +6 -0
  152. pulumi_azure/policy/outputs.py +4 -0
  153. pulumi_azure/postgresql/flexible_server.py +7 -7
  154. pulumi_azure/postgresql/flexible_server_firewall_rule.py +14 -14
  155. pulumi_azure/pulumi-plugin.json +1 -1
  156. pulumi_azure/search/service.py +7 -7
  157. pulumi_azure/sentinel/_inputs.py +144 -0
  158. pulumi_azure/sentinel/authomation_rule.py +47 -0
  159. pulumi_azure/sentinel/automation_rule.py +47 -0
  160. pulumi_azure/sentinel/outputs.py +84 -0
  161. pulumi_azure/storage/_inputs.py +3 -3
  162. pulumi_azure/storage/container_immutability_policy.py +2 -2
  163. pulumi_azure/storage/get_queue.py +59 -8
  164. pulumi_azure/storage/outputs.py +2 -2
  165. pulumi_azure/storage/queue.py +159 -27
  166. {pulumi_azure-6.27.0a1758695020.dist-info → pulumi_azure-6.27.0a1759511969.dist-info}/METADATA +1 -1
  167. {pulumi_azure-6.27.0a1758695020.dist-info → pulumi_azure-6.27.0a1759511969.dist-info}/RECORD +169 -162
  168. {pulumi_azure-6.27.0a1758695020.dist-info → pulumi_azure-6.27.0a1759511969.dist-info}/WHEEL +0 -0
  169. {pulumi_azure-6.27.0a1758695020.dist-info → pulumi_azure-6.27.0a1759511969.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,439 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import builtins as _builtins
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+
17
+ __all__ = ['CustomerManagedKeyArgs', 'CustomerManagedKey']
18
+
19
+ @pulumi.input_type
20
+ class CustomerManagedKeyArgs:
21
+ def __init__(__self__, *,
22
+ customer_managed_key_id: pulumi.Input[_builtins.str],
23
+ data_factory_id: pulumi.Input[_builtins.str],
24
+ user_assigned_identity_id: Optional[pulumi.Input[_builtins.str]] = None):
25
+ """
26
+ The set of arguments for constructing a CustomerManagedKey resource.
27
+ :param pulumi.Input[_builtins.str] customer_managed_key_id: The ID the of the Customer Managed Key to associate with the Data Factory.
28
+ :param pulumi.Input[_builtins.str] data_factory_id: The ID of the Data Factory Resource the Customer Managed Key will be associated with. Changing this forces a new resource to be created.
29
+ :param pulumi.Input[_builtins.str] user_assigned_identity_id: The User Assigned Identity ID that will be used to access Key Vaults that contain the encryption keys.
30
+ """
31
+ pulumi.set(__self__, "customer_managed_key_id", customer_managed_key_id)
32
+ pulumi.set(__self__, "data_factory_id", data_factory_id)
33
+ if user_assigned_identity_id is not None:
34
+ pulumi.set(__self__, "user_assigned_identity_id", user_assigned_identity_id)
35
+
36
+ @_builtins.property
37
+ @pulumi.getter(name="customerManagedKeyId")
38
+ def customer_managed_key_id(self) -> pulumi.Input[_builtins.str]:
39
+ """
40
+ The ID the of the Customer Managed Key to associate with the Data Factory.
41
+ """
42
+ return pulumi.get(self, "customer_managed_key_id")
43
+
44
+ @customer_managed_key_id.setter
45
+ def customer_managed_key_id(self, value: pulumi.Input[_builtins.str]):
46
+ pulumi.set(self, "customer_managed_key_id", value)
47
+
48
+ @_builtins.property
49
+ @pulumi.getter(name="dataFactoryId")
50
+ def data_factory_id(self) -> pulumi.Input[_builtins.str]:
51
+ """
52
+ The ID of the Data Factory Resource the Customer Managed Key will be associated with. Changing this forces a new resource to be created.
53
+ """
54
+ return pulumi.get(self, "data_factory_id")
55
+
56
+ @data_factory_id.setter
57
+ def data_factory_id(self, value: pulumi.Input[_builtins.str]):
58
+ pulumi.set(self, "data_factory_id", value)
59
+
60
+ @_builtins.property
61
+ @pulumi.getter(name="userAssignedIdentityId")
62
+ def user_assigned_identity_id(self) -> Optional[pulumi.Input[_builtins.str]]:
63
+ """
64
+ The User Assigned Identity ID that will be used to access Key Vaults that contain the encryption keys.
65
+ """
66
+ return pulumi.get(self, "user_assigned_identity_id")
67
+
68
+ @user_assigned_identity_id.setter
69
+ def user_assigned_identity_id(self, value: Optional[pulumi.Input[_builtins.str]]):
70
+ pulumi.set(self, "user_assigned_identity_id", value)
71
+
72
+
73
+ @pulumi.input_type
74
+ class _CustomerManagedKeyState:
75
+ def __init__(__self__, *,
76
+ customer_managed_key_id: Optional[pulumi.Input[_builtins.str]] = None,
77
+ data_factory_id: Optional[pulumi.Input[_builtins.str]] = None,
78
+ user_assigned_identity_id: Optional[pulumi.Input[_builtins.str]] = None):
79
+ """
80
+ Input properties used for looking up and filtering CustomerManagedKey resources.
81
+ :param pulumi.Input[_builtins.str] customer_managed_key_id: The ID the of the Customer Managed Key to associate with the Data Factory.
82
+ :param pulumi.Input[_builtins.str] data_factory_id: The ID of the Data Factory Resource the Customer Managed Key will be associated with. Changing this forces a new resource to be created.
83
+ :param pulumi.Input[_builtins.str] user_assigned_identity_id: The User Assigned Identity ID that will be used to access Key Vaults that contain the encryption keys.
84
+ """
85
+ if customer_managed_key_id is not None:
86
+ pulumi.set(__self__, "customer_managed_key_id", customer_managed_key_id)
87
+ if data_factory_id is not None:
88
+ pulumi.set(__self__, "data_factory_id", data_factory_id)
89
+ if user_assigned_identity_id is not None:
90
+ pulumi.set(__self__, "user_assigned_identity_id", user_assigned_identity_id)
91
+
92
+ @_builtins.property
93
+ @pulumi.getter(name="customerManagedKeyId")
94
+ def customer_managed_key_id(self) -> Optional[pulumi.Input[_builtins.str]]:
95
+ """
96
+ The ID the of the Customer Managed Key to associate with the Data Factory.
97
+ """
98
+ return pulumi.get(self, "customer_managed_key_id")
99
+
100
+ @customer_managed_key_id.setter
101
+ def customer_managed_key_id(self, value: Optional[pulumi.Input[_builtins.str]]):
102
+ pulumi.set(self, "customer_managed_key_id", value)
103
+
104
+ @_builtins.property
105
+ @pulumi.getter(name="dataFactoryId")
106
+ def data_factory_id(self) -> Optional[pulumi.Input[_builtins.str]]:
107
+ """
108
+ The ID of the Data Factory Resource the Customer Managed Key will be associated with. Changing this forces a new resource to be created.
109
+ """
110
+ return pulumi.get(self, "data_factory_id")
111
+
112
+ @data_factory_id.setter
113
+ def data_factory_id(self, value: Optional[pulumi.Input[_builtins.str]]):
114
+ pulumi.set(self, "data_factory_id", value)
115
+
116
+ @_builtins.property
117
+ @pulumi.getter(name="userAssignedIdentityId")
118
+ def user_assigned_identity_id(self) -> Optional[pulumi.Input[_builtins.str]]:
119
+ """
120
+ The User Assigned Identity ID that will be used to access Key Vaults that contain the encryption keys.
121
+ """
122
+ return pulumi.get(self, "user_assigned_identity_id")
123
+
124
+ @user_assigned_identity_id.setter
125
+ def user_assigned_identity_id(self, value: Optional[pulumi.Input[_builtins.str]]):
126
+ pulumi.set(self, "user_assigned_identity_id", value)
127
+
128
+
129
+ @pulumi.type_token("azure:datafactory/customerManagedKey:CustomerManagedKey")
130
+ class CustomerManagedKey(pulumi.CustomResource):
131
+ @overload
132
+ def __init__(__self__,
133
+ resource_name: str,
134
+ opts: Optional[pulumi.ResourceOptions] = None,
135
+ customer_managed_key_id: Optional[pulumi.Input[_builtins.str]] = None,
136
+ data_factory_id: Optional[pulumi.Input[_builtins.str]] = None,
137
+ user_assigned_identity_id: Optional[pulumi.Input[_builtins.str]] = None,
138
+ __props__=None):
139
+ """
140
+ Manages a Customer Managed Key for a Data Factory.
141
+
142
+ > **Note:** The Customer Managed Key cannot be removed from the Data Factory once added. To remove the Customer Managed Key delete and recreate the parent Data Factory.
143
+
144
+ ## Example Usage
145
+
146
+ ### With System Assigned Identity
147
+
148
+ ```python
149
+ import pulumi
150
+ import pulumi_azure as azure
151
+
152
+ current = azure.core.get_client_config()
153
+ example = azure.core.ResourceGroup("example",
154
+ name="example-resources",
155
+ location="West Europe")
156
+ example_key_vault = azure.keyvault.KeyVault("example",
157
+ name="example-key-vault",
158
+ location=example.location,
159
+ resource_group_name=example.name,
160
+ tenant_id=current.tenant_id,
161
+ sku_name="standard",
162
+ purge_protection_enabled=True)
163
+ example_key = azure.keyvault.Key("example",
164
+ name="examplekey",
165
+ key_vault_id=example_key_vault.id,
166
+ key_type="RSA",
167
+ key_size=2048,
168
+ key_opts=[
169
+ "unwrapKey",
170
+ "wrapKey",
171
+ ])
172
+ current_client_policy = azure.keyvault.AccessPolicy("current_client_policy",
173
+ key_vault_id=example_key_vault.id,
174
+ tenant_id=current.tenant_id,
175
+ object_id=current.object_id,
176
+ key_permissions=[
177
+ "Create",
178
+ "Delete",
179
+ "Get",
180
+ "Purge",
181
+ "Recover",
182
+ "Update",
183
+ "GetRotationPolicy",
184
+ ],
185
+ secret_permissions=[
186
+ "Delete",
187
+ "Get",
188
+ "Set",
189
+ ])
190
+ example_factory = azure.datafactory.Factory("example",
191
+ name="example_data_factory",
192
+ location=example.location,
193
+ resource_group_name=example.name,
194
+ identity={
195
+ "type": "SystemAssigned",
196
+ "identity_ids": [example_azurerm_user_assigned_identity["id"]],
197
+ })
198
+ datafactory = azure.keyvault.AccessPolicy("datafactory",
199
+ key_vault_id=example_key_vault.id,
200
+ tenant_id=example_factory.identity.tenant_id,
201
+ object_id=example_factory.identity.principal_id,
202
+ key_permissions=[
203
+ "Create",
204
+ "Delete",
205
+ "Get",
206
+ "Purge",
207
+ "Recover",
208
+ "Update",
209
+ "GetRotationPolicy",
210
+ "WrapKey",
211
+ "UnwrapKey",
212
+ ],
213
+ secret_permissions=[
214
+ "Delete",
215
+ "Get",
216
+ "Set",
217
+ ])
218
+ example_customer_managed_key = azure.datafactory.CustomerManagedKey("example",
219
+ data_factory_id=example_factory.id,
220
+ customer_managed_key_id=example_key.id)
221
+ ```
222
+
223
+ ## API Providers
224
+
225
+ <!-- This section is generated, changes will be overwritten -->
226
+ This resource uses the following Azure API Providers:
227
+
228
+ * `Microsoft.DataFactory` - 2018-06-01
229
+
230
+ ## Import
231
+
232
+ Data Factory Customer Managed Keys can be imported using the `resource id`, e.g.
233
+
234
+ ```sh
235
+ $ pulumi import azure:datafactory/customerManagedKey:CustomerManagedKey example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.DataFactory/factories/example
236
+ ```
237
+
238
+ :param str resource_name: The name of the resource.
239
+ :param pulumi.ResourceOptions opts: Options for the resource.
240
+ :param pulumi.Input[_builtins.str] customer_managed_key_id: The ID the of the Customer Managed Key to associate with the Data Factory.
241
+ :param pulumi.Input[_builtins.str] data_factory_id: The ID of the Data Factory Resource the Customer Managed Key will be associated with. Changing this forces a new resource to be created.
242
+ :param pulumi.Input[_builtins.str] user_assigned_identity_id: The User Assigned Identity ID that will be used to access Key Vaults that contain the encryption keys.
243
+ """
244
+ ...
245
+ @overload
246
+ def __init__(__self__,
247
+ resource_name: str,
248
+ args: CustomerManagedKeyArgs,
249
+ opts: Optional[pulumi.ResourceOptions] = None):
250
+ """
251
+ Manages a Customer Managed Key for a Data Factory.
252
+
253
+ > **Note:** The Customer Managed Key cannot be removed from the Data Factory once added. To remove the Customer Managed Key delete and recreate the parent Data Factory.
254
+
255
+ ## Example Usage
256
+
257
+ ### With System Assigned Identity
258
+
259
+ ```python
260
+ import pulumi
261
+ import pulumi_azure as azure
262
+
263
+ current = azure.core.get_client_config()
264
+ example = azure.core.ResourceGroup("example",
265
+ name="example-resources",
266
+ location="West Europe")
267
+ example_key_vault = azure.keyvault.KeyVault("example",
268
+ name="example-key-vault",
269
+ location=example.location,
270
+ resource_group_name=example.name,
271
+ tenant_id=current.tenant_id,
272
+ sku_name="standard",
273
+ purge_protection_enabled=True)
274
+ example_key = azure.keyvault.Key("example",
275
+ name="examplekey",
276
+ key_vault_id=example_key_vault.id,
277
+ key_type="RSA",
278
+ key_size=2048,
279
+ key_opts=[
280
+ "unwrapKey",
281
+ "wrapKey",
282
+ ])
283
+ current_client_policy = azure.keyvault.AccessPolicy("current_client_policy",
284
+ key_vault_id=example_key_vault.id,
285
+ tenant_id=current.tenant_id,
286
+ object_id=current.object_id,
287
+ key_permissions=[
288
+ "Create",
289
+ "Delete",
290
+ "Get",
291
+ "Purge",
292
+ "Recover",
293
+ "Update",
294
+ "GetRotationPolicy",
295
+ ],
296
+ secret_permissions=[
297
+ "Delete",
298
+ "Get",
299
+ "Set",
300
+ ])
301
+ example_factory = azure.datafactory.Factory("example",
302
+ name="example_data_factory",
303
+ location=example.location,
304
+ resource_group_name=example.name,
305
+ identity={
306
+ "type": "SystemAssigned",
307
+ "identity_ids": [example_azurerm_user_assigned_identity["id"]],
308
+ })
309
+ datafactory = azure.keyvault.AccessPolicy("datafactory",
310
+ key_vault_id=example_key_vault.id,
311
+ tenant_id=example_factory.identity.tenant_id,
312
+ object_id=example_factory.identity.principal_id,
313
+ key_permissions=[
314
+ "Create",
315
+ "Delete",
316
+ "Get",
317
+ "Purge",
318
+ "Recover",
319
+ "Update",
320
+ "GetRotationPolicy",
321
+ "WrapKey",
322
+ "UnwrapKey",
323
+ ],
324
+ secret_permissions=[
325
+ "Delete",
326
+ "Get",
327
+ "Set",
328
+ ])
329
+ example_customer_managed_key = azure.datafactory.CustomerManagedKey("example",
330
+ data_factory_id=example_factory.id,
331
+ customer_managed_key_id=example_key.id)
332
+ ```
333
+
334
+ ## API Providers
335
+
336
+ <!-- This section is generated, changes will be overwritten -->
337
+ This resource uses the following Azure API Providers:
338
+
339
+ * `Microsoft.DataFactory` - 2018-06-01
340
+
341
+ ## Import
342
+
343
+ Data Factory Customer Managed Keys can be imported using the `resource id`, e.g.
344
+
345
+ ```sh
346
+ $ pulumi import azure:datafactory/customerManagedKey:CustomerManagedKey example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/example/providers/Microsoft.DataFactory/factories/example
347
+ ```
348
+
349
+ :param str resource_name: The name of the resource.
350
+ :param CustomerManagedKeyArgs args: The arguments to use to populate this resource's properties.
351
+ :param pulumi.ResourceOptions opts: Options for the resource.
352
+ """
353
+ ...
354
+ def __init__(__self__, resource_name: str, *args, **kwargs):
355
+ resource_args, opts = _utilities.get_resource_args_opts(CustomerManagedKeyArgs, pulumi.ResourceOptions, *args, **kwargs)
356
+ if resource_args is not None:
357
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
358
+ else:
359
+ __self__._internal_init(resource_name, *args, **kwargs)
360
+
361
+ def _internal_init(__self__,
362
+ resource_name: str,
363
+ opts: Optional[pulumi.ResourceOptions] = None,
364
+ customer_managed_key_id: Optional[pulumi.Input[_builtins.str]] = None,
365
+ data_factory_id: Optional[pulumi.Input[_builtins.str]] = None,
366
+ user_assigned_identity_id: Optional[pulumi.Input[_builtins.str]] = None,
367
+ __props__=None):
368
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
369
+ if not isinstance(opts, pulumi.ResourceOptions):
370
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
371
+ if opts.id is None:
372
+ if __props__ is not None:
373
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
374
+ __props__ = CustomerManagedKeyArgs.__new__(CustomerManagedKeyArgs)
375
+
376
+ if customer_managed_key_id is None and not opts.urn:
377
+ raise TypeError("Missing required property 'customer_managed_key_id'")
378
+ __props__.__dict__["customer_managed_key_id"] = customer_managed_key_id
379
+ if data_factory_id is None and not opts.urn:
380
+ raise TypeError("Missing required property 'data_factory_id'")
381
+ __props__.__dict__["data_factory_id"] = data_factory_id
382
+ __props__.__dict__["user_assigned_identity_id"] = user_assigned_identity_id
383
+ super(CustomerManagedKey, __self__).__init__(
384
+ 'azure:datafactory/customerManagedKey:CustomerManagedKey',
385
+ resource_name,
386
+ __props__,
387
+ opts)
388
+
389
+ @staticmethod
390
+ def get(resource_name: str,
391
+ id: pulumi.Input[str],
392
+ opts: Optional[pulumi.ResourceOptions] = None,
393
+ customer_managed_key_id: Optional[pulumi.Input[_builtins.str]] = None,
394
+ data_factory_id: Optional[pulumi.Input[_builtins.str]] = None,
395
+ user_assigned_identity_id: Optional[pulumi.Input[_builtins.str]] = None) -> 'CustomerManagedKey':
396
+ """
397
+ Get an existing CustomerManagedKey resource's state with the given name, id, and optional extra
398
+ properties used to qualify the lookup.
399
+
400
+ :param str resource_name: The unique name of the resulting resource.
401
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
402
+ :param pulumi.ResourceOptions opts: Options for the resource.
403
+ :param pulumi.Input[_builtins.str] customer_managed_key_id: The ID the of the Customer Managed Key to associate with the Data Factory.
404
+ :param pulumi.Input[_builtins.str] data_factory_id: The ID of the Data Factory Resource the Customer Managed Key will be associated with. Changing this forces a new resource to be created.
405
+ :param pulumi.Input[_builtins.str] user_assigned_identity_id: The User Assigned Identity ID that will be used to access Key Vaults that contain the encryption keys.
406
+ """
407
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
408
+
409
+ __props__ = _CustomerManagedKeyState.__new__(_CustomerManagedKeyState)
410
+
411
+ __props__.__dict__["customer_managed_key_id"] = customer_managed_key_id
412
+ __props__.__dict__["data_factory_id"] = data_factory_id
413
+ __props__.__dict__["user_assigned_identity_id"] = user_assigned_identity_id
414
+ return CustomerManagedKey(resource_name, opts=opts, __props__=__props__)
415
+
416
+ @_builtins.property
417
+ @pulumi.getter(name="customerManagedKeyId")
418
+ def customer_managed_key_id(self) -> pulumi.Output[_builtins.str]:
419
+ """
420
+ The ID the of the Customer Managed Key to associate with the Data Factory.
421
+ """
422
+ return pulumi.get(self, "customer_managed_key_id")
423
+
424
+ @_builtins.property
425
+ @pulumi.getter(name="dataFactoryId")
426
+ def data_factory_id(self) -> pulumi.Output[_builtins.str]:
427
+ """
428
+ The ID of the Data Factory Resource the Customer Managed Key will be associated with. Changing this forces a new resource to be created.
429
+ """
430
+ return pulumi.get(self, "data_factory_id")
431
+
432
+ @_builtins.property
433
+ @pulumi.getter(name="userAssignedIdentityId")
434
+ def user_assigned_identity_id(self) -> pulumi.Output[Optional[_builtins.str]]:
435
+ """
436
+ The User Assigned Identity ID that will be used to access Key Vaults that contain the encryption keys.
437
+ """
438
+ return pulumi.get(self, "user_assigned_identity_id")
439
+
@@ -674,7 +674,7 @@ class Factory(pulumi.CustomResource):
674
674
 
675
675
  @_builtins.property
676
676
  @pulumi.getter(name="customerManagedKeyId")
677
- def customer_managed_key_id(self) -> pulumi.Output[Optional[_builtins.str]]:
677
+ def customer_managed_key_id(self) -> pulumi.Output[_builtins.str]:
678
678
  """
679
679
  Specifies the Azure Key Vault Key ID to be used as the Customer Managed Key (CMK) for double encryption. Required with user assigned identity.
680
680
  """
@@ -682,7 +682,7 @@ class Factory(pulumi.CustomResource):
682
682
 
683
683
  @_builtins.property
684
684
  @pulumi.getter(name="customerManagedKeyIdentityId")
685
- def customer_managed_key_identity_id(self) -> pulumi.Output[Optional[_builtins.str]]:
685
+ def customer_managed_key_identity_id(self) -> pulumi.Output[_builtins.str]:
686
686
  """
687
687
  Specifies the ID of the user assigned identity associated with the Customer Managed Key. Must be supplied if `customer_managed_key_id` is set.
688
688
  """
@@ -323,7 +323,7 @@ if not MYPY:
323
323
  """
324
324
  months_of_years: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
325
325
  """
326
- Possible values are `January`, `February`, `March`, `April`, `May`, `June`, `July`, `August`, `September`, `October`, `November` and `December`. Changing this forces a new Backup Policy Blob Storage to be created.
326
+ Possible values are `January`, `February`, `March`, `April`, `May`, `June`, `July`, `August`, `September`, `October`, `November` and `December`. Changing this forces a new Backup Policy Blob Storage to be created. When this property is specified, exactly one of the following must also be set: `days_of_month`, `days_of_week`
327
327
  """
328
328
  scheduled_backup_times: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
329
329
  """
@@ -331,7 +331,9 @@ if not MYPY:
331
331
  """
332
332
  weeks_of_months: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
333
333
  """
334
- Possible values are `First`, `Second`, `Third`, `Fourth` and `Last`. Changing this forces a new Backup Policy Blob Storage to be created.
334
+ Possible values are `First`, `Second`, `Third`, `Fourth` and `Last`. Changing this forces a new Backup Policy Blob Storage to be created. When this property is specified, exactly one of the following must also be set: `days_of_month`, `days_of_week`
335
+
336
+ > **Note:** When not using `absolute_criteria`, you must use exactly one of `days_of_month` or `days_of_week`. Regarding the remaining two properties, `weeks_of_month` and `months_of_year`, you may use either, both, or neither. If you would like to set multiple intervals, you may do so by using multiple `retention_rule` blocks.
335
337
  """
336
338
  elif False:
337
339
  BackupPolicyBlobStorageRetentionRuleCriteriaArgsDict: TypeAlias = Mapping[str, Any]
@@ -349,9 +351,11 @@ class BackupPolicyBlobStorageRetentionRuleCriteriaArgs:
349
351
  :param pulumi.Input[_builtins.str] absolute_criteria: Possible values are `AllBackup`, `FirstOfDay`, `FirstOfWeek`, `FirstOfMonth` and `FirstOfYear`. These values mean the first successful backup of the day/week/month/year. Changing this forces a new Backup Policy Blob Storage to be created.
350
352
  :param pulumi.Input[Sequence[pulumi.Input[_builtins.int]]] days_of_months: Must be between `0` and `28`. `0` for last day within the month. Changing this forces a new Backup Policy Blob Storage to be created.
351
353
  :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] days_of_weeks: Possible values are `Monday`, `Tuesday`, `Thursday`, `Friday`, `Saturday` and `Sunday`. Changing this forces a new Backup Policy Blob Storage to be created.
352
- :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] months_of_years: Possible values are `January`, `February`, `March`, `April`, `May`, `June`, `July`, `August`, `September`, `October`, `November` and `December`. Changing this forces a new Backup Policy Blob Storage to be created.
354
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] months_of_years: Possible values are `January`, `February`, `March`, `April`, `May`, `June`, `July`, `August`, `September`, `October`, `November` and `December`. Changing this forces a new Backup Policy Blob Storage to be created. When this property is specified, exactly one of the following must also be set: `days_of_month`, `days_of_week`
353
355
  :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] scheduled_backup_times: Specifies a list of backup times for backup in the `RFC3339` format. Changing this forces a new Backup Policy Blob Storage to be created.
354
- :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] weeks_of_months: Possible values are `First`, `Second`, `Third`, `Fourth` and `Last`. Changing this forces a new Backup Policy Blob Storage to be created.
356
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] weeks_of_months: Possible values are `First`, `Second`, `Third`, `Fourth` and `Last`. Changing this forces a new Backup Policy Blob Storage to be created. When this property is specified, exactly one of the following must also be set: `days_of_month`, `days_of_week`
357
+
358
+ > **Note:** When not using `absolute_criteria`, you must use exactly one of `days_of_month` or `days_of_week`. Regarding the remaining two properties, `weeks_of_month` and `months_of_year`, you may use either, both, or neither. If you would like to set multiple intervals, you may do so by using multiple `retention_rule` blocks.
355
359
  """
356
360
  if absolute_criteria is not None:
357
361
  pulumi.set(__self__, "absolute_criteria", absolute_criteria)
@@ -406,7 +410,7 @@ class BackupPolicyBlobStorageRetentionRuleCriteriaArgs:
406
410
  @pulumi.getter(name="monthsOfYears")
407
411
  def months_of_years(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
408
412
  """
409
- Possible values are `January`, `February`, `March`, `April`, `May`, `June`, `July`, `August`, `September`, `October`, `November` and `December`. Changing this forces a new Backup Policy Blob Storage to be created.
413
+ Possible values are `January`, `February`, `March`, `April`, `May`, `June`, `July`, `August`, `September`, `October`, `November` and `December`. Changing this forces a new Backup Policy Blob Storage to be created. When this property is specified, exactly one of the following must also be set: `days_of_month`, `days_of_week`
410
414
  """
411
415
  return pulumi.get(self, "months_of_years")
412
416
 
@@ -430,7 +434,9 @@ class BackupPolicyBlobStorageRetentionRuleCriteriaArgs:
430
434
  @pulumi.getter(name="weeksOfMonths")
431
435
  def weeks_of_months(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
432
436
  """
433
- Possible values are `First`, `Second`, `Third`, `Fourth` and `Last`. Changing this forces a new Backup Policy Blob Storage to be created.
437
+ Possible values are `First`, `Second`, `Third`, `Fourth` and `Last`. Changing this forces a new Backup Policy Blob Storage to be created. When this property is specified, exactly one of the following must also be set: `days_of_month`, `days_of_week`
438
+
439
+ > **Note:** When not using `absolute_criteria`, you must use exactly one of `days_of_month` or `days_of_week`. Regarding the remaining two properties, `weeks_of_month` and `months_of_year`, you may use either, both, or neither. If you would like to set multiple intervals, you may do so by using multiple `retention_rule` blocks.
434
440
  """
435
441
  return pulumi.get(self, "weeks_of_months")
436
442
 
@@ -799,6 +805,8 @@ if not MYPY:
799
805
  weeks_of_months: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
800
806
  """
801
807
  Possible values are `First`, `Second`, `Third`, `Fourth` and `Last`. Changing this forces a new resource to be created.
808
+ *
809
+ > **Note:** When not using `absolute_criteria`, you must use exactly one of `days_of_month` or `days_of_week`. Regarding the remaining two properties, `weeks_of_month` and `months_of_year`, you may use either, both, or neither. If you would like to set multiple intervals, you may do so by using multiple `retention_rule` blocks.
802
810
  """
803
811
  elif False:
804
812
  BackupPolicyKubernetesClusterRetentionRuleCriteriaArgsDict: TypeAlias = Mapping[str, Any]
@@ -817,6 +825,8 @@ class BackupPolicyKubernetesClusterRetentionRuleCriteriaArgs:
817
825
  :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] months_of_years: Possible values are `January`, `February`, `March`, `April`, `May`, `June`, `July`, `August`, `September`, `October`, `November` and `December`. Changing this forces a new resource to be created.
818
826
  :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] scheduled_backup_times: Specifies a list of backup times for backup in the `RFC3339` format. Changing this forces a new resource to be created.
819
827
  :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] weeks_of_months: Possible values are `First`, `Second`, `Third`, `Fourth` and `Last`. Changing this forces a new resource to be created.
828
+ *
829
+ > **Note:** When not using `absolute_criteria`, you must use exactly one of `days_of_month` or `days_of_week`. Regarding the remaining two properties, `weeks_of_month` and `months_of_year`, you may use either, both, or neither. If you would like to set multiple intervals, you may do so by using multiple `retention_rule` blocks.
820
830
  """
821
831
  if absolute_criteria is not None:
822
832
  pulumi.set(__self__, "absolute_criteria", absolute_criteria)
@@ -882,6 +892,8 @@ class BackupPolicyKubernetesClusterRetentionRuleCriteriaArgs:
882
892
  def weeks_of_months(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
883
893
  """
884
894
  Possible values are `First`, `Second`, `Third`, `Fourth` and `Last`. Changing this forces a new resource to be created.
895
+ *
896
+ > **Note:** When not using `absolute_criteria`, you must use exactly one of `days_of_month` or `days_of_week`. Regarding the remaining two properties, `weeks_of_month` and `months_of_year`, you may use either, both, or neither. If you would like to set multiple intervals, you may do so by using multiple `retention_rule` blocks.
885
897
  """
886
898
  return pulumi.get(self, "weeks_of_months")
887
899
 
@@ -1130,6 +1142,8 @@ if not MYPY:
1130
1142
  weeks_of_months: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
1131
1143
  """
1132
1144
  Possible values are `First`, `Second`, `Third`, `Fourth` and `Last`. Changing this forces a new resource to be created.
1145
+
1146
+ > **Note:** When not using `absolute_criteria`, you must use exactly one of `days_of_month` or `days_of_week`. Regarding the remaining two properties, `weeks_of_month` and `months_of_year`, you may use either, both, or neither. If you would like to set multiple intervals, you may do so by using multiple `retention_rule` blocks.
1133
1147
  """
1134
1148
  elif False:
1135
1149
  BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgsDict: TypeAlias = Mapping[str, Any]
@@ -1148,6 +1162,8 @@ class BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs:
1148
1162
  :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] months_of_years: Possible values are `January`, `February`, `March`, `April`, `May`, `June`, `July`, `August`, `September`, `October`, `November` and `December`. Changing this forces a new resource to be created.
1149
1163
  :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] scheduled_backup_times: Specifies a list of backup times for backup in the `RFC3339` format. Changing this forces a new resource to be created.
1150
1164
  :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] weeks_of_months: Possible values are `First`, `Second`, `Third`, `Fourth` and `Last`. Changing this forces a new resource to be created.
1165
+
1166
+ > **Note:** When not using `absolute_criteria`, you must use exactly one of `days_of_month` or `days_of_week`. Regarding the remaining two properties, `weeks_of_month` and `months_of_year`, you may use either, both, or neither. If you would like to set multiple intervals, you may do so by using multiple `retention_rule` blocks.
1151
1167
  """
1152
1168
  if absolute_criteria is not None:
1153
1169
  pulumi.set(__self__, "absolute_criteria", absolute_criteria)
@@ -1213,6 +1229,8 @@ class BackupPolicyMysqlFlexibleServerRetentionRuleCriteriaArgs:
1213
1229
  def weeks_of_months(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
1214
1230
  """
1215
1231
  Possible values are `First`, `Second`, `Third`, `Fourth` and `Last`. Changing this forces a new resource to be created.
1232
+
1233
+ > **Note:** When not using `absolute_criteria`, you must use exactly one of `days_of_month` or `days_of_week`. Regarding the remaining two properties, `weeks_of_month` and `months_of_year`, you may use either, both, or neither. If you would like to set multiple intervals, you may do so by using multiple `retention_rule` blocks.
1216
1234
  """
1217
1235
  return pulumi.get(self, "weeks_of_months")
1218
1236
 
@@ -1461,6 +1479,8 @@ if not MYPY:
1461
1479
  weeks_of_months: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
1462
1480
  """
1463
1481
  Possible values are `First`, `Second`, `Third`, `Fourth` and `Last`. Changing this forces a new resource to be created.
1482
+
1483
+ > **Note:** When not using `absolute_criteria`, you must use exactly one of `days_of_month` or `days_of_week`. Regarding the remaining two properties, `weeks_of_month` and `months_of_year`, you may use either, both, or neither. If you would like to set multiple intervals, you may do so by using multiple `retention_rule` blocks.
1464
1484
  """
1465
1485
  elif False:
1466
1486
  BackupPolicyPostgresqlFlexibleServerRetentionRuleCriteriaArgsDict: TypeAlias = Mapping[str, Any]
@@ -1479,6 +1499,8 @@ class BackupPolicyPostgresqlFlexibleServerRetentionRuleCriteriaArgs:
1479
1499
  :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] months_of_years: Possible values are `January`, `February`, `March`, `April`, `May`, `June`, `July`, `August`, `September`, `October`, `November` and `December`. Changing this forces a new resource to be created.
1480
1500
  :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] scheduled_backup_times: Specifies a list of backup times for backup in the `RFC3339` format. Changing this forces a new resource to be created.
1481
1501
  :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] weeks_of_months: Possible values are `First`, `Second`, `Third`, `Fourth` and `Last`. Changing this forces a new resource to be created.
1502
+
1503
+ > **Note:** When not using `absolute_criteria`, you must use exactly one of `days_of_month` or `days_of_week`. Regarding the remaining two properties, `weeks_of_month` and `months_of_year`, you may use either, both, or neither. If you would like to set multiple intervals, you may do so by using multiple `retention_rule` blocks.
1482
1504
  """
1483
1505
  if absolute_criteria is not None:
1484
1506
  pulumi.set(__self__, "absolute_criteria", absolute_criteria)
@@ -1544,6 +1566,8 @@ class BackupPolicyPostgresqlFlexibleServerRetentionRuleCriteriaArgs:
1544
1566
  def weeks_of_months(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
1545
1567
  """
1546
1568
  Possible values are `First`, `Second`, `Third`, `Fourth` and `Last`. Changing this forces a new resource to be created.
1569
+
1570
+ > **Note:** When not using `absolute_criteria`, you must use exactly one of `days_of_month` or `days_of_week`. Regarding the remaining two properties, `weeks_of_month` and `months_of_year`, you may use either, both, or neither. If you would like to set multiple intervals, you may do so by using multiple `retention_rule` blocks.
1547
1571
  """
1548
1572
  return pulumi.get(self, "weeks_of_months")
1549
1573
 
@@ -1711,6 +1735,8 @@ if not MYPY:
1711
1735
  weeks_of_months: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
1712
1736
  """
1713
1737
  Possible values are `First`, `Second`, `Third`, `Fourth` and `Last`. Changing this forces a new Backup Policy PostgreSQL to be created.
1738
+
1739
+ > **Note:** When not using `absolute_criteria`, you must use exactly one of `days_of_month` or `days_of_week`. Regarding the remaining two properties, `weeks_of_month` and `months_of_year`, you may use either, both, or neither. If you would like to set multiple intervals, you may do so by using multiple `retention_rule` blocks.
1714
1740
  """
1715
1741
  elif False:
1716
1742
  BackupPolicyPostgresqlRetentionRuleCriteriaArgsDict: TypeAlias = Mapping[str, Any]
@@ -1729,6 +1755,8 @@ class BackupPolicyPostgresqlRetentionRuleCriteriaArgs:
1729
1755
  :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] months_of_years: Possible values are `January`, `February`, `March`, `April`, `May`, `June`, `July`, `August`, `September`, `October`, `November` and `December`. Changing this forces a new Backup Policy PostgreSQL to be created.
1730
1756
  :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] scheduled_backup_times: Specifies a list of backup times for backup in the `RFC3339` format. Changing this forces a new Backup Policy PostgreSQL to be created.
1731
1757
  :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] weeks_of_months: Possible values are `First`, `Second`, `Third`, `Fourth` and `Last`. Changing this forces a new Backup Policy PostgreSQL to be created.
1758
+
1759
+ > **Note:** When not using `absolute_criteria`, you must use exactly one of `days_of_month` or `days_of_week`. Regarding the remaining two properties, `weeks_of_month` and `months_of_year`, you may use either, both, or neither. If you would like to set multiple intervals, you may do so by using multiple `retention_rule` blocks.
1732
1760
  """
1733
1761
  if absolute_criteria is not None:
1734
1762
  pulumi.set(__self__, "absolute_criteria", absolute_criteria)
@@ -1794,6 +1822,8 @@ class BackupPolicyPostgresqlRetentionRuleCriteriaArgs:
1794
1822
  def weeks_of_months(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
1795
1823
  """
1796
1824
  Possible values are `First`, `Second`, `Third`, `Fourth` and `Last`. Changing this forces a new Backup Policy PostgreSQL to be created.
1825
+
1826
+ > **Note:** When not using `absolute_criteria`, you must use exactly one of `days_of_month` or `days_of_week`. Regarding the remaining two properties, `weeks_of_month` and `months_of_year`, you may use either, both, or neither. If you would like to set multiple intervals, you may do so by using multiple `retention_rule` blocks.
1797
1827
  """
1798
1828
  return pulumi.get(self, "weeks_of_months")
1799
1829