pulumi-azure-native 2.88.0a1739514756__py3-none-any.whl → 2.89.0a1740591573__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-native might be problematic. Click here for more details.

Files changed (52) hide show
  1. pulumi_azure_native/__init__.py +2 -0
  2. pulumi_azure_native/authorization/__init__.py +2 -0
  3. pulumi_azure_native/authorization/_enums.py +26 -0
  4. pulumi_azure_native/authorization/_inputs.py +194 -0
  5. pulumi_azure_native/authorization/get_management_lock_at_resource_level.py +8 -2
  6. pulumi_azure_native/authorization/get_pim_role_eligibility_schedule.py +355 -0
  7. pulumi_azure_native/authorization/management_lock_at_resource_level.py +21 -0
  8. pulumi_azure_native/authorization/outputs.py +445 -0
  9. pulumi_azure_native/authorization/pim_role_eligibility_schedule.py +511 -0
  10. pulumi_azure_native/authorization/v20200501/get_management_lock_at_resource_level.py +8 -2
  11. pulumi_azure_native/authorization/v20200501/management_lock_at_resource_level.py +21 -0
  12. pulumi_azure_native/authorization/v20201001/__init__.py +2 -0
  13. pulumi_azure_native/authorization/v20201001/_enums.py +26 -0
  14. pulumi_azure_native/authorization/v20201001/_inputs.py +194 -0
  15. pulumi_azure_native/authorization/v20201001/get_pim_role_eligibility_schedule.py +353 -0
  16. pulumi_azure_native/authorization/v20201001/outputs.py +445 -0
  17. pulumi_azure_native/authorization/v20201001/pim_role_eligibility_schedule.py +523 -0
  18. pulumi_azure_native/keyvault/_enums.py +0 -9
  19. pulumi_azure_native/keyvault/_inputs.py +1 -41
  20. pulumi_azure_native/keyvault/outputs.py +27 -29
  21. pulumi_azure_native/keyvault/v20230201/_enums.py +0 -9
  22. pulumi_azure_native/keyvault/v20230201/_inputs.py +1 -41
  23. pulumi_azure_native/keyvault/v20230201/outputs.py +27 -29
  24. pulumi_azure_native/keyvault/v20230701/_enums.py +0 -9
  25. pulumi_azure_native/keyvault/v20230701/_inputs.py +1 -41
  26. pulumi_azure_native/keyvault/v20230701/outputs.py +27 -29
  27. pulumi_azure_native/keyvault/v20240401preview/_enums.py +0 -9
  28. pulumi_azure_native/keyvault/v20240401preview/_inputs.py +1 -41
  29. pulumi_azure_native/keyvault/v20240401preview/outputs.py +27 -29
  30. pulumi_azure_native/keyvault/v20241101/_enums.py +0 -9
  31. pulumi_azure_native/keyvault/v20241101/_inputs.py +1 -41
  32. pulumi_azure_native/keyvault/v20241101/outputs.py +27 -29
  33. pulumi_azure_native/keyvault/v20241201preview/_enums.py +0 -9
  34. pulumi_azure_native/keyvault/v20241201preview/_inputs.py +1 -41
  35. pulumi_azure_native/keyvault/v20241201preview/outputs.py +27 -29
  36. pulumi_azure_native/pulumi-plugin.json +1 -1
  37. pulumi_azure_native/resources/get_resource.py +8 -2
  38. pulumi_azure_native/resources/resource.py +21 -0
  39. pulumi_azure_native/resources/v20220901/get_resource.py +8 -2
  40. pulumi_azure_native/resources/v20220901/resource.py +21 -0
  41. pulumi_azure_native/resources/v20230701/get_resource.py +8 -2
  42. pulumi_azure_native/resources/v20230701/resource.py +21 -0
  43. pulumi_azure_native/resources/v20240301/get_resource.py +8 -2
  44. pulumi_azure_native/resources/v20240301/resource.py +21 -0
  45. pulumi_azure_native/resources/v20240701/get_resource.py +8 -2
  46. pulumi_azure_native/resources/v20240701/resource.py +21 -0
  47. pulumi_azure_native/resources/v20241101/get_resource.py +8 -2
  48. pulumi_azure_native/resources/v20241101/resource.py +21 -0
  49. {pulumi_azure_native-2.88.0a1739514756.dist-info → pulumi_azure_native-2.89.0a1740591573.dist-info}/METADATA +1 -1
  50. {pulumi_azure_native-2.88.0a1739514756.dist-info → pulumi_azure_native-2.89.0a1740591573.dist-info}/RECORD +52 -48
  51. {pulumi_azure_native-2.88.0a1739514756.dist-info → pulumi_azure_native-2.89.0a1740591573.dist-info}/WHEEL +1 -1
  52. {pulumi_azure_native-2.88.0a1739514756.dist-info → pulumi_azure_native-2.89.0a1740591573.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,511 @@
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 copy
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
+ from . import outputs
17
+ from ._enums import *
18
+ from ._inputs import *
19
+
20
+ __all__ = ['PimRoleEligibilityScheduleArgs', 'PimRoleEligibilitySchedule']
21
+
22
+ @pulumi.input_type
23
+ class PimRoleEligibilityScheduleArgs:
24
+ def __init__(__self__, *,
25
+ principal_id: pulumi.Input[str],
26
+ role_definition_id: pulumi.Input[str],
27
+ scope: pulumi.Input[str],
28
+ condition: Optional[pulumi.Input[str]] = None,
29
+ condition_version: Optional[pulumi.Input[str]] = None,
30
+ justification: Optional[pulumi.Input[str]] = None,
31
+ schedule_info: Optional[pulumi.Input['RoleEligibilityScheduleRequestPropertiesScheduleInfoArgs']] = None,
32
+ target_role_eligibility_schedule_id: Optional[pulumi.Input[str]] = None,
33
+ target_role_eligibility_schedule_instance_id: Optional[pulumi.Input[str]] = None,
34
+ ticket_info: Optional[pulumi.Input['RoleEligibilityScheduleRequestPropertiesTicketInfoArgs']] = None):
35
+ """
36
+ The set of arguments for constructing a PimRoleEligibilitySchedule resource.
37
+ :param pulumi.Input[str] principal_id: The principal ID.
38
+ :param pulumi.Input[str] role_definition_id: The role definition ID.
39
+ :param pulumi.Input[str] scope: The scope of the role eligibility schedule request to create. The scope can be any REST resource instance. For example, use '/subscriptions/{subscription-id}/' for a subscription, '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for a resource group, and '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' for a resource.
40
+ :param pulumi.Input[str] condition: The conditions on the role assignment. This limits the resources it can be assigned to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'
41
+ :param pulumi.Input[str] condition_version: Version of the condition. Currently accepted value is '2.0'
42
+ :param pulumi.Input[str] justification: Justification for the role eligibility
43
+ :param pulumi.Input['RoleEligibilityScheduleRequestPropertiesScheduleInfoArgs'] schedule_info: Schedule info of the role eligibility schedule
44
+ :param pulumi.Input[str] target_role_eligibility_schedule_id: The resultant role eligibility schedule id or the role eligibility schedule id being updated
45
+ :param pulumi.Input[str] target_role_eligibility_schedule_instance_id: The role eligibility schedule instance id being updated
46
+ :param pulumi.Input['RoleEligibilityScheduleRequestPropertiesTicketInfoArgs'] ticket_info: Ticket Info of the role eligibility
47
+ """
48
+ pulumi.set(__self__, "principal_id", principal_id)
49
+ pulumi.set(__self__, "role_definition_id", role_definition_id)
50
+ pulumi.set(__self__, "scope", scope)
51
+ if condition is not None:
52
+ pulumi.set(__self__, "condition", condition)
53
+ if condition_version is not None:
54
+ pulumi.set(__self__, "condition_version", condition_version)
55
+ if justification is not None:
56
+ pulumi.set(__self__, "justification", justification)
57
+ if schedule_info is not None:
58
+ pulumi.set(__self__, "schedule_info", schedule_info)
59
+ if target_role_eligibility_schedule_id is not None:
60
+ pulumi.set(__self__, "target_role_eligibility_schedule_id", target_role_eligibility_schedule_id)
61
+ if target_role_eligibility_schedule_instance_id is not None:
62
+ pulumi.set(__self__, "target_role_eligibility_schedule_instance_id", target_role_eligibility_schedule_instance_id)
63
+ if ticket_info is not None:
64
+ pulumi.set(__self__, "ticket_info", ticket_info)
65
+
66
+ @property
67
+ @pulumi.getter(name="principalId")
68
+ def principal_id(self) -> pulumi.Input[str]:
69
+ """
70
+ The principal ID.
71
+ """
72
+ return pulumi.get(self, "principal_id")
73
+
74
+ @principal_id.setter
75
+ def principal_id(self, value: pulumi.Input[str]):
76
+ pulumi.set(self, "principal_id", value)
77
+
78
+ @property
79
+ @pulumi.getter(name="roleDefinitionId")
80
+ def role_definition_id(self) -> pulumi.Input[str]:
81
+ """
82
+ The role definition ID.
83
+ """
84
+ return pulumi.get(self, "role_definition_id")
85
+
86
+ @role_definition_id.setter
87
+ def role_definition_id(self, value: pulumi.Input[str]):
88
+ pulumi.set(self, "role_definition_id", value)
89
+
90
+ @property
91
+ @pulumi.getter
92
+ def scope(self) -> pulumi.Input[str]:
93
+ """
94
+ The scope of the role eligibility schedule request to create. The scope can be any REST resource instance. For example, use '/subscriptions/{subscription-id}/' for a subscription, '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for a resource group, and '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' for a resource.
95
+ """
96
+ return pulumi.get(self, "scope")
97
+
98
+ @scope.setter
99
+ def scope(self, value: pulumi.Input[str]):
100
+ pulumi.set(self, "scope", value)
101
+
102
+ @property
103
+ @pulumi.getter
104
+ def condition(self) -> Optional[pulumi.Input[str]]:
105
+ """
106
+ The conditions on the role assignment. This limits the resources it can be assigned to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'
107
+ """
108
+ return pulumi.get(self, "condition")
109
+
110
+ @condition.setter
111
+ def condition(self, value: Optional[pulumi.Input[str]]):
112
+ pulumi.set(self, "condition", value)
113
+
114
+ @property
115
+ @pulumi.getter(name="conditionVersion")
116
+ def condition_version(self) -> Optional[pulumi.Input[str]]:
117
+ """
118
+ Version of the condition. Currently accepted value is '2.0'
119
+ """
120
+ return pulumi.get(self, "condition_version")
121
+
122
+ @condition_version.setter
123
+ def condition_version(self, value: Optional[pulumi.Input[str]]):
124
+ pulumi.set(self, "condition_version", value)
125
+
126
+ @property
127
+ @pulumi.getter
128
+ def justification(self) -> Optional[pulumi.Input[str]]:
129
+ """
130
+ Justification for the role eligibility
131
+ """
132
+ return pulumi.get(self, "justification")
133
+
134
+ @justification.setter
135
+ def justification(self, value: Optional[pulumi.Input[str]]):
136
+ pulumi.set(self, "justification", value)
137
+
138
+ @property
139
+ @pulumi.getter(name="scheduleInfo")
140
+ def schedule_info(self) -> Optional[pulumi.Input['RoleEligibilityScheduleRequestPropertiesScheduleInfoArgs']]:
141
+ """
142
+ Schedule info of the role eligibility schedule
143
+ """
144
+ return pulumi.get(self, "schedule_info")
145
+
146
+ @schedule_info.setter
147
+ def schedule_info(self, value: Optional[pulumi.Input['RoleEligibilityScheduleRequestPropertiesScheduleInfoArgs']]):
148
+ pulumi.set(self, "schedule_info", value)
149
+
150
+ @property
151
+ @pulumi.getter(name="targetRoleEligibilityScheduleId")
152
+ def target_role_eligibility_schedule_id(self) -> Optional[pulumi.Input[str]]:
153
+ """
154
+ The resultant role eligibility schedule id or the role eligibility schedule id being updated
155
+ """
156
+ return pulumi.get(self, "target_role_eligibility_schedule_id")
157
+
158
+ @target_role_eligibility_schedule_id.setter
159
+ def target_role_eligibility_schedule_id(self, value: Optional[pulumi.Input[str]]):
160
+ pulumi.set(self, "target_role_eligibility_schedule_id", value)
161
+
162
+ @property
163
+ @pulumi.getter(name="targetRoleEligibilityScheduleInstanceId")
164
+ def target_role_eligibility_schedule_instance_id(self) -> Optional[pulumi.Input[str]]:
165
+ """
166
+ The role eligibility schedule instance id being updated
167
+ """
168
+ return pulumi.get(self, "target_role_eligibility_schedule_instance_id")
169
+
170
+ @target_role_eligibility_schedule_instance_id.setter
171
+ def target_role_eligibility_schedule_instance_id(self, value: Optional[pulumi.Input[str]]):
172
+ pulumi.set(self, "target_role_eligibility_schedule_instance_id", value)
173
+
174
+ @property
175
+ @pulumi.getter(name="ticketInfo")
176
+ def ticket_info(self) -> Optional[pulumi.Input['RoleEligibilityScheduleRequestPropertiesTicketInfoArgs']]:
177
+ """
178
+ Ticket Info of the role eligibility
179
+ """
180
+ return pulumi.get(self, "ticket_info")
181
+
182
+ @ticket_info.setter
183
+ def ticket_info(self, value: Optional[pulumi.Input['RoleEligibilityScheduleRequestPropertiesTicketInfoArgs']]):
184
+ pulumi.set(self, "ticket_info", value)
185
+
186
+
187
+ class PimRoleEligibilitySchedule(pulumi.CustomResource):
188
+ @overload
189
+ def __init__(__self__,
190
+ resource_name: str,
191
+ opts: Optional[pulumi.ResourceOptions] = None,
192
+ condition: Optional[pulumi.Input[str]] = None,
193
+ condition_version: Optional[pulumi.Input[str]] = None,
194
+ justification: Optional[pulumi.Input[str]] = None,
195
+ principal_id: Optional[pulumi.Input[str]] = None,
196
+ role_definition_id: Optional[pulumi.Input[str]] = None,
197
+ schedule_info: Optional[pulumi.Input[Union['RoleEligibilityScheduleRequestPropertiesScheduleInfoArgs', 'RoleEligibilityScheduleRequestPropertiesScheduleInfoArgsDict']]] = None,
198
+ scope: Optional[pulumi.Input[str]] = None,
199
+ target_role_eligibility_schedule_id: Optional[pulumi.Input[str]] = None,
200
+ target_role_eligibility_schedule_instance_id: Optional[pulumi.Input[str]] = None,
201
+ ticket_info: Optional[pulumi.Input[Union['RoleEligibilityScheduleRequestPropertiesTicketInfoArgs', 'RoleEligibilityScheduleRequestPropertiesTicketInfoArgsDict']]] = None,
202
+ __props__=None):
203
+ """
204
+ A PIM (Privileged Identity Management) Role Eligibility Schedule.
205
+
206
+ Role Eligibility Schedules are used to limit standing administrator access to privileged roles in Azure PIM. See
207
+ [here](https://learn.microsoft.com/en-us/rest/api/authorization/privileged-role-eligibility-rest-sample) for details.
208
+
209
+ A Role Eligibility Schedule is uniquely defined by scope, principal, and role. At present, only one instance of this
210
+ resource can exist for a given scope|principal|role tuple.
211
+
212
+ Note that this resource cannot be updated. Each change leads to a recreation.
213
+
214
+ Internally, this resource uses the
215
+ [Role Eligibility Schedule Requests](https://learn.microsoft.com/en-us/rest/api/authorization/role-eligibility-schedule-requests?view=rest-authorization-2020-10-01)
216
+ API to create and delete the schedules.
217
+
218
+ Azure REST API version: 2020-10-01.
219
+
220
+ :param str resource_name: The name of the resource.
221
+ :param pulumi.ResourceOptions opts: Options for the resource.
222
+ :param pulumi.Input[str] condition: The conditions on the role assignment. This limits the resources it can be assigned to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'
223
+ :param pulumi.Input[str] condition_version: Version of the condition. Currently accepted value is '2.0'
224
+ :param pulumi.Input[str] justification: Justification for the role eligibility
225
+ :param pulumi.Input[str] principal_id: The principal ID.
226
+ :param pulumi.Input[str] role_definition_id: The role definition ID.
227
+ :param pulumi.Input[Union['RoleEligibilityScheduleRequestPropertiesScheduleInfoArgs', 'RoleEligibilityScheduleRequestPropertiesScheduleInfoArgsDict']] schedule_info: Schedule info of the role eligibility schedule
228
+ :param pulumi.Input[str] scope: The scope of the role eligibility schedule request to create. The scope can be any REST resource instance. For example, use '/subscriptions/{subscription-id}/' for a subscription, '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for a resource group, and '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' for a resource.
229
+ :param pulumi.Input[str] target_role_eligibility_schedule_id: The resultant role eligibility schedule id or the role eligibility schedule id being updated
230
+ :param pulumi.Input[str] target_role_eligibility_schedule_instance_id: The role eligibility schedule instance id being updated
231
+ :param pulumi.Input[Union['RoleEligibilityScheduleRequestPropertiesTicketInfoArgs', 'RoleEligibilityScheduleRequestPropertiesTicketInfoArgsDict']] ticket_info: Ticket Info of the role eligibility
232
+ """
233
+ ...
234
+ @overload
235
+ def __init__(__self__,
236
+ resource_name: str,
237
+ args: PimRoleEligibilityScheduleArgs,
238
+ opts: Optional[pulumi.ResourceOptions] = None):
239
+ """
240
+ A PIM (Privileged Identity Management) Role Eligibility Schedule.
241
+
242
+ Role Eligibility Schedules are used to limit standing administrator access to privileged roles in Azure PIM. See
243
+ [here](https://learn.microsoft.com/en-us/rest/api/authorization/privileged-role-eligibility-rest-sample) for details.
244
+
245
+ A Role Eligibility Schedule is uniquely defined by scope, principal, and role. At present, only one instance of this
246
+ resource can exist for a given scope|principal|role tuple.
247
+
248
+ Note that this resource cannot be updated. Each change leads to a recreation.
249
+
250
+ Internally, this resource uses the
251
+ [Role Eligibility Schedule Requests](https://learn.microsoft.com/en-us/rest/api/authorization/role-eligibility-schedule-requests?view=rest-authorization-2020-10-01)
252
+ API to create and delete the schedules.
253
+
254
+ Azure REST API version: 2020-10-01.
255
+
256
+ :param str resource_name: The name of the resource.
257
+ :param PimRoleEligibilityScheduleArgs args: The arguments to use to populate this resource's properties.
258
+ :param pulumi.ResourceOptions opts: Options for the resource.
259
+ """
260
+ ...
261
+ def __init__(__self__, resource_name: str, *args, **kwargs):
262
+ resource_args, opts = _utilities.get_resource_args_opts(PimRoleEligibilityScheduleArgs, pulumi.ResourceOptions, *args, **kwargs)
263
+ if resource_args is not None:
264
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
265
+ else:
266
+ __self__._internal_init(resource_name, *args, **kwargs)
267
+
268
+ def _internal_init(__self__,
269
+ resource_name: str,
270
+ opts: Optional[pulumi.ResourceOptions] = None,
271
+ condition: Optional[pulumi.Input[str]] = None,
272
+ condition_version: Optional[pulumi.Input[str]] = None,
273
+ justification: Optional[pulumi.Input[str]] = None,
274
+ principal_id: Optional[pulumi.Input[str]] = None,
275
+ role_definition_id: Optional[pulumi.Input[str]] = None,
276
+ schedule_info: Optional[pulumi.Input[Union['RoleEligibilityScheduleRequestPropertiesScheduleInfoArgs', 'RoleEligibilityScheduleRequestPropertiesScheduleInfoArgsDict']]] = None,
277
+ scope: Optional[pulumi.Input[str]] = None,
278
+ target_role_eligibility_schedule_id: Optional[pulumi.Input[str]] = None,
279
+ target_role_eligibility_schedule_instance_id: Optional[pulumi.Input[str]] = None,
280
+ ticket_info: Optional[pulumi.Input[Union['RoleEligibilityScheduleRequestPropertiesTicketInfoArgs', 'RoleEligibilityScheduleRequestPropertiesTicketInfoArgsDict']]] = None,
281
+ __props__=None):
282
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
283
+ if not isinstance(opts, pulumi.ResourceOptions):
284
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
285
+ if opts.id is None:
286
+ if __props__ is not None:
287
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
288
+ __props__ = PimRoleEligibilityScheduleArgs.__new__(PimRoleEligibilityScheduleArgs)
289
+
290
+ __props__.__dict__["condition"] = condition
291
+ __props__.__dict__["condition_version"] = condition_version
292
+ __props__.__dict__["justification"] = justification
293
+ if principal_id is None and not opts.urn:
294
+ raise TypeError("Missing required property 'principal_id'")
295
+ __props__.__dict__["principal_id"] = principal_id
296
+ if role_definition_id is None and not opts.urn:
297
+ raise TypeError("Missing required property 'role_definition_id'")
298
+ __props__.__dict__["role_definition_id"] = role_definition_id
299
+ __props__.__dict__["schedule_info"] = schedule_info
300
+ if scope is None and not opts.urn:
301
+ raise TypeError("Missing required property 'scope'")
302
+ __props__.__dict__["scope"] = scope
303
+ __props__.__dict__["target_role_eligibility_schedule_id"] = target_role_eligibility_schedule_id
304
+ __props__.__dict__["target_role_eligibility_schedule_instance_id"] = target_role_eligibility_schedule_instance_id
305
+ __props__.__dict__["ticket_info"] = ticket_info
306
+ __props__.__dict__["approval_id"] = None
307
+ __props__.__dict__["created_on"] = None
308
+ __props__.__dict__["expanded_properties"] = None
309
+ __props__.__dict__["name"] = None
310
+ __props__.__dict__["principal_type"] = None
311
+ __props__.__dict__["request_type"] = None
312
+ __props__.__dict__["requestor_id"] = None
313
+ __props__.__dict__["status"] = None
314
+ __props__.__dict__["type"] = None
315
+ alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:authorization/v20201001:PimRoleEligibilitySchedule")])
316
+ opts = pulumi.ResourceOptions.merge(opts, alias_opts)
317
+ super(PimRoleEligibilitySchedule, __self__).__init__(
318
+ 'azure-native:authorization:PimRoleEligibilitySchedule',
319
+ resource_name,
320
+ __props__,
321
+ opts)
322
+
323
+ @staticmethod
324
+ def get(resource_name: str,
325
+ id: pulumi.Input[str],
326
+ opts: Optional[pulumi.ResourceOptions] = None) -> 'PimRoleEligibilitySchedule':
327
+ """
328
+ Get an existing PimRoleEligibilitySchedule resource's state with the given name, id, and optional extra
329
+ properties used to qualify the lookup.
330
+
331
+ :param str resource_name: The unique name of the resulting resource.
332
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
333
+ :param pulumi.ResourceOptions opts: Options for the resource.
334
+ """
335
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
336
+
337
+ __props__ = PimRoleEligibilityScheduleArgs.__new__(PimRoleEligibilityScheduleArgs)
338
+
339
+ __props__.__dict__["approval_id"] = None
340
+ __props__.__dict__["condition"] = None
341
+ __props__.__dict__["condition_version"] = None
342
+ __props__.__dict__["created_on"] = None
343
+ __props__.__dict__["expanded_properties"] = None
344
+ __props__.__dict__["justification"] = None
345
+ __props__.__dict__["name"] = None
346
+ __props__.__dict__["principal_id"] = None
347
+ __props__.__dict__["principal_type"] = None
348
+ __props__.__dict__["request_type"] = None
349
+ __props__.__dict__["requestor_id"] = None
350
+ __props__.__dict__["role_definition_id"] = None
351
+ __props__.__dict__["schedule_info"] = None
352
+ __props__.__dict__["scope"] = None
353
+ __props__.__dict__["status"] = None
354
+ __props__.__dict__["target_role_eligibility_schedule_id"] = None
355
+ __props__.__dict__["target_role_eligibility_schedule_instance_id"] = None
356
+ __props__.__dict__["ticket_info"] = None
357
+ __props__.__dict__["type"] = None
358
+ return PimRoleEligibilitySchedule(resource_name, opts=opts, __props__=__props__)
359
+
360
+ @property
361
+ @pulumi.getter(name="approvalId")
362
+ def approval_id(self) -> pulumi.Output[str]:
363
+ """
364
+ The approvalId of the role eligibility schedule request.
365
+ """
366
+ return pulumi.get(self, "approval_id")
367
+
368
+ @property
369
+ @pulumi.getter
370
+ def condition(self) -> pulumi.Output[Optional[str]]:
371
+ """
372
+ The conditions on the role assignment. This limits the resources it can be assigned to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'
373
+ """
374
+ return pulumi.get(self, "condition")
375
+
376
+ @property
377
+ @pulumi.getter(name="conditionVersion")
378
+ def condition_version(self) -> pulumi.Output[Optional[str]]:
379
+ """
380
+ Version of the condition. Currently accepted value is '2.0'
381
+ """
382
+ return pulumi.get(self, "condition_version")
383
+
384
+ @property
385
+ @pulumi.getter(name="createdOn")
386
+ def created_on(self) -> pulumi.Output[str]:
387
+ """
388
+ DateTime when role eligibility schedule request was created
389
+ """
390
+ return pulumi.get(self, "created_on")
391
+
392
+ @property
393
+ @pulumi.getter(name="expandedProperties")
394
+ def expanded_properties(self) -> pulumi.Output['outputs.ExpandedPropertiesResponse']:
395
+ """
396
+ Additional properties of principal, scope and role definition
397
+ """
398
+ return pulumi.get(self, "expanded_properties")
399
+
400
+ @property
401
+ @pulumi.getter
402
+ def justification(self) -> pulumi.Output[Optional[str]]:
403
+ """
404
+ Justification for the role eligibility
405
+ """
406
+ return pulumi.get(self, "justification")
407
+
408
+ @property
409
+ @pulumi.getter
410
+ def name(self) -> pulumi.Output[str]:
411
+ """
412
+ The role eligibility schedule request name.
413
+ """
414
+ return pulumi.get(self, "name")
415
+
416
+ @property
417
+ @pulumi.getter(name="principalId")
418
+ def principal_id(self) -> pulumi.Output[str]:
419
+ """
420
+ The principal ID.
421
+ """
422
+ return pulumi.get(self, "principal_id")
423
+
424
+ @property
425
+ @pulumi.getter(name="principalType")
426
+ def principal_type(self) -> pulumi.Output[str]:
427
+ """
428
+ The principal type of the assigned principal ID.
429
+ """
430
+ return pulumi.get(self, "principal_type")
431
+
432
+ @property
433
+ @pulumi.getter(name="requestType")
434
+ def request_type(self) -> pulumi.Output[Optional[str]]:
435
+ """
436
+ The type of the role assignment schedule request. Eg: SelfActivate, AdminAssign etc
437
+ """
438
+ return pulumi.get(self, "request_type")
439
+
440
+ @property
441
+ @pulumi.getter(name="requestorId")
442
+ def requestor_id(self) -> pulumi.Output[str]:
443
+ """
444
+ Id of the user who created this request
445
+ """
446
+ return pulumi.get(self, "requestor_id")
447
+
448
+ @property
449
+ @pulumi.getter(name="roleDefinitionId")
450
+ def role_definition_id(self) -> pulumi.Output[str]:
451
+ """
452
+ The role definition ID.
453
+ """
454
+ return pulumi.get(self, "role_definition_id")
455
+
456
+ @property
457
+ @pulumi.getter(name="scheduleInfo")
458
+ def schedule_info(self) -> pulumi.Output[Optional['outputs.RoleEligibilityScheduleRequestPropertiesResponseScheduleInfo']]:
459
+ """
460
+ Schedule info of the role eligibility schedule
461
+ """
462
+ return pulumi.get(self, "schedule_info")
463
+
464
+ @property
465
+ @pulumi.getter
466
+ def scope(self) -> pulumi.Output[str]:
467
+ """
468
+ The role eligibility schedule request scope.
469
+ """
470
+ return pulumi.get(self, "scope")
471
+
472
+ @property
473
+ @pulumi.getter
474
+ def status(self) -> pulumi.Output[str]:
475
+ """
476
+ The status of the role eligibility schedule request.
477
+ """
478
+ return pulumi.get(self, "status")
479
+
480
+ @property
481
+ @pulumi.getter(name="targetRoleEligibilityScheduleId")
482
+ def target_role_eligibility_schedule_id(self) -> pulumi.Output[Optional[str]]:
483
+ """
484
+ The resultant role eligibility schedule id or the role eligibility schedule id being updated
485
+ """
486
+ return pulumi.get(self, "target_role_eligibility_schedule_id")
487
+
488
+ @property
489
+ @pulumi.getter(name="targetRoleEligibilityScheduleInstanceId")
490
+ def target_role_eligibility_schedule_instance_id(self) -> pulumi.Output[Optional[str]]:
491
+ """
492
+ The role eligibility schedule instance id being updated
493
+ """
494
+ return pulumi.get(self, "target_role_eligibility_schedule_instance_id")
495
+
496
+ @property
497
+ @pulumi.getter(name="ticketInfo")
498
+ def ticket_info(self) -> pulumi.Output[Optional['outputs.RoleEligibilityScheduleRequestPropertiesResponseTicketInfo']]:
499
+ """
500
+ Ticket Info of the role eligibility
501
+ """
502
+ return pulumi.get(self, "ticket_info")
503
+
504
+ @property
505
+ @pulumi.getter
506
+ def type(self) -> pulumi.Output[str]:
507
+ """
508
+ The role eligibility schedule request type.
509
+ """
510
+ return pulumi.get(self, "type")
511
+
@@ -122,7 +122,8 @@ class AwaitableGetManagementLockAtResourceLevelResult(GetManagementLockAtResourc
122
122
  type=self.type)
123
123
 
124
124
 
125
- def get_management_lock_at_resource_level(lock_name: Optional[str] = None,
125
+ def get_management_lock_at_resource_level(api_version: Optional[str] = None,
126
+ lock_name: Optional[str] = None,
126
127
  parent_resource_path: Optional[str] = None,
127
128
  resource_group_name: Optional[str] = None,
128
129
  resource_name: Optional[str] = None,
@@ -133,6 +134,7 @@ def get_management_lock_at_resource_level(lock_name: Optional[str] = None,
133
134
  Get the management lock of a resource or any level below resource.
134
135
 
135
136
 
137
+ :param str api_version: The API version to use for this operation.
136
138
  :param str lock_name: The name of lock.
137
139
  :param str parent_resource_path: An extra path parameter needed in some services, like SQL Databases.
138
140
  :param str resource_group_name: The name of the resource group.
@@ -141,6 +143,7 @@ def get_management_lock_at_resource_level(lock_name: Optional[str] = None,
141
143
  :param str resource_type: The type of the resource.
142
144
  """
143
145
  __args__ = dict()
146
+ __args__['apiVersion'] = api_version
144
147
  __args__['lockName'] = lock_name
145
148
  __args__['parentResourcePath'] = parent_resource_path
146
149
  __args__['resourceGroupName'] = resource_group_name
@@ -158,7 +161,8 @@ def get_management_lock_at_resource_level(lock_name: Optional[str] = None,
158
161
  owners=pulumi.get(__ret__, 'owners'),
159
162
  system_data=pulumi.get(__ret__, 'system_data'),
160
163
  type=pulumi.get(__ret__, 'type'))
161
- def get_management_lock_at_resource_level_output(lock_name: Optional[pulumi.Input[str]] = None,
164
+ def get_management_lock_at_resource_level_output(api_version: Optional[pulumi.Input[str]] = None,
165
+ lock_name: Optional[pulumi.Input[str]] = None,
162
166
  parent_resource_path: Optional[pulumi.Input[str]] = None,
163
167
  resource_group_name: Optional[pulumi.Input[str]] = None,
164
168
  resource_name: Optional[pulumi.Input[str]] = None,
@@ -169,6 +173,7 @@ def get_management_lock_at_resource_level_output(lock_name: Optional[pulumi.Inpu
169
173
  Get the management lock of a resource or any level below resource.
170
174
 
171
175
 
176
+ :param str api_version: The API version to use for this operation.
172
177
  :param str lock_name: The name of lock.
173
178
  :param str parent_resource_path: An extra path parameter needed in some services, like SQL Databases.
174
179
  :param str resource_group_name: The name of the resource group.
@@ -177,6 +182,7 @@ def get_management_lock_at_resource_level_output(lock_name: Optional[pulumi.Inpu
177
182
  :param str resource_type: The type of the resource.
178
183
  """
179
184
  __args__ = dict()
185
+ __args__['apiVersion'] = api_version
180
186
  __args__['lockName'] = lock_name
181
187
  __args__['parentResourcePath'] = parent_resource_path
182
188
  __args__['resourceGroupName'] = resource_group_name
@@ -22,6 +22,7 @@ __all__ = ['ManagementLockAtResourceLevelArgs', 'ManagementLockAtResourceLevel']
22
22
  @pulumi.input_type
23
23
  class ManagementLockAtResourceLevelArgs:
24
24
  def __init__(__self__, *,
25
+ api_version: pulumi.Input[str],
25
26
  level: pulumi.Input[Union[str, 'LockLevel']],
26
27
  parent_resource_path: pulumi.Input[str],
27
28
  resource_group_name: pulumi.Input[str],
@@ -33,6 +34,7 @@ class ManagementLockAtResourceLevelArgs:
33
34
  owners: Optional[pulumi.Input[Sequence[pulumi.Input['ManagementLockOwnerArgs']]]] = None):
34
35
  """
35
36
  The set of arguments for constructing a ManagementLockAtResourceLevel resource.
37
+ :param pulumi.Input[str] api_version: The API version to use for this operation.
36
38
  :param pulumi.Input[Union[str, 'LockLevel']] level: The level of the lock. Possible values are: NotSpecified, CanNotDelete, ReadOnly. CanNotDelete means authorized users are able to read and modify the resources, but not delete. ReadOnly means authorized users can only read from a resource, but they can't modify or delete it.
37
39
  :param pulumi.Input[str] parent_resource_path: The parent resource identity.
38
40
  :param pulumi.Input[str] resource_group_name: The name of the resource group containing the resource to lock.
@@ -43,6 +45,7 @@ class ManagementLockAtResourceLevelArgs:
43
45
  :param pulumi.Input[str] notes: Notes about the lock. Maximum of 512 characters.
44
46
  :param pulumi.Input[Sequence[pulumi.Input['ManagementLockOwnerArgs']]] owners: The owners of the lock.
45
47
  """
48
+ pulumi.set(__self__, "api_version", api_version)
46
49
  pulumi.set(__self__, "level", level)
47
50
  pulumi.set(__self__, "parent_resource_path", parent_resource_path)
48
51
  pulumi.set(__self__, "resource_group_name", resource_group_name)
@@ -56,6 +59,18 @@ class ManagementLockAtResourceLevelArgs:
56
59
  if owners is not None:
57
60
  pulumi.set(__self__, "owners", owners)
58
61
 
62
+ @property
63
+ @pulumi.getter(name="apiVersion")
64
+ def api_version(self) -> pulumi.Input[str]:
65
+ """
66
+ The API version to use for this operation.
67
+ """
68
+ return pulumi.get(self, "api_version")
69
+
70
+ @api_version.setter
71
+ def api_version(self, value: pulumi.Input[str]):
72
+ pulumi.set(self, "api_version", value)
73
+
59
74
  @property
60
75
  @pulumi.getter
61
76
  def level(self) -> pulumi.Input[Union[str, 'LockLevel']]:
@@ -170,6 +185,7 @@ class ManagementLockAtResourceLevel(pulumi.CustomResource):
170
185
  def __init__(__self__,
171
186
  resource_name: str,
172
187
  opts: Optional[pulumi.ResourceOptions] = None,
188
+ api_version: Optional[pulumi.Input[str]] = None,
173
189
  level: Optional[pulumi.Input[Union[str, 'LockLevel']]] = None,
174
190
  lock_name: Optional[pulumi.Input[str]] = None,
175
191
  notes: Optional[pulumi.Input[str]] = None,
@@ -185,6 +201,7 @@ class ManagementLockAtResourceLevel(pulumi.CustomResource):
185
201
 
186
202
  :param str resource_name: The name of the resource.
187
203
  :param pulumi.ResourceOptions opts: Options for the resource.
204
+ :param pulumi.Input[str] api_version: The API version to use for this operation.
188
205
  :param pulumi.Input[Union[str, 'LockLevel']] level: The level of the lock. Possible values are: NotSpecified, CanNotDelete, ReadOnly. CanNotDelete means authorized users are able to read and modify the resources, but not delete. ReadOnly means authorized users can only read from a resource, but they can't modify or delete it.
189
206
  :param pulumi.Input[str] lock_name: The name of lock. The lock name can be a maximum of 260 characters. It cannot contain <, > %, &, :, \\, ?, /, or any control characters.
190
207
  :param pulumi.Input[str] notes: Notes about the lock. Maximum of 512 characters.
@@ -219,6 +236,7 @@ class ManagementLockAtResourceLevel(pulumi.CustomResource):
219
236
  def _internal_init(__self__,
220
237
  resource_name: str,
221
238
  opts: Optional[pulumi.ResourceOptions] = None,
239
+ api_version: Optional[pulumi.Input[str]] = None,
222
240
  level: Optional[pulumi.Input[Union[str, 'LockLevel']]] = None,
223
241
  lock_name: Optional[pulumi.Input[str]] = None,
224
242
  notes: Optional[pulumi.Input[str]] = None,
@@ -237,6 +255,9 @@ class ManagementLockAtResourceLevel(pulumi.CustomResource):
237
255
  raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
238
256
  __props__ = ManagementLockAtResourceLevelArgs.__new__(ManagementLockAtResourceLevelArgs)
239
257
 
258
+ if api_version is None and not opts.urn:
259
+ raise TypeError("Missing required property 'api_version'")
260
+ __props__.__dict__["api_version"] = api_version
240
261
  if level is None and not opts.urn:
241
262
  raise TypeError("Missing required property 'level'")
242
263
  __props__.__dict__["level"] = level
@@ -6,8 +6,10 @@ from ... import _utilities
6
6
  import typing
7
7
  # Export this package's modules as members:
8
8
  from ._enums import *
9
+ from .get_pim_role_eligibility_schedule import *
9
10
  from .get_role_management_policy import *
10
11
  from .get_role_management_policy_assignment import *
12
+ from .pim_role_eligibility_schedule import *
11
13
  from .role_management_policy import *
12
14
  from .role_management_policy_assignment import *
13
15
  from ._inputs import *