ibm-platform-services 0.59.1__py3-none-any.whl → 0.60.0__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.
@@ -1,6 +1,6 @@
1
1
  # coding: utf-8
2
2
 
3
- # (C) Copyright IBM Corp. 2023.
3
+ # (C) Copyright IBM Corp. 2025.
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
6
6
  # you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
14
14
  # See the License for the specific language governing permissions and
15
15
  # limitations under the License.
16
16
 
17
- # IBM OpenAPI SDK Code Generator Version: 3.78.0-67aec9b7-20230818-174940
17
+ # IBM OpenAPI SDK Code Generator Version: 3.99.1-daeb6e46-20250131-173156
18
18
 
19
19
  """
20
20
  The IAM Access Groups API allows for the management of access groups (Create, Read,
@@ -26,7 +26,7 @@ API Version: 2.0
26
26
 
27
27
  from datetime import datetime
28
28
  from enum import Enum
29
- from typing import Dict, List
29
+ from typing import Dict, List, Optional
30
30
  import json
31
31
 
32
32
  from ibm_cloud_sdk_core import BaseService, DetailedResponse, get_query_param
@@ -83,8 +83,8 @@ class IamAccessGroupsV2(BaseService):
83
83
  account_id: str,
84
84
  name: str,
85
85
  *,
86
- description: str = None,
87
- transaction_id: str = None,
86
+ description: Optional[str] = None,
87
+ transaction_id: Optional[str] = None,
88
88
  **kwargs,
89
89
  ) -> DetailedResponse:
90
90
  """
@@ -162,15 +162,16 @@ class IamAccessGroupsV2(BaseService):
162
162
  self,
163
163
  account_id: str,
164
164
  *,
165
- transaction_id: str = None,
166
- iam_id: str = None,
167
- search: str = None,
168
- membership_type: str = None,
169
- limit: int = None,
170
- offset: int = None,
171
- sort: str = None,
172
- show_federated: bool = None,
173
- hide_public_access: bool = None,
165
+ transaction_id: Optional[str] = None,
166
+ iam_id: Optional[str] = None,
167
+ search: Optional[str] = None,
168
+ membership_type: Optional[str] = None,
169
+ limit: Optional[int] = None,
170
+ offset: Optional[int] = None,
171
+ sort: Optional[str] = None,
172
+ show_federated: Optional[bool] = None,
173
+ hide_public_access: Optional[bool] = None,
174
+ show_crn: Optional[bool] = None,
174
175
  **kwargs,
175
176
  ) -> DetailedResponse:
176
177
  """
@@ -217,6 +218,8 @@ class IamAccessGroupsV2(BaseService):
217
218
  exist for the group.
218
219
  :param bool hide_public_access: (optional) If hide_public_access is true,
219
220
  do not include the Public Access Group in the results.
221
+ :param bool show_crn: (optional) If show_crn is true, group CRN will be
222
+ included in the response.
220
223
  :param dict headers: A `dict` containing the request headers
221
224
  :return: A `DetailedResponse` containing the result, headers and HTTP status code.
222
225
  :rtype: DetailedResponse with `dict` result representing a `GroupsList` object
@@ -244,6 +247,7 @@ class IamAccessGroupsV2(BaseService):
244
247
  'sort': sort,
245
248
  'show_federated': show_federated,
246
249
  'hide_public_access': hide_public_access,
250
+ 'show_crn': show_crn,
247
251
  }
248
252
 
249
253
  if 'headers' in kwargs:
@@ -266,8 +270,9 @@ class IamAccessGroupsV2(BaseService):
266
270
  self,
267
271
  access_group_id: str,
268
272
  *,
269
- transaction_id: str = None,
270
- show_federated: bool = None,
273
+ transaction_id: Optional[str] = None,
274
+ show_federated: Optional[bool] = None,
275
+ show_crn: Optional[bool] = None,
271
276
  **kwargs,
272
277
  ) -> DetailedResponse:
273
278
  """
@@ -287,6 +292,8 @@ class IamAccessGroupsV2(BaseService):
287
292
  :param bool show_federated: (optional) If show_federated is true, the group
288
293
  will return an is_federated value that is set to true if rules exist for
289
294
  the group.
295
+ :param bool show_crn: (optional) If show_crn is true, group CRN will be
296
+ included in the response.
290
297
  :param dict headers: A `dict` containing the request headers
291
298
  :return: A `DetailedResponse` containing the result, headers and HTTP status code.
292
299
  :rtype: DetailedResponse with `dict` result representing a `Group` object
@@ -306,6 +313,7 @@ class IamAccessGroupsV2(BaseService):
306
313
 
307
314
  params = {
308
315
  'show_federated': show_federated,
316
+ 'show_crn': show_crn,
309
317
  }
310
318
 
311
319
  if 'headers' in kwargs:
@@ -332,9 +340,9 @@ class IamAccessGroupsV2(BaseService):
332
340
  access_group_id: str,
333
341
  if_match: str,
334
342
  *,
335
- name: str = None,
336
- description: str = None,
337
- transaction_id: str = None,
343
+ name: Optional[str] = None,
344
+ description: Optional[str] = None,
345
+ transaction_id: Optional[str] = None,
338
346
  **kwargs,
339
347
  ) -> DetailedResponse:
340
348
  """
@@ -409,8 +417,8 @@ class IamAccessGroupsV2(BaseService):
409
417
  self,
410
418
  access_group_id: str,
411
419
  *,
412
- transaction_id: str = None,
413
- force: bool = None,
420
+ transaction_id: Optional[str] = None,
421
+ force: Optional[bool] = None,
414
422
  **kwargs,
415
423
  ) -> DetailedResponse:
416
424
  """
@@ -477,7 +485,7 @@ class IamAccessGroupsV2(BaseService):
477
485
  access_group_id: str,
478
486
  iam_id: str,
479
487
  *,
480
- transaction_id: str = None,
488
+ transaction_id: Optional[str] = None,
481
489
  **kwargs,
482
490
  ) -> DetailedResponse:
483
491
  """
@@ -536,8 +544,8 @@ class IamAccessGroupsV2(BaseService):
536
544
  self,
537
545
  access_group_id: str,
538
546
  *,
539
- members: List['AddGroupMembersRequestMembersItem'] = None,
540
- transaction_id: str = None,
547
+ members: Optional[List['AddGroupMembersRequestMembersItem']] = None,
548
+ transaction_id: Optional[str] = None,
541
549
  **kwargs,
542
550
  ) -> DetailedResponse:
543
551
  """
@@ -607,13 +615,13 @@ class IamAccessGroupsV2(BaseService):
607
615
  self,
608
616
  access_group_id: str,
609
617
  *,
610
- transaction_id: str = None,
611
- membership_type: str = None,
612
- limit: int = None,
613
- offset: int = None,
614
- type: str = None,
615
- verbose: bool = None,
616
- sort: str = None,
618
+ transaction_id: Optional[str] = None,
619
+ membership_type: Optional[str] = None,
620
+ limit: Optional[int] = None,
621
+ offset: Optional[int] = None,
622
+ type: Optional[str] = None,
623
+ verbose: Optional[bool] = None,
624
+ sort: Optional[str] = None,
617
625
  **kwargs,
618
626
  ) -> DetailedResponse:
619
627
  """
@@ -695,7 +703,7 @@ class IamAccessGroupsV2(BaseService):
695
703
  access_group_id: str,
696
704
  iam_id: str,
697
705
  *,
698
- transaction_id: str = None,
706
+ transaction_id: Optional[str] = None,
699
707
  **kwargs,
700
708
  ) -> DetailedResponse:
701
709
  """
@@ -754,8 +762,8 @@ class IamAccessGroupsV2(BaseService):
754
762
  self,
755
763
  access_group_id: str,
756
764
  *,
757
- members: List[str] = None,
758
- transaction_id: str = None,
765
+ members: Optional[List[str]] = None,
766
+ transaction_id: Optional[str] = None,
759
767
  **kwargs,
760
768
  ) -> DetailedResponse:
761
769
  """
@@ -823,7 +831,7 @@ class IamAccessGroupsV2(BaseService):
823
831
  account_id: str,
824
832
  iam_id: str,
825
833
  *,
826
- transaction_id: str = None,
834
+ transaction_id: Optional[str] = None,
827
835
  **kwargs,
828
836
  ) -> DetailedResponse:
829
837
  """
@@ -891,9 +899,9 @@ class IamAccessGroupsV2(BaseService):
891
899
  account_id: str,
892
900
  iam_id: str,
893
901
  *,
894
- type: str = None,
895
- groups: List[str] = None,
896
- transaction_id: str = None,
902
+ type: Optional[str] = None,
903
+ groups: Optional[List[str]] = None,
904
+ transaction_id: Optional[str] = None,
897
905
  **kwargs,
898
906
  ) -> DetailedResponse:
899
907
  """
@@ -979,8 +987,8 @@ class IamAccessGroupsV2(BaseService):
979
987
  realm_name: str,
980
988
  conditions: List['RuleConditions'],
981
989
  *,
982
- name: str = None,
983
- transaction_id: str = None,
990
+ name: Optional[str] = None,
991
+ transaction_id: Optional[str] = None,
984
992
  **kwargs,
985
993
  ) -> DetailedResponse:
986
994
  """
@@ -1064,7 +1072,7 @@ class IamAccessGroupsV2(BaseService):
1064
1072
  self,
1065
1073
  access_group_id: str,
1066
1074
  *,
1067
- transaction_id: str = None,
1075
+ transaction_id: Optional[str] = None,
1068
1076
  **kwargs,
1069
1077
  ) -> DetailedResponse:
1070
1078
  """
@@ -1119,7 +1127,7 @@ class IamAccessGroupsV2(BaseService):
1119
1127
  access_group_id: str,
1120
1128
  rule_id: str,
1121
1129
  *,
1122
- transaction_id: str = None,
1130
+ transaction_id: Optional[str] = None,
1123
1131
  **kwargs,
1124
1132
  ) -> DetailedResponse:
1125
1133
  """
@@ -1181,8 +1189,8 @@ class IamAccessGroupsV2(BaseService):
1181
1189
  realm_name: str,
1182
1190
  conditions: List['RuleConditions'],
1183
1191
  *,
1184
- name: str = None,
1185
- transaction_id: str = None,
1192
+ name: Optional[str] = None,
1193
+ transaction_id: Optional[str] = None,
1186
1194
  **kwargs,
1187
1195
  ) -> DetailedResponse:
1188
1196
  """
@@ -1271,7 +1279,7 @@ class IamAccessGroupsV2(BaseService):
1271
1279
  access_group_id: str,
1272
1280
  rule_id: str,
1273
1281
  *,
1274
- transaction_id: str = None,
1282
+ transaction_id: Optional[str] = None,
1275
1283
  **kwargs,
1276
1284
  ) -> DetailedResponse:
1277
1285
  """
@@ -1332,7 +1340,7 @@ class IamAccessGroupsV2(BaseService):
1332
1340
  self,
1333
1341
  account_id: str,
1334
1342
  *,
1335
- transaction_id: str = None,
1343
+ transaction_id: Optional[str] = None,
1336
1344
  **kwargs,
1337
1345
  ) -> DetailedResponse:
1338
1346
  """
@@ -1390,8 +1398,8 @@ class IamAccessGroupsV2(BaseService):
1390
1398
  self,
1391
1399
  account_id: str,
1392
1400
  *,
1393
- public_access_enabled: bool = None,
1394
- transaction_id: str = None,
1401
+ public_access_enabled: Optional[bool] = None,
1402
+ transaction_id: Optional[str] = None,
1395
1403
  **kwargs,
1396
1404
  ) -> DetailedResponse:
1397
1405
  """
@@ -1470,10 +1478,10 @@ class IamAccessGroupsV2(BaseService):
1470
1478
  name: str,
1471
1479
  account_id: str,
1472
1480
  *,
1473
- description: str = None,
1474
- group: 'AccessGroupRequest' = None,
1475
- policy_template_references: List['PolicyTemplates'] = None,
1476
- transaction_id: str = None,
1481
+ description: Optional[str] = None,
1482
+ group: Optional['AccessGroupRequest'] = None,
1483
+ policy_template_references: Optional[List['PolicyTemplates']] = None,
1484
+ transaction_id: Optional[str] = None,
1477
1485
  **kwargs,
1478
1486
  ) -> DetailedResponse:
1479
1487
  """
@@ -1550,10 +1558,10 @@ class IamAccessGroupsV2(BaseService):
1550
1558
  self,
1551
1559
  account_id: str,
1552
1560
  *,
1553
- transaction_id: str = None,
1554
- limit: int = None,
1555
- offset: int = None,
1556
- verbose: bool = None,
1561
+ transaction_id: Optional[str] = None,
1562
+ limit: Optional[int] = None,
1563
+ offset: Optional[int] = None,
1564
+ verbose: Optional[bool] = None,
1557
1565
  **kwargs,
1558
1566
  ) -> DetailedResponse:
1559
1567
  """
@@ -1615,11 +1623,11 @@ class IamAccessGroupsV2(BaseService):
1615
1623
  self,
1616
1624
  template_id: str,
1617
1625
  *,
1618
- name: str = None,
1619
- description: str = None,
1620
- group: 'AccessGroupRequest' = None,
1621
- policy_template_references: List['PolicyTemplates'] = None,
1622
- transaction_id: str = None,
1626
+ name: Optional[str] = None,
1627
+ description: Optional[str] = None,
1628
+ group: Optional['AccessGroupRequest'] = None,
1629
+ policy_template_references: Optional[List['PolicyTemplates']] = None,
1630
+ transaction_id: Optional[str] = None,
1623
1631
  **kwargs,
1624
1632
  ) -> DetailedResponse:
1625
1633
  """
@@ -1693,8 +1701,8 @@ class IamAccessGroupsV2(BaseService):
1693
1701
  self,
1694
1702
  template_id: str,
1695
1703
  *,
1696
- limit: int = None,
1697
- offset: int = None,
1704
+ limit: Optional[int] = None,
1705
+ offset: Optional[int] = None,
1698
1706
  **kwargs,
1699
1707
  ) -> DetailedResponse:
1700
1708
  """
@@ -1752,8 +1760,8 @@ class IamAccessGroupsV2(BaseService):
1752
1760
  template_id: str,
1753
1761
  version_num: str,
1754
1762
  *,
1755
- verbose: bool = None,
1756
- transaction_id: str = None,
1763
+ verbose: Optional[bool] = None,
1764
+ transaction_id: Optional[str] = None,
1757
1765
  **kwargs,
1758
1766
  ) -> DetailedResponse:
1759
1767
  """
@@ -1816,11 +1824,11 @@ class IamAccessGroupsV2(BaseService):
1816
1824
  version_num: str,
1817
1825
  if_match: str,
1818
1826
  *,
1819
- name: str = None,
1820
- description: str = None,
1821
- group: 'AccessGroupRequest' = None,
1822
- policy_template_references: List['PolicyTemplates'] = None,
1823
- transaction_id: str = None,
1827
+ name: Optional[str] = None,
1828
+ description: Optional[str] = None,
1829
+ group: Optional['AccessGroupRequest'] = None,
1830
+ policy_template_references: Optional[List['PolicyTemplates']] = None,
1831
+ transaction_id: Optional[str] = None,
1824
1832
  **kwargs,
1825
1833
  ) -> DetailedResponse:
1826
1834
  """
@@ -1901,7 +1909,7 @@ class IamAccessGroupsV2(BaseService):
1901
1909
  template_id: str,
1902
1910
  version_num: str,
1903
1911
  *,
1904
- transaction_id: str = None,
1912
+ transaction_id: Optional[str] = None,
1905
1913
  **kwargs,
1906
1914
  ) -> DetailedResponse:
1907
1915
  """
@@ -1956,7 +1964,7 @@ class IamAccessGroupsV2(BaseService):
1956
1964
  version_num: str,
1957
1965
  if_match: str,
1958
1966
  *,
1959
- transaction_id: str = None,
1967
+ transaction_id: Optional[str] = None,
1960
1968
  **kwargs,
1961
1969
  ) -> DetailedResponse:
1962
1970
  """
@@ -2014,8 +2022,8 @@ class IamAccessGroupsV2(BaseService):
2014
2022
  self,
2015
2023
  template_id: str,
2016
2024
  *,
2017
- verbose: bool = None,
2018
- transaction_id: str = None,
2025
+ verbose: Optional[bool] = None,
2026
+ transaction_id: Optional[str] = None,
2019
2027
  **kwargs,
2020
2028
  ) -> DetailedResponse:
2021
2029
  """
@@ -2073,7 +2081,7 @@ class IamAccessGroupsV2(BaseService):
2073
2081
  self,
2074
2082
  template_id: str,
2075
2083
  *,
2076
- transaction_id: str = None,
2084
+ transaction_id: Optional[str] = None,
2077
2085
  **kwargs,
2078
2086
  ) -> DetailedResponse:
2079
2087
  """
@@ -2130,7 +2138,7 @@ class IamAccessGroupsV2(BaseService):
2130
2138
  target_type: str,
2131
2139
  target: str,
2132
2140
  *,
2133
- transaction_id: str = None,
2141
+ transaction_id: Optional[str] = None,
2134
2142
  **kwargs,
2135
2143
  ) -> DetailedResponse:
2136
2144
  """
@@ -2203,13 +2211,13 @@ class IamAccessGroupsV2(BaseService):
2203
2211
  self,
2204
2212
  account_id: str,
2205
2213
  *,
2206
- template_id: str = None,
2207
- template_version: str = None,
2208
- target: str = None,
2209
- status: str = None,
2210
- transaction_id: str = None,
2211
- limit: int = None,
2212
- offset: int = None,
2214
+ template_id: Optional[str] = None,
2215
+ template_version: Optional[str] = None,
2216
+ target: Optional[str] = None,
2217
+ status: Optional[str] = None,
2218
+ transaction_id: Optional[str] = None,
2219
+ limit: Optional[int] = None,
2220
+ offset: Optional[int] = None,
2213
2221
  **kwargs,
2214
2222
  ) -> DetailedResponse:
2215
2223
  """
@@ -2275,8 +2283,8 @@ class IamAccessGroupsV2(BaseService):
2275
2283
  self,
2276
2284
  assignment_id: str,
2277
2285
  *,
2278
- transaction_id: str = None,
2279
- verbose: bool = None,
2286
+ transaction_id: Optional[str] = None,
2287
+ verbose: Optional[bool] = None,
2280
2288
  **kwargs,
2281
2289
  ) -> DetailedResponse:
2282
2290
  """
@@ -2399,7 +2407,7 @@ class IamAccessGroupsV2(BaseService):
2399
2407
  self,
2400
2408
  assignment_id: str,
2401
2409
  *,
2402
- transaction_id: str = None,
2410
+ transaction_id: Optional[str] = None,
2403
2411
  **kwargs,
2404
2412
  ) -> DetailedResponse:
2405
2413
  """
@@ -2471,20 +2479,20 @@ class AccessActionControls:
2471
2479
  Control whether or not access group administrators in child accounts can add access
2472
2480
  policies to the enterprise-managed access group in their account.
2473
2481
 
2474
- :attr bool add: (optional) Action control for adding access policies to an
2482
+ :param bool add: (optional) Action control for adding access policies to an
2475
2483
  enterprise-managed access group in a child account. If an access group
2476
2484
  administrator in a child account adds a policy, they can always update or remove
2477
2485
  it. Note that if conflicts arise between an update to this control in a new
2478
2486
  version and polices added to the access group by an administrator in a child
2479
2487
  account, you must resolve those conflicts in the child account. This prevents
2480
2488
  breaking access in the child account. For more information, see [Working with
2481
- versions](https://test.cloud.ibm.com/docs/secure-enterprise?topic=secure-enterprise-working-with-versions#new-version-scenarios).
2489
+ versions](https://cloud.ibm.com/docs/secure-enterprise?topic=secure-enterprise-working-with-versions#new-version-scenarios).
2482
2490
  """
2483
2491
 
2484
2492
  def __init__(
2485
2493
  self,
2486
2494
  *,
2487
- add: bool = None,
2495
+ add: Optional[bool] = None,
2488
2496
  ) -> None:
2489
2497
  """
2490
2498
  Initialize a AccessActionControls object.
@@ -2497,7 +2505,7 @@ class AccessActionControls:
2497
2505
  in a child account, you must resolve those conflicts in the child account.
2498
2506
  This prevents breaking access in the child account. For more information,
2499
2507
  see [Working with
2500
- versions](https://test.cloud.ibm.com/docs/secure-enterprise?topic=secure-enterprise-working-with-versions#new-version-scenarios).
2508
+ versions](https://cloud.ibm.com/docs/secure-enterprise?topic=secure-enterprise-working-with-versions#new-version-scenarios).
2501
2509
  """
2502
2510
  self.add = add
2503
2511
 
@@ -2505,8 +2513,8 @@ class AccessActionControls:
2505
2513
  def from_dict(cls, _dict: Dict) -> 'AccessActionControls':
2506
2514
  """Initialize a AccessActionControls object from a json dictionary."""
2507
2515
  args = {}
2508
- if 'add' in _dict:
2509
- args['add'] = _dict.get('add')
2516
+ if (add := _dict.get('add')) is not None:
2517
+ args['add'] = add
2510
2518
  return cls(**args)
2511
2519
 
2512
2520
  @classmethod
@@ -2544,16 +2552,16 @@ class AccessGroupRequest:
2544
2552
  """
2545
2553
  Access Group Component.
2546
2554
 
2547
- :attr str name: Give the access group a unique name that doesn't conflict with
2555
+ :param str name: Give the access group a unique name that doesn't conflict with
2548
2556
  other templates access group name in the given account. This is shown in child
2549
2557
  accounts.
2550
- :attr str description: (optional) Access group description. This is shown in
2558
+ :param str description: (optional) Access group description. This is shown in
2551
2559
  child accounts.
2552
- :attr Members members: (optional) Array of enterprise users to add to the
2560
+ :param Members members: (optional) Array of enterprise users to add to the
2553
2561
  template. All enterprise users that you add to the template must be invited to
2554
2562
  the child accounts where the template is assigned.
2555
- :attr Assertions assertions: (optional) Assertions Input Component.
2556
- :attr GroupActionControls action_controls: (optional) Access group action
2563
+ :param Assertions assertions: (optional) Assertions Input Component.
2564
+ :param GroupActionControls action_controls: (optional) Access group action
2557
2565
  controls component.
2558
2566
  """
2559
2567
 
@@ -2561,10 +2569,10 @@ class AccessGroupRequest:
2561
2569
  self,
2562
2570
  name: str,
2563
2571
  *,
2564
- description: str = None,
2565
- members: 'Members' = None,
2566
- assertions: 'Assertions' = None,
2567
- action_controls: 'GroupActionControls' = None,
2572
+ description: Optional[str] = None,
2573
+ members: Optional['Members'] = None,
2574
+ assertions: Optional['Assertions'] = None,
2575
+ action_controls: Optional['GroupActionControls'] = None,
2568
2576
  ) -> None:
2569
2577
  """
2570
2578
  Initialize a AccessGroupRequest object.
@@ -2591,18 +2599,18 @@ class AccessGroupRequest:
2591
2599
  def from_dict(cls, _dict: Dict) -> 'AccessGroupRequest':
2592
2600
  """Initialize a AccessGroupRequest object from a json dictionary."""
2593
2601
  args = {}
2594
- if 'name' in _dict:
2595
- args['name'] = _dict.get('name')
2602
+ if (name := _dict.get('name')) is not None:
2603
+ args['name'] = name
2596
2604
  else:
2597
2605
  raise ValueError('Required property \'name\' not present in AccessGroupRequest JSON')
2598
- if 'description' in _dict:
2599
- args['description'] = _dict.get('description')
2600
- if 'members' in _dict:
2601
- args['members'] = Members.from_dict(_dict.get('members'))
2602
- if 'assertions' in _dict:
2603
- args['assertions'] = Assertions.from_dict(_dict.get('assertions'))
2604
- if 'action_controls' in _dict:
2605
- args['action_controls'] = GroupActionControls.from_dict(_dict.get('action_controls'))
2606
+ if (description := _dict.get('description')) is not None:
2607
+ args['description'] = description
2608
+ if (members := _dict.get('members')) is not None:
2609
+ args['members'] = Members.from_dict(members)
2610
+ if (assertions := _dict.get('assertions')) is not None:
2611
+ args['assertions'] = Assertions.from_dict(assertions)
2612
+ if (action_controls := _dict.get('action_controls')) is not None:
2613
+ args['action_controls'] = GroupActionControls.from_dict(action_controls)
2606
2614
  return cls(**args)
2607
2615
 
2608
2616
  @classmethod
@@ -2657,16 +2665,16 @@ class AccessGroupResponse:
2657
2665
  """
2658
2666
  Access Group Component.
2659
2667
 
2660
- :attr str name: Give the access group a unique name that doesn't conflict with
2668
+ :param str name: Give the access group a unique name that doesn't conflict with
2661
2669
  other templates access group name in the given account. This is shown in child
2662
2670
  accounts.
2663
- :attr str description: (optional) Access group description. This is shown in
2671
+ :param str description: (optional) Access group description. This is shown in
2664
2672
  child accounts.
2665
- :attr Members members: (optional) Array of enterprise users to add to the
2673
+ :param Members members: (optional) Array of enterprise users to add to the
2666
2674
  template. All enterprise users that you add to the template must be invited to
2667
2675
  the child accounts where the template is assigned.
2668
- :attr Assertions assertions: (optional) Assertions Input Component.
2669
- :attr GroupActionControls action_controls: (optional) Access group action
2676
+ :param Assertions assertions: (optional) Assertions Input Component.
2677
+ :param GroupActionControls action_controls: (optional) Access group action
2670
2678
  controls component.
2671
2679
  """
2672
2680
 
@@ -2674,10 +2682,10 @@ class AccessGroupResponse:
2674
2682
  self,
2675
2683
  name: str,
2676
2684
  *,
2677
- description: str = None,
2678
- members: 'Members' = None,
2679
- assertions: 'Assertions' = None,
2680
- action_controls: 'GroupActionControls' = None,
2685
+ description: Optional[str] = None,
2686
+ members: Optional['Members'] = None,
2687
+ assertions: Optional['Assertions'] = None,
2688
+ action_controls: Optional['GroupActionControls'] = None,
2681
2689
  ) -> None:
2682
2690
  """
2683
2691
  Initialize a AccessGroupResponse object.
@@ -2704,18 +2712,18 @@ class AccessGroupResponse:
2704
2712
  def from_dict(cls, _dict: Dict) -> 'AccessGroupResponse':
2705
2713
  """Initialize a AccessGroupResponse object from a json dictionary."""
2706
2714
  args = {}
2707
- if 'name' in _dict:
2708
- args['name'] = _dict.get('name')
2715
+ if (name := _dict.get('name')) is not None:
2716
+ args['name'] = name
2709
2717
  else:
2710
2718
  raise ValueError('Required property \'name\' not present in AccessGroupResponse JSON')
2711
- if 'description' in _dict:
2712
- args['description'] = _dict.get('description')
2713
- if 'members' in _dict:
2714
- args['members'] = Members.from_dict(_dict.get('members'))
2715
- if 'assertions' in _dict:
2716
- args['assertions'] = Assertions.from_dict(_dict.get('assertions'))
2717
- if 'action_controls' in _dict:
2718
- args['action_controls'] = GroupActionControls.from_dict(_dict.get('action_controls'))
2719
+ if (description := _dict.get('description')) is not None:
2720
+ args['description'] = description
2721
+ if (members := _dict.get('members')) is not None:
2722
+ args['members'] = Members.from_dict(members)
2723
+ if (assertions := _dict.get('assertions')) is not None:
2724
+ args['assertions'] = Assertions.from_dict(assertions)
2725
+ if (action_controls := _dict.get('action_controls')) is not None:
2726
+ args['action_controls'] = GroupActionControls.from_dict(action_controls)
2719
2727
  return cls(**args)
2720
2728
 
2721
2729
  @classmethod
@@ -2770,12 +2778,12 @@ class AccountSettings:
2770
2778
  """
2771
2779
  The access groups settings for a specific account.
2772
2780
 
2773
- :attr str account_id: (optional) The account id of the settings being shown.
2774
- :attr datetime last_modified_at: (optional) The timestamp the settings were last
2775
- edited at.
2776
- :attr str last_modified_by_id: (optional) The `iam_id` of the entity that last
2781
+ :param str account_id: (optional) The account id of the settings being shown.
2782
+ :param datetime last_modified_at: (optional) The timestamp the settings were
2783
+ last edited at.
2784
+ :param str last_modified_by_id: (optional) The `iam_id` of the entity that last
2777
2785
  modified the settings.
2778
- :attr bool public_access_enabled: (optional) This flag controls the public
2786
+ :param bool public_access_enabled: (optional) This flag controls the public
2779
2787
  access feature within the account. It is set to true by default. Note: When this
2780
2788
  flag is set to false, all policies within the account attached to the Public
2781
2789
  Access group will be deleted.
@@ -2784,10 +2792,10 @@ class AccountSettings:
2784
2792
  def __init__(
2785
2793
  self,
2786
2794
  *,
2787
- account_id: str = None,
2788
- last_modified_at: datetime = None,
2789
- last_modified_by_id: str = None,
2790
- public_access_enabled: bool = None,
2795
+ account_id: Optional[str] = None,
2796
+ last_modified_at: Optional[datetime] = None,
2797
+ last_modified_by_id: Optional[str] = None,
2798
+ public_access_enabled: Optional[bool] = None,
2791
2799
  ) -> None:
2792
2800
  """
2793
2801
  Initialize a AccountSettings object.
@@ -2812,14 +2820,14 @@ class AccountSettings:
2812
2820
  def from_dict(cls, _dict: Dict) -> 'AccountSettings':
2813
2821
  """Initialize a AccountSettings object from a json dictionary."""
2814
2822
  args = {}
2815
- if 'account_id' in _dict:
2816
- args['account_id'] = _dict.get('account_id')
2817
- if 'last_modified_at' in _dict:
2818
- args['last_modified_at'] = string_to_datetime(_dict.get('last_modified_at'))
2819
- if 'last_modified_by_id' in _dict:
2820
- args['last_modified_by_id'] = _dict.get('last_modified_by_id')
2821
- if 'public_access_enabled' in _dict:
2822
- args['public_access_enabled'] = _dict.get('public_access_enabled')
2823
+ if (account_id := _dict.get('account_id')) is not None:
2824
+ args['account_id'] = account_id
2825
+ if (last_modified_at := _dict.get('last_modified_at')) is not None:
2826
+ args['last_modified_at'] = string_to_datetime(last_modified_at)
2827
+ if (last_modified_by_id := _dict.get('last_modified_by_id')) is not None:
2828
+ args['last_modified_by_id'] = last_modified_by_id
2829
+ if (public_access_enabled := _dict.get('public_access_enabled')) is not None:
2830
+ args['public_access_enabled'] = public_access_enabled
2823
2831
  return cls(**args)
2824
2832
 
2825
2833
  @classmethod
@@ -2863,8 +2871,8 @@ class AddGroupMembersRequestMembersItem:
2863
2871
  """
2864
2872
  AddGroupMembersRequestMembersItem.
2865
2873
 
2866
- :attr str iam_id: The IBMid, service ID or trusted profile ID of the member.
2867
- :attr str type: The type of the member, must be either "user", "service" or
2874
+ :param str iam_id: The IBMid, service ID or trusted profile ID of the member.
2875
+ :param str type: The type of the member, must be either "user", "service" or
2868
2876
  "profile".
2869
2877
  """
2870
2878
 
@@ -2888,12 +2896,12 @@ class AddGroupMembersRequestMembersItem:
2888
2896
  def from_dict(cls, _dict: Dict) -> 'AddGroupMembersRequestMembersItem':
2889
2897
  """Initialize a AddGroupMembersRequestMembersItem object from a json dictionary."""
2890
2898
  args = {}
2891
- if 'iam_id' in _dict:
2892
- args['iam_id'] = _dict.get('iam_id')
2899
+ if (iam_id := _dict.get('iam_id')) is not None:
2900
+ args['iam_id'] = iam_id
2893
2901
  else:
2894
2902
  raise ValueError('Required property \'iam_id\' not present in AddGroupMembersRequestMembersItem JSON')
2895
- if 'type' in _dict:
2896
- args['type'] = _dict.get('type')
2903
+ if (type := _dict.get('type')) is not None:
2904
+ args['type'] = type
2897
2905
  else:
2898
2906
  raise ValueError('Required property \'type\' not present in AddGroupMembersRequestMembersItem JSON')
2899
2907
  return cls(**args)
@@ -2935,14 +2943,14 @@ class AddGroupMembersResponse:
2935
2943
  """
2936
2944
  The members added to an access group.
2937
2945
 
2938
- :attr List[AddGroupMembersResponseMembersItem] members: (optional) The members
2946
+ :param List[AddGroupMembersResponseMembersItem] members: (optional) The members
2939
2947
  added to an access group.
2940
2948
  """
2941
2949
 
2942
2950
  def __init__(
2943
2951
  self,
2944
2952
  *,
2945
- members: List['AddGroupMembersResponseMembersItem'] = None,
2953
+ members: Optional[List['AddGroupMembersResponseMembersItem']] = None,
2946
2954
  ) -> None:
2947
2955
  """
2948
2956
  Initialize a AddGroupMembersResponse object.
@@ -2956,8 +2964,8 @@ class AddGroupMembersResponse:
2956
2964
  def from_dict(cls, _dict: Dict) -> 'AddGroupMembersResponse':
2957
2965
  """Initialize a AddGroupMembersResponse object from a json dictionary."""
2958
2966
  args = {}
2959
- if 'members' in _dict:
2960
- args['members'] = [AddGroupMembersResponseMembersItem.from_dict(v) for v in _dict.get('members')]
2967
+ if (members := _dict.get('members')) is not None:
2968
+ args['members'] = [AddGroupMembersResponseMembersItem.from_dict(v) for v in members]
2961
2969
  return cls(**args)
2962
2970
 
2963
2971
  @classmethod
@@ -3001,30 +3009,31 @@ class AddGroupMembersResponseMembersItem:
3001
3009
  """
3002
3010
  AddGroupMembersResponseMembersItem.
3003
3011
 
3004
- :attr str iam_id: (optional) The IBMid or Service Id of the member.
3005
- :attr str type: (optional) The member type - either `user`, `service` or
3012
+ :param str iam_id: (optional) The IBMid or Service Id of the member.
3013
+ :param str type: (optional) The member type - either `user`, `service` or
3006
3014
  `profile`.
3007
- :attr datetime created_at: (optional) The timestamp of when the membership was
3015
+ :param datetime created_at: (optional) The timestamp of when the membership was
3008
3016
  created.
3009
- :attr str created_by_id: (optional) The `iam_id` of the entity that created the
3017
+ :param str created_by_id: (optional) The `iam_id` of the entity that created the
3010
3018
  membership.
3011
- :attr int status_code: (optional) The outcome of the operation on this `iam_id`.
3012
- :attr str trace: (optional) A transaction-id that can be used for debugging
3019
+ :param int status_code: (optional) The outcome of the operation on this
3020
+ `iam_id`.
3021
+ :param str trace: (optional) A transaction-id that can be used for debugging
3013
3022
  purposes.
3014
- :attr List[Error] errors: (optional) A list of errors that occurred when trying
3023
+ :param List[Error] errors: (optional) A list of errors that occurred when trying
3015
3024
  to add members to a group.
3016
3025
  """
3017
3026
 
3018
3027
  def __init__(
3019
3028
  self,
3020
3029
  *,
3021
- iam_id: str = None,
3022
- type: str = None,
3023
- created_at: datetime = None,
3024
- created_by_id: str = None,
3025
- status_code: int = None,
3026
- trace: str = None,
3027
- errors: List['Error'] = None,
3030
+ iam_id: Optional[str] = None,
3031
+ type: Optional[str] = None,
3032
+ created_at: Optional[datetime] = None,
3033
+ created_by_id: Optional[str] = None,
3034
+ status_code: Optional[int] = None,
3035
+ trace: Optional[str] = None,
3036
+ errors: Optional[List['Error']] = None,
3028
3037
  ) -> None:
3029
3038
  """
3030
3039
  Initialize a AddGroupMembersResponseMembersItem object.
@@ -3055,20 +3064,20 @@ class AddGroupMembersResponseMembersItem:
3055
3064
  def from_dict(cls, _dict: Dict) -> 'AddGroupMembersResponseMembersItem':
3056
3065
  """Initialize a AddGroupMembersResponseMembersItem object from a json dictionary."""
3057
3066
  args = {}
3058
- if 'iam_id' in _dict:
3059
- args['iam_id'] = _dict.get('iam_id')
3060
- if 'type' in _dict:
3061
- args['type'] = _dict.get('type')
3062
- if 'created_at' in _dict:
3063
- args['created_at'] = string_to_datetime(_dict.get('created_at'))
3064
- if 'created_by_id' in _dict:
3065
- args['created_by_id'] = _dict.get('created_by_id')
3066
- if 'status_code' in _dict:
3067
- args['status_code'] = _dict.get('status_code')
3068
- if 'trace' in _dict:
3069
- args['trace'] = _dict.get('trace')
3070
- if 'errors' in _dict:
3071
- args['errors'] = [Error.from_dict(v) for v in _dict.get('errors')]
3067
+ if (iam_id := _dict.get('iam_id')) is not None:
3068
+ args['iam_id'] = iam_id
3069
+ if (type := _dict.get('type')) is not None:
3070
+ args['type'] = type
3071
+ if (created_at := _dict.get('created_at')) is not None:
3072
+ args['created_at'] = string_to_datetime(created_at)
3073
+ if (created_by_id := _dict.get('created_by_id')) is not None:
3074
+ args['created_by_id'] = created_by_id
3075
+ if (status_code := _dict.get('status_code')) is not None:
3076
+ args['status_code'] = status_code
3077
+ if (trace := _dict.get('trace')) is not None:
3078
+ args['trace'] = trace
3079
+ if (errors := _dict.get('errors')) is not None:
3080
+ args['errors'] = [Error.from_dict(v) for v in errors]
3072
3081
  return cls(**args)
3073
3082
 
3074
3083
  @classmethod
@@ -3124,16 +3133,16 @@ class AddMembershipMultipleGroupsResponse:
3124
3133
  """
3125
3134
  The response from the add member to multiple access groups request.
3126
3135
 
3127
- :attr str iam_id: (optional) The iam_id of a member.
3128
- :attr List[AddMembershipMultipleGroupsResponseGroupsItem] groups: (optional) The
3129
- list of access groups a member was added to.
3136
+ :param str iam_id: (optional) The iam_id of a member.
3137
+ :param List[AddMembershipMultipleGroupsResponseGroupsItem] groups: (optional)
3138
+ The list of access groups a member was added to.
3130
3139
  """
3131
3140
 
3132
3141
  def __init__(
3133
3142
  self,
3134
3143
  *,
3135
- iam_id: str = None,
3136
- groups: List['AddMembershipMultipleGroupsResponseGroupsItem'] = None,
3144
+ iam_id: Optional[str] = None,
3145
+ groups: Optional[List['AddMembershipMultipleGroupsResponseGroupsItem']] = None,
3137
3146
  ) -> None:
3138
3147
  """
3139
3148
  Initialize a AddMembershipMultipleGroupsResponse object.
@@ -3149,10 +3158,10 @@ class AddMembershipMultipleGroupsResponse:
3149
3158
  def from_dict(cls, _dict: Dict) -> 'AddMembershipMultipleGroupsResponse':
3150
3159
  """Initialize a AddMembershipMultipleGroupsResponse object from a json dictionary."""
3151
3160
  args = {}
3152
- if 'iam_id' in _dict:
3153
- args['iam_id'] = _dict.get('iam_id')
3154
- if 'groups' in _dict:
3155
- args['groups'] = [AddMembershipMultipleGroupsResponseGroupsItem.from_dict(v) for v in _dict.get('groups')]
3161
+ if (iam_id := _dict.get('iam_id')) is not None:
3162
+ args['iam_id'] = iam_id
3163
+ if (groups := _dict.get('groups')) is not None:
3164
+ args['groups'] = [AddMembershipMultipleGroupsResponseGroupsItem.from_dict(v) for v in groups]
3156
3165
  return cls(**args)
3157
3166
 
3158
3167
  @classmethod
@@ -3198,23 +3207,23 @@ class AddMembershipMultipleGroupsResponseGroupsItem:
3198
3207
  """
3199
3208
  AddMembershipMultipleGroupsResponseGroupsItem.
3200
3209
 
3201
- :attr str access_group_id: (optional) The access group that the member is to be
3210
+ :param str access_group_id: (optional) The access group that the member is to be
3202
3211
  added to.
3203
- :attr int status_code: (optional) The outcome of the add membership operation on
3204
- this `access_group_id`.
3205
- :attr str trace: (optional) A transaction-id that can be used for debugging
3212
+ :param int status_code: (optional) The outcome of the add membership operation
3213
+ on this `access_group_id`.
3214
+ :param str trace: (optional) A transaction-id that can be used for debugging
3206
3215
  purposes.
3207
- :attr List[Error] errors: (optional) List of errors encountered when adding
3216
+ :param List[Error] errors: (optional) List of errors encountered when adding
3208
3217
  member to access group.
3209
3218
  """
3210
3219
 
3211
3220
  def __init__(
3212
3221
  self,
3213
3222
  *,
3214
- access_group_id: str = None,
3215
- status_code: int = None,
3216
- trace: str = None,
3217
- errors: List['Error'] = None,
3223
+ access_group_id: Optional[str] = None,
3224
+ status_code: Optional[int] = None,
3225
+ trace: Optional[str] = None,
3226
+ errors: Optional[List['Error']] = None,
3218
3227
  ) -> None:
3219
3228
  """
3220
3229
  Initialize a AddMembershipMultipleGroupsResponseGroupsItem object.
@@ -3237,14 +3246,14 @@ class AddMembershipMultipleGroupsResponseGroupsItem:
3237
3246
  def from_dict(cls, _dict: Dict) -> 'AddMembershipMultipleGroupsResponseGroupsItem':
3238
3247
  """Initialize a AddMembershipMultipleGroupsResponseGroupsItem object from a json dictionary."""
3239
3248
  args = {}
3240
- if 'access_group_id' in _dict:
3241
- args['access_group_id'] = _dict.get('access_group_id')
3242
- if 'status_code' in _dict:
3243
- args['status_code'] = _dict.get('status_code')
3244
- if 'trace' in _dict:
3245
- args['trace'] = _dict.get('trace')
3246
- if 'errors' in _dict:
3247
- args['errors'] = [Error.from_dict(v) for v in _dict.get('errors')]
3249
+ if (access_group_id := _dict.get('access_group_id')) is not None:
3250
+ args['access_group_id'] = access_group_id
3251
+ if (status_code := _dict.get('status_code')) is not None:
3252
+ args['status_code'] = status_code
3253
+ if (trace := _dict.get('trace')) is not None:
3254
+ args['trace'] = trace
3255
+ if (errors := _dict.get('errors')) is not None:
3256
+ args['errors'] = [Error.from_dict(v) for v in errors]
3248
3257
  return cls(**args)
3249
3258
 
3250
3259
  @classmethod
@@ -3294,9 +3303,9 @@ class Assertions:
3294
3303
  """
3295
3304
  Assertions Input Component.
3296
3305
 
3297
- :attr List[AssertionsRule] rules: (optional) Dynamic rules to automatically add
3306
+ :param List[AssertionsRule] rules: (optional) Dynamic rules to automatically add
3298
3307
  federated users to access groups based on specific identity attributes.
3299
- :attr AssertionsActionControls action_controls: (optional) Control whether or
3308
+ :param AssertionsActionControls action_controls: (optional) Control whether or
3300
3309
  not access group administrators in child accounts can add, remove, and update
3301
3310
  dynamic rules for the enterprise-managed access group in their account. The
3302
3311
  inner level RuleActionControls override these `remove` and `update` action
@@ -3306,8 +3315,8 @@ class Assertions:
3306
3315
  def __init__(
3307
3316
  self,
3308
3317
  *,
3309
- rules: List['AssertionsRule'] = None,
3310
- action_controls: 'AssertionsActionControls' = None,
3318
+ rules: Optional[List['AssertionsRule']] = None,
3319
+ action_controls: Optional['AssertionsActionControls'] = None,
3311
3320
  ) -> None:
3312
3321
  """
3313
3322
  Initialize a Assertions object.
@@ -3328,10 +3337,10 @@ class Assertions:
3328
3337
  def from_dict(cls, _dict: Dict) -> 'Assertions':
3329
3338
  """Initialize a Assertions object from a json dictionary."""
3330
3339
  args = {}
3331
- if 'rules' in _dict:
3332
- args['rules'] = [AssertionsRule.from_dict(v) for v in _dict.get('rules')]
3333
- if 'action_controls' in _dict:
3334
- args['action_controls'] = AssertionsActionControls.from_dict(_dict.get('action_controls'))
3340
+ if (rules := _dict.get('rules')) is not None:
3341
+ args['rules'] = [AssertionsRule.from_dict(v) for v in rules]
3342
+ if (action_controls := _dict.get('action_controls')) is not None:
3343
+ args['action_controls'] = AssertionsActionControls.from_dict(action_controls)
3335
3344
  return cls(**args)
3336
3345
 
3337
3346
  @classmethod
@@ -3382,14 +3391,14 @@ class AssertionsActionControls:
3382
3391
  and update dynamic rules for the enterprise-managed access group in their account. The
3383
3392
  inner level RuleActionControls override these `remove` and `update` action controls.
3384
3393
 
3385
- :attr bool add: (optional) Action control for adding dynamic rules to an
3394
+ :param bool add: (optional) Action control for adding dynamic rules to an
3386
3395
  enterprise-managed access group. If an access group administrator in a child
3387
3396
  account adds a dynamic rule, they can always update or remove it. Note that if
3388
3397
  conflicts arise between an update to this control and rules added or updated by
3389
3398
  an administrator in the child account, you must resolve those conflicts in the
3390
3399
  child account. This prevents breaking access that the rules might grant in the
3391
3400
  child account. For more information, see [Working with versions].
3392
- :attr bool remove: (optional) Action control for removing enterprise-managed
3401
+ :param bool remove: (optional) Action control for removing enterprise-managed
3393
3402
  dynamic rules in an enterprise-managed access group. Note that if a rule is
3394
3403
  removed from an enterprise-managed access group by an administrator in a child
3395
3404
  account and and you reassign the template, the rule is reinstated.
@@ -3398,8 +3407,8 @@ class AssertionsActionControls:
3398
3407
  def __init__(
3399
3408
  self,
3400
3409
  *,
3401
- add: bool = None,
3402
- remove: bool = None,
3410
+ add: Optional[bool] = None,
3411
+ remove: Optional[bool] = None,
3403
3412
  ) -> None:
3404
3413
  """
3405
3414
  Initialize a AssertionsActionControls object.
@@ -3425,10 +3434,10 @@ class AssertionsActionControls:
3425
3434
  def from_dict(cls, _dict: Dict) -> 'AssertionsActionControls':
3426
3435
  """Initialize a AssertionsActionControls object from a json dictionary."""
3427
3436
  args = {}
3428
- if 'add' in _dict:
3429
- args['add'] = _dict.get('add')
3430
- if 'remove' in _dict:
3431
- args['remove'] = _dict.get('remove')
3437
+ if (add := _dict.get('add')) is not None:
3438
+ args['add'] = add
3439
+ if (remove := _dict.get('remove')) is not None:
3440
+ args['remove'] = remove
3432
3441
  return cls(**args)
3433
3442
 
3434
3443
  @classmethod
@@ -3468,14 +3477,14 @@ class AssertionsRule:
3468
3477
  """
3469
3478
  Rule Input component.
3470
3479
 
3471
- :attr str name: (optional) Dynamic rule name.
3472
- :attr int expiration: (optional) Session duration in hours. Access group
3480
+ :param str name: (optional) Dynamic rule name.
3481
+ :param int expiration: (optional) Session duration in hours. Access group
3473
3482
  membership is revoked after this time period expires. Users must log back in to
3474
3483
  refresh their access group membership.
3475
- :attr str realm_name: (optional) The identity provider (IdP) URL.
3476
- :attr List[Conditions] conditions: (optional) Conditions of membership. You can
3484
+ :param str realm_name: (optional) The identity provider (IdP) URL.
3485
+ :param List[Conditions] conditions: (optional) Conditions of membership. You can
3477
3486
  think of this as a key:value pair.
3478
- :attr RuleActionControls action_controls: (optional) Control whether or not
3487
+ :param RuleActionControls action_controls: (optional) Control whether or not
3479
3488
  access group administrators in child accounts can update and remove this dynamic
3480
3489
  rule in the enterprise-managed access group in their account.This overrides
3481
3490
  outer level AssertionsActionControls.
@@ -3484,11 +3493,11 @@ class AssertionsRule:
3484
3493
  def __init__(
3485
3494
  self,
3486
3495
  *,
3487
- name: str = None,
3488
- expiration: int = None,
3489
- realm_name: str = None,
3490
- conditions: List['Conditions'] = None,
3491
- action_controls: 'RuleActionControls' = None,
3496
+ name: Optional[str] = None,
3497
+ expiration: Optional[int] = None,
3498
+ realm_name: Optional[str] = None,
3499
+ conditions: Optional[List['Conditions']] = None,
3500
+ action_controls: Optional['RuleActionControls'] = None,
3492
3501
  ) -> None:
3493
3502
  """
3494
3503
  Initialize a AssertionsRule object.
@@ -3515,16 +3524,16 @@ class AssertionsRule:
3515
3524
  def from_dict(cls, _dict: Dict) -> 'AssertionsRule':
3516
3525
  """Initialize a AssertionsRule object from a json dictionary."""
3517
3526
  args = {}
3518
- if 'name' in _dict:
3519
- args['name'] = _dict.get('name')
3520
- if 'expiration' in _dict:
3521
- args['expiration'] = _dict.get('expiration')
3522
- if 'realm_name' in _dict:
3523
- args['realm_name'] = _dict.get('realm_name')
3524
- if 'conditions' in _dict:
3525
- args['conditions'] = [Conditions.from_dict(v) for v in _dict.get('conditions')]
3526
- if 'action_controls' in _dict:
3527
- args['action_controls'] = RuleActionControls.from_dict(_dict.get('action_controls'))
3527
+ if (name := _dict.get('name')) is not None:
3528
+ args['name'] = name
3529
+ if (expiration := _dict.get('expiration')) is not None:
3530
+ args['expiration'] = expiration
3531
+ if (realm_name := _dict.get('realm_name')) is not None:
3532
+ args['realm_name'] = realm_name
3533
+ if (conditions := _dict.get('conditions')) is not None:
3534
+ args['conditions'] = [Conditions.from_dict(v) for v in conditions]
3535
+ if (action_controls := _dict.get('action_controls')) is not None:
3536
+ args['action_controls'] = RuleActionControls.from_dict(action_controls)
3528
3537
  return cls(**args)
3529
3538
 
3530
3539
  @classmethod
@@ -3579,10 +3588,10 @@ class AssignmentResourceAccessGroup:
3579
3588
  """
3580
3589
  Assignment Resource Access Group.
3581
3590
 
3582
- :attr AssignmentResourceEntry group: Assignment resource entry.
3583
- :attr List[AssignmentResourceEntry] members: List of member resources of the
3591
+ :param AssignmentResourceEntry group: Assignment resource entry.
3592
+ :param List[AssignmentResourceEntry] members: List of member resources of the
3584
3593
  group.
3585
- :attr List[AssignmentResourceEntry] rules: List of rules associated with the
3594
+ :param List[AssignmentResourceEntry] rules: List of rules associated with the
3586
3595
  group.
3587
3596
  """
3588
3597
 
@@ -3609,16 +3618,16 @@ class AssignmentResourceAccessGroup:
3609
3618
  def from_dict(cls, _dict: Dict) -> 'AssignmentResourceAccessGroup':
3610
3619
  """Initialize a AssignmentResourceAccessGroup object from a json dictionary."""
3611
3620
  args = {}
3612
- if 'group' in _dict:
3613
- args['group'] = AssignmentResourceEntry.from_dict(_dict.get('group'))
3621
+ if (group := _dict.get('group')) is not None:
3622
+ args['group'] = AssignmentResourceEntry.from_dict(group)
3614
3623
  else:
3615
3624
  raise ValueError('Required property \'group\' not present in AssignmentResourceAccessGroup JSON')
3616
- if 'members' in _dict:
3617
- args['members'] = [AssignmentResourceEntry.from_dict(v) for v in _dict.get('members')]
3625
+ if (members := _dict.get('members')) is not None:
3626
+ args['members'] = [AssignmentResourceEntry.from_dict(v) for v in members]
3618
3627
  else:
3619
3628
  raise ValueError('Required property \'members\' not present in AssignmentResourceAccessGroup JSON')
3620
- if 'rules' in _dict:
3621
- args['rules'] = [AssignmentResourceEntry.from_dict(v) for v in _dict.get('rules')]
3629
+ if (rules := _dict.get('rules')) is not None:
3630
+ args['rules'] = [AssignmentResourceEntry.from_dict(v) for v in rules]
3622
3631
  else:
3623
3632
  raise ValueError('Required property \'rules\' not present in AssignmentResourceAccessGroup JSON')
3624
3633
  return cls(**args)
@@ -3677,13 +3686,13 @@ class AssignmentResourceEntry:
3677
3686
  """
3678
3687
  Assignment resource entry.
3679
3688
 
3680
- :attr str id: Assignment Resource Entry Id.
3681
- :attr str name: (optional) Optional name of the resource.
3682
- :attr str version: (optional) Optional version of the resource.
3683
- :attr str resource: Resource in assignment resource entry.
3684
- :attr str error: Error in assignment resource entry.
3685
- :attr str operation: (optional) Optional operation on the resource.
3686
- :attr str status: Status of assignment resource entry.
3689
+ :param str id: Assignment Resource Entry Id.
3690
+ :param str name: (optional) Optional name of the resource.
3691
+ :param str version: (optional) Optional version of the resource.
3692
+ :param str resource: Resource in assignment resource entry.
3693
+ :param str error: Error in assignment resource entry.
3694
+ :param str operation: (optional) Optional operation on the resource.
3695
+ :param str status: Status of assignment resource entry.
3687
3696
  """
3688
3697
 
3689
3698
  def __init__(
@@ -3693,9 +3702,9 @@ class AssignmentResourceEntry:
3693
3702
  error: str,
3694
3703
  status: str,
3695
3704
  *,
3696
- name: str = None,
3697
- version: str = None,
3698
- operation: str = None,
3705
+ name: Optional[str] = None,
3706
+ version: Optional[str] = None,
3707
+ operation: Optional[str] = None,
3699
3708
  ) -> None:
3700
3709
  """
3701
3710
  Initialize a AssignmentResourceEntry object.
@@ -3720,26 +3729,26 @@ class AssignmentResourceEntry:
3720
3729
  def from_dict(cls, _dict: Dict) -> 'AssignmentResourceEntry':
3721
3730
  """Initialize a AssignmentResourceEntry object from a json dictionary."""
3722
3731
  args = {}
3723
- if 'id' in _dict:
3724
- args['id'] = _dict.get('id')
3732
+ if (id := _dict.get('id')) is not None:
3733
+ args['id'] = id
3725
3734
  else:
3726
3735
  raise ValueError('Required property \'id\' not present in AssignmentResourceEntry JSON')
3727
- if 'name' in _dict:
3728
- args['name'] = _dict.get('name')
3729
- if 'version' in _dict:
3730
- args['version'] = _dict.get('version')
3731
- if 'resource' in _dict:
3732
- args['resource'] = _dict.get('resource')
3736
+ if (name := _dict.get('name')) is not None:
3737
+ args['name'] = name
3738
+ if (version := _dict.get('version')) is not None:
3739
+ args['version'] = version
3740
+ if (resource := _dict.get('resource')) is not None:
3741
+ args['resource'] = resource
3733
3742
  else:
3734
3743
  raise ValueError('Required property \'resource\' not present in AssignmentResourceEntry JSON')
3735
- if 'error' in _dict:
3736
- args['error'] = _dict.get('error')
3744
+ if (error := _dict.get('error')) is not None:
3745
+ args['error'] = error
3737
3746
  else:
3738
3747
  raise ValueError('Required property \'error\' not present in AssignmentResourceEntry JSON')
3739
- if 'operation' in _dict:
3740
- args['operation'] = _dict.get('operation')
3741
- if 'status' in _dict:
3742
- args['status'] = _dict.get('status')
3748
+ if (operation := _dict.get('operation')) is not None:
3749
+ args['operation'] = operation
3750
+ if (status := _dict.get('status')) is not None:
3751
+ args['status'] = status
3743
3752
  else:
3744
3753
  raise ValueError('Required property \'status\' not present in AssignmentResourceEntry JSON')
3745
3754
  return cls(**args)
@@ -3791,17 +3800,17 @@ class Conditions:
3791
3800
  """
3792
3801
  Condition Input component.
3793
3802
 
3794
- :attr str claim: (optional) The key in the key:value pair.
3795
- :attr str operator: (optional) Compares the claim and the value.
3796
- :attr str value: (optional) The value in the key:value pair.
3803
+ :param str claim: (optional) The key in the key:value pair.
3804
+ :param str operator: (optional) Compares the claim and the value.
3805
+ :param str value: (optional) The value in the key:value pair.
3797
3806
  """
3798
3807
 
3799
3808
  def __init__(
3800
3809
  self,
3801
3810
  *,
3802
- claim: str = None,
3803
- operator: str = None,
3804
- value: str = None,
3811
+ claim: Optional[str] = None,
3812
+ operator: Optional[str] = None,
3813
+ value: Optional[str] = None,
3805
3814
  ) -> None:
3806
3815
  """
3807
3816
  Initialize a Conditions object.
@@ -3818,12 +3827,12 @@ class Conditions:
3818
3827
  def from_dict(cls, _dict: Dict) -> 'Conditions':
3819
3828
  """Initialize a Conditions object from a json dictionary."""
3820
3829
  args = {}
3821
- if 'claim' in _dict:
3822
- args['claim'] = _dict.get('claim')
3823
- if 'operator' in _dict:
3824
- args['operator'] = _dict.get('operator')
3825
- if 'value' in _dict:
3826
- args['value'] = _dict.get('value')
3830
+ if (claim := _dict.get('claim')) is not None:
3831
+ args['claim'] = claim
3832
+ if (operator := _dict.get('operator')) is not None:
3833
+ args['operator'] = operator
3834
+ if (value := _dict.get('value')) is not None:
3835
+ args['value'] = value
3827
3836
  return cls(**args)
3828
3837
 
3829
3838
  @classmethod
@@ -3865,16 +3874,16 @@ class DeleteFromAllGroupsResponse:
3865
3874
  """
3866
3875
  The response from the delete member from access groups request.
3867
3876
 
3868
- :attr str iam_id: (optional) The `iam_id` of the member to removed from groups.
3869
- :attr List[DeleteFromAllGroupsResponseGroupsItem] groups: (optional) The groups
3877
+ :param str iam_id: (optional) The `iam_id` of the member to removed from groups.
3878
+ :param List[DeleteFromAllGroupsResponseGroupsItem] groups: (optional) The groups
3870
3879
  the member was removed from.
3871
3880
  """
3872
3881
 
3873
3882
  def __init__(
3874
3883
  self,
3875
3884
  *,
3876
- iam_id: str = None,
3877
- groups: List['DeleteFromAllGroupsResponseGroupsItem'] = None,
3885
+ iam_id: Optional[str] = None,
3886
+ groups: Optional[List['DeleteFromAllGroupsResponseGroupsItem']] = None,
3878
3887
  ) -> None:
3879
3888
  """
3880
3889
  Initialize a DeleteFromAllGroupsResponse object.
@@ -3891,10 +3900,10 @@ class DeleteFromAllGroupsResponse:
3891
3900
  def from_dict(cls, _dict: Dict) -> 'DeleteFromAllGroupsResponse':
3892
3901
  """Initialize a DeleteFromAllGroupsResponse object from a json dictionary."""
3893
3902
  args = {}
3894
- if 'iam_id' in _dict:
3895
- args['iam_id'] = _dict.get('iam_id')
3896
- if 'groups' in _dict:
3897
- args['groups'] = [DeleteFromAllGroupsResponseGroupsItem.from_dict(v) for v in _dict.get('groups')]
3903
+ if (iam_id := _dict.get('iam_id')) is not None:
3904
+ args['iam_id'] = iam_id
3905
+ if (groups := _dict.get('groups')) is not None:
3906
+ args['groups'] = [DeleteFromAllGroupsResponseGroupsItem.from_dict(v) for v in groups]
3898
3907
  return cls(**args)
3899
3908
 
3900
3909
  @classmethod
@@ -3940,23 +3949,23 @@ class DeleteFromAllGroupsResponseGroupsItem:
3940
3949
  """
3941
3950
  DeleteFromAllGroupsResponseGroupsItem.
3942
3951
 
3943
- :attr str access_group_id: (optional) The access group that the member is to be
3952
+ :param str access_group_id: (optional) The access group that the member is to be
3944
3953
  deleted from.
3945
- :attr int status_code: (optional) The outcome of the delete operation on this
3954
+ :param int status_code: (optional) The outcome of the delete operation on this
3946
3955
  `access_group_id`.
3947
- :attr str trace: (optional) A transaction-id that can be used for debugging
3956
+ :param str trace: (optional) A transaction-id that can be used for debugging
3948
3957
  purposes.
3949
- :attr List[Error] errors: (optional) A list of errors that occurred when trying
3958
+ :param List[Error] errors: (optional) A list of errors that occurred when trying
3950
3959
  to remove a member from groups.
3951
3960
  """
3952
3961
 
3953
3962
  def __init__(
3954
3963
  self,
3955
3964
  *,
3956
- access_group_id: str = None,
3957
- status_code: int = None,
3958
- trace: str = None,
3959
- errors: List['Error'] = None,
3965
+ access_group_id: Optional[str] = None,
3966
+ status_code: Optional[int] = None,
3967
+ trace: Optional[str] = None,
3968
+ errors: Optional[List['Error']] = None,
3960
3969
  ) -> None:
3961
3970
  """
3962
3971
  Initialize a DeleteFromAllGroupsResponseGroupsItem object.
@@ -3979,14 +3988,14 @@ class DeleteFromAllGroupsResponseGroupsItem:
3979
3988
  def from_dict(cls, _dict: Dict) -> 'DeleteFromAllGroupsResponseGroupsItem':
3980
3989
  """Initialize a DeleteFromAllGroupsResponseGroupsItem object from a json dictionary."""
3981
3990
  args = {}
3982
- if 'access_group_id' in _dict:
3983
- args['access_group_id'] = _dict.get('access_group_id')
3984
- if 'status_code' in _dict:
3985
- args['status_code'] = _dict.get('status_code')
3986
- if 'trace' in _dict:
3987
- args['trace'] = _dict.get('trace')
3988
- if 'errors' in _dict:
3989
- args['errors'] = [Error.from_dict(v) for v in _dict.get('errors')]
3991
+ if (access_group_id := _dict.get('access_group_id')) is not None:
3992
+ args['access_group_id'] = access_group_id
3993
+ if (status_code := _dict.get('status_code')) is not None:
3994
+ args['status_code'] = status_code
3995
+ if (trace := _dict.get('trace')) is not None:
3996
+ args['trace'] = trace
3997
+ if (errors := _dict.get('errors')) is not None:
3998
+ args['errors'] = [Error.from_dict(v) for v in errors]
3990
3999
  return cls(**args)
3991
4000
 
3992
4001
  @classmethod
@@ -4036,16 +4045,16 @@ class DeleteGroupBulkMembersResponse:
4036
4045
  """
4037
4046
  The access group id and the members removed from it.
4038
4047
 
4039
- :attr str access_group_id: (optional) The access group id.
4040
- :attr List[DeleteGroupBulkMembersResponseMembersItem] members: (optional) The
4048
+ :param str access_group_id: (optional) The access group id.
4049
+ :param List[DeleteGroupBulkMembersResponseMembersItem] members: (optional) The
4041
4050
  `iam_id`s removed from the access group.
4042
4051
  """
4043
4052
 
4044
4053
  def __init__(
4045
4054
  self,
4046
4055
  *,
4047
- access_group_id: str = None,
4048
- members: List['DeleteGroupBulkMembersResponseMembersItem'] = None,
4056
+ access_group_id: Optional[str] = None,
4057
+ members: Optional[List['DeleteGroupBulkMembersResponseMembersItem']] = None,
4049
4058
  ) -> None:
4050
4059
  """
4051
4060
  Initialize a DeleteGroupBulkMembersResponse object.
@@ -4061,10 +4070,10 @@ class DeleteGroupBulkMembersResponse:
4061
4070
  def from_dict(cls, _dict: Dict) -> 'DeleteGroupBulkMembersResponse':
4062
4071
  """Initialize a DeleteGroupBulkMembersResponse object from a json dictionary."""
4063
4072
  args = {}
4064
- if 'access_group_id' in _dict:
4065
- args['access_group_id'] = _dict.get('access_group_id')
4066
- if 'members' in _dict:
4067
- args['members'] = [DeleteGroupBulkMembersResponseMembersItem.from_dict(v) for v in _dict.get('members')]
4073
+ if (access_group_id := _dict.get('access_group_id')) is not None:
4074
+ args['access_group_id'] = access_group_id
4075
+ if (members := _dict.get('members')) is not None:
4076
+ args['members'] = [DeleteGroupBulkMembersResponseMembersItem.from_dict(v) for v in members]
4068
4077
  return cls(**args)
4069
4078
 
4070
4079
  @classmethod
@@ -4110,22 +4119,22 @@ class DeleteGroupBulkMembersResponseMembersItem:
4110
4119
  """
4111
4120
  DeleteGroupBulkMembersResponseMembersItem.
4112
4121
 
4113
- :attr str iam_id: (optional) The `iam_id` to be deleted.
4114
- :attr str trace: (optional) A transaction-id that can be used for debugging
4122
+ :param str iam_id: (optional) The `iam_id` to be deleted.
4123
+ :param str trace: (optional) A transaction-id that can be used for debugging
4115
4124
  purposes.
4116
- :attr int status_code: (optional) The outcome of the delete membership operation
4117
- on this `access_group_id`.
4118
- :attr List[Error] errors: (optional) A list of errors that occurred when trying
4125
+ :param int status_code: (optional) The outcome of the delete membership
4126
+ operation on this `access_group_id`.
4127
+ :param List[Error] errors: (optional) A list of errors that occurred when trying
4119
4128
  to remove a member from groups.
4120
4129
  """
4121
4130
 
4122
4131
  def __init__(
4123
4132
  self,
4124
4133
  *,
4125
- iam_id: str = None,
4126
- trace: str = None,
4127
- status_code: int = None,
4128
- errors: List['Error'] = None,
4134
+ iam_id: Optional[str] = None,
4135
+ trace: Optional[str] = None,
4136
+ status_code: Optional[int] = None,
4137
+ errors: Optional[List['Error']] = None,
4129
4138
  ) -> None:
4130
4139
  """
4131
4140
  Initialize a DeleteGroupBulkMembersResponseMembersItem object.
@@ -4147,14 +4156,14 @@ class DeleteGroupBulkMembersResponseMembersItem:
4147
4156
  def from_dict(cls, _dict: Dict) -> 'DeleteGroupBulkMembersResponseMembersItem':
4148
4157
  """Initialize a DeleteGroupBulkMembersResponseMembersItem object from a json dictionary."""
4149
4158
  args = {}
4150
- if 'iam_id' in _dict:
4151
- args['iam_id'] = _dict.get('iam_id')
4152
- if 'trace' in _dict:
4153
- args['trace'] = _dict.get('trace')
4154
- if 'status_code' in _dict:
4155
- args['status_code'] = _dict.get('status_code')
4156
- if 'errors' in _dict:
4157
- args['errors'] = [Error.from_dict(v) for v in _dict.get('errors')]
4159
+ if (iam_id := _dict.get('iam_id')) is not None:
4160
+ args['iam_id'] = iam_id
4161
+ if (trace := _dict.get('trace')) is not None:
4162
+ args['trace'] = trace
4163
+ if (status_code := _dict.get('status_code')) is not None:
4164
+ args['status_code'] = status_code
4165
+ if (errors := _dict.get('errors')) is not None:
4166
+ args['errors'] = [Error.from_dict(v) for v in errors]
4158
4167
  return cls(**args)
4159
4168
 
4160
4169
  @classmethod
@@ -4206,17 +4215,17 @@ class Error:
4206
4215
  identifying the problem, examples "missing_field", "reserved_value" message is a
4207
4216
  string explaining the solution to the problem that was encountered.
4208
4217
 
4209
- :attr str code: (optional) A human-readable error code represented by a snake
4218
+ :param str code: (optional) A human-readable error code represented by a snake
4210
4219
  case string.
4211
- :attr str message: (optional) A specific error message that details the issue or
4212
- an action to take.
4220
+ :param str message: (optional) A specific error message that details the issue
4221
+ or an action to take.
4213
4222
  """
4214
4223
 
4215
4224
  def __init__(
4216
4225
  self,
4217
4226
  *,
4218
- code: str = None,
4219
- message: str = None,
4227
+ code: Optional[str] = None,
4228
+ message: Optional[str] = None,
4220
4229
  ) -> None:
4221
4230
  """
4222
4231
  Initialize a Error object.
@@ -4233,10 +4242,10 @@ class Error:
4233
4242
  def from_dict(cls, _dict: Dict) -> 'Error':
4234
4243
  """Initialize a Error object from a json dictionary."""
4235
4244
  args = {}
4236
- if 'code' in _dict:
4237
- args['code'] = _dict.get('code')
4238
- if 'message' in _dict:
4239
- args['message'] = _dict.get('message')
4245
+ if (code := _dict.get('code')) is not None:
4246
+ args['code'] = code
4247
+ if (message := _dict.get('message')) is not None:
4248
+ args['message'] = message
4240
4249
  return cls(**args)
4241
4250
 
4242
4251
  @classmethod
@@ -4276,36 +4285,36 @@ class Group:
4276
4285
  """
4277
4286
  An IAM access group.
4278
4287
 
4279
- :attr str id: (optional) The group's access group ID.
4280
- :attr str name: (optional) The group's name.
4281
- :attr str description: (optional) The group's description - if defined.
4282
- :attr str account_id: (optional) The account id where the group was created.
4283
- :attr datetime created_at: (optional) The timestamp of when the group was
4288
+ :param str id: (optional) The group's access group ID.
4289
+ :param str name: (optional) The group's name.
4290
+ :param str description: (optional) The group's description - if defined.
4291
+ :param str account_id: (optional) The account id where the group was created.
4292
+ :param datetime created_at: (optional) The timestamp of when the group was
4284
4293
  created.
4285
- :attr str created_by_id: (optional) The `iam_id` of the entity that created the
4294
+ :param str created_by_id: (optional) The `iam_id` of the entity that created the
4286
4295
  group.
4287
- :attr datetime last_modified_at: (optional) The timestamp of when the group was
4296
+ :param datetime last_modified_at: (optional) The timestamp of when the group was
4288
4297
  last edited.
4289
- :attr str last_modified_by_id: (optional) The `iam_id` of the entity that last
4298
+ :param str last_modified_by_id: (optional) The `iam_id` of the entity that last
4290
4299
  modified the group name or description.
4291
- :attr str href: (optional) A url to the given group resource.
4292
- :attr bool is_federated: (optional) This is set to true if rules exist for the
4300
+ :param str href: (optional) A url to the given group resource.
4301
+ :param bool is_federated: (optional) This is set to true if rules exist for the
4293
4302
  group.
4294
4303
  """
4295
4304
 
4296
4305
  def __init__(
4297
4306
  self,
4298
4307
  *,
4299
- id: str = None,
4300
- name: str = None,
4301
- description: str = None,
4302
- account_id: str = None,
4303
- created_at: datetime = None,
4304
- created_by_id: str = None,
4305
- last_modified_at: datetime = None,
4306
- last_modified_by_id: str = None,
4307
- href: str = None,
4308
- is_federated: bool = None,
4308
+ id: Optional[str] = None,
4309
+ name: Optional[str] = None,
4310
+ description: Optional[str] = None,
4311
+ account_id: Optional[str] = None,
4312
+ created_at: Optional[datetime] = None,
4313
+ created_by_id: Optional[str] = None,
4314
+ last_modified_at: Optional[datetime] = None,
4315
+ last_modified_by_id: Optional[str] = None,
4316
+ href: Optional[str] = None,
4317
+ is_federated: Optional[bool] = None,
4309
4318
  ) -> None:
4310
4319
  """
4311
4320
  Initialize a Group object.
@@ -4334,26 +4343,26 @@ class Group:
4334
4343
  def from_dict(cls, _dict: Dict) -> 'Group':
4335
4344
  """Initialize a Group object from a json dictionary."""
4336
4345
  args = {}
4337
- if 'id' in _dict:
4338
- args['id'] = _dict.get('id')
4339
- if 'name' in _dict:
4340
- args['name'] = _dict.get('name')
4341
- if 'description' in _dict:
4342
- args['description'] = _dict.get('description')
4343
- if 'account_id' in _dict:
4344
- args['account_id'] = _dict.get('account_id')
4345
- if 'created_at' in _dict:
4346
- args['created_at'] = string_to_datetime(_dict.get('created_at'))
4347
- if 'created_by_id' in _dict:
4348
- args['created_by_id'] = _dict.get('created_by_id')
4349
- if 'last_modified_at' in _dict:
4350
- args['last_modified_at'] = string_to_datetime(_dict.get('last_modified_at'))
4351
- if 'last_modified_by_id' in _dict:
4352
- args['last_modified_by_id'] = _dict.get('last_modified_by_id')
4353
- if 'href' in _dict:
4354
- args['href'] = _dict.get('href')
4355
- if 'is_federated' in _dict:
4356
- args['is_federated'] = _dict.get('is_federated')
4346
+ if (id := _dict.get('id')) is not None:
4347
+ args['id'] = id
4348
+ if (name := _dict.get('name')) is not None:
4349
+ args['name'] = name
4350
+ if (description := _dict.get('description')) is not None:
4351
+ args['description'] = description
4352
+ if (account_id := _dict.get('account_id')) is not None:
4353
+ args['account_id'] = account_id
4354
+ if (created_at := _dict.get('created_at')) is not None:
4355
+ args['created_at'] = string_to_datetime(created_at)
4356
+ if (created_by_id := _dict.get('created_by_id')) is not None:
4357
+ args['created_by_id'] = created_by_id
4358
+ if (last_modified_at := _dict.get('last_modified_at')) is not None:
4359
+ args['last_modified_at'] = string_to_datetime(last_modified_at)
4360
+ if (last_modified_by_id := _dict.get('last_modified_by_id')) is not None:
4361
+ args['last_modified_by_id'] = last_modified_by_id
4362
+ if (href := _dict.get('href')) is not None:
4363
+ args['href'] = href
4364
+ if (is_federated := _dict.get('is_federated')) is not None:
4365
+ args['is_federated'] = is_federated
4357
4366
  return cls(**args)
4358
4367
 
4359
4368
  @classmethod
@@ -4409,7 +4418,7 @@ class GroupActionControls:
4409
4418
  """
4410
4419
  Access group action controls component.
4411
4420
 
4412
- :attr AccessActionControls access: (optional) Control whether or not access
4421
+ :param AccessActionControls access: (optional) Control whether or not access
4413
4422
  group administrators in child accounts can add access policies to the
4414
4423
  enterprise-managed access group in their account.
4415
4424
  """
@@ -4417,7 +4426,7 @@ class GroupActionControls:
4417
4426
  def __init__(
4418
4427
  self,
4419
4428
  *,
4420
- access: 'AccessActionControls' = None,
4429
+ access: Optional['AccessActionControls'] = None,
4421
4430
  ) -> None:
4422
4431
  """
4423
4432
  Initialize a GroupActionControls object.
@@ -4432,8 +4441,8 @@ class GroupActionControls:
4432
4441
  def from_dict(cls, _dict: Dict) -> 'GroupActionControls':
4433
4442
  """Initialize a GroupActionControls object from a json dictionary."""
4434
4443
  args = {}
4435
- if 'access' in _dict:
4436
- args['access'] = AccessActionControls.from_dict(_dict.get('access'))
4444
+ if (access := _dict.get('access')) is not None:
4445
+ args['access'] = AccessActionControls.from_dict(access)
4437
4446
  return cls(**args)
4438
4447
 
4439
4448
  @classmethod
@@ -4474,15 +4483,15 @@ class GroupMembersList:
4474
4483
  """
4475
4484
  The members of a group.
4476
4485
 
4477
- :attr int limit: Limit on how many items can be returned.
4478
- :attr int offset: The offset of the first item returned in the result set.
4479
- :attr int total_count: The total number of items that match the query.
4480
- :attr HrefStruct first: (optional) A link object.
4481
- :attr HrefStruct previous: (optional) A link object.
4482
- :attr HrefStruct next: (optional) A link object.
4483
- :attr HrefStruct last: (optional) A link object.
4484
- :attr List[ListGroupMembersResponseMember] members: (optional) The members of an
4485
- access group.
4486
+ :param int limit: Limit on how many items can be returned.
4487
+ :param int offset: The offset of the first item returned in the result set.
4488
+ :param int total_count: The total number of items that match the query.
4489
+ :param HrefStruct first: (optional) A link object.
4490
+ :param HrefStruct previous: (optional) A link object.
4491
+ :param HrefStruct next: (optional) A link object.
4492
+ :param HrefStruct last: (optional) A link object.
4493
+ :param List[ListGroupMembersResponseMember] members: (optional) The members of
4494
+ an access group.
4486
4495
  """
4487
4496
 
4488
4497
  def __init__(
@@ -4491,11 +4500,11 @@ class GroupMembersList:
4491
4500
  offset: int,
4492
4501
  total_count: int,
4493
4502
  *,
4494
- first: 'HrefStruct' = None,
4495
- previous: 'HrefStruct' = None,
4496
- next: 'HrefStruct' = None,
4497
- last: 'HrefStruct' = None,
4498
- members: List['ListGroupMembersResponseMember'] = None,
4503
+ first: Optional['HrefStruct'] = None,
4504
+ previous: Optional['HrefStruct'] = None,
4505
+ next: Optional['HrefStruct'] = None,
4506
+ last: Optional['HrefStruct'] = None,
4507
+ members: Optional[List['ListGroupMembersResponseMember']] = None,
4499
4508
  ) -> None:
4500
4509
  """
4501
4510
  Initialize a GroupMembersList object.
@@ -4523,28 +4532,28 @@ class GroupMembersList:
4523
4532
  def from_dict(cls, _dict: Dict) -> 'GroupMembersList':
4524
4533
  """Initialize a GroupMembersList object from a json dictionary."""
4525
4534
  args = {}
4526
- if 'limit' in _dict:
4527
- args['limit'] = _dict.get('limit')
4535
+ if (limit := _dict.get('limit')) is not None:
4536
+ args['limit'] = limit
4528
4537
  else:
4529
4538
  raise ValueError('Required property \'limit\' not present in GroupMembersList JSON')
4530
- if 'offset' in _dict:
4531
- args['offset'] = _dict.get('offset')
4539
+ if (offset := _dict.get('offset')) is not None:
4540
+ args['offset'] = offset
4532
4541
  else:
4533
4542
  raise ValueError('Required property \'offset\' not present in GroupMembersList JSON')
4534
- if 'total_count' in _dict:
4535
- args['total_count'] = _dict.get('total_count')
4543
+ if (total_count := _dict.get('total_count')) is not None:
4544
+ args['total_count'] = total_count
4536
4545
  else:
4537
4546
  raise ValueError('Required property \'total_count\' not present in GroupMembersList JSON')
4538
- if 'first' in _dict:
4539
- args['first'] = HrefStruct.from_dict(_dict.get('first'))
4540
- if 'previous' in _dict:
4541
- args['previous'] = HrefStruct.from_dict(_dict.get('previous'))
4542
- if 'next' in _dict:
4543
- args['next'] = HrefStruct.from_dict(_dict.get('next'))
4544
- if 'last' in _dict:
4545
- args['last'] = HrefStruct.from_dict(_dict.get('last'))
4546
- if 'members' in _dict:
4547
- args['members'] = [ListGroupMembersResponseMember.from_dict(v) for v in _dict.get('members')]
4547
+ if (first := _dict.get('first')) is not None:
4548
+ args['first'] = HrefStruct.from_dict(first)
4549
+ if (previous := _dict.get('previous')) is not None:
4550
+ args['previous'] = HrefStruct.from_dict(previous)
4551
+ if (next := _dict.get('next')) is not None:
4552
+ args['next'] = HrefStruct.from_dict(next)
4553
+ if (last := _dict.get('last')) is not None:
4554
+ args['last'] = HrefStruct.from_dict(last)
4555
+ if (members := _dict.get('members')) is not None:
4556
+ args['members'] = [ListGroupMembersResponseMember.from_dict(v) for v in members]
4548
4557
  return cls(**args)
4549
4558
 
4550
4559
  @classmethod
@@ -4614,24 +4623,24 @@ class GroupTemplate:
4614
4623
  """
4615
4624
  Response output for template.
4616
4625
 
4617
- :attr str id: The ID of the access group template.
4618
- :attr str name: The name of the access group template.
4619
- :attr str description: The description of the access group template.
4620
- :attr str version: The version of the access group template.
4621
- :attr bool committed: A boolean indicating whether the access group template is
4626
+ :param str id: The ID of the access group template.
4627
+ :param str name: The name of the access group template.
4628
+ :param str description: The description of the access group template.
4629
+ :param str version: The version of the access group template.
4630
+ :param bool committed: A boolean indicating whether the access group template is
4622
4631
  committed. You must commit a template before you can assign it to child
4623
4632
  accounts.
4624
- :attr AccessGroupResponse group: Access Group Component.
4625
- :attr List[PolicyTemplates] policy_template_references: References to policy
4633
+ :param AccessGroupResponse group: Access Group Component.
4634
+ :param List[PolicyTemplates] policy_template_references: References to policy
4626
4635
  templates assigned to the access group template.
4627
- :attr str href: The URL of the access group template resource.
4628
- :attr datetime created_at: The date and time when the access group template was
4636
+ :param str href: The URL of the access group template resource.
4637
+ :param datetime created_at: The date and time when the access group template was
4629
4638
  created.
4630
- :attr str created_by_id: The ID of the user who created the access group
4639
+ :param str created_by_id: The ID of the user who created the access group
4631
4640
  template.
4632
- :attr datetime last_modified_at: The date and time when the access group
4641
+ :param datetime last_modified_at: The date and time when the access group
4633
4642
  template was last modified.
4634
- :attr str last_modified_by_id: The ID of the user who last modified the access
4643
+ :param str last_modified_by_id: The ID of the user who last modified the access
4635
4644
  group template.
4636
4645
  """
4637
4646
 
@@ -4690,54 +4699,52 @@ class GroupTemplate:
4690
4699
  def from_dict(cls, _dict: Dict) -> 'GroupTemplate':
4691
4700
  """Initialize a GroupTemplate object from a json dictionary."""
4692
4701
  args = {}
4693
- if 'id' in _dict:
4694
- args['id'] = _dict.get('id')
4702
+ if (id := _dict.get('id')) is not None:
4703
+ args['id'] = id
4695
4704
  else:
4696
4705
  raise ValueError('Required property \'id\' not present in GroupTemplate JSON')
4697
- if 'name' in _dict:
4698
- args['name'] = _dict.get('name')
4706
+ if (name := _dict.get('name')) is not None:
4707
+ args['name'] = name
4699
4708
  else:
4700
4709
  raise ValueError('Required property \'name\' not present in GroupTemplate JSON')
4701
- if 'description' in _dict:
4702
- args['description'] = _dict.get('description')
4710
+ if (description := _dict.get('description')) is not None:
4711
+ args['description'] = description
4703
4712
  else:
4704
4713
  raise ValueError('Required property \'description\' not present in GroupTemplate JSON')
4705
- if 'version' in _dict:
4706
- args['version'] = _dict.get('version')
4714
+ if (version := _dict.get('version')) is not None:
4715
+ args['version'] = version
4707
4716
  else:
4708
4717
  raise ValueError('Required property \'version\' not present in GroupTemplate JSON')
4709
- if 'committed' in _dict:
4710
- args['committed'] = _dict.get('committed')
4718
+ if (committed := _dict.get('committed')) is not None:
4719
+ args['committed'] = committed
4711
4720
  else:
4712
4721
  raise ValueError('Required property \'committed\' not present in GroupTemplate JSON')
4713
- if 'group' in _dict:
4714
- args['group'] = AccessGroupResponse.from_dict(_dict.get('group'))
4722
+ if (group := _dict.get('group')) is not None:
4723
+ args['group'] = AccessGroupResponse.from_dict(group)
4715
4724
  else:
4716
4725
  raise ValueError('Required property \'group\' not present in GroupTemplate JSON')
4717
- if 'policy_template_references' in _dict:
4718
- args['policy_template_references'] = [
4719
- PolicyTemplates.from_dict(v) for v in _dict.get('policy_template_references')
4720
- ]
4726
+ if (policy_template_references := _dict.get('policy_template_references')) is not None:
4727
+ args['policy_template_references'] = [PolicyTemplates.from_dict(v) for v in policy_template_references]
4721
4728
  else:
4722
4729
  raise ValueError('Required property \'policy_template_references\' not present in GroupTemplate JSON')
4723
- if 'href' in _dict:
4724
- args['href'] = _dict.get('href')
4730
+ if (href := _dict.get('href')) is not None:
4731
+ args['href'] = href
4725
4732
  else:
4726
4733
  raise ValueError('Required property \'href\' not present in GroupTemplate JSON')
4727
- if 'created_at' in _dict:
4728
- args['created_at'] = string_to_datetime(_dict.get('created_at'))
4734
+ if (created_at := _dict.get('created_at')) is not None:
4735
+ args['created_at'] = string_to_datetime(created_at)
4729
4736
  else:
4730
4737
  raise ValueError('Required property \'created_at\' not present in GroupTemplate JSON')
4731
- if 'created_by_id' in _dict:
4732
- args['created_by_id'] = _dict.get('created_by_id')
4738
+ if (created_by_id := _dict.get('created_by_id')) is not None:
4739
+ args['created_by_id'] = created_by_id
4733
4740
  else:
4734
4741
  raise ValueError('Required property \'created_by_id\' not present in GroupTemplate JSON')
4735
- if 'last_modified_at' in _dict:
4736
- args['last_modified_at'] = string_to_datetime(_dict.get('last_modified_at'))
4742
+ if (last_modified_at := _dict.get('last_modified_at')) is not None:
4743
+ args['last_modified_at'] = string_to_datetime(last_modified_at)
4737
4744
  else:
4738
4745
  raise ValueError('Required property \'last_modified_at\' not present in GroupTemplate JSON')
4739
- if 'last_modified_by_id' in _dict:
4740
- args['last_modified_by_id'] = _dict.get('last_modified_by_id')
4746
+ if (last_modified_by_id := _dict.get('last_modified_by_id')) is not None:
4747
+ args['last_modified_by_id'] = last_modified_by_id
4741
4748
  else:
4742
4749
  raise ValueError('Required property \'last_modified_by_id\' not present in GroupTemplate JSON')
4743
4750
  return cls(**args)
@@ -4808,14 +4815,14 @@ class GroupsList:
4808
4815
  """
4809
4816
  The list of access groups returned as part of a response.
4810
4817
 
4811
- :attr int limit: Limit on how many items can be returned.
4812
- :attr int offset: The offset of the first item returned in the result set.
4813
- :attr int total_count: The total number of items that match the query.
4814
- :attr HrefStruct first: (optional) A link object.
4815
- :attr HrefStruct previous: (optional) A link object.
4816
- :attr HrefStruct next: (optional) A link object.
4817
- :attr HrefStruct last: (optional) A link object.
4818
- :attr List[Group] groups: (optional) An array of access groups.
4818
+ :param int limit: Limit on how many items can be returned.
4819
+ :param int offset: The offset of the first item returned in the result set.
4820
+ :param int total_count: The total number of items that match the query.
4821
+ :param HrefStruct first: (optional) A link object.
4822
+ :param HrefStruct previous: (optional) A link object.
4823
+ :param HrefStruct next: (optional) A link object.
4824
+ :param HrefStruct last: (optional) A link object.
4825
+ :param List[Group] groups: (optional) An array of access groups.
4819
4826
  """
4820
4827
 
4821
4828
  def __init__(
@@ -4824,11 +4831,11 @@ class GroupsList:
4824
4831
  offset: int,
4825
4832
  total_count: int,
4826
4833
  *,
4827
- first: 'HrefStruct' = None,
4828
- previous: 'HrefStruct' = None,
4829
- next: 'HrefStruct' = None,
4830
- last: 'HrefStruct' = None,
4831
- groups: List['Group'] = None,
4834
+ first: Optional['HrefStruct'] = None,
4835
+ previous: Optional['HrefStruct'] = None,
4836
+ next: Optional['HrefStruct'] = None,
4837
+ last: Optional['HrefStruct'] = None,
4838
+ groups: Optional[List['Group']] = None,
4832
4839
  ) -> None:
4833
4840
  """
4834
4841
  Initialize a GroupsList object.
@@ -4855,28 +4862,28 @@ class GroupsList:
4855
4862
  def from_dict(cls, _dict: Dict) -> 'GroupsList':
4856
4863
  """Initialize a GroupsList object from a json dictionary."""
4857
4864
  args = {}
4858
- if 'limit' in _dict:
4859
- args['limit'] = _dict.get('limit')
4865
+ if (limit := _dict.get('limit')) is not None:
4866
+ args['limit'] = limit
4860
4867
  else:
4861
4868
  raise ValueError('Required property \'limit\' not present in GroupsList JSON')
4862
- if 'offset' in _dict:
4863
- args['offset'] = _dict.get('offset')
4869
+ if (offset := _dict.get('offset')) is not None:
4870
+ args['offset'] = offset
4864
4871
  else:
4865
4872
  raise ValueError('Required property \'offset\' not present in GroupsList JSON')
4866
- if 'total_count' in _dict:
4867
- args['total_count'] = _dict.get('total_count')
4873
+ if (total_count := _dict.get('total_count')) is not None:
4874
+ args['total_count'] = total_count
4868
4875
  else:
4869
4876
  raise ValueError('Required property \'total_count\' not present in GroupsList JSON')
4870
- if 'first' in _dict:
4871
- args['first'] = HrefStruct.from_dict(_dict.get('first'))
4872
- if 'previous' in _dict:
4873
- args['previous'] = HrefStruct.from_dict(_dict.get('previous'))
4874
- if 'next' in _dict:
4875
- args['next'] = HrefStruct.from_dict(_dict.get('next'))
4876
- if 'last' in _dict:
4877
- args['last'] = HrefStruct.from_dict(_dict.get('last'))
4878
- if 'groups' in _dict:
4879
- args['groups'] = [Group.from_dict(v) for v in _dict.get('groups')]
4877
+ if (first := _dict.get('first')) is not None:
4878
+ args['first'] = HrefStruct.from_dict(first)
4879
+ if (previous := _dict.get('previous')) is not None:
4880
+ args['previous'] = HrefStruct.from_dict(previous)
4881
+ if (next := _dict.get('next')) is not None:
4882
+ args['next'] = HrefStruct.from_dict(next)
4883
+ if (last := _dict.get('last')) is not None:
4884
+ args['last'] = HrefStruct.from_dict(last)
4885
+ if (groups := _dict.get('groups')) is not None:
4886
+ args['groups'] = [Group.from_dict(v) for v in groups]
4880
4887
  return cls(**args)
4881
4888
 
4882
4889
  @classmethod
@@ -4946,13 +4953,13 @@ class HrefStruct:
4946
4953
  """
4947
4954
  A link object.
4948
4955
 
4949
- :attr str href: (optional) A string containing the link’s URL.
4956
+ :param str href: (optional) A string containing the link’s URL.
4950
4957
  """
4951
4958
 
4952
4959
  def __init__(
4953
4960
  self,
4954
4961
  *,
4955
- href: str = None,
4962
+ href: Optional[str] = None,
4956
4963
  ) -> None:
4957
4964
  """
4958
4965
  Initialize a HrefStruct object.
@@ -4965,8 +4972,8 @@ class HrefStruct:
4965
4972
  def from_dict(cls, _dict: Dict) -> 'HrefStruct':
4966
4973
  """Initialize a HrefStruct object from a json dictionary."""
4967
4974
  args = {}
4968
- if 'href' in _dict:
4969
- args['href'] = _dict.get('href')
4975
+ if (href := _dict.get('href')) is not None:
4976
+ args['href'] = href
4970
4977
  return cls(**args)
4971
4978
 
4972
4979
  @classmethod
@@ -5004,35 +5011,35 @@ class ListGroupMembersResponseMember:
5004
5011
  """
5005
5012
  A single member of an access group in a list.
5006
5013
 
5007
- :attr str iam_id: (optional) The IBMid or Service Id of the member.
5008
- :attr str type: (optional) The member type - either `user`, `service` or
5014
+ :param str iam_id: (optional) The IBMid or Service Id of the member.
5015
+ :param str type: (optional) The member type - either `user`, `service` or
5009
5016
  `profile`.
5010
- :attr str membership_type: (optional) The membership type - either `static` or
5017
+ :param str membership_type: (optional) The membership type - either `static` or
5011
5018
  `dynamic`.
5012
- :attr str name: (optional) The user's or service id's name.
5013
- :attr str email: (optional) If the member type is user, this is the user's
5019
+ :param str name: (optional) The user's or service id's name.
5020
+ :param str email: (optional) If the member type is user, this is the user's
5014
5021
  email.
5015
- :attr str description: (optional) If the member type is service, this is the
5022
+ :param str description: (optional) If the member type is service, this is the
5016
5023
  service id's description.
5017
- :attr str href: (optional) A url to the given member resource.
5018
- :attr datetime created_at: (optional) The timestamp the membership was created
5024
+ :param str href: (optional) A url to the given member resource.
5025
+ :param datetime created_at: (optional) The timestamp the membership was created
5019
5026
  at.
5020
- :attr str created_by_id: (optional) The `iam_id` of the entity that created the
5027
+ :param str created_by_id: (optional) The `iam_id` of the entity that created the
5021
5028
  membership.
5022
5029
  """
5023
5030
 
5024
5031
  def __init__(
5025
5032
  self,
5026
5033
  *,
5027
- iam_id: str = None,
5028
- type: str = None,
5029
- membership_type: str = None,
5030
- name: str = None,
5031
- email: str = None,
5032
- description: str = None,
5033
- href: str = None,
5034
- created_at: datetime = None,
5035
- created_by_id: str = None,
5034
+ iam_id: Optional[str] = None,
5035
+ type: Optional[str] = None,
5036
+ membership_type: Optional[str] = None,
5037
+ name: Optional[str] = None,
5038
+ email: Optional[str] = None,
5039
+ description: Optional[str] = None,
5040
+ href: Optional[str] = None,
5041
+ created_at: Optional[datetime] = None,
5042
+ created_by_id: Optional[str] = None,
5036
5043
  ) -> None:
5037
5044
  """
5038
5045
  Initialize a ListGroupMembersResponseMember object.
@@ -5067,24 +5074,24 @@ class ListGroupMembersResponseMember:
5067
5074
  def from_dict(cls, _dict: Dict) -> 'ListGroupMembersResponseMember':
5068
5075
  """Initialize a ListGroupMembersResponseMember object from a json dictionary."""
5069
5076
  args = {}
5070
- if 'iam_id' in _dict:
5071
- args['iam_id'] = _dict.get('iam_id')
5072
- if 'type' in _dict:
5073
- args['type'] = _dict.get('type')
5074
- if 'membership_type' in _dict:
5075
- args['membership_type'] = _dict.get('membership_type')
5076
- if 'name' in _dict:
5077
- args['name'] = _dict.get('name')
5078
- if 'email' in _dict:
5079
- args['email'] = _dict.get('email')
5080
- if 'description' in _dict:
5081
- args['description'] = _dict.get('description')
5082
- if 'href' in _dict:
5083
- args['href'] = _dict.get('href')
5084
- if 'created_at' in _dict:
5085
- args['created_at'] = string_to_datetime(_dict.get('created_at'))
5086
- if 'created_by_id' in _dict:
5087
- args['created_by_id'] = _dict.get('created_by_id')
5077
+ if (iam_id := _dict.get('iam_id')) is not None:
5078
+ args['iam_id'] = iam_id
5079
+ if (type := _dict.get('type')) is not None:
5080
+ args['type'] = type
5081
+ if (membership_type := _dict.get('membership_type')) is not None:
5082
+ args['membership_type'] = membership_type
5083
+ if (name := _dict.get('name')) is not None:
5084
+ args['name'] = name
5085
+ if (email := _dict.get('email')) is not None:
5086
+ args['email'] = email
5087
+ if (description := _dict.get('description')) is not None:
5088
+ args['description'] = description
5089
+ if (href := _dict.get('href')) is not None:
5090
+ args['href'] = href
5091
+ if (created_at := _dict.get('created_at')) is not None:
5092
+ args['created_at'] = string_to_datetime(created_at)
5093
+ if (created_by_id := _dict.get('created_by_id')) is not None:
5094
+ args['created_by_id'] = created_by_id
5088
5095
  return cls(**args)
5089
5096
 
5090
5097
  @classmethod
@@ -5138,12 +5145,12 @@ class ListTemplateAssignmentResponse:
5138
5145
  """
5139
5146
  Response object containing a list of template assignments.
5140
5147
 
5141
- :attr int limit: Maximum number of items returned in the response.
5142
- :attr int offset: Index of the first item returned in the response.
5143
- :attr int total_count: Total number of items matching the query.
5144
- :attr HrefStruct first: A link object.
5145
- :attr HrefStruct last: A link object.
5146
- :attr List[TemplateAssignmentResponse] assignments: List of template
5148
+ :param int limit: Maximum number of items returned in the response.
5149
+ :param int offset: Index of the first item returned in the response.
5150
+ :param int total_count: Total number of items matching the query.
5151
+ :param HrefStruct first: A link object.
5152
+ :param HrefStruct last: A link object.
5153
+ :param List[TemplateAssignmentResponse] assignments: List of template
5147
5154
  assignments.
5148
5155
  """
5149
5156
 
@@ -5178,28 +5185,28 @@ class ListTemplateAssignmentResponse:
5178
5185
  def from_dict(cls, _dict: Dict) -> 'ListTemplateAssignmentResponse':
5179
5186
  """Initialize a ListTemplateAssignmentResponse object from a json dictionary."""
5180
5187
  args = {}
5181
- if 'limit' in _dict:
5182
- args['limit'] = _dict.get('limit')
5188
+ if (limit := _dict.get('limit')) is not None:
5189
+ args['limit'] = limit
5183
5190
  else:
5184
5191
  raise ValueError('Required property \'limit\' not present in ListTemplateAssignmentResponse JSON')
5185
- if 'offset' in _dict:
5186
- args['offset'] = _dict.get('offset')
5192
+ if (offset := _dict.get('offset')) is not None:
5193
+ args['offset'] = offset
5187
5194
  else:
5188
5195
  raise ValueError('Required property \'offset\' not present in ListTemplateAssignmentResponse JSON')
5189
- if 'total_count' in _dict:
5190
- args['total_count'] = _dict.get('total_count')
5196
+ if (total_count := _dict.get('total_count')) is not None:
5197
+ args['total_count'] = total_count
5191
5198
  else:
5192
5199
  raise ValueError('Required property \'total_count\' not present in ListTemplateAssignmentResponse JSON')
5193
- if 'first' in _dict:
5194
- args['first'] = HrefStruct.from_dict(_dict.get('first'))
5200
+ if (first := _dict.get('first')) is not None:
5201
+ args['first'] = HrefStruct.from_dict(first)
5195
5202
  else:
5196
5203
  raise ValueError('Required property \'first\' not present in ListTemplateAssignmentResponse JSON')
5197
- if 'last' in _dict:
5198
- args['last'] = HrefStruct.from_dict(_dict.get('last'))
5204
+ if (last := _dict.get('last')) is not None:
5205
+ args['last'] = HrefStruct.from_dict(last)
5199
5206
  else:
5200
5207
  raise ValueError('Required property \'last\' not present in ListTemplateAssignmentResponse JSON')
5201
- if 'assignments' in _dict:
5202
- args['assignments'] = [TemplateAssignmentResponse.from_dict(v) for v in _dict.get('assignments')]
5208
+ if (assignments := _dict.get('assignments')) is not None:
5209
+ args['assignments'] = [TemplateAssignmentResponse.from_dict(v) for v in assignments]
5203
5210
  else:
5204
5211
  raise ValueError('Required property \'assignments\' not present in ListTemplateAssignmentResponse JSON')
5205
5212
  return cls(**args)
@@ -5261,20 +5268,20 @@ class ListTemplateVersionResponse:
5261
5268
  """
5262
5269
  Response object for a single access group template version.
5263
5270
 
5264
- :attr str name: The name of the template.
5265
- :attr str description: The description of the template.
5266
- :attr str account_id: The ID of the account associated with the template.
5267
- :attr str version: The version number of the template.
5268
- :attr bool committed: A boolean indicating whether the template is committed or
5271
+ :param str name: The name of the template.
5272
+ :param str description: The description of the template.
5273
+ :param str account_id: The ID of the account associated with the template.
5274
+ :param str version: The version number of the template.
5275
+ :param bool committed: A boolean indicating whether the template is committed or
5269
5276
  not.
5270
- :attr AccessGroupResponse group: Access Group Component.
5271
- :attr List[PolicyTemplates] policy_template_references: A list of policy
5277
+ :param AccessGroupResponse group: Access Group Component.
5278
+ :param List[PolicyTemplates] policy_template_references: A list of policy
5272
5279
  templates associated with the template.
5273
- :attr str href: The URL to the template resource.
5274
- :attr str created_at: The date and time the template was created.
5275
- :attr str created_by_id: The ID of the user who created the template.
5276
- :attr str last_modified_at: The date and time the template was last modified.
5277
- :attr str last_modified_by_id: The ID of the user who last modified the
5280
+ :param str href: The URL to the template resource.
5281
+ :param str created_at: The date and time the template was created.
5282
+ :param str created_by_id: The ID of the user who created the template.
5283
+ :param str last_modified_at: The date and time the template was last modified.
5284
+ :param str last_modified_by_id: The ID of the user who last modified the
5278
5285
  template.
5279
5286
  """
5280
5287
 
@@ -5330,56 +5337,54 @@ class ListTemplateVersionResponse:
5330
5337
  def from_dict(cls, _dict: Dict) -> 'ListTemplateVersionResponse':
5331
5338
  """Initialize a ListTemplateVersionResponse object from a json dictionary."""
5332
5339
  args = {}
5333
- if 'name' in _dict:
5334
- args['name'] = _dict.get('name')
5340
+ if (name := _dict.get('name')) is not None:
5341
+ args['name'] = name
5335
5342
  else:
5336
5343
  raise ValueError('Required property \'name\' not present in ListTemplateVersionResponse JSON')
5337
- if 'description' in _dict:
5338
- args['description'] = _dict.get('description')
5344
+ if (description := _dict.get('description')) is not None:
5345
+ args['description'] = description
5339
5346
  else:
5340
5347
  raise ValueError('Required property \'description\' not present in ListTemplateVersionResponse JSON')
5341
- if 'account_id' in _dict:
5342
- args['account_id'] = _dict.get('account_id')
5348
+ if (account_id := _dict.get('account_id')) is not None:
5349
+ args['account_id'] = account_id
5343
5350
  else:
5344
5351
  raise ValueError('Required property \'account_id\' not present in ListTemplateVersionResponse JSON')
5345
- if 'version' in _dict:
5346
- args['version'] = _dict.get('version')
5352
+ if (version := _dict.get('version')) is not None:
5353
+ args['version'] = version
5347
5354
  else:
5348
5355
  raise ValueError('Required property \'version\' not present in ListTemplateVersionResponse JSON')
5349
- if 'committed' in _dict:
5350
- args['committed'] = _dict.get('committed')
5356
+ if (committed := _dict.get('committed')) is not None:
5357
+ args['committed'] = committed
5351
5358
  else:
5352
5359
  raise ValueError('Required property \'committed\' not present in ListTemplateVersionResponse JSON')
5353
- if 'group' in _dict:
5354
- args['group'] = AccessGroupResponse.from_dict(_dict.get('group'))
5360
+ if (group := _dict.get('group')) is not None:
5361
+ args['group'] = AccessGroupResponse.from_dict(group)
5355
5362
  else:
5356
5363
  raise ValueError('Required property \'group\' not present in ListTemplateVersionResponse JSON')
5357
- if 'policy_template_references' in _dict:
5358
- args['policy_template_references'] = [
5359
- PolicyTemplates.from_dict(v) for v in _dict.get('policy_template_references')
5360
- ]
5364
+ if (policy_template_references := _dict.get('policy_template_references')) is not None:
5365
+ args['policy_template_references'] = [PolicyTemplates.from_dict(v) for v in policy_template_references]
5361
5366
  else:
5362
5367
  raise ValueError(
5363
5368
  'Required property \'policy_template_references\' not present in ListTemplateVersionResponse JSON'
5364
5369
  )
5365
- if 'href' in _dict:
5366
- args['href'] = _dict.get('href')
5370
+ if (href := _dict.get('href')) is not None:
5371
+ args['href'] = href
5367
5372
  else:
5368
5373
  raise ValueError('Required property \'href\' not present in ListTemplateVersionResponse JSON')
5369
- if 'created_at' in _dict:
5370
- args['created_at'] = _dict.get('created_at')
5374
+ if (created_at := _dict.get('created_at')) is not None:
5375
+ args['created_at'] = created_at
5371
5376
  else:
5372
5377
  raise ValueError('Required property \'created_at\' not present in ListTemplateVersionResponse JSON')
5373
- if 'created_by_id' in _dict:
5374
- args['created_by_id'] = _dict.get('created_by_id')
5378
+ if (created_by_id := _dict.get('created_by_id')) is not None:
5379
+ args['created_by_id'] = created_by_id
5375
5380
  else:
5376
5381
  raise ValueError('Required property \'created_by_id\' not present in ListTemplateVersionResponse JSON')
5377
- if 'last_modified_at' in _dict:
5378
- args['last_modified_at'] = _dict.get('last_modified_at')
5382
+ if (last_modified_at := _dict.get('last_modified_at')) is not None:
5383
+ args['last_modified_at'] = last_modified_at
5379
5384
  else:
5380
5385
  raise ValueError('Required property \'last_modified_at\' not present in ListTemplateVersionResponse JSON')
5381
- if 'last_modified_by_id' in _dict:
5382
- args['last_modified_by_id'] = _dict.get('last_modified_by_id')
5386
+ if (last_modified_by_id := _dict.get('last_modified_by_id')) is not None:
5387
+ args['last_modified_by_id'] = last_modified_by_id
5383
5388
  else:
5384
5389
  raise ValueError(
5385
5390
  'Required property \'last_modified_by_id\' not present in ListTemplateVersionResponse JSON'
@@ -5452,14 +5457,14 @@ class ListTemplateVersionsResponse:
5452
5457
  """
5453
5458
  Response object for listing template versions.
5454
5459
 
5455
- :attr int limit: The maximum number of IAM resources to return.
5456
- :attr int offset: The offset of the first IAM resource in the list.
5457
- :attr int total_count: The total number of IAM resources in the list.
5458
- :attr HrefStruct first: A link object.
5459
- :attr HrefStruct previous: (optional) A link object.
5460
- :attr HrefStruct next: (optional) A link object.
5461
- :attr HrefStruct last: A link object.
5462
- :attr List[ListTemplateVersionResponse] group_template_versions: A list of
5460
+ :param int limit: The maximum number of IAM resources to return.
5461
+ :param int offset: The offset of the first IAM resource in the list.
5462
+ :param int total_count: The total number of IAM resources in the list.
5463
+ :param HrefStruct first: A link object.
5464
+ :param HrefStruct previous: (optional) A link object.
5465
+ :param HrefStruct next: (optional) A link object.
5466
+ :param HrefStruct last: A link object.
5467
+ :param List[ListTemplateVersionResponse] group_template_versions: A list of
5463
5468
  access group template versions.
5464
5469
  """
5465
5470
 
@@ -5472,8 +5477,8 @@ class ListTemplateVersionsResponse:
5472
5477
  last: 'HrefStruct',
5473
5478
  group_template_versions: List['ListTemplateVersionResponse'],
5474
5479
  *,
5475
- previous: 'HrefStruct' = None,
5476
- next: 'HrefStruct' = None,
5480
+ previous: Optional['HrefStruct'] = None,
5481
+ next: Optional['HrefStruct'] = None,
5477
5482
  ) -> None:
5478
5483
  """
5479
5484
  Initialize a ListTemplateVersionsResponse object.
@@ -5501,33 +5506,33 @@ class ListTemplateVersionsResponse:
5501
5506
  def from_dict(cls, _dict: Dict) -> 'ListTemplateVersionsResponse':
5502
5507
  """Initialize a ListTemplateVersionsResponse object from a json dictionary."""
5503
5508
  args = {}
5504
- if 'limit' in _dict:
5505
- args['limit'] = _dict.get('limit')
5509
+ if (limit := _dict.get('limit')) is not None:
5510
+ args['limit'] = limit
5506
5511
  else:
5507
5512
  raise ValueError('Required property \'limit\' not present in ListTemplateVersionsResponse JSON')
5508
- if 'offset' in _dict:
5509
- args['offset'] = _dict.get('offset')
5513
+ if (offset := _dict.get('offset')) is not None:
5514
+ args['offset'] = offset
5510
5515
  else:
5511
5516
  raise ValueError('Required property \'offset\' not present in ListTemplateVersionsResponse JSON')
5512
- if 'total_count' in _dict:
5513
- args['total_count'] = _dict.get('total_count')
5517
+ if (total_count := _dict.get('total_count')) is not None:
5518
+ args['total_count'] = total_count
5514
5519
  else:
5515
5520
  raise ValueError('Required property \'total_count\' not present in ListTemplateVersionsResponse JSON')
5516
- if 'first' in _dict:
5517
- args['first'] = HrefStruct.from_dict(_dict.get('first'))
5521
+ if (first := _dict.get('first')) is not None:
5522
+ args['first'] = HrefStruct.from_dict(first)
5518
5523
  else:
5519
5524
  raise ValueError('Required property \'first\' not present in ListTemplateVersionsResponse JSON')
5520
- if 'previous' in _dict:
5521
- args['previous'] = HrefStruct.from_dict(_dict.get('previous'))
5522
- if 'next' in _dict:
5523
- args['next'] = HrefStruct.from_dict(_dict.get('next'))
5524
- if 'last' in _dict:
5525
- args['last'] = HrefStruct.from_dict(_dict.get('last'))
5525
+ if (previous := _dict.get('previous')) is not None:
5526
+ args['previous'] = HrefStruct.from_dict(previous)
5527
+ if (next := _dict.get('next')) is not None:
5528
+ args['next'] = HrefStruct.from_dict(next)
5529
+ if (last := _dict.get('last')) is not None:
5530
+ args['last'] = HrefStruct.from_dict(last)
5526
5531
  else:
5527
5532
  raise ValueError('Required property \'last\' not present in ListTemplateVersionsResponse JSON')
5528
- if 'group_template_versions' in _dict:
5533
+ if (group_template_versions := _dict.get('group_template_versions')) is not None:
5529
5534
  args['group_template_versions'] = [
5530
- ListTemplateVersionResponse.from_dict(v) for v in _dict.get('group_template_versions')
5535
+ ListTemplateVersionResponse.from_dict(v) for v in group_template_versions
5531
5536
  ]
5532
5537
  else:
5533
5538
  raise ValueError(
@@ -5602,14 +5607,14 @@ class ListTemplatesResponse:
5602
5607
  """
5603
5608
  Response object for listing templates.
5604
5609
 
5605
- :attr int limit: The maximum number of IAM resources to return.
5606
- :attr int offset: The offset of the first IAM resource in the list.
5607
- :attr int total_count: The total number of IAM resources in the list.
5608
- :attr HrefStruct first: A link object.
5609
- :attr HrefStruct previous: (optional) A link object.
5610
- :attr HrefStruct next: (optional) A link object.
5611
- :attr HrefStruct last: A link object.
5612
- :attr List[GroupTemplate] group_templates: A list of access group templates.
5610
+ :param int limit: The maximum number of IAM resources to return.
5611
+ :param int offset: The offset of the first IAM resource in the list.
5612
+ :param int total_count: The total number of IAM resources in the list.
5613
+ :param HrefStruct first: A link object.
5614
+ :param HrefStruct previous: (optional) A link object.
5615
+ :param HrefStruct next: (optional) A link object.
5616
+ :param HrefStruct last: A link object.
5617
+ :param List[GroupTemplate] group_templates: A list of access group templates.
5613
5618
  """
5614
5619
 
5615
5620
  def __init__(
@@ -5621,8 +5626,8 @@ class ListTemplatesResponse:
5621
5626
  last: 'HrefStruct',
5622
5627
  group_templates: List['GroupTemplate'],
5623
5628
  *,
5624
- previous: 'HrefStruct' = None,
5625
- next: 'HrefStruct' = None,
5629
+ previous: Optional['HrefStruct'] = None,
5630
+ next: Optional['HrefStruct'] = None,
5626
5631
  ) -> None:
5627
5632
  """
5628
5633
  Initialize a ListTemplatesResponse object.
@@ -5650,32 +5655,32 @@ class ListTemplatesResponse:
5650
5655
  def from_dict(cls, _dict: Dict) -> 'ListTemplatesResponse':
5651
5656
  """Initialize a ListTemplatesResponse object from a json dictionary."""
5652
5657
  args = {}
5653
- if 'limit' in _dict:
5654
- args['limit'] = _dict.get('limit')
5658
+ if (limit := _dict.get('limit')) is not None:
5659
+ args['limit'] = limit
5655
5660
  else:
5656
5661
  raise ValueError('Required property \'limit\' not present in ListTemplatesResponse JSON')
5657
- if 'offset' in _dict:
5658
- args['offset'] = _dict.get('offset')
5662
+ if (offset := _dict.get('offset')) is not None:
5663
+ args['offset'] = offset
5659
5664
  else:
5660
5665
  raise ValueError('Required property \'offset\' not present in ListTemplatesResponse JSON')
5661
- if 'total_count' in _dict:
5662
- args['total_count'] = _dict.get('total_count')
5666
+ if (total_count := _dict.get('total_count')) is not None:
5667
+ args['total_count'] = total_count
5663
5668
  else:
5664
5669
  raise ValueError('Required property \'total_count\' not present in ListTemplatesResponse JSON')
5665
- if 'first' in _dict:
5666
- args['first'] = HrefStruct.from_dict(_dict.get('first'))
5670
+ if (first := _dict.get('first')) is not None:
5671
+ args['first'] = HrefStruct.from_dict(first)
5667
5672
  else:
5668
5673
  raise ValueError('Required property \'first\' not present in ListTemplatesResponse JSON')
5669
- if 'previous' in _dict:
5670
- args['previous'] = HrefStruct.from_dict(_dict.get('previous'))
5671
- if 'next' in _dict:
5672
- args['next'] = HrefStruct.from_dict(_dict.get('next'))
5673
- if 'last' in _dict:
5674
- args['last'] = HrefStruct.from_dict(_dict.get('last'))
5674
+ if (previous := _dict.get('previous')) is not None:
5675
+ args['previous'] = HrefStruct.from_dict(previous)
5676
+ if (next := _dict.get('next')) is not None:
5677
+ args['next'] = HrefStruct.from_dict(next)
5678
+ if (last := _dict.get('last')) is not None:
5679
+ args['last'] = HrefStruct.from_dict(last)
5675
5680
  else:
5676
5681
  raise ValueError('Required property \'last\' not present in ListTemplatesResponse JSON')
5677
- if 'group_templates' in _dict:
5678
- args['group_templates'] = [GroupTemplate.from_dict(v) for v in _dict.get('group_templates')]
5682
+ if (group_templates := _dict.get('group_templates')) is not None:
5683
+ args['group_templates'] = [GroupTemplate.from_dict(v) for v in group_templates]
5679
5684
  else:
5680
5685
  raise ValueError('Required property \'group_templates\' not present in ListTemplatesResponse JSON')
5681
5686
  return cls(**args)
@@ -5748,12 +5753,12 @@ class Members:
5748
5753
  Array of enterprise users to add to the template. All enterprise users that you add to
5749
5754
  the template must be invited to the child accounts where the template is assigned.
5750
5755
 
5751
- :attr List[str] users: (optional) Array of enterprise users to add to the
5756
+ :param List[str] users: (optional) Array of enterprise users to add to the
5752
5757
  template. All enterprise users that you add to the template must be invited to
5753
5758
  the child accounts where the template is assigned.
5754
- :attr List[str] services: (optional) Array of service IDs to add to the
5759
+ :param List[str] services: (optional) Array of service IDs to add to the
5755
5760
  template.
5756
- :attr MembersActionControls action_controls: (optional) Control whether or not
5761
+ :param MembersActionControls action_controls: (optional) Control whether or not
5757
5762
  access group administrators in child accounts can add and remove members from
5758
5763
  the enterprise-managed access group in their account.
5759
5764
  """
@@ -5761,9 +5766,9 @@ class Members:
5761
5766
  def __init__(
5762
5767
  self,
5763
5768
  *,
5764
- users: List[str] = None,
5765
- services: List[str] = None,
5766
- action_controls: 'MembersActionControls' = None,
5769
+ users: Optional[List[str]] = None,
5770
+ services: Optional[List[str]] = None,
5771
+ action_controls: Optional['MembersActionControls'] = None,
5767
5772
  ) -> None:
5768
5773
  """
5769
5774
  Initialize a Members object.
@@ -5785,12 +5790,12 @@ class Members:
5785
5790
  def from_dict(cls, _dict: Dict) -> 'Members':
5786
5791
  """Initialize a Members object from a json dictionary."""
5787
5792
  args = {}
5788
- if 'users' in _dict:
5789
- args['users'] = _dict.get('users')
5790
- if 'services' in _dict:
5791
- args['services'] = _dict.get('services')
5792
- if 'action_controls' in _dict:
5793
- args['action_controls'] = MembersActionControls.from_dict(_dict.get('action_controls'))
5793
+ if (users := _dict.get('users')) is not None:
5794
+ args['users'] = users
5795
+ if (services := _dict.get('services')) is not None:
5796
+ args['services'] = services
5797
+ if (action_controls := _dict.get('action_controls')) is not None:
5798
+ args['action_controls'] = MembersActionControls.from_dict(action_controls)
5794
5799
  return cls(**args)
5795
5800
 
5796
5801
  @classmethod
@@ -5836,15 +5841,15 @@ class MembersActionControls:
5836
5841
  Control whether or not access group administrators in child accounts can add and
5837
5842
  remove members from the enterprise-managed access group in their account.
5838
5843
 
5839
- :attr bool add: (optional) Action control for adding child account members to an
5840
- enterprise-managed access group. If an access group administrator in a child
5844
+ :param bool add: (optional) Action control for adding child account members to
5845
+ an enterprise-managed access group. If an access group administrator in a child
5841
5846
  account adds a member, they can always remove them. Note that if conflicts arise
5842
5847
  between an update to this control in a new version and members added by an
5843
5848
  administrator in the child account, you must resolve those conflicts in the
5844
5849
  child account. This prevents breaking access in the child account. For more
5845
5850
  information, see [Working with versions]
5846
- (https://test.cloud.ibm.com/docs/secure-enterprise?topic=secure-enterprise-working-with-versions#new-version-scenarios).
5847
- :attr bool remove: (optional) Action control for removing enterprise-managed
5851
+ (https://cloud.ibm.com/docs/secure-enterprise?topic=secure-enterprise-working-with-versions#new-version-scenarios).
5852
+ :param bool remove: (optional) Action control for removing enterprise-managed
5848
5853
  members from an enterprise-managed access group. Note that if an enterprise
5849
5854
  member is removed from an enterprise-managed access group in a child account and
5850
5855
  you reassign the template, the membership is reinstated.
@@ -5853,8 +5858,8 @@ class MembersActionControls:
5853
5858
  def __init__(
5854
5859
  self,
5855
5860
  *,
5856
- add: bool = None,
5857
- remove: bool = None,
5861
+ add: Optional[bool] = None,
5862
+ remove: Optional[bool] = None,
5858
5863
  ) -> None:
5859
5864
  """
5860
5865
  Initialize a MembersActionControls object.
@@ -5866,7 +5871,7 @@ class MembersActionControls:
5866
5871
  members added by an administrator in the child account, you must resolve
5867
5872
  those conflicts in the child account. This prevents breaking access in the
5868
5873
  child account. For more information, see [Working with versions]
5869
- (https://test.cloud.ibm.com/docs/secure-enterprise?topic=secure-enterprise-working-with-versions#new-version-scenarios).
5874
+ (https://cloud.ibm.com/docs/secure-enterprise?topic=secure-enterprise-working-with-versions#new-version-scenarios).
5870
5875
  :param bool remove: (optional) Action control for removing
5871
5876
  enterprise-managed members from an enterprise-managed access group. Note
5872
5877
  that if an enterprise member is removed from an enterprise-managed access
@@ -5880,10 +5885,10 @@ class MembersActionControls:
5880
5885
  def from_dict(cls, _dict: Dict) -> 'MembersActionControls':
5881
5886
  """Initialize a MembersActionControls object from a json dictionary."""
5882
5887
  args = {}
5883
- if 'add' in _dict:
5884
- args['add'] = _dict.get('add')
5885
- if 'remove' in _dict:
5886
- args['remove'] = _dict.get('remove')
5888
+ if (add := _dict.get('add')) is not None:
5889
+ args['add'] = add
5890
+ if (remove := _dict.get('remove')) is not None:
5891
+ args['remove'] = remove
5887
5892
  return cls(**args)
5888
5893
 
5889
5894
  @classmethod
@@ -5923,15 +5928,15 @@ class PolicyTemplates:
5923
5928
  """
5924
5929
  Policy Templates Input component.
5925
5930
 
5926
- :attr str id: (optional) Policy template ID.
5927
- :attr str version: (optional) Policy template version.
5931
+ :param str id: (optional) Policy template ID.
5932
+ :param str version: (optional) Policy template version.
5928
5933
  """
5929
5934
 
5930
5935
  def __init__(
5931
5936
  self,
5932
5937
  *,
5933
- id: str = None,
5934
- version: str = None,
5938
+ id: Optional[str] = None,
5939
+ version: Optional[str] = None,
5935
5940
  ) -> None:
5936
5941
  """
5937
5942
  Initialize a PolicyTemplates object.
@@ -5946,10 +5951,10 @@ class PolicyTemplates:
5946
5951
  def from_dict(cls, _dict: Dict) -> 'PolicyTemplates':
5947
5952
  """Initialize a PolicyTemplates object from a json dictionary."""
5948
5953
  args = {}
5949
- if 'id' in _dict:
5950
- args['id'] = _dict.get('id')
5951
- if 'version' in _dict:
5952
- args['version'] = _dict.get('version')
5954
+ if (id := _dict.get('id')) is not None:
5955
+ args['id'] = id
5956
+ if (version := _dict.get('version')) is not None:
5957
+ args['version'] = version
5953
5958
  return cls(**args)
5954
5959
 
5955
5960
  @classmethod
@@ -5989,20 +5994,20 @@ class ResourceListWithTargetAccountID:
5989
5994
  """
5990
5995
  Object containing details of a resource list with target account ID.
5991
5996
 
5992
- :attr str target: (optional) The ID of the entity that the resource list applies
5993
- to.
5994
- :attr AssignmentResourceAccessGroup group: (optional) Assignment Resource Access
5995
- Group.
5996
- :attr List[AssignmentResourceEntry] policy_template_references: (optional) List
5997
+ :param str target: (optional) The ID of the entity that the resource list
5998
+ applies to.
5999
+ :param AssignmentResourceAccessGroup group: (optional) Assignment Resource
6000
+ Access Group.
6001
+ :param List[AssignmentResourceEntry] policy_template_references: (optional) List
5997
6002
  of policy template references for the resource list.
5998
6003
  """
5999
6004
 
6000
6005
  def __init__(
6001
6006
  self,
6002
6007
  *,
6003
- target: str = None,
6004
- group: 'AssignmentResourceAccessGroup' = None,
6005
- policy_template_references: List['AssignmentResourceEntry'] = None,
6008
+ target: Optional[str] = None,
6009
+ group: Optional['AssignmentResourceAccessGroup'] = None,
6010
+ policy_template_references: Optional[List['AssignmentResourceEntry']] = None,
6006
6011
  ) -> None:
6007
6012
  """
6008
6013
  Initialize a ResourceListWithTargetAccountID object.
@@ -6022,13 +6027,13 @@ class ResourceListWithTargetAccountID:
6022
6027
  def from_dict(cls, _dict: Dict) -> 'ResourceListWithTargetAccountID':
6023
6028
  """Initialize a ResourceListWithTargetAccountID object from a json dictionary."""
6024
6029
  args = {}
6025
- if 'target' in _dict:
6026
- args['target'] = _dict.get('target')
6027
- if 'group' in _dict:
6028
- args['group'] = AssignmentResourceAccessGroup.from_dict(_dict.get('group'))
6029
- if 'policy_template_references' in _dict:
6030
+ if (target := _dict.get('target')) is not None:
6031
+ args['target'] = target
6032
+ if (group := _dict.get('group')) is not None:
6033
+ args['group'] = AssignmentResourceAccessGroup.from_dict(group)
6034
+ if (policy_template_references := _dict.get('policy_template_references')) is not None:
6030
6035
  args['policy_template_references'] = [
6031
- AssignmentResourceEntry.from_dict(v) for v in _dict.get('policy_template_references')
6036
+ AssignmentResourceEntry.from_dict(v) for v in policy_template_references
6032
6037
  ]
6033
6038
  return cls(**args)
6034
6039
 
@@ -6080,41 +6085,41 @@ class Rule:
6080
6085
  """
6081
6086
  A dynamic rule of an access group.
6082
6087
 
6083
- :attr str id: (optional) The rule id.
6084
- :attr str name: (optional) The name of the rule.
6085
- :attr int expiration: (optional) Session duration in hours. Access group
6088
+ :param str id: (optional) The rule id.
6089
+ :param str name: (optional) The name of the rule.
6090
+ :param int expiration: (optional) Session duration in hours. Access group
6086
6091
  membership is revoked after this time period expires. Users must log back in to
6087
6092
  refresh their access group membership. Must be between 1 and 24.
6088
- :attr str realm_name: (optional) The URL of the identity provider.
6089
- :attr str access_group_id: (optional) The group id that the dynamic rule is
6093
+ :param str realm_name: (optional) The URL of the identity provider.
6094
+ :param str access_group_id: (optional) The group id that the dynamic rule is
6090
6095
  assigned to.
6091
- :attr str account_id: (optional) The account id that the group is in.
6092
- :attr List[RuleConditions] conditions: (optional) A list of conditions that
6096
+ :param str account_id: (optional) The account id that the group is in.
6097
+ :param List[RuleConditions] conditions: (optional) A list of conditions that
6093
6098
  identities must satisfy to gain access group membership.
6094
- :attr datetime created_at: (optional) The timestamp for when the rule was
6099
+ :param datetime created_at: (optional) The timestamp for when the rule was
6095
6100
  created.
6096
- :attr str created_by_id: (optional) The `iam_id` of the entity that created the
6101
+ :param str created_by_id: (optional) The `iam_id` of the entity that created the
6097
6102
  dynamic rule.
6098
- :attr datetime last_modified_at: (optional) The timestamp for when the dynamic
6103
+ :param datetime last_modified_at: (optional) The timestamp for when the dynamic
6099
6104
  rule was last edited.
6100
- :attr str last_modified_by_id: (optional) The IAM id that last modified the
6105
+ :param str last_modified_by_id: (optional) The IAM id that last modified the
6101
6106
  rule.
6102
6107
  """
6103
6108
 
6104
6109
  def __init__(
6105
6110
  self,
6106
6111
  *,
6107
- id: str = None,
6108
- name: str = None,
6109
- expiration: int = None,
6110
- realm_name: str = None,
6111
- access_group_id: str = None,
6112
- account_id: str = None,
6113
- conditions: List['RuleConditions'] = None,
6114
- created_at: datetime = None,
6115
- created_by_id: str = None,
6116
- last_modified_at: datetime = None,
6117
- last_modified_by_id: str = None,
6112
+ id: Optional[str] = None,
6113
+ name: Optional[str] = None,
6114
+ expiration: Optional[int] = None,
6115
+ realm_name: Optional[str] = None,
6116
+ access_group_id: Optional[str] = None,
6117
+ account_id: Optional[str] = None,
6118
+ conditions: Optional[List['RuleConditions']] = None,
6119
+ created_at: Optional[datetime] = None,
6120
+ created_by_id: Optional[str] = None,
6121
+ last_modified_at: Optional[datetime] = None,
6122
+ last_modified_by_id: Optional[str] = None,
6118
6123
  ) -> None:
6119
6124
  """
6120
6125
  Initialize a Rule object.
@@ -6155,28 +6160,28 @@ class Rule:
6155
6160
  def from_dict(cls, _dict: Dict) -> 'Rule':
6156
6161
  """Initialize a Rule object from a json dictionary."""
6157
6162
  args = {}
6158
- if 'id' in _dict:
6159
- args['id'] = _dict.get('id')
6160
- if 'name' in _dict:
6161
- args['name'] = _dict.get('name')
6162
- if 'expiration' in _dict:
6163
- args['expiration'] = _dict.get('expiration')
6164
- if 'realm_name' in _dict:
6165
- args['realm_name'] = _dict.get('realm_name')
6166
- if 'access_group_id' in _dict:
6167
- args['access_group_id'] = _dict.get('access_group_id')
6168
- if 'account_id' in _dict:
6169
- args['account_id'] = _dict.get('account_id')
6170
- if 'conditions' in _dict:
6171
- args['conditions'] = [RuleConditions.from_dict(v) for v in _dict.get('conditions')]
6172
- if 'created_at' in _dict:
6173
- args['created_at'] = string_to_datetime(_dict.get('created_at'))
6174
- if 'created_by_id' in _dict:
6175
- args['created_by_id'] = _dict.get('created_by_id')
6176
- if 'last_modified_at' in _dict:
6177
- args['last_modified_at'] = string_to_datetime(_dict.get('last_modified_at'))
6178
- if 'last_modified_by_id' in _dict:
6179
- args['last_modified_by_id'] = _dict.get('last_modified_by_id')
6163
+ if (id := _dict.get('id')) is not None:
6164
+ args['id'] = id
6165
+ if (name := _dict.get('name')) is not None:
6166
+ args['name'] = name
6167
+ if (expiration := _dict.get('expiration')) is not None:
6168
+ args['expiration'] = expiration
6169
+ if (realm_name := _dict.get('realm_name')) is not None:
6170
+ args['realm_name'] = realm_name
6171
+ if (access_group_id := _dict.get('access_group_id')) is not None:
6172
+ args['access_group_id'] = access_group_id
6173
+ if (account_id := _dict.get('account_id')) is not None:
6174
+ args['account_id'] = account_id
6175
+ if (conditions := _dict.get('conditions')) is not None:
6176
+ args['conditions'] = [RuleConditions.from_dict(v) for v in conditions]
6177
+ if (created_at := _dict.get('created_at')) is not None:
6178
+ args['created_at'] = string_to_datetime(created_at)
6179
+ if (created_by_id := _dict.get('created_by_id')) is not None:
6180
+ args['created_by_id'] = created_by_id
6181
+ if (last_modified_at := _dict.get('last_modified_at')) is not None:
6182
+ args['last_modified_at'] = string_to_datetime(last_modified_at)
6183
+ if (last_modified_by_id := _dict.get('last_modified_by_id')) is not None:
6184
+ args['last_modified_by_id'] = last_modified_by_id
6180
6185
  return cls(**args)
6181
6186
 
6182
6187
  @classmethod
@@ -6242,14 +6247,14 @@ class RuleActionControls:
6242
6247
  remove this dynamic rule in the enterprise-managed access group in their account.This
6243
6248
  overrides outer level AssertionsActionControls.
6244
6249
 
6245
- :attr bool remove: (optional) Action control for removing this
6250
+ :param bool remove: (optional) Action control for removing this
6246
6251
  enterprise-managed dynamic rule.
6247
6252
  """
6248
6253
 
6249
6254
  def __init__(
6250
6255
  self,
6251
6256
  *,
6252
- remove: bool = None,
6257
+ remove: Optional[bool] = None,
6253
6258
  ) -> None:
6254
6259
  """
6255
6260
  Initialize a RuleActionControls object.
@@ -6263,8 +6268,8 @@ class RuleActionControls:
6263
6268
  def from_dict(cls, _dict: Dict) -> 'RuleActionControls':
6264
6269
  """Initialize a RuleActionControls object from a json dictionary."""
6265
6270
  args = {}
6266
- if 'remove' in _dict:
6267
- args['remove'] = _dict.get('remove')
6271
+ if (remove := _dict.get('remove')) is not None:
6272
+ args['remove'] = remove
6268
6273
  return cls(**args)
6269
6274
 
6270
6275
  @classmethod
@@ -6302,10 +6307,10 @@ class RuleConditions:
6302
6307
  """
6303
6308
  The conditions of a dynamic rule.
6304
6309
 
6305
- :attr str claim: The claim to evaluate against. This will be found in the `ext`
6310
+ :param str claim: The claim to evaluate against. This will be found in the `ext`
6306
6311
  claims of a user's login request.
6307
- :attr str operator: The operation to perform on the claim.
6308
- :attr str value: The stringified JSON value that the claim is compared to using
6312
+ :param str operator: The operation to perform on the claim.
6313
+ :param str value: The stringified JSON value that the claim is compared to using
6309
6314
  the operator.
6310
6315
  """
6311
6316
 
@@ -6332,16 +6337,16 @@ class RuleConditions:
6332
6337
  def from_dict(cls, _dict: Dict) -> 'RuleConditions':
6333
6338
  """Initialize a RuleConditions object from a json dictionary."""
6334
6339
  args = {}
6335
- if 'claim' in _dict:
6336
- args['claim'] = _dict.get('claim')
6340
+ if (claim := _dict.get('claim')) is not None:
6341
+ args['claim'] = claim
6337
6342
  else:
6338
6343
  raise ValueError('Required property \'claim\' not present in RuleConditions JSON')
6339
- if 'operator' in _dict:
6340
- args['operator'] = _dict.get('operator')
6344
+ if (operator := _dict.get('operator')) is not None:
6345
+ args['operator'] = operator
6341
6346
  else:
6342
6347
  raise ValueError('Required property \'operator\' not present in RuleConditions JSON')
6343
- if 'value' in _dict:
6344
- args['value'] = _dict.get('value')
6348
+ if (value := _dict.get('value')) is not None:
6349
+ args['value'] = value
6345
6350
  else:
6346
6351
  raise ValueError('Required property \'value\' not present in RuleConditions JSON')
6347
6352
  return cls(**args)
@@ -6397,13 +6402,13 @@ class RulesList:
6397
6402
  """
6398
6403
  A list of dynamic rules attached to the access group.
6399
6404
 
6400
- :attr List[Rule] rules: (optional) A list of dynamic rules.
6405
+ :param List[Rule] rules: (optional) A list of dynamic rules.
6401
6406
  """
6402
6407
 
6403
6408
  def __init__(
6404
6409
  self,
6405
6410
  *,
6406
- rules: List['Rule'] = None,
6411
+ rules: Optional[List['Rule']] = None,
6407
6412
  ) -> None:
6408
6413
  """
6409
6414
  Initialize a RulesList object.
@@ -6416,8 +6421,8 @@ class RulesList:
6416
6421
  def from_dict(cls, _dict: Dict) -> 'RulesList':
6417
6422
  """Initialize a RulesList object from a json dictionary."""
6418
6423
  args = {}
6419
- if 'rules' in _dict:
6420
- args['rules'] = [Rule.from_dict(v) for v in _dict.get('rules')]
6424
+ if (rules := _dict.get('rules')) is not None:
6425
+ args['rules'] = [Rule.from_dict(v) for v in rules]
6421
6426
  return cls(**args)
6422
6427
 
6423
6428
  @classmethod
@@ -6461,23 +6466,23 @@ class TemplateAssignmentResponse:
6461
6466
  """
6462
6467
  Response object containing the details of a template assignment.
6463
6468
 
6464
- :attr str id: The ID of the assignment.
6465
- :attr str account_id: The ID of the account that the assignment belongs to.
6466
- :attr str template_id: The ID of the template that the assignment is based on.
6467
- :attr str template_version: The version of the template that the assignment is
6469
+ :param str id: The ID of the assignment.
6470
+ :param str account_id: The ID of the account that the assignment belongs to.
6471
+ :param str template_id: The ID of the template that the assignment is based on.
6472
+ :param str template_version: The version of the template that the assignment is
6468
6473
  based on.
6469
- :attr str target_type: The type of the entity that the assignment applies to.
6470
- :attr str target: The ID of the entity that the assignment applies to.
6471
- :attr str operation: The operation that the assignment applies to (e.g.
6474
+ :param str target_type: The type of the entity that the assignment applies to.
6475
+ :param str target: The ID of the entity that the assignment applies to.
6476
+ :param str operation: The operation that the assignment applies to (e.g.
6472
6477
  'assign', 'update', 'remove').
6473
- :attr str status: The status of the assignment (e.g. 'accepted', 'in_progress',
6478
+ :param str status: The status of the assignment (e.g. 'accepted', 'in_progress',
6474
6479
  'succeeded', 'failed', 'superseded').
6475
- :attr str href: The URL of the assignment resource.
6476
- :attr datetime created_at: The date and time when the assignment was created.
6477
- :attr str created_by_id: The user or system that created the assignment.
6478
- :attr datetime last_modified_at: The date and time when the assignment was last
6480
+ :param str href: The URL of the assignment resource.
6481
+ :param datetime created_at: The date and time when the assignment was created.
6482
+ :param str created_by_id: The user or system that created the assignment.
6483
+ :param datetime last_modified_at: The date and time when the assignment was last
6479
6484
  updated.
6480
- :attr str last_modified_by_id: The user or system that last updated the
6485
+ :param str last_modified_by_id: The user or system that last updated the
6481
6486
  assignment.
6482
6487
  """
6483
6488
 
@@ -6541,56 +6546,56 @@ class TemplateAssignmentResponse:
6541
6546
  def from_dict(cls, _dict: Dict) -> 'TemplateAssignmentResponse':
6542
6547
  """Initialize a TemplateAssignmentResponse object from a json dictionary."""
6543
6548
  args = {}
6544
- if 'id' in _dict:
6545
- args['id'] = _dict.get('id')
6549
+ if (id := _dict.get('id')) is not None:
6550
+ args['id'] = id
6546
6551
  else:
6547
6552
  raise ValueError('Required property \'id\' not present in TemplateAssignmentResponse JSON')
6548
- if 'account_id' in _dict:
6549
- args['account_id'] = _dict.get('account_id')
6553
+ if (account_id := _dict.get('account_id')) is not None:
6554
+ args['account_id'] = account_id
6550
6555
  else:
6551
6556
  raise ValueError('Required property \'account_id\' not present in TemplateAssignmentResponse JSON')
6552
- if 'template_id' in _dict:
6553
- args['template_id'] = _dict.get('template_id')
6557
+ if (template_id := _dict.get('template_id')) is not None:
6558
+ args['template_id'] = template_id
6554
6559
  else:
6555
6560
  raise ValueError('Required property \'template_id\' not present in TemplateAssignmentResponse JSON')
6556
- if 'template_version' in _dict:
6557
- args['template_version'] = _dict.get('template_version')
6561
+ if (template_version := _dict.get('template_version')) is not None:
6562
+ args['template_version'] = template_version
6558
6563
  else:
6559
6564
  raise ValueError('Required property \'template_version\' not present in TemplateAssignmentResponse JSON')
6560
- if 'target_type' in _dict:
6561
- args['target_type'] = _dict.get('target_type')
6565
+ if (target_type := _dict.get('target_type')) is not None:
6566
+ args['target_type'] = target_type
6562
6567
  else:
6563
6568
  raise ValueError('Required property \'target_type\' not present in TemplateAssignmentResponse JSON')
6564
- if 'target' in _dict:
6565
- args['target'] = _dict.get('target')
6569
+ if (target := _dict.get('target')) is not None:
6570
+ args['target'] = target
6566
6571
  else:
6567
6572
  raise ValueError('Required property \'target\' not present in TemplateAssignmentResponse JSON')
6568
- if 'operation' in _dict:
6569
- args['operation'] = _dict.get('operation')
6573
+ if (operation := _dict.get('operation')) is not None:
6574
+ args['operation'] = operation
6570
6575
  else:
6571
6576
  raise ValueError('Required property \'operation\' not present in TemplateAssignmentResponse JSON')
6572
- if 'status' in _dict:
6573
- args['status'] = _dict.get('status')
6577
+ if (status := _dict.get('status')) is not None:
6578
+ args['status'] = status
6574
6579
  else:
6575
6580
  raise ValueError('Required property \'status\' not present in TemplateAssignmentResponse JSON')
6576
- if 'href' in _dict:
6577
- args['href'] = _dict.get('href')
6581
+ if (href := _dict.get('href')) is not None:
6582
+ args['href'] = href
6578
6583
  else:
6579
6584
  raise ValueError('Required property \'href\' not present in TemplateAssignmentResponse JSON')
6580
- if 'created_at' in _dict:
6581
- args['created_at'] = string_to_datetime(_dict.get('created_at'))
6585
+ if (created_at := _dict.get('created_at')) is not None:
6586
+ args['created_at'] = string_to_datetime(created_at)
6582
6587
  else:
6583
6588
  raise ValueError('Required property \'created_at\' not present in TemplateAssignmentResponse JSON')
6584
- if 'created_by_id' in _dict:
6585
- args['created_by_id'] = _dict.get('created_by_id')
6589
+ if (created_by_id := _dict.get('created_by_id')) is not None:
6590
+ args['created_by_id'] = created_by_id
6586
6591
  else:
6587
6592
  raise ValueError('Required property \'created_by_id\' not present in TemplateAssignmentResponse JSON')
6588
- if 'last_modified_at' in _dict:
6589
- args['last_modified_at'] = string_to_datetime(_dict.get('last_modified_at'))
6593
+ if (last_modified_at := _dict.get('last_modified_at')) is not None:
6594
+ args['last_modified_at'] = string_to_datetime(last_modified_at)
6590
6595
  else:
6591
6596
  raise ValueError('Required property \'last_modified_at\' not present in TemplateAssignmentResponse JSON')
6592
- if 'last_modified_by_id' in _dict:
6593
- args['last_modified_by_id'] = _dict.get('last_modified_by_id')
6597
+ if (last_modified_by_id := _dict.get('last_modified_by_id')) is not None:
6598
+ args['last_modified_by_id'] = last_modified_by_id
6594
6599
  else:
6595
6600
  raise ValueError('Required property \'last_modified_by_id\' not present in TemplateAssignmentResponse JSON')
6596
6601
  return cls(**args)
@@ -6683,25 +6688,25 @@ class TemplateAssignmentVerboseResponse:
6683
6688
  """
6684
6689
  Response object containing the details of a template assignment.
6685
6690
 
6686
- :attr str id: The ID of the assignment.
6687
- :attr str account_id: The ID of the account that the assignment belongs to.
6688
- :attr str template_id: The ID of the template that the assignment is based on.
6689
- :attr str template_version: The version of the template that the assignment is
6691
+ :param str id: The ID of the assignment.
6692
+ :param str account_id: The ID of the account that the assignment belongs to.
6693
+ :param str template_id: The ID of the template that the assignment is based on.
6694
+ :param str template_version: The version of the template that the assignment is
6690
6695
  based on.
6691
- :attr str target_type: The type of the entity that the assignment applies to.
6692
- :attr str target: The ID of the entity that the assignment applies to.
6693
- :attr str operation: The operation that the assignment applies to (e.g.
6696
+ :param str target_type: The type of the entity that the assignment applies to.
6697
+ :param str target: The ID of the entity that the assignment applies to.
6698
+ :param str operation: The operation that the assignment applies to (e.g.
6694
6699
  'create', 'update', 'delete').
6695
- :attr str status: The status of the assignment (e.g. 'pending', 'success',
6700
+ :param str status: The status of the assignment (e.g. 'pending', 'success',
6696
6701
  'failure').
6697
- :attr List[ResourceListWithTargetAccountID] resources: (optional) List of
6702
+ :param List[ResourceListWithTargetAccountID] resources: (optional) List of
6698
6703
  resources for the assignment.
6699
- :attr str href: The URL of the assignment resource.
6700
- :attr datetime created_at: The date and time when the assignment was created.
6701
- :attr str created_by_id: The user or system that created the assignment.
6702
- :attr datetime last_modified_at: The date and time when the assignment was last
6704
+ :param str href: The URL of the assignment resource.
6705
+ :param datetime created_at: The date and time when the assignment was created.
6706
+ :param str created_by_id: The user or system that created the assignment.
6707
+ :param datetime last_modified_at: The date and time when the assignment was last
6703
6708
  updated.
6704
- :attr str last_modified_by_id: The user or system that last updated the
6709
+ :param str last_modified_by_id: The user or system that last updated the
6705
6710
  assignment.
6706
6711
  """
6707
6712
 
@@ -6721,7 +6726,7 @@ class TemplateAssignmentVerboseResponse:
6721
6726
  last_modified_at: datetime,
6722
6727
  last_modified_by_id: str,
6723
6728
  *,
6724
- resources: List['ResourceListWithTargetAccountID'] = None,
6729
+ resources: Optional[List['ResourceListWithTargetAccountID']] = None,
6725
6730
  ) -> None:
6726
6731
  """
6727
6732
  Initialize a TemplateAssignmentVerboseResponse object.
@@ -6770,64 +6775,64 @@ class TemplateAssignmentVerboseResponse:
6770
6775
  def from_dict(cls, _dict: Dict) -> 'TemplateAssignmentVerboseResponse':
6771
6776
  """Initialize a TemplateAssignmentVerboseResponse object from a json dictionary."""
6772
6777
  args = {}
6773
- if 'id' in _dict:
6774
- args['id'] = _dict.get('id')
6778
+ if (id := _dict.get('id')) is not None:
6779
+ args['id'] = id
6775
6780
  else:
6776
6781
  raise ValueError('Required property \'id\' not present in TemplateAssignmentVerboseResponse JSON')
6777
- if 'account_id' in _dict:
6778
- args['account_id'] = _dict.get('account_id')
6782
+ if (account_id := _dict.get('account_id')) is not None:
6783
+ args['account_id'] = account_id
6779
6784
  else:
6780
6785
  raise ValueError('Required property \'account_id\' not present in TemplateAssignmentVerboseResponse JSON')
6781
- if 'template_id' in _dict:
6782
- args['template_id'] = _dict.get('template_id')
6786
+ if (template_id := _dict.get('template_id')) is not None:
6787
+ args['template_id'] = template_id
6783
6788
  else:
6784
6789
  raise ValueError('Required property \'template_id\' not present in TemplateAssignmentVerboseResponse JSON')
6785
- if 'template_version' in _dict:
6786
- args['template_version'] = _dict.get('template_version')
6790
+ if (template_version := _dict.get('template_version')) is not None:
6791
+ args['template_version'] = template_version
6787
6792
  else:
6788
6793
  raise ValueError(
6789
6794
  'Required property \'template_version\' not present in TemplateAssignmentVerboseResponse JSON'
6790
6795
  )
6791
- if 'target_type' in _dict:
6792
- args['target_type'] = _dict.get('target_type')
6796
+ if (target_type := _dict.get('target_type')) is not None:
6797
+ args['target_type'] = target_type
6793
6798
  else:
6794
6799
  raise ValueError('Required property \'target_type\' not present in TemplateAssignmentVerboseResponse JSON')
6795
- if 'target' in _dict:
6796
- args['target'] = _dict.get('target')
6800
+ if (target := _dict.get('target')) is not None:
6801
+ args['target'] = target
6797
6802
  else:
6798
6803
  raise ValueError('Required property \'target\' not present in TemplateAssignmentVerboseResponse JSON')
6799
- if 'operation' in _dict:
6800
- args['operation'] = _dict.get('operation')
6804
+ if (operation := _dict.get('operation')) is not None:
6805
+ args['operation'] = operation
6801
6806
  else:
6802
6807
  raise ValueError('Required property \'operation\' not present in TemplateAssignmentVerboseResponse JSON')
6803
- if 'status' in _dict:
6804
- args['status'] = _dict.get('status')
6808
+ if (status := _dict.get('status')) is not None:
6809
+ args['status'] = status
6805
6810
  else:
6806
6811
  raise ValueError('Required property \'status\' not present in TemplateAssignmentVerboseResponse JSON')
6807
- if 'resources' in _dict:
6808
- args['resources'] = [ResourceListWithTargetAccountID.from_dict(v) for v in _dict.get('resources')]
6809
- if 'href' in _dict:
6810
- args['href'] = _dict.get('href')
6812
+ if (resources := _dict.get('resources')) is not None:
6813
+ args['resources'] = [ResourceListWithTargetAccountID.from_dict(v) for v in resources]
6814
+ if (href := _dict.get('href')) is not None:
6815
+ args['href'] = href
6811
6816
  else:
6812
6817
  raise ValueError('Required property \'href\' not present in TemplateAssignmentVerboseResponse JSON')
6813
- if 'created_at' in _dict:
6814
- args['created_at'] = string_to_datetime(_dict.get('created_at'))
6818
+ if (created_at := _dict.get('created_at')) is not None:
6819
+ args['created_at'] = string_to_datetime(created_at)
6815
6820
  else:
6816
6821
  raise ValueError('Required property \'created_at\' not present in TemplateAssignmentVerboseResponse JSON')
6817
- if 'created_by_id' in _dict:
6818
- args['created_by_id'] = _dict.get('created_by_id')
6822
+ if (created_by_id := _dict.get('created_by_id')) is not None:
6823
+ args['created_by_id'] = created_by_id
6819
6824
  else:
6820
6825
  raise ValueError(
6821
6826
  'Required property \'created_by_id\' not present in TemplateAssignmentVerboseResponse JSON'
6822
6827
  )
6823
- if 'last_modified_at' in _dict:
6824
- args['last_modified_at'] = string_to_datetime(_dict.get('last_modified_at'))
6828
+ if (last_modified_at := _dict.get('last_modified_at')) is not None:
6829
+ args['last_modified_at'] = string_to_datetime(last_modified_at)
6825
6830
  else:
6826
6831
  raise ValueError(
6827
6832
  'Required property \'last_modified_at\' not present in TemplateAssignmentVerboseResponse JSON'
6828
6833
  )
6829
- if 'last_modified_by_id' in _dict:
6830
- args['last_modified_by_id'] = _dict.get('last_modified_by_id')
6834
+ if (last_modified_by_id := _dict.get('last_modified_by_id')) is not None:
6835
+ args['last_modified_by_id'] = last_modified_by_id
6831
6836
  else:
6832
6837
  raise ValueError(
6833
6838
  'Required property \'last_modified_by_id\' not present in TemplateAssignmentVerboseResponse JSON'
@@ -6901,26 +6906,26 @@ class TemplateResponse:
6901
6906
  """
6902
6907
  Response output for template.
6903
6908
 
6904
- :attr str id: The ID of the access group template.
6905
- :attr str name: The name of the access group template.
6906
- :attr str description: The description of the access group template.
6907
- :attr str account_id: The ID of the account to which the access group template
6909
+ :param str id: The ID of the access group template.
6910
+ :param str name: The name of the access group template.
6911
+ :param str description: The description of the access group template.
6912
+ :param str account_id: The ID of the account to which the access group template
6908
6913
  is assigned.
6909
- :attr str version: The version of the access group template.
6910
- :attr bool committed: A boolean indicating whether the access group template is
6914
+ :param str version: The version of the access group template.
6915
+ :param bool committed: A boolean indicating whether the access group template is
6911
6916
  committed. You must commit a template before you can assign it to child
6912
6917
  accounts.
6913
- :attr AccessGroupResponse group: Access Group Component.
6914
- :attr List[PolicyTemplates] policy_template_references: References to policy
6918
+ :param AccessGroupResponse group: Access Group Component.
6919
+ :param List[PolicyTemplates] policy_template_references: References to policy
6915
6920
  templates assigned to the access group template.
6916
- :attr str href: The URL of the access group template resource.
6917
- :attr datetime created_at: The date and time when the access group template was
6921
+ :param str href: The URL of the access group template resource.
6922
+ :param datetime created_at: The date and time when the access group template was
6918
6923
  created.
6919
- :attr str created_by_id: The ID of the user who created the access group
6924
+ :param str created_by_id: The ID of the user who created the access group
6920
6925
  template.
6921
- :attr datetime last_modified_at: The date and time when the access group
6926
+ :param datetime last_modified_at: The date and time when the access group
6922
6927
  template was last modified.
6923
- :attr str last_modified_by_id: The ID of the user who last modified the access
6928
+ :param str last_modified_by_id: The ID of the user who last modified the access
6924
6929
  group template.
6925
6930
  """
6926
6931
 
@@ -6983,58 +6988,56 @@ class TemplateResponse:
6983
6988
  def from_dict(cls, _dict: Dict) -> 'TemplateResponse':
6984
6989
  """Initialize a TemplateResponse object from a json dictionary."""
6985
6990
  args = {}
6986
- if 'id' in _dict:
6987
- args['id'] = _dict.get('id')
6991
+ if (id := _dict.get('id')) is not None:
6992
+ args['id'] = id
6988
6993
  else:
6989
6994
  raise ValueError('Required property \'id\' not present in TemplateResponse JSON')
6990
- if 'name' in _dict:
6991
- args['name'] = _dict.get('name')
6995
+ if (name := _dict.get('name')) is not None:
6996
+ args['name'] = name
6992
6997
  else:
6993
6998
  raise ValueError('Required property \'name\' not present in TemplateResponse JSON')
6994
- if 'description' in _dict:
6995
- args['description'] = _dict.get('description')
6999
+ if (description := _dict.get('description')) is not None:
7000
+ args['description'] = description
6996
7001
  else:
6997
7002
  raise ValueError('Required property \'description\' not present in TemplateResponse JSON')
6998
- if 'account_id' in _dict:
6999
- args['account_id'] = _dict.get('account_id')
7003
+ if (account_id := _dict.get('account_id')) is not None:
7004
+ args['account_id'] = account_id
7000
7005
  else:
7001
7006
  raise ValueError('Required property \'account_id\' not present in TemplateResponse JSON')
7002
- if 'version' in _dict:
7003
- args['version'] = _dict.get('version')
7007
+ if (version := _dict.get('version')) is not None:
7008
+ args['version'] = version
7004
7009
  else:
7005
7010
  raise ValueError('Required property \'version\' not present in TemplateResponse JSON')
7006
- if 'committed' in _dict:
7007
- args['committed'] = _dict.get('committed')
7011
+ if (committed := _dict.get('committed')) is not None:
7012
+ args['committed'] = committed
7008
7013
  else:
7009
7014
  raise ValueError('Required property \'committed\' not present in TemplateResponse JSON')
7010
- if 'group' in _dict:
7011
- args['group'] = AccessGroupResponse.from_dict(_dict.get('group'))
7015
+ if (group := _dict.get('group')) is not None:
7016
+ args['group'] = AccessGroupResponse.from_dict(group)
7012
7017
  else:
7013
7018
  raise ValueError('Required property \'group\' not present in TemplateResponse JSON')
7014
- if 'policy_template_references' in _dict:
7015
- args['policy_template_references'] = [
7016
- PolicyTemplates.from_dict(v) for v in _dict.get('policy_template_references')
7017
- ]
7019
+ if (policy_template_references := _dict.get('policy_template_references')) is not None:
7020
+ args['policy_template_references'] = [PolicyTemplates.from_dict(v) for v in policy_template_references]
7018
7021
  else:
7019
7022
  raise ValueError('Required property \'policy_template_references\' not present in TemplateResponse JSON')
7020
- if 'href' in _dict:
7021
- args['href'] = _dict.get('href')
7023
+ if (href := _dict.get('href')) is not None:
7024
+ args['href'] = href
7022
7025
  else:
7023
7026
  raise ValueError('Required property \'href\' not present in TemplateResponse JSON')
7024
- if 'created_at' in _dict:
7025
- args['created_at'] = string_to_datetime(_dict.get('created_at'))
7027
+ if (created_at := _dict.get('created_at')) is not None:
7028
+ args['created_at'] = string_to_datetime(created_at)
7026
7029
  else:
7027
7030
  raise ValueError('Required property \'created_at\' not present in TemplateResponse JSON')
7028
- if 'created_by_id' in _dict:
7029
- args['created_by_id'] = _dict.get('created_by_id')
7031
+ if (created_by_id := _dict.get('created_by_id')) is not None:
7032
+ args['created_by_id'] = created_by_id
7030
7033
  else:
7031
7034
  raise ValueError('Required property \'created_by_id\' not present in TemplateResponse JSON')
7032
- if 'last_modified_at' in _dict:
7033
- args['last_modified_at'] = string_to_datetime(_dict.get('last_modified_at'))
7035
+ if (last_modified_at := _dict.get('last_modified_at')) is not None:
7036
+ args['last_modified_at'] = string_to_datetime(last_modified_at)
7034
7037
  else:
7035
7038
  raise ValueError('Required property \'last_modified_at\' not present in TemplateResponse JSON')
7036
- if 'last_modified_by_id' in _dict:
7037
- args['last_modified_by_id'] = _dict.get('last_modified_by_id')
7039
+ if (last_modified_by_id := _dict.get('last_modified_by_id')) is not None:
7040
+ args['last_modified_by_id'] = last_modified_by_id
7038
7041
  else:
7039
7042
  raise ValueError('Required property \'last_modified_by_id\' not present in TemplateResponse JSON')
7040
7043
  return cls(**args)
@@ -7107,26 +7110,26 @@ class TemplateVersionResponse:
7107
7110
  """
7108
7111
  Response output for template.
7109
7112
 
7110
- :attr str id: The ID of the access group template.
7111
- :attr str name: The name of the access group template.
7112
- :attr str description: The description of the access group template.
7113
- :attr str account_id: The ID of the account to which the access group template
7113
+ :param str id: The ID of the access group template.
7114
+ :param str name: The name of the access group template.
7115
+ :param str description: The description of the access group template.
7116
+ :param str account_id: The ID of the account to which the access group template
7114
7117
  is assigned.
7115
- :attr str version: The version of the access group template.
7116
- :attr bool committed: A boolean indicating whether the access group template is
7118
+ :param str version: The version of the access group template.
7119
+ :param bool committed: A boolean indicating whether the access group template is
7117
7120
  committed. You must commit a template before you can assign it to child
7118
7121
  accounts.
7119
- :attr AccessGroupResponse group: Access Group Component.
7120
- :attr List[PolicyTemplates] policy_template_references: References to policy
7122
+ :param AccessGroupResponse group: Access Group Component.
7123
+ :param List[PolicyTemplates] policy_template_references: References to policy
7121
7124
  templates assigned to the access group template.
7122
- :attr str href: The URL of the access group template resource.
7123
- :attr datetime created_at: The date and time when the access group template was
7125
+ :param str href: The URL of the access group template resource.
7126
+ :param datetime created_at: The date and time when the access group template was
7124
7127
  created.
7125
- :attr str created_by_id: The ID of the user who created the access group
7128
+ :param str created_by_id: The ID of the user who created the access group
7126
7129
  template.
7127
- :attr datetime last_modified_at: The date and time when the access group
7130
+ :param datetime last_modified_at: The date and time when the access group
7128
7131
  template was last modified.
7129
- :attr str last_modified_by_id: The ID of the user who last modified the access
7132
+ :param str last_modified_by_id: The ID of the user who last modified the access
7130
7133
  group template.
7131
7134
  """
7132
7135
 
@@ -7189,60 +7192,58 @@ class TemplateVersionResponse:
7189
7192
  def from_dict(cls, _dict: Dict) -> 'TemplateVersionResponse':
7190
7193
  """Initialize a TemplateVersionResponse object from a json dictionary."""
7191
7194
  args = {}
7192
- if 'id' in _dict:
7193
- args['id'] = _dict.get('id')
7195
+ if (id := _dict.get('id')) is not None:
7196
+ args['id'] = id
7194
7197
  else:
7195
7198
  raise ValueError('Required property \'id\' not present in TemplateVersionResponse JSON')
7196
- if 'name' in _dict:
7197
- args['name'] = _dict.get('name')
7199
+ if (name := _dict.get('name')) is not None:
7200
+ args['name'] = name
7198
7201
  else:
7199
7202
  raise ValueError('Required property \'name\' not present in TemplateVersionResponse JSON')
7200
- if 'description' in _dict:
7201
- args['description'] = _dict.get('description')
7203
+ if (description := _dict.get('description')) is not None:
7204
+ args['description'] = description
7202
7205
  else:
7203
7206
  raise ValueError('Required property \'description\' not present in TemplateVersionResponse JSON')
7204
- if 'account_id' in _dict:
7205
- args['account_id'] = _dict.get('account_id')
7207
+ if (account_id := _dict.get('account_id')) is not None:
7208
+ args['account_id'] = account_id
7206
7209
  else:
7207
7210
  raise ValueError('Required property \'account_id\' not present in TemplateVersionResponse JSON')
7208
- if 'version' in _dict:
7209
- args['version'] = _dict.get('version')
7211
+ if (version := _dict.get('version')) is not None:
7212
+ args['version'] = version
7210
7213
  else:
7211
7214
  raise ValueError('Required property \'version\' not present in TemplateVersionResponse JSON')
7212
- if 'committed' in _dict:
7213
- args['committed'] = _dict.get('committed')
7215
+ if (committed := _dict.get('committed')) is not None:
7216
+ args['committed'] = committed
7214
7217
  else:
7215
7218
  raise ValueError('Required property \'committed\' not present in TemplateVersionResponse JSON')
7216
- if 'group' in _dict:
7217
- args['group'] = AccessGroupResponse.from_dict(_dict.get('group'))
7219
+ if (group := _dict.get('group')) is not None:
7220
+ args['group'] = AccessGroupResponse.from_dict(group)
7218
7221
  else:
7219
7222
  raise ValueError('Required property \'group\' not present in TemplateVersionResponse JSON')
7220
- if 'policy_template_references' in _dict:
7221
- args['policy_template_references'] = [
7222
- PolicyTemplates.from_dict(v) for v in _dict.get('policy_template_references')
7223
- ]
7223
+ if (policy_template_references := _dict.get('policy_template_references')) is not None:
7224
+ args['policy_template_references'] = [PolicyTemplates.from_dict(v) for v in policy_template_references]
7224
7225
  else:
7225
7226
  raise ValueError(
7226
7227
  'Required property \'policy_template_references\' not present in TemplateVersionResponse JSON'
7227
7228
  )
7228
- if 'href' in _dict:
7229
- args['href'] = _dict.get('href')
7229
+ if (href := _dict.get('href')) is not None:
7230
+ args['href'] = href
7230
7231
  else:
7231
7232
  raise ValueError('Required property \'href\' not present in TemplateVersionResponse JSON')
7232
- if 'created_at' in _dict:
7233
- args['created_at'] = string_to_datetime(_dict.get('created_at'))
7233
+ if (created_at := _dict.get('created_at')) is not None:
7234
+ args['created_at'] = string_to_datetime(created_at)
7234
7235
  else:
7235
7236
  raise ValueError('Required property \'created_at\' not present in TemplateVersionResponse JSON')
7236
- if 'created_by_id' in _dict:
7237
- args['created_by_id'] = _dict.get('created_by_id')
7237
+ if (created_by_id := _dict.get('created_by_id')) is not None:
7238
+ args['created_by_id'] = created_by_id
7238
7239
  else:
7239
7240
  raise ValueError('Required property \'created_by_id\' not present in TemplateVersionResponse JSON')
7240
- if 'last_modified_at' in _dict:
7241
- args['last_modified_at'] = string_to_datetime(_dict.get('last_modified_at'))
7241
+ if (last_modified_at := _dict.get('last_modified_at')) is not None:
7242
+ args['last_modified_at'] = string_to_datetime(last_modified_at)
7242
7243
  else:
7243
7244
  raise ValueError('Required property \'last_modified_at\' not present in TemplateVersionResponse JSON')
7244
- if 'last_modified_by_id' in _dict:
7245
- args['last_modified_by_id'] = _dict.get('last_modified_by_id')
7245
+ if (last_modified_by_id := _dict.get('last_modified_by_id')) is not None:
7246
+ args['last_modified_by_id'] = last_modified_by_id
7246
7247
  else:
7247
7248
  raise ValueError('Required property \'last_modified_by_id\' not present in TemplateVersionResponse JSON')
7248
7249
  return cls(**args)
@@ -7334,6 +7335,7 @@ class AccessGroupsPager:
7334
7335
  sort: str = None,
7335
7336
  show_federated: bool = None,
7336
7337
  hide_public_access: bool = None,
7338
+ show_crn: bool = None,
7337
7339
  ) -> None:
7338
7340
  """
7339
7341
  Initialize a AccessGroupsPager object.
@@ -7369,6 +7371,8 @@ class AccessGroupsPager:
7369
7371
  exist for the group.
7370
7372
  :param bool hide_public_access: (optional) If hide_public_access is true,
7371
7373
  do not include the Public Access Group in the results.
7374
+ :param bool show_crn: (optional) If show_crn is true, group CRN will be
7375
+ included in the response.
7372
7376
  """
7373
7377
  self._has_next = True
7374
7378
  self._client = client
@@ -7382,6 +7386,7 @@ class AccessGroupsPager:
7382
7386
  self._sort = sort
7383
7387
  self._show_federated = show_federated
7384
7388
  self._hide_public_access = hide_public_access
7389
+ self._show_crn = show_crn
7385
7390
 
7386
7391
  def has_next(self) -> bool:
7387
7392
  """
@@ -7408,6 +7413,7 @@ class AccessGroupsPager:
7408
7413
  sort=self._sort,
7409
7414
  show_federated=self._show_federated,
7410
7415
  hide_public_access=self._hide_public_access,
7416
+ show_crn=self._show_crn,
7411
7417
  offset=self._page_context.get('next'),
7412
7418
  ).get_result()
7413
7419