pulumi-ise 0.3.0a1745474191__py3-none-any.whl → 0.3.0a1745554688__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (24) hide show
  1. pulumi_ise/__init__.py +80 -0
  2. pulumi_ise/deviceadmin/__init__.py +5 -0
  3. pulumi_ise/deviceadmin/_inputs.py +269 -0
  4. pulumi_ise/deviceadmin/authentication_rule_update_ranks.py +216 -0
  5. pulumi_ise/deviceadmin/authorization_exception_rule_update_ranks.py +216 -0
  6. pulumi_ise/deviceadmin/authorization_global_exception_rule_update_ranks.py +164 -0
  7. pulumi_ise/deviceadmin/authorization_rule_update_ranks.py +216 -0
  8. pulumi_ise/deviceadmin/outputs.py +159 -0
  9. pulumi_ise/deviceadmin/policy_set_update_ranks.py +164 -0
  10. pulumi_ise/network/device.py +32 -32
  11. pulumi_ise/network/get_device.py +10 -10
  12. pulumi_ise/networkaccess/__init__.py +5 -0
  13. pulumi_ise/networkaccess/_inputs.py +275 -6
  14. pulumi_ise/networkaccess/authentication_rule_update_ranks.py +216 -0
  15. pulumi_ise/networkaccess/authorization_exception_rule_update_ranks.py +216 -0
  16. pulumi_ise/networkaccess/authorization_global_exception_rule_update_ranks.py +164 -0
  17. pulumi_ise/networkaccess/authorization_rule_update_ranks.py +216 -0
  18. pulumi_ise/networkaccess/outputs.py +167 -8
  19. pulumi_ise/networkaccess/policy_set_update_ranks.py +164 -0
  20. pulumi_ise/pulumi-plugin.json +1 -1
  21. {pulumi_ise-0.3.0a1745474191.dist-info → pulumi_ise-0.3.0a1745554688.dist-info}/METADATA +1 -1
  22. {pulumi_ise-0.3.0a1745474191.dist-info → pulumi_ise-0.3.0a1745554688.dist-info}/RECORD +24 -14
  23. {pulumi_ise-0.3.0a1745474191.dist-info → pulumi_ise-0.3.0a1745554688.dist-info}/WHEEL +0 -0
  24. {pulumi_ise-0.3.0a1745474191.dist-info → pulumi_ise-0.3.0a1745554688.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,216 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import builtins
6
+ import copy
7
+ import warnings
8
+ import sys
9
+ import pulumi
10
+ import pulumi.runtime
11
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
12
+ if sys.version_info >= (3, 11):
13
+ from typing import NotRequired, TypedDict, TypeAlias
14
+ else:
15
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
16
+ from .. import _utilities
17
+ from . import outputs
18
+ from ._inputs import *
19
+
20
+ __all__ = ['AuthorizationRuleUpdateRanksArgs', 'AuthorizationRuleUpdateRanks']
21
+
22
+ @pulumi.input_type
23
+ class AuthorizationRuleUpdateRanksArgs:
24
+ def __init__(__self__, *,
25
+ policy_set_id: pulumi.Input[builtins.str],
26
+ rules: Optional[pulumi.Input[Sequence[pulumi.Input['AuthorizationRuleUpdateRanksRuleArgs']]]] = None):
27
+ """
28
+ The set of arguments for constructing a AuthorizationRuleUpdateRanks resource.
29
+ :param pulumi.Input[builtins.str] policy_set_id: Policy set ID
30
+ """
31
+ pulumi.set(__self__, "policy_set_id", policy_set_id)
32
+ if rules is not None:
33
+ pulumi.set(__self__, "rules", rules)
34
+
35
+ @property
36
+ @pulumi.getter(name="policySetId")
37
+ def policy_set_id(self) -> pulumi.Input[builtins.str]:
38
+ """
39
+ Policy set ID
40
+ """
41
+ return pulumi.get(self, "policy_set_id")
42
+
43
+ @policy_set_id.setter
44
+ def policy_set_id(self, value: pulumi.Input[builtins.str]):
45
+ pulumi.set(self, "policy_set_id", value)
46
+
47
+ @property
48
+ @pulumi.getter
49
+ def rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AuthorizationRuleUpdateRanksRuleArgs']]]]:
50
+ return pulumi.get(self, "rules")
51
+
52
+ @rules.setter
53
+ def rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AuthorizationRuleUpdateRanksRuleArgs']]]]):
54
+ pulumi.set(self, "rules", value)
55
+
56
+
57
+ @pulumi.input_type
58
+ class _AuthorizationRuleUpdateRanksState:
59
+ def __init__(__self__, *,
60
+ policy_set_id: Optional[pulumi.Input[builtins.str]] = None,
61
+ rules: Optional[pulumi.Input[Sequence[pulumi.Input['AuthorizationRuleUpdateRanksRuleArgs']]]] = None):
62
+ """
63
+ Input properties used for looking up and filtering AuthorizationRuleUpdateRanks resources.
64
+ :param pulumi.Input[builtins.str] policy_set_id: Policy set ID
65
+ """
66
+ if policy_set_id is not None:
67
+ pulumi.set(__self__, "policy_set_id", policy_set_id)
68
+ if rules is not None:
69
+ pulumi.set(__self__, "rules", rules)
70
+
71
+ @property
72
+ @pulumi.getter(name="policySetId")
73
+ def policy_set_id(self) -> Optional[pulumi.Input[builtins.str]]:
74
+ """
75
+ Policy set ID
76
+ """
77
+ return pulumi.get(self, "policy_set_id")
78
+
79
+ @policy_set_id.setter
80
+ def policy_set_id(self, value: Optional[pulumi.Input[builtins.str]]):
81
+ pulumi.set(self, "policy_set_id", value)
82
+
83
+ @property
84
+ @pulumi.getter
85
+ def rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AuthorizationRuleUpdateRanksRuleArgs']]]]:
86
+ return pulumi.get(self, "rules")
87
+
88
+ @rules.setter
89
+ def rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AuthorizationRuleUpdateRanksRuleArgs']]]]):
90
+ pulumi.set(self, "rules", value)
91
+
92
+
93
+ class AuthorizationRuleUpdateRanks(pulumi.CustomResource):
94
+ @overload
95
+ def __init__(__self__,
96
+ resource_name: str,
97
+ opts: Optional[pulumi.ResourceOptions] = None,
98
+ policy_set_id: Optional[pulumi.Input[builtins.str]] = None,
99
+ rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['AuthorizationRuleUpdateRanksRuleArgs', 'AuthorizationRuleUpdateRanksRuleArgsDict']]]]] = None,
100
+ __props__=None):
101
+ """
102
+ This resource is used to bulk update rank field in device admin authorization rule. It serves as a workaround for the ISE API/Backend limitation which restricts rank assignments to a strictly incremental sequence. By utilizing this resource and device_admin_authorization_rule resource, you can bypass the APIs limitation. Creation of this resource is performing PUT operation (Update) and it only tracks rank field. When this resource is destroyed, no action is performed on ISE and resource is just removed from state.
103
+
104
+ ## Example Usage
105
+
106
+ ```python
107
+ import pulumi
108
+ import pulumi_ise as ise
109
+
110
+ example = ise.deviceadmin.AuthorizationRuleUpdateRanks("example",
111
+ policy_set_id="d82952cb-b901-4b09-b363-5ebf39bdbaf9",
112
+ rules=[{
113
+ "id": "3741aca3-db08-4899-af73-2e3f65ec31e1",
114
+ "rank": 0,
115
+ }])
116
+ ```
117
+
118
+ :param str resource_name: The name of the resource.
119
+ :param pulumi.ResourceOptions opts: Options for the resource.
120
+ :param pulumi.Input[builtins.str] policy_set_id: Policy set ID
121
+ """
122
+ ...
123
+ @overload
124
+ def __init__(__self__,
125
+ resource_name: str,
126
+ args: AuthorizationRuleUpdateRanksArgs,
127
+ opts: Optional[pulumi.ResourceOptions] = None):
128
+ """
129
+ This resource is used to bulk update rank field in device admin authorization rule. It serves as a workaround for the ISE API/Backend limitation which restricts rank assignments to a strictly incremental sequence. By utilizing this resource and device_admin_authorization_rule resource, you can bypass the APIs limitation. Creation of this resource is performing PUT operation (Update) and it only tracks rank field. When this resource is destroyed, no action is performed on ISE and resource is just removed from state.
130
+
131
+ ## Example Usage
132
+
133
+ ```python
134
+ import pulumi
135
+ import pulumi_ise as ise
136
+
137
+ example = ise.deviceadmin.AuthorizationRuleUpdateRanks("example",
138
+ policy_set_id="d82952cb-b901-4b09-b363-5ebf39bdbaf9",
139
+ rules=[{
140
+ "id": "3741aca3-db08-4899-af73-2e3f65ec31e1",
141
+ "rank": 0,
142
+ }])
143
+ ```
144
+
145
+ :param str resource_name: The name of the resource.
146
+ :param AuthorizationRuleUpdateRanksArgs args: The arguments to use to populate this resource's properties.
147
+ :param pulumi.ResourceOptions opts: Options for the resource.
148
+ """
149
+ ...
150
+ def __init__(__self__, resource_name: str, *args, **kwargs):
151
+ resource_args, opts = _utilities.get_resource_args_opts(AuthorizationRuleUpdateRanksArgs, pulumi.ResourceOptions, *args, **kwargs)
152
+ if resource_args is not None:
153
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
154
+ else:
155
+ __self__._internal_init(resource_name, *args, **kwargs)
156
+
157
+ def _internal_init(__self__,
158
+ resource_name: str,
159
+ opts: Optional[pulumi.ResourceOptions] = None,
160
+ policy_set_id: Optional[pulumi.Input[builtins.str]] = None,
161
+ rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['AuthorizationRuleUpdateRanksRuleArgs', 'AuthorizationRuleUpdateRanksRuleArgsDict']]]]] = None,
162
+ __props__=None):
163
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
164
+ if not isinstance(opts, pulumi.ResourceOptions):
165
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
166
+ if opts.id is None:
167
+ if __props__ is not None:
168
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
169
+ __props__ = AuthorizationRuleUpdateRanksArgs.__new__(AuthorizationRuleUpdateRanksArgs)
170
+
171
+ if policy_set_id is None and not opts.urn:
172
+ raise TypeError("Missing required property 'policy_set_id'")
173
+ __props__.__dict__["policy_set_id"] = policy_set_id
174
+ __props__.__dict__["rules"] = rules
175
+ super(AuthorizationRuleUpdateRanks, __self__).__init__(
176
+ 'ise:deviceadmin/authorizationRuleUpdateRanks:AuthorizationRuleUpdateRanks',
177
+ resource_name,
178
+ __props__,
179
+ opts)
180
+
181
+ @staticmethod
182
+ def get(resource_name: str,
183
+ id: pulumi.Input[str],
184
+ opts: Optional[pulumi.ResourceOptions] = None,
185
+ policy_set_id: Optional[pulumi.Input[builtins.str]] = None,
186
+ rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['AuthorizationRuleUpdateRanksRuleArgs', 'AuthorizationRuleUpdateRanksRuleArgsDict']]]]] = None) -> 'AuthorizationRuleUpdateRanks':
187
+ """
188
+ Get an existing AuthorizationRuleUpdateRanks resource's state with the given name, id, and optional extra
189
+ properties used to qualify the lookup.
190
+
191
+ :param str resource_name: The unique name of the resulting resource.
192
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
193
+ :param pulumi.ResourceOptions opts: Options for the resource.
194
+ :param pulumi.Input[builtins.str] policy_set_id: Policy set ID
195
+ """
196
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
197
+
198
+ __props__ = _AuthorizationRuleUpdateRanksState.__new__(_AuthorizationRuleUpdateRanksState)
199
+
200
+ __props__.__dict__["policy_set_id"] = policy_set_id
201
+ __props__.__dict__["rules"] = rules
202
+ return AuthorizationRuleUpdateRanks(resource_name, opts=opts, __props__=__props__)
203
+
204
+ @property
205
+ @pulumi.getter(name="policySetId")
206
+ def policy_set_id(self) -> pulumi.Output[builtins.str]:
207
+ """
208
+ Policy set ID
209
+ """
210
+ return pulumi.get(self, "policy_set_id")
211
+
212
+ @property
213
+ @pulumi.getter
214
+ def rules(self) -> pulumi.Output[Optional[Sequence['outputs.AuthorizationRuleUpdateRanksRule']]]:
215
+ return pulumi.get(self, "rules")
216
+
@@ -19,16 +19,21 @@ from . import outputs
19
19
  __all__ = [
20
20
  'AuthenticationRuleChildren',
21
21
  'AuthenticationRuleChildrenChildren',
22
+ 'AuthenticationRuleUpdateRanksRule',
22
23
  'AuthorizationExceptionRuleChildren',
23
24
  'AuthorizationExceptionRuleChildrenChildren',
25
+ 'AuthorizationExceptionRuleUpdateRanksRule',
24
26
  'AuthorizationGlobalExceptionRuleChildren',
25
27
  'AuthorizationGlobalExceptionRuleChildrenChildren',
28
+ 'AuthorizationGlobalExceptionRuleUpdateRanksRule',
26
29
  'AuthorizationRuleChildren',
27
30
  'AuthorizationRuleChildrenChildren',
31
+ 'AuthorizationRuleUpdateRanksRule',
28
32
  'ConditionChildren',
29
33
  'ConditionChildrenChildren',
30
34
  'PolicySetChildren',
31
35
  'PolicySetChildrenChildren',
36
+ 'PolicySetUpdateRanksPolicy',
32
37
  'TacacsCommandSetCommand',
33
38
  'TacacsProfileSessionAttribute',
34
39
  'GetAuthenticationRuleChildrenResult',
@@ -325,6 +330,37 @@ class AuthenticationRuleChildrenChildren(dict):
325
330
  return pulumi.get(self, "operator")
326
331
 
327
332
 
333
+ @pulumi.output_type
334
+ class AuthenticationRuleUpdateRanksRule(dict):
335
+ def __init__(__self__, *,
336
+ id: Optional[builtins.str] = None,
337
+ rank: Optional[builtins.int] = None):
338
+ """
339
+ :param builtins.str id: Authentication rule ID
340
+ :param builtins.int rank: The rank (priority) in relation to other rules. Lower rank is higher priority.
341
+ """
342
+ if id is not None:
343
+ pulumi.set(__self__, "id", id)
344
+ if rank is not None:
345
+ pulumi.set(__self__, "rank", rank)
346
+
347
+ @property
348
+ @pulumi.getter
349
+ def id(self) -> Optional[builtins.str]:
350
+ """
351
+ Authentication rule ID
352
+ """
353
+ return pulumi.get(self, "id")
354
+
355
+ @property
356
+ @pulumi.getter
357
+ def rank(self) -> Optional[builtins.int]:
358
+ """
359
+ The rank (priority) in relation to other rules. Lower rank is higher priority.
360
+ """
361
+ return pulumi.get(self, "rank")
362
+
363
+
328
364
  @pulumi.output_type
329
365
  class AuthorizationExceptionRuleChildren(dict):
330
366
  @staticmethod
@@ -603,6 +639,37 @@ class AuthorizationExceptionRuleChildrenChildren(dict):
603
639
  return pulumi.get(self, "operator")
604
640
 
605
641
 
642
+ @pulumi.output_type
643
+ class AuthorizationExceptionRuleUpdateRanksRule(dict):
644
+ def __init__(__self__, *,
645
+ id: Optional[builtins.str] = None,
646
+ rank: Optional[builtins.int] = None):
647
+ """
648
+ :param builtins.str id: Authorization rule ID
649
+ :param builtins.int rank: The rank (priority) in relation to other rules. Lower rank is higher priority.
650
+ """
651
+ if id is not None:
652
+ pulumi.set(__self__, "id", id)
653
+ if rank is not None:
654
+ pulumi.set(__self__, "rank", rank)
655
+
656
+ @property
657
+ @pulumi.getter
658
+ def id(self) -> Optional[builtins.str]:
659
+ """
660
+ Authorization rule ID
661
+ """
662
+ return pulumi.get(self, "id")
663
+
664
+ @property
665
+ @pulumi.getter
666
+ def rank(self) -> Optional[builtins.int]:
667
+ """
668
+ The rank (priority) in relation to other rules. Lower rank is higher priority.
669
+ """
670
+ return pulumi.get(self, "rank")
671
+
672
+
606
673
  @pulumi.output_type
607
674
  class AuthorizationGlobalExceptionRuleChildren(dict):
608
675
  @staticmethod
@@ -881,6 +948,37 @@ class AuthorizationGlobalExceptionRuleChildrenChildren(dict):
881
948
  return pulumi.get(self, "operator")
882
949
 
883
950
 
951
+ @pulumi.output_type
952
+ class AuthorizationGlobalExceptionRuleUpdateRanksRule(dict):
953
+ def __init__(__self__, *,
954
+ id: Optional[builtins.str] = None,
955
+ rank: Optional[builtins.int] = None):
956
+ """
957
+ :param builtins.str id: Authorization rule ID
958
+ :param builtins.int rank: The rank (priority) in relation to other rules. Lower rank is higher priority.
959
+ """
960
+ if id is not None:
961
+ pulumi.set(__self__, "id", id)
962
+ if rank is not None:
963
+ pulumi.set(__self__, "rank", rank)
964
+
965
+ @property
966
+ @pulumi.getter
967
+ def id(self) -> Optional[builtins.str]:
968
+ """
969
+ Authorization rule ID
970
+ """
971
+ return pulumi.get(self, "id")
972
+
973
+ @property
974
+ @pulumi.getter
975
+ def rank(self) -> Optional[builtins.int]:
976
+ """
977
+ The rank (priority) in relation to other rules. Lower rank is higher priority.
978
+ """
979
+ return pulumi.get(self, "rank")
980
+
981
+
884
982
  @pulumi.output_type
885
983
  class AuthorizationRuleChildren(dict):
886
984
  @staticmethod
@@ -1159,6 +1257,37 @@ class AuthorizationRuleChildrenChildren(dict):
1159
1257
  return pulumi.get(self, "operator")
1160
1258
 
1161
1259
 
1260
+ @pulumi.output_type
1261
+ class AuthorizationRuleUpdateRanksRule(dict):
1262
+ def __init__(__self__, *,
1263
+ id: Optional[builtins.str] = None,
1264
+ rank: Optional[builtins.int] = None):
1265
+ """
1266
+ :param builtins.str id: Authorization rule ID
1267
+ :param builtins.int rank: The rank (priority) in relation to other rules. Lower rank is higher priority.
1268
+ """
1269
+ if id is not None:
1270
+ pulumi.set(__self__, "id", id)
1271
+ if rank is not None:
1272
+ pulumi.set(__self__, "rank", rank)
1273
+
1274
+ @property
1275
+ @pulumi.getter
1276
+ def id(self) -> Optional[builtins.str]:
1277
+ """
1278
+ Authorization rule ID
1279
+ """
1280
+ return pulumi.get(self, "id")
1281
+
1282
+ @property
1283
+ @pulumi.getter
1284
+ def rank(self) -> Optional[builtins.int]:
1285
+ """
1286
+ The rank (priority) in relation to other rules. Lower rank is higher priority.
1287
+ """
1288
+ return pulumi.get(self, "rank")
1289
+
1290
+
1162
1291
  @pulumi.output_type
1163
1292
  class ConditionChildren(dict):
1164
1293
  @staticmethod
@@ -1763,6 +1892,36 @@ class PolicySetChildrenChildren(dict):
1763
1892
  return pulumi.get(self, "operator")
1764
1893
 
1765
1894
 
1895
+ @pulumi.output_type
1896
+ class PolicySetUpdateRanksPolicy(dict):
1897
+ def __init__(__self__, *,
1898
+ rank: builtins.int,
1899
+ id: Optional[builtins.str] = None):
1900
+ """
1901
+ :param builtins.int rank: The rank (priority) in relation to other rules. Lower rank is higher priority.
1902
+ :param builtins.str id: Policy set ID
1903
+ """
1904
+ pulumi.set(__self__, "rank", rank)
1905
+ if id is not None:
1906
+ pulumi.set(__self__, "id", id)
1907
+
1908
+ @property
1909
+ @pulumi.getter
1910
+ def rank(self) -> builtins.int:
1911
+ """
1912
+ The rank (priority) in relation to other rules. Lower rank is higher priority.
1913
+ """
1914
+ return pulumi.get(self, "rank")
1915
+
1916
+ @property
1917
+ @pulumi.getter
1918
+ def id(self) -> Optional[builtins.str]:
1919
+ """
1920
+ Policy set ID
1921
+ """
1922
+ return pulumi.get(self, "id")
1923
+
1924
+
1766
1925
  @pulumi.output_type
1767
1926
  class TacacsCommandSetCommand(dict):
1768
1927
  def __init__(__self__, *,
@@ -0,0 +1,164 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import builtins
6
+ import copy
7
+ import warnings
8
+ import sys
9
+ import pulumi
10
+ import pulumi.runtime
11
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
12
+ if sys.version_info >= (3, 11):
13
+ from typing import NotRequired, TypedDict, TypeAlias
14
+ else:
15
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
16
+ from .. import _utilities
17
+ from . import outputs
18
+ from ._inputs import *
19
+
20
+ __all__ = ['PolicySetUpdateRanksArgs', 'PolicySetUpdateRanks']
21
+
22
+ @pulumi.input_type
23
+ class PolicySetUpdateRanksArgs:
24
+ def __init__(__self__, *,
25
+ policies: Optional[pulumi.Input[Sequence[pulumi.Input['PolicySetUpdateRanksPolicyArgs']]]] = None):
26
+ """
27
+ The set of arguments for constructing a PolicySetUpdateRanks resource.
28
+ """
29
+ if policies is not None:
30
+ pulumi.set(__self__, "policies", policies)
31
+
32
+ @property
33
+ @pulumi.getter
34
+ def policies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['PolicySetUpdateRanksPolicyArgs']]]]:
35
+ return pulumi.get(self, "policies")
36
+
37
+ @policies.setter
38
+ def policies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['PolicySetUpdateRanksPolicyArgs']]]]):
39
+ pulumi.set(self, "policies", value)
40
+
41
+
42
+ @pulumi.input_type
43
+ class _PolicySetUpdateRanksState:
44
+ def __init__(__self__, *,
45
+ policies: Optional[pulumi.Input[Sequence[pulumi.Input['PolicySetUpdateRanksPolicyArgs']]]] = None):
46
+ """
47
+ Input properties used for looking up and filtering PolicySetUpdateRanks resources.
48
+ """
49
+ if policies is not None:
50
+ pulumi.set(__self__, "policies", policies)
51
+
52
+ @property
53
+ @pulumi.getter
54
+ def policies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['PolicySetUpdateRanksPolicyArgs']]]]:
55
+ return pulumi.get(self, "policies")
56
+
57
+ @policies.setter
58
+ def policies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['PolicySetUpdateRanksPolicyArgs']]]]):
59
+ pulumi.set(self, "policies", value)
60
+
61
+
62
+ class PolicySetUpdateRanks(pulumi.CustomResource):
63
+ @overload
64
+ def __init__(__self__,
65
+ resource_name: str,
66
+ opts: Optional[pulumi.ResourceOptions] = None,
67
+ policies: Optional[pulumi.Input[Sequence[pulumi.Input[Union['PolicySetUpdateRanksPolicyArgs', 'PolicySetUpdateRanksPolicyArgsDict']]]]] = None,
68
+ __props__=None):
69
+ """
70
+ This resource is used to bulk update rank field in device admin policy set. It serves as a workaround for the ISE API/Backend limitation which restricts rank assignments to a strictly incremental sequence. By utilizing this resource and device_admin_policy_set resource, you can bypass the APIs limitation. Creation of this resource is performing PUT operation (Update) and it only tracks rank field. When this resource is destroyed, no action is performed on ISE and resource is just removed from state.
71
+
72
+ ## Example Usage
73
+
74
+ ```python
75
+ import pulumi
76
+ import pulumi_ise as ise
77
+
78
+ example = ise.deviceadmin.PolicySetUpdateRanks("example", policies=[{
79
+ "id": "d82952cb-b901-4b09-b363-5ebf39bdbaf9",
80
+ "rank": 0,
81
+ }])
82
+ ```
83
+
84
+ :param str resource_name: The name of the resource.
85
+ :param pulumi.ResourceOptions opts: Options for the resource.
86
+ """
87
+ ...
88
+ @overload
89
+ def __init__(__self__,
90
+ resource_name: str,
91
+ args: Optional[PolicySetUpdateRanksArgs] = None,
92
+ opts: Optional[pulumi.ResourceOptions] = None):
93
+ """
94
+ This resource is used to bulk update rank field in device admin policy set. It serves as a workaround for the ISE API/Backend limitation which restricts rank assignments to a strictly incremental sequence. By utilizing this resource and device_admin_policy_set resource, you can bypass the APIs limitation. Creation of this resource is performing PUT operation (Update) and it only tracks rank field. When this resource is destroyed, no action is performed on ISE and resource is just removed from state.
95
+
96
+ ## Example Usage
97
+
98
+ ```python
99
+ import pulumi
100
+ import pulumi_ise as ise
101
+
102
+ example = ise.deviceadmin.PolicySetUpdateRanks("example", policies=[{
103
+ "id": "d82952cb-b901-4b09-b363-5ebf39bdbaf9",
104
+ "rank": 0,
105
+ }])
106
+ ```
107
+
108
+ :param str resource_name: The name of the resource.
109
+ :param PolicySetUpdateRanksArgs args: The arguments to use to populate this resource's properties.
110
+ :param pulumi.ResourceOptions opts: Options for the resource.
111
+ """
112
+ ...
113
+ def __init__(__self__, resource_name: str, *args, **kwargs):
114
+ resource_args, opts = _utilities.get_resource_args_opts(PolicySetUpdateRanksArgs, pulumi.ResourceOptions, *args, **kwargs)
115
+ if resource_args is not None:
116
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
117
+ else:
118
+ __self__._internal_init(resource_name, *args, **kwargs)
119
+
120
+ def _internal_init(__self__,
121
+ resource_name: str,
122
+ opts: Optional[pulumi.ResourceOptions] = None,
123
+ policies: Optional[pulumi.Input[Sequence[pulumi.Input[Union['PolicySetUpdateRanksPolicyArgs', 'PolicySetUpdateRanksPolicyArgsDict']]]]] = None,
124
+ __props__=None):
125
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
126
+ if not isinstance(opts, pulumi.ResourceOptions):
127
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
128
+ if opts.id is None:
129
+ if __props__ is not None:
130
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
131
+ __props__ = PolicySetUpdateRanksArgs.__new__(PolicySetUpdateRanksArgs)
132
+
133
+ __props__.__dict__["policies"] = policies
134
+ super(PolicySetUpdateRanks, __self__).__init__(
135
+ 'ise:deviceadmin/policySetUpdateRanks:PolicySetUpdateRanks',
136
+ resource_name,
137
+ __props__,
138
+ opts)
139
+
140
+ @staticmethod
141
+ def get(resource_name: str,
142
+ id: pulumi.Input[str],
143
+ opts: Optional[pulumi.ResourceOptions] = None,
144
+ policies: Optional[pulumi.Input[Sequence[pulumi.Input[Union['PolicySetUpdateRanksPolicyArgs', 'PolicySetUpdateRanksPolicyArgsDict']]]]] = None) -> 'PolicySetUpdateRanks':
145
+ """
146
+ Get an existing PolicySetUpdateRanks resource's state with the given name, id, and optional extra
147
+ properties used to qualify the lookup.
148
+
149
+ :param str resource_name: The unique name of the resulting resource.
150
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
151
+ :param pulumi.ResourceOptions opts: Options for the resource.
152
+ """
153
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
154
+
155
+ __props__ = _PolicySetUpdateRanksState.__new__(_PolicySetUpdateRanksState)
156
+
157
+ __props__.__dict__["policies"] = policies
158
+ return PolicySetUpdateRanks(resource_name, opts=opts, __props__=__props__)
159
+
160
+ @property
161
+ @pulumi.getter
162
+ def policies(self) -> pulumi.Output[Optional[Sequence['outputs.PolicySetUpdateRanksPolicy']]]:
163
+ return pulumi.get(self, "policies")
164
+