pulumi-azure-native 2.89.0a1740029202__py3-none-any.whl → 2.90.0a1740909447__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.
- pulumi_azure_native/__init__.py +2 -0
- pulumi_azure_native/authorization/__init__.py +2 -0
- pulumi_azure_native/authorization/_enums.py +26 -0
- pulumi_azure_native/authorization/_inputs.py +194 -0
- pulumi_azure_native/authorization/get_management_lock_at_resource_level.py +8 -2
- pulumi_azure_native/authorization/get_pim_role_eligibility_schedule.py +355 -0
- pulumi_azure_native/authorization/management_lock_at_resource_level.py +21 -0
- pulumi_azure_native/authorization/outputs.py +445 -0
- pulumi_azure_native/authorization/pim_role_eligibility_schedule.py +511 -0
- pulumi_azure_native/authorization/v20200501/get_management_lock_at_resource_level.py +8 -2
- pulumi_azure_native/authorization/v20200501/management_lock_at_resource_level.py +21 -0
- pulumi_azure_native/authorization/v20201001/__init__.py +2 -0
- pulumi_azure_native/authorization/v20201001/_enums.py +26 -0
- pulumi_azure_native/authorization/v20201001/_inputs.py +194 -0
- pulumi_azure_native/authorization/v20201001/get_pim_role_eligibility_schedule.py +353 -0
- pulumi_azure_native/authorization/v20201001/outputs.py +445 -0
- pulumi_azure_native/authorization/v20201001/pim_role_eligibility_schedule.py +523 -0
- pulumi_azure_native/keyvault/_enums.py +0 -9
- pulumi_azure_native/keyvault/_inputs.py +1 -41
- pulumi_azure_native/keyvault/outputs.py +27 -29
- pulumi_azure_native/keyvault/v20230201/_enums.py +0 -9
- pulumi_azure_native/keyvault/v20230201/_inputs.py +1 -41
- pulumi_azure_native/keyvault/v20230201/outputs.py +27 -29
- pulumi_azure_native/keyvault/v20230701/_enums.py +0 -9
- pulumi_azure_native/keyvault/v20230701/_inputs.py +1 -41
- pulumi_azure_native/keyvault/v20230701/outputs.py +27 -29
- pulumi_azure_native/keyvault/v20240401preview/_enums.py +0 -9
- pulumi_azure_native/keyvault/v20240401preview/_inputs.py +1 -41
- pulumi_azure_native/keyvault/v20240401preview/outputs.py +27 -29
- pulumi_azure_native/keyvault/v20241101/_enums.py +0 -9
- pulumi_azure_native/keyvault/v20241101/_inputs.py +1 -41
- pulumi_azure_native/keyvault/v20241101/outputs.py +27 -29
- pulumi_azure_native/keyvault/v20241201preview/_enums.py +0 -9
- pulumi_azure_native/keyvault/v20241201preview/_inputs.py +1 -41
- pulumi_azure_native/keyvault/v20241201preview/outputs.py +27 -29
- pulumi_azure_native/pulumi-plugin.json +1 -1
- pulumi_azure_native/resources/get_resource.py +8 -2
- pulumi_azure_native/resources/resource.py +21 -0
- pulumi_azure_native/resources/v20220901/get_resource.py +8 -2
- pulumi_azure_native/resources/v20220901/resource.py +21 -0
- pulumi_azure_native/resources/v20230701/get_resource.py +8 -2
- pulumi_azure_native/resources/v20230701/resource.py +21 -0
- pulumi_azure_native/resources/v20240301/get_resource.py +8 -2
- pulumi_azure_native/resources/v20240301/resource.py +21 -0
- pulumi_azure_native/resources/v20240701/get_resource.py +8 -2
- pulumi_azure_native/resources/v20240701/resource.py +21 -0
- pulumi_azure_native/resources/v20241101/get_resource.py +8 -2
- pulumi_azure_native/resources/v20241101/resource.py +21 -0
- {pulumi_azure_native-2.89.0a1740029202.dist-info → pulumi_azure_native-2.90.0a1740909447.dist-info}/METADATA +1 -1
- {pulumi_azure_native-2.89.0a1740029202.dist-info → pulumi_azure_native-2.90.0a1740909447.dist-info}/RECORD +52 -48
- {pulumi_azure_native-2.89.0a1740029202.dist-info → pulumi_azure_native-2.90.0a1740909447.dist-info}/WHEEL +1 -1
- {pulumi_azure_native-2.89.0a1740029202.dist-info → pulumi_azure_native-2.90.0a1740909447.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,523 @@
|
|
|
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
|
+
request_type: pulumi.Input[Union[str, 'RequestType']],
|
|
27
|
+
role_definition_id: pulumi.Input[str],
|
|
28
|
+
scope: pulumi.Input[str],
|
|
29
|
+
condition: Optional[pulumi.Input[str]] = None,
|
|
30
|
+
condition_version: Optional[pulumi.Input[str]] = None,
|
|
31
|
+
justification: Optional[pulumi.Input[str]] = None,
|
|
32
|
+
role_eligibility_schedule_request_name: Optional[pulumi.Input[str]] = None,
|
|
33
|
+
schedule_info: Optional[pulumi.Input['RoleEligibilityScheduleRequestPropertiesScheduleInfoArgs']] = None,
|
|
34
|
+
target_role_eligibility_schedule_id: Optional[pulumi.Input[str]] = None,
|
|
35
|
+
target_role_eligibility_schedule_instance_id: Optional[pulumi.Input[str]] = None,
|
|
36
|
+
ticket_info: Optional[pulumi.Input['RoleEligibilityScheduleRequestPropertiesTicketInfoArgs']] = None):
|
|
37
|
+
"""
|
|
38
|
+
The set of arguments for constructing a PimRoleEligibilitySchedule resource.
|
|
39
|
+
:param pulumi.Input[str] principal_id: The principal ID.
|
|
40
|
+
:param pulumi.Input[Union[str, 'RequestType']] request_type: The type of the role assignment schedule request. Eg: SelfActivate, AdminAssign etc
|
|
41
|
+
:param pulumi.Input[str] role_definition_id: The role definition ID.
|
|
42
|
+
: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.
|
|
43
|
+
: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'
|
|
44
|
+
:param pulumi.Input[str] condition_version: Version of the condition. Currently accepted value is '2.0'
|
|
45
|
+
:param pulumi.Input[str] justification: Justification for the role eligibility
|
|
46
|
+
:param pulumi.Input[str] role_eligibility_schedule_request_name: The name of the role eligibility to create. It can be any valid GUID.
|
|
47
|
+
:param pulumi.Input['RoleEligibilityScheduleRequestPropertiesScheduleInfoArgs'] schedule_info: Schedule info of the role eligibility schedule
|
|
48
|
+
:param pulumi.Input[str] target_role_eligibility_schedule_id: The resultant role eligibility schedule id or the role eligibility schedule id being updated
|
|
49
|
+
:param pulumi.Input[str] target_role_eligibility_schedule_instance_id: The role eligibility schedule instance id being updated
|
|
50
|
+
:param pulumi.Input['RoleEligibilityScheduleRequestPropertiesTicketInfoArgs'] ticket_info: Ticket Info of the role eligibility
|
|
51
|
+
"""
|
|
52
|
+
pulumi.set(__self__, "principal_id", principal_id)
|
|
53
|
+
pulumi.set(__self__, "request_type", request_type)
|
|
54
|
+
pulumi.set(__self__, "role_definition_id", role_definition_id)
|
|
55
|
+
pulumi.set(__self__, "scope", scope)
|
|
56
|
+
if condition is not None:
|
|
57
|
+
pulumi.set(__self__, "condition", condition)
|
|
58
|
+
if condition_version is not None:
|
|
59
|
+
pulumi.set(__self__, "condition_version", condition_version)
|
|
60
|
+
if justification is not None:
|
|
61
|
+
pulumi.set(__self__, "justification", justification)
|
|
62
|
+
if role_eligibility_schedule_request_name is not None:
|
|
63
|
+
pulumi.set(__self__, "role_eligibility_schedule_request_name", role_eligibility_schedule_request_name)
|
|
64
|
+
if schedule_info is not None:
|
|
65
|
+
pulumi.set(__self__, "schedule_info", schedule_info)
|
|
66
|
+
if target_role_eligibility_schedule_id is not None:
|
|
67
|
+
pulumi.set(__self__, "target_role_eligibility_schedule_id", target_role_eligibility_schedule_id)
|
|
68
|
+
if target_role_eligibility_schedule_instance_id is not None:
|
|
69
|
+
pulumi.set(__self__, "target_role_eligibility_schedule_instance_id", target_role_eligibility_schedule_instance_id)
|
|
70
|
+
if ticket_info is not None:
|
|
71
|
+
pulumi.set(__self__, "ticket_info", ticket_info)
|
|
72
|
+
|
|
73
|
+
@property
|
|
74
|
+
@pulumi.getter(name="principalId")
|
|
75
|
+
def principal_id(self) -> pulumi.Input[str]:
|
|
76
|
+
"""
|
|
77
|
+
The principal ID.
|
|
78
|
+
"""
|
|
79
|
+
return pulumi.get(self, "principal_id")
|
|
80
|
+
|
|
81
|
+
@principal_id.setter
|
|
82
|
+
def principal_id(self, value: pulumi.Input[str]):
|
|
83
|
+
pulumi.set(self, "principal_id", value)
|
|
84
|
+
|
|
85
|
+
@property
|
|
86
|
+
@pulumi.getter(name="requestType")
|
|
87
|
+
def request_type(self) -> pulumi.Input[Union[str, 'RequestType']]:
|
|
88
|
+
"""
|
|
89
|
+
The type of the role assignment schedule request. Eg: SelfActivate, AdminAssign etc
|
|
90
|
+
"""
|
|
91
|
+
return pulumi.get(self, "request_type")
|
|
92
|
+
|
|
93
|
+
@request_type.setter
|
|
94
|
+
def request_type(self, value: pulumi.Input[Union[str, 'RequestType']]):
|
|
95
|
+
pulumi.set(self, "request_type", value)
|
|
96
|
+
|
|
97
|
+
@property
|
|
98
|
+
@pulumi.getter(name="roleDefinitionId")
|
|
99
|
+
def role_definition_id(self) -> pulumi.Input[str]:
|
|
100
|
+
"""
|
|
101
|
+
The role definition ID.
|
|
102
|
+
"""
|
|
103
|
+
return pulumi.get(self, "role_definition_id")
|
|
104
|
+
|
|
105
|
+
@role_definition_id.setter
|
|
106
|
+
def role_definition_id(self, value: pulumi.Input[str]):
|
|
107
|
+
pulumi.set(self, "role_definition_id", value)
|
|
108
|
+
|
|
109
|
+
@property
|
|
110
|
+
@pulumi.getter
|
|
111
|
+
def scope(self) -> pulumi.Input[str]:
|
|
112
|
+
"""
|
|
113
|
+
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.
|
|
114
|
+
"""
|
|
115
|
+
return pulumi.get(self, "scope")
|
|
116
|
+
|
|
117
|
+
@scope.setter
|
|
118
|
+
def scope(self, value: pulumi.Input[str]):
|
|
119
|
+
pulumi.set(self, "scope", value)
|
|
120
|
+
|
|
121
|
+
@property
|
|
122
|
+
@pulumi.getter
|
|
123
|
+
def condition(self) -> Optional[pulumi.Input[str]]:
|
|
124
|
+
"""
|
|
125
|
+
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'
|
|
126
|
+
"""
|
|
127
|
+
return pulumi.get(self, "condition")
|
|
128
|
+
|
|
129
|
+
@condition.setter
|
|
130
|
+
def condition(self, value: Optional[pulumi.Input[str]]):
|
|
131
|
+
pulumi.set(self, "condition", value)
|
|
132
|
+
|
|
133
|
+
@property
|
|
134
|
+
@pulumi.getter(name="conditionVersion")
|
|
135
|
+
def condition_version(self) -> Optional[pulumi.Input[str]]:
|
|
136
|
+
"""
|
|
137
|
+
Version of the condition. Currently accepted value is '2.0'
|
|
138
|
+
"""
|
|
139
|
+
return pulumi.get(self, "condition_version")
|
|
140
|
+
|
|
141
|
+
@condition_version.setter
|
|
142
|
+
def condition_version(self, value: Optional[pulumi.Input[str]]):
|
|
143
|
+
pulumi.set(self, "condition_version", value)
|
|
144
|
+
|
|
145
|
+
@property
|
|
146
|
+
@pulumi.getter
|
|
147
|
+
def justification(self) -> Optional[pulumi.Input[str]]:
|
|
148
|
+
"""
|
|
149
|
+
Justification for the role eligibility
|
|
150
|
+
"""
|
|
151
|
+
return pulumi.get(self, "justification")
|
|
152
|
+
|
|
153
|
+
@justification.setter
|
|
154
|
+
def justification(self, value: Optional[pulumi.Input[str]]):
|
|
155
|
+
pulumi.set(self, "justification", value)
|
|
156
|
+
|
|
157
|
+
@property
|
|
158
|
+
@pulumi.getter(name="roleEligibilityScheduleRequestName")
|
|
159
|
+
def role_eligibility_schedule_request_name(self) -> Optional[pulumi.Input[str]]:
|
|
160
|
+
"""
|
|
161
|
+
The name of the role eligibility to create. It can be any valid GUID.
|
|
162
|
+
"""
|
|
163
|
+
return pulumi.get(self, "role_eligibility_schedule_request_name")
|
|
164
|
+
|
|
165
|
+
@role_eligibility_schedule_request_name.setter
|
|
166
|
+
def role_eligibility_schedule_request_name(self, value: Optional[pulumi.Input[str]]):
|
|
167
|
+
pulumi.set(self, "role_eligibility_schedule_request_name", value)
|
|
168
|
+
|
|
169
|
+
@property
|
|
170
|
+
@pulumi.getter(name="scheduleInfo")
|
|
171
|
+
def schedule_info(self) -> Optional[pulumi.Input['RoleEligibilityScheduleRequestPropertiesScheduleInfoArgs']]:
|
|
172
|
+
"""
|
|
173
|
+
Schedule info of the role eligibility schedule
|
|
174
|
+
"""
|
|
175
|
+
return pulumi.get(self, "schedule_info")
|
|
176
|
+
|
|
177
|
+
@schedule_info.setter
|
|
178
|
+
def schedule_info(self, value: Optional[pulumi.Input['RoleEligibilityScheduleRequestPropertiesScheduleInfoArgs']]):
|
|
179
|
+
pulumi.set(self, "schedule_info", value)
|
|
180
|
+
|
|
181
|
+
@property
|
|
182
|
+
@pulumi.getter(name="targetRoleEligibilityScheduleId")
|
|
183
|
+
def target_role_eligibility_schedule_id(self) -> Optional[pulumi.Input[str]]:
|
|
184
|
+
"""
|
|
185
|
+
The resultant role eligibility schedule id or the role eligibility schedule id being updated
|
|
186
|
+
"""
|
|
187
|
+
return pulumi.get(self, "target_role_eligibility_schedule_id")
|
|
188
|
+
|
|
189
|
+
@target_role_eligibility_schedule_id.setter
|
|
190
|
+
def target_role_eligibility_schedule_id(self, value: Optional[pulumi.Input[str]]):
|
|
191
|
+
pulumi.set(self, "target_role_eligibility_schedule_id", value)
|
|
192
|
+
|
|
193
|
+
@property
|
|
194
|
+
@pulumi.getter(name="targetRoleEligibilityScheduleInstanceId")
|
|
195
|
+
def target_role_eligibility_schedule_instance_id(self) -> Optional[pulumi.Input[str]]:
|
|
196
|
+
"""
|
|
197
|
+
The role eligibility schedule instance id being updated
|
|
198
|
+
"""
|
|
199
|
+
return pulumi.get(self, "target_role_eligibility_schedule_instance_id")
|
|
200
|
+
|
|
201
|
+
@target_role_eligibility_schedule_instance_id.setter
|
|
202
|
+
def target_role_eligibility_schedule_instance_id(self, value: Optional[pulumi.Input[str]]):
|
|
203
|
+
pulumi.set(self, "target_role_eligibility_schedule_instance_id", value)
|
|
204
|
+
|
|
205
|
+
@property
|
|
206
|
+
@pulumi.getter(name="ticketInfo")
|
|
207
|
+
def ticket_info(self) -> Optional[pulumi.Input['RoleEligibilityScheduleRequestPropertiesTicketInfoArgs']]:
|
|
208
|
+
"""
|
|
209
|
+
Ticket Info of the role eligibility
|
|
210
|
+
"""
|
|
211
|
+
return pulumi.get(self, "ticket_info")
|
|
212
|
+
|
|
213
|
+
@ticket_info.setter
|
|
214
|
+
def ticket_info(self, value: Optional[pulumi.Input['RoleEligibilityScheduleRequestPropertiesTicketInfoArgs']]):
|
|
215
|
+
pulumi.set(self, "ticket_info", value)
|
|
216
|
+
|
|
217
|
+
|
|
218
|
+
class PimRoleEligibilitySchedule(pulumi.CustomResource):
|
|
219
|
+
@overload
|
|
220
|
+
def __init__(__self__,
|
|
221
|
+
resource_name: str,
|
|
222
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
223
|
+
condition: Optional[pulumi.Input[str]] = None,
|
|
224
|
+
condition_version: Optional[pulumi.Input[str]] = None,
|
|
225
|
+
justification: Optional[pulumi.Input[str]] = None,
|
|
226
|
+
principal_id: Optional[pulumi.Input[str]] = None,
|
|
227
|
+
request_type: Optional[pulumi.Input[Union[str, 'RequestType']]] = None,
|
|
228
|
+
role_definition_id: Optional[pulumi.Input[str]] = None,
|
|
229
|
+
role_eligibility_schedule_request_name: Optional[pulumi.Input[str]] = None,
|
|
230
|
+
schedule_info: Optional[pulumi.Input[Union['RoleEligibilityScheduleRequestPropertiesScheduleInfoArgs', 'RoleEligibilityScheduleRequestPropertiesScheduleInfoArgsDict']]] = None,
|
|
231
|
+
scope: Optional[pulumi.Input[str]] = None,
|
|
232
|
+
target_role_eligibility_schedule_id: Optional[pulumi.Input[str]] = None,
|
|
233
|
+
target_role_eligibility_schedule_instance_id: Optional[pulumi.Input[str]] = None,
|
|
234
|
+
ticket_info: Optional[pulumi.Input[Union['RoleEligibilityScheduleRequestPropertiesTicketInfoArgs', 'RoleEligibilityScheduleRequestPropertiesTicketInfoArgsDict']]] = None,
|
|
235
|
+
__props__=None):
|
|
236
|
+
"""
|
|
237
|
+
Role Eligibility schedule request
|
|
238
|
+
|
|
239
|
+
:param str resource_name: The name of the resource.
|
|
240
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
241
|
+
: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'
|
|
242
|
+
:param pulumi.Input[str] condition_version: Version of the condition. Currently accepted value is '2.0'
|
|
243
|
+
:param pulumi.Input[str] justification: Justification for the role eligibility
|
|
244
|
+
:param pulumi.Input[str] principal_id: The principal ID.
|
|
245
|
+
:param pulumi.Input[Union[str, 'RequestType']] request_type: The type of the role assignment schedule request. Eg: SelfActivate, AdminAssign etc
|
|
246
|
+
:param pulumi.Input[str] role_definition_id: The role definition ID.
|
|
247
|
+
:param pulumi.Input[str] role_eligibility_schedule_request_name: The name of the role eligibility to create. It can be any valid GUID.
|
|
248
|
+
:param pulumi.Input[Union['RoleEligibilityScheduleRequestPropertiesScheduleInfoArgs', 'RoleEligibilityScheduleRequestPropertiesScheduleInfoArgsDict']] schedule_info: Schedule info of the role eligibility schedule
|
|
249
|
+
: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.
|
|
250
|
+
:param pulumi.Input[str] target_role_eligibility_schedule_id: The resultant role eligibility schedule id or the role eligibility schedule id being updated
|
|
251
|
+
:param pulumi.Input[str] target_role_eligibility_schedule_instance_id: The role eligibility schedule instance id being updated
|
|
252
|
+
:param pulumi.Input[Union['RoleEligibilityScheduleRequestPropertiesTicketInfoArgs', 'RoleEligibilityScheduleRequestPropertiesTicketInfoArgsDict']] ticket_info: Ticket Info of the role eligibility
|
|
253
|
+
"""
|
|
254
|
+
...
|
|
255
|
+
@overload
|
|
256
|
+
def __init__(__self__,
|
|
257
|
+
resource_name: str,
|
|
258
|
+
args: PimRoleEligibilityScheduleArgs,
|
|
259
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
|
260
|
+
"""
|
|
261
|
+
Role Eligibility schedule request
|
|
262
|
+
|
|
263
|
+
:param str resource_name: The name of the resource.
|
|
264
|
+
:param PimRoleEligibilityScheduleArgs args: The arguments to use to populate this resource's properties.
|
|
265
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
266
|
+
"""
|
|
267
|
+
...
|
|
268
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
|
269
|
+
resource_args, opts = _utilities.get_resource_args_opts(PimRoleEligibilityScheduleArgs, pulumi.ResourceOptions, *args, **kwargs)
|
|
270
|
+
if resource_args is not None:
|
|
271
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
|
272
|
+
else:
|
|
273
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
|
274
|
+
|
|
275
|
+
def _internal_init(__self__,
|
|
276
|
+
resource_name: str,
|
|
277
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
278
|
+
condition: Optional[pulumi.Input[str]] = None,
|
|
279
|
+
condition_version: Optional[pulumi.Input[str]] = None,
|
|
280
|
+
justification: Optional[pulumi.Input[str]] = None,
|
|
281
|
+
principal_id: Optional[pulumi.Input[str]] = None,
|
|
282
|
+
request_type: Optional[pulumi.Input[Union[str, 'RequestType']]] = None,
|
|
283
|
+
role_definition_id: Optional[pulumi.Input[str]] = None,
|
|
284
|
+
role_eligibility_schedule_request_name: Optional[pulumi.Input[str]] = None,
|
|
285
|
+
schedule_info: Optional[pulumi.Input[Union['RoleEligibilityScheduleRequestPropertiesScheduleInfoArgs', 'RoleEligibilityScheduleRequestPropertiesScheduleInfoArgsDict']]] = None,
|
|
286
|
+
scope: Optional[pulumi.Input[str]] = None,
|
|
287
|
+
target_role_eligibility_schedule_id: Optional[pulumi.Input[str]] = None,
|
|
288
|
+
target_role_eligibility_schedule_instance_id: Optional[pulumi.Input[str]] = None,
|
|
289
|
+
ticket_info: Optional[pulumi.Input[Union['RoleEligibilityScheduleRequestPropertiesTicketInfoArgs', 'RoleEligibilityScheduleRequestPropertiesTicketInfoArgsDict']]] = None,
|
|
290
|
+
__props__=None):
|
|
291
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
|
292
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
|
293
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
|
294
|
+
if opts.id is None:
|
|
295
|
+
if __props__ is not None:
|
|
296
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
|
297
|
+
__props__ = PimRoleEligibilityScheduleArgs.__new__(PimRoleEligibilityScheduleArgs)
|
|
298
|
+
|
|
299
|
+
__props__.__dict__["condition"] = condition
|
|
300
|
+
__props__.__dict__["condition_version"] = condition_version
|
|
301
|
+
__props__.__dict__["justification"] = justification
|
|
302
|
+
if principal_id is None and not opts.urn:
|
|
303
|
+
raise TypeError("Missing required property 'principal_id'")
|
|
304
|
+
__props__.__dict__["principal_id"] = principal_id
|
|
305
|
+
if request_type is None and not opts.urn:
|
|
306
|
+
raise TypeError("Missing required property 'request_type'")
|
|
307
|
+
__props__.__dict__["request_type"] = request_type
|
|
308
|
+
if role_definition_id is None and not opts.urn:
|
|
309
|
+
raise TypeError("Missing required property 'role_definition_id'")
|
|
310
|
+
__props__.__dict__["role_definition_id"] = role_definition_id
|
|
311
|
+
__props__.__dict__["role_eligibility_schedule_request_name"] = role_eligibility_schedule_request_name
|
|
312
|
+
__props__.__dict__["schedule_info"] = schedule_info
|
|
313
|
+
if scope is None and not opts.urn:
|
|
314
|
+
raise TypeError("Missing required property 'scope'")
|
|
315
|
+
__props__.__dict__["scope"] = scope
|
|
316
|
+
__props__.__dict__["target_role_eligibility_schedule_id"] = target_role_eligibility_schedule_id
|
|
317
|
+
__props__.__dict__["target_role_eligibility_schedule_instance_id"] = target_role_eligibility_schedule_instance_id
|
|
318
|
+
__props__.__dict__["ticket_info"] = ticket_info
|
|
319
|
+
__props__.__dict__["approval_id"] = None
|
|
320
|
+
__props__.__dict__["created_on"] = None
|
|
321
|
+
__props__.__dict__["expanded_properties"] = None
|
|
322
|
+
__props__.__dict__["name"] = None
|
|
323
|
+
__props__.__dict__["principal_type"] = None
|
|
324
|
+
__props__.__dict__["requestor_id"] = None
|
|
325
|
+
__props__.__dict__["status"] = None
|
|
326
|
+
__props__.__dict__["type"] = None
|
|
327
|
+
alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:authorization:PimRoleEligibilitySchedule")])
|
|
328
|
+
opts = pulumi.ResourceOptions.merge(opts, alias_opts)
|
|
329
|
+
super(PimRoleEligibilitySchedule, __self__).__init__(
|
|
330
|
+
'azure-native:authorization/v20201001:PimRoleEligibilitySchedule',
|
|
331
|
+
resource_name,
|
|
332
|
+
__props__,
|
|
333
|
+
opts)
|
|
334
|
+
|
|
335
|
+
@staticmethod
|
|
336
|
+
def get(resource_name: str,
|
|
337
|
+
id: pulumi.Input[str],
|
|
338
|
+
opts: Optional[pulumi.ResourceOptions] = None) -> 'PimRoleEligibilitySchedule':
|
|
339
|
+
"""
|
|
340
|
+
Get an existing PimRoleEligibilitySchedule resource's state with the given name, id, and optional extra
|
|
341
|
+
properties used to qualify the lookup.
|
|
342
|
+
|
|
343
|
+
:param str resource_name: The unique name of the resulting resource.
|
|
344
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
|
345
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
346
|
+
"""
|
|
347
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
|
348
|
+
|
|
349
|
+
__props__ = PimRoleEligibilityScheduleArgs.__new__(PimRoleEligibilityScheduleArgs)
|
|
350
|
+
|
|
351
|
+
__props__.__dict__["approval_id"] = None
|
|
352
|
+
__props__.__dict__["condition"] = None
|
|
353
|
+
__props__.__dict__["condition_version"] = None
|
|
354
|
+
__props__.__dict__["created_on"] = None
|
|
355
|
+
__props__.__dict__["expanded_properties"] = None
|
|
356
|
+
__props__.__dict__["justification"] = None
|
|
357
|
+
__props__.__dict__["name"] = None
|
|
358
|
+
__props__.__dict__["principal_id"] = None
|
|
359
|
+
__props__.__dict__["principal_type"] = None
|
|
360
|
+
__props__.__dict__["request_type"] = None
|
|
361
|
+
__props__.__dict__["requestor_id"] = None
|
|
362
|
+
__props__.__dict__["role_definition_id"] = None
|
|
363
|
+
__props__.__dict__["schedule_info"] = None
|
|
364
|
+
__props__.__dict__["scope"] = None
|
|
365
|
+
__props__.__dict__["status"] = None
|
|
366
|
+
__props__.__dict__["target_role_eligibility_schedule_id"] = None
|
|
367
|
+
__props__.__dict__["target_role_eligibility_schedule_instance_id"] = None
|
|
368
|
+
__props__.__dict__["ticket_info"] = None
|
|
369
|
+
__props__.__dict__["type"] = None
|
|
370
|
+
return PimRoleEligibilitySchedule(resource_name, opts=opts, __props__=__props__)
|
|
371
|
+
|
|
372
|
+
@property
|
|
373
|
+
@pulumi.getter(name="approvalId")
|
|
374
|
+
def approval_id(self) -> pulumi.Output[str]:
|
|
375
|
+
"""
|
|
376
|
+
The approvalId of the role eligibility schedule request.
|
|
377
|
+
"""
|
|
378
|
+
return pulumi.get(self, "approval_id")
|
|
379
|
+
|
|
380
|
+
@property
|
|
381
|
+
@pulumi.getter
|
|
382
|
+
def condition(self) -> pulumi.Output[Optional[str]]:
|
|
383
|
+
"""
|
|
384
|
+
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'
|
|
385
|
+
"""
|
|
386
|
+
return pulumi.get(self, "condition")
|
|
387
|
+
|
|
388
|
+
@property
|
|
389
|
+
@pulumi.getter(name="conditionVersion")
|
|
390
|
+
def condition_version(self) -> pulumi.Output[Optional[str]]:
|
|
391
|
+
"""
|
|
392
|
+
Version of the condition. Currently accepted value is '2.0'
|
|
393
|
+
"""
|
|
394
|
+
return pulumi.get(self, "condition_version")
|
|
395
|
+
|
|
396
|
+
@property
|
|
397
|
+
@pulumi.getter(name="createdOn")
|
|
398
|
+
def created_on(self) -> pulumi.Output[str]:
|
|
399
|
+
"""
|
|
400
|
+
DateTime when role eligibility schedule request was created
|
|
401
|
+
"""
|
|
402
|
+
return pulumi.get(self, "created_on")
|
|
403
|
+
|
|
404
|
+
@property
|
|
405
|
+
@pulumi.getter(name="expandedProperties")
|
|
406
|
+
def expanded_properties(self) -> pulumi.Output['outputs.ExpandedPropertiesResponse']:
|
|
407
|
+
"""
|
|
408
|
+
Additional properties of principal, scope and role definition
|
|
409
|
+
"""
|
|
410
|
+
return pulumi.get(self, "expanded_properties")
|
|
411
|
+
|
|
412
|
+
@property
|
|
413
|
+
@pulumi.getter
|
|
414
|
+
def justification(self) -> pulumi.Output[Optional[str]]:
|
|
415
|
+
"""
|
|
416
|
+
Justification for the role eligibility
|
|
417
|
+
"""
|
|
418
|
+
return pulumi.get(self, "justification")
|
|
419
|
+
|
|
420
|
+
@property
|
|
421
|
+
@pulumi.getter
|
|
422
|
+
def name(self) -> pulumi.Output[str]:
|
|
423
|
+
"""
|
|
424
|
+
The role eligibility schedule request name.
|
|
425
|
+
"""
|
|
426
|
+
return pulumi.get(self, "name")
|
|
427
|
+
|
|
428
|
+
@property
|
|
429
|
+
@pulumi.getter(name="principalId")
|
|
430
|
+
def principal_id(self) -> pulumi.Output[str]:
|
|
431
|
+
"""
|
|
432
|
+
The principal ID.
|
|
433
|
+
"""
|
|
434
|
+
return pulumi.get(self, "principal_id")
|
|
435
|
+
|
|
436
|
+
@property
|
|
437
|
+
@pulumi.getter(name="principalType")
|
|
438
|
+
def principal_type(self) -> pulumi.Output[str]:
|
|
439
|
+
"""
|
|
440
|
+
The principal type of the assigned principal ID.
|
|
441
|
+
"""
|
|
442
|
+
return pulumi.get(self, "principal_type")
|
|
443
|
+
|
|
444
|
+
@property
|
|
445
|
+
@pulumi.getter(name="requestType")
|
|
446
|
+
def request_type(self) -> pulumi.Output[str]:
|
|
447
|
+
"""
|
|
448
|
+
The type of the role assignment schedule request. Eg: SelfActivate, AdminAssign etc
|
|
449
|
+
"""
|
|
450
|
+
return pulumi.get(self, "request_type")
|
|
451
|
+
|
|
452
|
+
@property
|
|
453
|
+
@pulumi.getter(name="requestorId")
|
|
454
|
+
def requestor_id(self) -> pulumi.Output[str]:
|
|
455
|
+
"""
|
|
456
|
+
Id of the user who created this request
|
|
457
|
+
"""
|
|
458
|
+
return pulumi.get(self, "requestor_id")
|
|
459
|
+
|
|
460
|
+
@property
|
|
461
|
+
@pulumi.getter(name="roleDefinitionId")
|
|
462
|
+
def role_definition_id(self) -> pulumi.Output[str]:
|
|
463
|
+
"""
|
|
464
|
+
The role definition ID.
|
|
465
|
+
"""
|
|
466
|
+
return pulumi.get(self, "role_definition_id")
|
|
467
|
+
|
|
468
|
+
@property
|
|
469
|
+
@pulumi.getter(name="scheduleInfo")
|
|
470
|
+
def schedule_info(self) -> pulumi.Output[Optional['outputs.RoleEligibilityScheduleRequestPropertiesResponseScheduleInfo']]:
|
|
471
|
+
"""
|
|
472
|
+
Schedule info of the role eligibility schedule
|
|
473
|
+
"""
|
|
474
|
+
return pulumi.get(self, "schedule_info")
|
|
475
|
+
|
|
476
|
+
@property
|
|
477
|
+
@pulumi.getter
|
|
478
|
+
def scope(self) -> pulumi.Output[str]:
|
|
479
|
+
"""
|
|
480
|
+
The role eligibility schedule request scope.
|
|
481
|
+
"""
|
|
482
|
+
return pulumi.get(self, "scope")
|
|
483
|
+
|
|
484
|
+
@property
|
|
485
|
+
@pulumi.getter
|
|
486
|
+
def status(self) -> pulumi.Output[str]:
|
|
487
|
+
"""
|
|
488
|
+
The status of the role eligibility schedule request.
|
|
489
|
+
"""
|
|
490
|
+
return pulumi.get(self, "status")
|
|
491
|
+
|
|
492
|
+
@property
|
|
493
|
+
@pulumi.getter(name="targetRoleEligibilityScheduleId")
|
|
494
|
+
def target_role_eligibility_schedule_id(self) -> pulumi.Output[Optional[str]]:
|
|
495
|
+
"""
|
|
496
|
+
The resultant role eligibility schedule id or the role eligibility schedule id being updated
|
|
497
|
+
"""
|
|
498
|
+
return pulumi.get(self, "target_role_eligibility_schedule_id")
|
|
499
|
+
|
|
500
|
+
@property
|
|
501
|
+
@pulumi.getter(name="targetRoleEligibilityScheduleInstanceId")
|
|
502
|
+
def target_role_eligibility_schedule_instance_id(self) -> pulumi.Output[Optional[str]]:
|
|
503
|
+
"""
|
|
504
|
+
The role eligibility schedule instance id being updated
|
|
505
|
+
"""
|
|
506
|
+
return pulumi.get(self, "target_role_eligibility_schedule_instance_id")
|
|
507
|
+
|
|
508
|
+
@property
|
|
509
|
+
@pulumi.getter(name="ticketInfo")
|
|
510
|
+
def ticket_info(self) -> pulumi.Output[Optional['outputs.RoleEligibilityScheduleRequestPropertiesResponseTicketInfo']]:
|
|
511
|
+
"""
|
|
512
|
+
Ticket Info of the role eligibility
|
|
513
|
+
"""
|
|
514
|
+
return pulumi.get(self, "ticket_info")
|
|
515
|
+
|
|
516
|
+
@property
|
|
517
|
+
@pulumi.getter
|
|
518
|
+
def type(self) -> pulumi.Output[str]:
|
|
519
|
+
"""
|
|
520
|
+
The role eligibility schedule request type.
|
|
521
|
+
"""
|
|
522
|
+
return pulumi.get(self, "type")
|
|
523
|
+
|
|
@@ -23,7 +23,6 @@ __all__ = [
|
|
|
23
23
|
'SkuFamily',
|
|
24
24
|
'SkuName',
|
|
25
25
|
'StoragePermissions',
|
|
26
|
-
'VaultProvisioningState',
|
|
27
26
|
]
|
|
28
27
|
|
|
29
28
|
|
|
@@ -227,11 +226,3 @@ class StoragePermissions(str, Enum):
|
|
|
227
226
|
LISTSAS = "listsas"
|
|
228
227
|
GETSAS = "getsas"
|
|
229
228
|
DELETESAS = "deletesas"
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
class VaultProvisioningState(str, Enum):
|
|
233
|
-
"""
|
|
234
|
-
Provisioning state of the vault.
|
|
235
|
-
"""
|
|
236
|
-
SUCCEEDED = "Succeeded"
|
|
237
|
-
REGISTERING_DNS = "RegisteringDns"
|
|
@@ -1799,10 +1799,6 @@ if not MYPY:
|
|
|
1799
1799
|
"""
|
|
1800
1800
|
Rules governing the accessibility of the key vault from specific network locations.
|
|
1801
1801
|
"""
|
|
1802
|
-
provisioning_state: NotRequired[pulumi.Input[Union[str, 'VaultProvisioningState']]]
|
|
1803
|
-
"""
|
|
1804
|
-
Provisioning state of the vault.
|
|
1805
|
-
"""
|
|
1806
1802
|
public_network_access: NotRequired[pulumi.Input[str]]
|
|
1807
1803
|
"""
|
|
1808
1804
|
Property to specify whether the vault will accept traffic from public internet. If set to 'disabled' all traffic except private endpoint traffic and that that originates from trusted services will be blocked. This will override the set firewall rules, meaning that even if the firewall rules are present we will not honor the rules.
|
|
@@ -1811,10 +1807,6 @@ if not MYPY:
|
|
|
1811
1807
|
"""
|
|
1812
1808
|
softDelete data retention days. It accepts >=7 and <=90.
|
|
1813
1809
|
"""
|
|
1814
|
-
vault_uri: NotRequired[pulumi.Input[str]]
|
|
1815
|
-
"""
|
|
1816
|
-
The URI of the vault for performing operations on keys and secrets.
|
|
1817
|
-
"""
|
|
1818
1810
|
elif False:
|
|
1819
1811
|
VaultPropertiesArgsDict: TypeAlias = Mapping[str, Any]
|
|
1820
1812
|
|
|
@@ -1832,10 +1824,8 @@ class VaultPropertiesArgs:
|
|
|
1832
1824
|
enabled_for_disk_encryption: Optional[pulumi.Input[bool]] = None,
|
|
1833
1825
|
enabled_for_template_deployment: Optional[pulumi.Input[bool]] = None,
|
|
1834
1826
|
network_acls: Optional[pulumi.Input['NetworkRuleSetArgs']] = None,
|
|
1835
|
-
provisioning_state: Optional[pulumi.Input[Union[str, 'VaultProvisioningState']]] = None,
|
|
1836
1827
|
public_network_access: Optional[pulumi.Input[str]] = None,
|
|
1837
|
-
soft_delete_retention_in_days: Optional[pulumi.Input[int]] = None
|
|
1838
|
-
vault_uri: Optional[pulumi.Input[str]] = None):
|
|
1828
|
+
soft_delete_retention_in_days: Optional[pulumi.Input[int]] = None):
|
|
1839
1829
|
"""
|
|
1840
1830
|
Properties of the vault
|
|
1841
1831
|
:param pulumi.Input['SkuArgs'] sku: SKU details
|
|
@@ -1850,10 +1840,8 @@ class VaultPropertiesArgs:
|
|
|
1850
1840
|
:param pulumi.Input[bool] enabled_for_disk_encryption: Property to specify whether Azure Disk Encryption is permitted to retrieve secrets from the vault and unwrap keys.
|
|
1851
1841
|
:param pulumi.Input[bool] enabled_for_template_deployment: Property to specify whether Azure Resource Manager is permitted to retrieve secrets from the key vault.
|
|
1852
1842
|
:param pulumi.Input['NetworkRuleSetArgs'] network_acls: Rules governing the accessibility of the key vault from specific network locations.
|
|
1853
|
-
:param pulumi.Input[Union[str, 'VaultProvisioningState']] provisioning_state: Provisioning state of the vault.
|
|
1854
1843
|
:param pulumi.Input[str] public_network_access: Property to specify whether the vault will accept traffic from public internet. If set to 'disabled' all traffic except private endpoint traffic and that that originates from trusted services will be blocked. This will override the set firewall rules, meaning that even if the firewall rules are present we will not honor the rules.
|
|
1855
1844
|
:param pulumi.Input[int] soft_delete_retention_in_days: softDelete data retention days. It accepts >=7 and <=90.
|
|
1856
|
-
:param pulumi.Input[str] vault_uri: The URI of the vault for performing operations on keys and secrets.
|
|
1857
1845
|
"""
|
|
1858
1846
|
pulumi.set(__self__, "sku", sku)
|
|
1859
1847
|
pulumi.set(__self__, "tenant_id", tenant_id)
|
|
@@ -1879,8 +1867,6 @@ class VaultPropertiesArgs:
|
|
|
1879
1867
|
pulumi.set(__self__, "enabled_for_template_deployment", enabled_for_template_deployment)
|
|
1880
1868
|
if network_acls is not None:
|
|
1881
1869
|
pulumi.set(__self__, "network_acls", network_acls)
|
|
1882
|
-
if provisioning_state is not None:
|
|
1883
|
-
pulumi.set(__self__, "provisioning_state", provisioning_state)
|
|
1884
1870
|
if public_network_access is None:
|
|
1885
1871
|
public_network_access = 'enabled'
|
|
1886
1872
|
if public_network_access is not None:
|
|
@@ -1889,8 +1875,6 @@ class VaultPropertiesArgs:
|
|
|
1889
1875
|
soft_delete_retention_in_days = 90
|
|
1890
1876
|
if soft_delete_retention_in_days is not None:
|
|
1891
1877
|
pulumi.set(__self__, "soft_delete_retention_in_days", soft_delete_retention_in_days)
|
|
1892
|
-
if vault_uri is not None:
|
|
1893
|
-
pulumi.set(__self__, "vault_uri", vault_uri)
|
|
1894
1878
|
|
|
1895
1879
|
@property
|
|
1896
1880
|
@pulumi.getter
|
|
@@ -2025,18 +2009,6 @@ class VaultPropertiesArgs:
|
|
|
2025
2009
|
def network_acls(self, value: Optional[pulumi.Input['NetworkRuleSetArgs']]):
|
|
2026
2010
|
pulumi.set(self, "network_acls", value)
|
|
2027
2011
|
|
|
2028
|
-
@property
|
|
2029
|
-
@pulumi.getter(name="provisioningState")
|
|
2030
|
-
def provisioning_state(self) -> Optional[pulumi.Input[Union[str, 'VaultProvisioningState']]]:
|
|
2031
|
-
"""
|
|
2032
|
-
Provisioning state of the vault.
|
|
2033
|
-
"""
|
|
2034
|
-
return pulumi.get(self, "provisioning_state")
|
|
2035
|
-
|
|
2036
|
-
@provisioning_state.setter
|
|
2037
|
-
def provisioning_state(self, value: Optional[pulumi.Input[Union[str, 'VaultProvisioningState']]]):
|
|
2038
|
-
pulumi.set(self, "provisioning_state", value)
|
|
2039
|
-
|
|
2040
2012
|
@property
|
|
2041
2013
|
@pulumi.getter(name="publicNetworkAccess")
|
|
2042
2014
|
def public_network_access(self) -> Optional[pulumi.Input[str]]:
|
|
@@ -2061,18 +2033,6 @@ class VaultPropertiesArgs:
|
|
|
2061
2033
|
def soft_delete_retention_in_days(self, value: Optional[pulumi.Input[int]]):
|
|
2062
2034
|
pulumi.set(self, "soft_delete_retention_in_days", value)
|
|
2063
2035
|
|
|
2064
|
-
@property
|
|
2065
|
-
@pulumi.getter(name="vaultUri")
|
|
2066
|
-
def vault_uri(self) -> Optional[pulumi.Input[str]]:
|
|
2067
|
-
"""
|
|
2068
|
-
The URI of the vault for performing operations on keys and secrets.
|
|
2069
|
-
"""
|
|
2070
|
-
return pulumi.get(self, "vault_uri")
|
|
2071
|
-
|
|
2072
|
-
@vault_uri.setter
|
|
2073
|
-
def vault_uri(self, value: Optional[pulumi.Input[str]]):
|
|
2074
|
-
pulumi.set(self, "vault_uri", value)
|
|
2075
|
-
|
|
2076
2036
|
|
|
2077
2037
|
if not MYPY:
|
|
2078
2038
|
class VirtualNetworkRuleArgsDict(TypedDict):
|