ibm-platform-services 0.71.0__tar.gz → 0.73.0__tar.gz
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.
- {ibm_platform_services-0.71.0/ibm_platform_services.egg-info → ibm_platform_services-0.73.0}/PKG-INFO +5 -5
- {ibm_platform_services-0.71.0 → ibm_platform_services-0.73.0}/README.md +2 -2
- {ibm_platform_services-0.71.0 → ibm_platform_services-0.73.0}/ibm_platform_services/iam_identity_v1.py +79 -96
- {ibm_platform_services-0.71.0 → ibm_platform_services-0.73.0}/ibm_platform_services/iam_policy_management_v1.py +492 -54
- {ibm_platform_services-0.71.0 → ibm_platform_services-0.73.0}/ibm_platform_services/version.py +1 -1
- {ibm_platform_services-0.71.0 → ibm_platform_services-0.73.0/ibm_platform_services.egg-info}/PKG-INFO +5 -5
- {ibm_platform_services-0.71.0 → ibm_platform_services-0.73.0}/pyproject.toml +3 -3
- {ibm_platform_services-0.71.0 → ibm_platform_services-0.73.0}/LICENSE +0 -0
- {ibm_platform_services-0.71.0 → ibm_platform_services-0.73.0}/MANIFEST.in +0 -0
- {ibm_platform_services-0.71.0 → ibm_platform_services-0.73.0}/ibm_platform_services/__init__.py +0 -0
- {ibm_platform_services-0.71.0 → ibm_platform_services-0.73.0}/ibm_platform_services/case_management_v1.py +0 -0
- {ibm_platform_services-0.71.0 → ibm_platform_services-0.73.0}/ibm_platform_services/catalog_management_v1.py +0 -0
- {ibm_platform_services-0.71.0 → ibm_platform_services-0.73.0}/ibm_platform_services/common.py +0 -0
- {ibm_platform_services-0.71.0 → ibm_platform_services-0.73.0}/ibm_platform_services/context_based_restrictions_v1.py +0 -0
- {ibm_platform_services-0.71.0 → ibm_platform_services-0.73.0}/ibm_platform_services/enterprise_billing_units_v1.py +0 -0
- {ibm_platform_services-0.71.0 → ibm_platform_services-0.73.0}/ibm_platform_services/enterprise_management_v1.py +0 -0
- {ibm_platform_services-0.71.0 → ibm_platform_services-0.73.0}/ibm_platform_services/enterprise_usage_reports_v1.py +0 -0
- {ibm_platform_services-0.71.0 → ibm_platform_services-0.73.0}/ibm_platform_services/global_catalog_v1.py +0 -0
- {ibm_platform_services-0.71.0 → ibm_platform_services-0.73.0}/ibm_platform_services/global_search_v2.py +0 -0
- {ibm_platform_services-0.71.0 → ibm_platform_services-0.73.0}/ibm_platform_services/global_tagging_v1.py +0 -0
- {ibm_platform_services-0.71.0 → ibm_platform_services-0.73.0}/ibm_platform_services/iam_access_groups_v2.py +0 -0
- {ibm_platform_services-0.71.0 → ibm_platform_services-0.73.0}/ibm_platform_services/ibm_cloud_shell_v1.py +0 -0
- {ibm_platform_services-0.71.0 → ibm_platform_services-0.73.0}/ibm_platform_services/open_service_broker_v1.py +0 -0
- {ibm_platform_services-0.71.0 → ibm_platform_services-0.73.0}/ibm_platform_services/partner_management_v1.py +0 -0
- {ibm_platform_services-0.71.0 → ibm_platform_services-0.73.0}/ibm_platform_services/resource_controller_v2.py +0 -0
- {ibm_platform_services-0.71.0 → ibm_platform_services-0.73.0}/ibm_platform_services/resource_manager_v2.py +0 -0
- {ibm_platform_services-0.71.0 → ibm_platform_services-0.73.0}/ibm_platform_services/usage_metering_v4.py +0 -0
- {ibm_platform_services-0.71.0 → ibm_platform_services-0.73.0}/ibm_platform_services/usage_reports_v4.py +0 -0
- {ibm_platform_services-0.71.0 → ibm_platform_services-0.73.0}/ibm_platform_services/user_management_v1.py +0 -0
- {ibm_platform_services-0.71.0 → ibm_platform_services-0.73.0}/ibm_platform_services.egg-info/SOURCES.txt +0 -0
- {ibm_platform_services-0.71.0 → ibm_platform_services-0.73.0}/ibm_platform_services.egg-info/dependency_links.txt +0 -0
- {ibm_platform_services-0.71.0 → ibm_platform_services-0.73.0}/ibm_platform_services.egg-info/requires.txt +0 -0
- {ibm_platform_services-0.71.0 → ibm_platform_services-0.73.0}/ibm_platform_services.egg-info/top_level.txt +0 -0
- {ibm_platform_services-0.71.0 → ibm_platform_services-0.73.0}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ibm-platform-services
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.73.0
|
|
4
4
|
Summary: Python client library for IBM Cloud Platform Services
|
|
5
5
|
Author-email: IBM <devxsdk@us.ibm.com>
|
|
6
6
|
Project-URL: Repository, https://github.com/IBM/platform-services-python-sdk
|
|
@@ -12,11 +12,11 @@ Project-URL: License, https://github.com/IBM/platform-services-python-sdk/blob/m
|
|
|
12
12
|
Keywords: ibm,cloud,ibm cloud services,ibm cloud platform services
|
|
13
13
|
Classifier: Programming Language :: Python
|
|
14
14
|
Classifier: Programming Language :: Python :: 3
|
|
15
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
16
15
|
Classifier: Programming Language :: Python :: 3.10
|
|
17
16
|
Classifier: Programming Language :: Python :: 3.11
|
|
18
17
|
Classifier: Programming Language :: Python :: 3.12
|
|
19
18
|
Classifier: Programming Language :: Python :: 3.13
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
20
20
|
Classifier: Development Status :: 4 - Beta
|
|
21
21
|
Classifier: Environment :: Console
|
|
22
22
|
Classifier: Intended Audience :: Developers
|
|
@@ -25,7 +25,7 @@ Classifier: Operating System :: OS Independent
|
|
|
25
25
|
Classifier: Topic :: Software Development :: Libraries
|
|
26
26
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
27
27
|
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
|
|
28
|
-
Requires-Python: >=3.
|
|
28
|
+
Requires-Python: >=3.10
|
|
29
29
|
Description-Content-Type: text/markdown
|
|
30
30
|
License-File: LICENSE
|
|
31
31
|
Requires-Dist: ibm_cloud_sdk_core<4.0.0,>=3.24.2
|
|
@@ -51,7 +51,7 @@ Dynamic: license-file
|
|
|
51
51
|
[](https://cla-assistant.io/IBM/platform-services-python-sdk)
|
|
52
52
|
|
|
53
53
|
|
|
54
|
-
# IBM Cloud Platform Services Python SDK Version 0.
|
|
54
|
+
# IBM Cloud Platform Services Python SDK Version 0.73.0
|
|
55
55
|
|
|
56
56
|
Python client library to interact with various
|
|
57
57
|
[IBM Cloud Platform Service APIs](https://cloud.ibm.com/docs?tab=api-docs&category=platform_services).
|
|
@@ -124,7 +124,7 @@ Service Name | Module Name | Service Class Name
|
|
|
124
124
|
|
|
125
125
|
* An [IBM Cloud][ibm-cloud-onboarding] account.
|
|
126
126
|
* An IAM API key to allow the SDK to access your account. Create one [here](https://cloud.ibm.com/iam/apikeys).
|
|
127
|
-
* Python 3.
|
|
127
|
+
* Python 3.10 or above.
|
|
128
128
|
|
|
129
129
|
## Installation
|
|
130
130
|
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
[](https://cla-assistant.io/IBM/platform-services-python-sdk)
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
# IBM Cloud Platform Services Python SDK Version 0.
|
|
11
|
+
# IBM Cloud Platform Services Python SDK Version 0.73.0
|
|
12
12
|
|
|
13
13
|
Python client library to interact with various
|
|
14
14
|
[IBM Cloud Platform Service APIs](https://cloud.ibm.com/docs?tab=api-docs&category=platform_services).
|
|
@@ -81,7 +81,7 @@ Service Name | Module Name | Service Class Name
|
|
|
81
81
|
|
|
82
82
|
* An [IBM Cloud][ibm-cloud-onboarding] account.
|
|
83
83
|
* An IAM API key to allow the SDK to access your account. Create one [here](https://cloud.ibm.com/iam/apikeys).
|
|
84
|
-
* Python 3.
|
|
84
|
+
* Python 3.10 or above.
|
|
85
85
|
|
|
86
86
|
## Installation
|
|
87
87
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# coding: utf-8
|
|
2
2
|
|
|
3
|
-
# (C) Copyright IBM Corp.
|
|
3
|
+
# (C) Copyright IBM Corp. 2026.
|
|
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.
|
|
@@ -919,6 +919,7 @@ class IamIdentityV1(BaseService):
|
|
|
919
919
|
store_value: Optional[bool] = None,
|
|
920
920
|
support_sessions: Optional[bool] = None,
|
|
921
921
|
action_when_leaked: Optional[str] = None,
|
|
922
|
+
expires_at: Optional[str] = None,
|
|
922
923
|
entity_lock: Optional[str] = None,
|
|
923
924
|
entity_disable: Optional[str] = None,
|
|
924
925
|
**kwargs,
|
|
@@ -954,6 +955,8 @@ class IamIdentityV1(BaseService):
|
|
|
954
955
|
access, delete or rotate the API key. Available only for user API keys.
|
|
955
956
|
:param str action_when_leaked: (optional) Defines the action to take when
|
|
956
957
|
API key is leaked, valid values are 'none', 'disable' and 'delete'.
|
|
958
|
+
:param str expires_at: (optional) Date and time when the API key becomes
|
|
959
|
+
invalid, ISO 8601 datetime in the format 'yyyy-MM-ddTHH:mm+0000'.
|
|
957
960
|
:param str entity_lock: (optional) Indicates if the API key is locked for
|
|
958
961
|
further write operations. False by default.
|
|
959
962
|
:param str entity_disable: (optional) Indicates if the API key is disabled.
|
|
@@ -987,6 +990,7 @@ class IamIdentityV1(BaseService):
|
|
|
987
990
|
'store_value': store_value,
|
|
988
991
|
'support_sessions': support_sessions,
|
|
989
992
|
'action_when_leaked': action_when_leaked,
|
|
993
|
+
'expires_at': expires_at,
|
|
990
994
|
}
|
|
991
995
|
data = {k: v for (k, v) in data.items() if v is not None}
|
|
992
996
|
data = json.dumps(data)
|
|
@@ -1127,6 +1131,7 @@ class IamIdentityV1(BaseService):
|
|
|
1127
1131
|
description: Optional[str] = None,
|
|
1128
1132
|
support_sessions: Optional[bool] = None,
|
|
1129
1133
|
action_when_leaked: Optional[str] = None,
|
|
1134
|
+
expires_at: Optional[str] = None,
|
|
1130
1135
|
**kwargs,
|
|
1131
1136
|
) -> DetailedResponse:
|
|
1132
1137
|
"""
|
|
@@ -1155,6 +1160,8 @@ class IamIdentityV1(BaseService):
|
|
|
1155
1160
|
access, delete or rotate the API key. Available only for user API keys.
|
|
1156
1161
|
:param str action_when_leaked: (optional) Defines the action to take when
|
|
1157
1162
|
API key is leaked, valid values are 'none', 'disable' and 'delete'.
|
|
1163
|
+
:param str expires_at: (optional) Date and time when the API key becomes
|
|
1164
|
+
invalid, ISO 8601 datetime in the format 'yyyy-MM-ddTHH:mm+0000'.
|
|
1158
1165
|
:param dict headers: A `dict` containing the request headers
|
|
1159
1166
|
:return: A `DetailedResponse` containing the result, headers and HTTP status code.
|
|
1160
1167
|
:rtype: DetailedResponse with `dict` result representing a `ApiKey` object
|
|
@@ -1179,6 +1186,7 @@ class IamIdentityV1(BaseService):
|
|
|
1179
1186
|
'description': description,
|
|
1180
1187
|
'support_sessions': support_sessions,
|
|
1181
1188
|
'action_when_leaked': action_when_leaked,
|
|
1189
|
+
'expires_at': expires_at,
|
|
1182
1190
|
}
|
|
1183
1191
|
data = {k: v for (k, v) in data.items() if v is not None}
|
|
1184
1192
|
data = json.dumps(data)
|
|
@@ -7750,6 +7758,8 @@ class ApiKey:
|
|
|
7750
7758
|
delete or rotate the API key. Available only for user API keys.
|
|
7751
7759
|
:param str action_when_leaked: (optional) Defines the action to take when API
|
|
7752
7760
|
key is leaked, valid values are 'none', 'disable' and 'delete'.
|
|
7761
|
+
:param str expires_at: (optional) Date and time when the API key becomes
|
|
7762
|
+
invalid, ISO 8601 datetime in the format 'yyyy-MM-ddTHH:mm+0000'.
|
|
7753
7763
|
:param str description: (optional) The optional description of the API key. The
|
|
7754
7764
|
'description' property is only available if a description was provided during a
|
|
7755
7765
|
create of an API key.
|
|
@@ -7783,6 +7793,7 @@ class ApiKey:
|
|
|
7783
7793
|
modified_at: Optional[datetime] = None,
|
|
7784
7794
|
support_sessions: Optional[bool] = None,
|
|
7785
7795
|
action_when_leaked: Optional[str] = None,
|
|
7796
|
+
expires_at: Optional[str] = None,
|
|
7786
7797
|
description: Optional[str] = None,
|
|
7787
7798
|
history: Optional[List['EnityHistoryRecord']] = None,
|
|
7788
7799
|
activity: Optional['Activity'] = None,
|
|
@@ -7826,6 +7837,8 @@ class ApiKey:
|
|
|
7826
7837
|
access, delete or rotate the API key. Available only for user API keys.
|
|
7827
7838
|
:param str action_when_leaked: (optional) Defines the action to take when
|
|
7828
7839
|
API key is leaked, valid values are 'none', 'disable' and 'delete'.
|
|
7840
|
+
:param str expires_at: (optional) Date and time when the API key becomes
|
|
7841
|
+
invalid, ISO 8601 datetime in the format 'yyyy-MM-ddTHH:mm+0000'.
|
|
7829
7842
|
:param str description: (optional) The optional description of the API key.
|
|
7830
7843
|
The 'description' property is only available if a description was provided
|
|
7831
7844
|
during a create of an API key.
|
|
@@ -7844,6 +7857,7 @@ class ApiKey:
|
|
|
7844
7857
|
self.name = name
|
|
7845
7858
|
self.support_sessions = support_sessions
|
|
7846
7859
|
self.action_when_leaked = action_when_leaked
|
|
7860
|
+
self.expires_at = expires_at
|
|
7847
7861
|
self.description = description
|
|
7848
7862
|
self.iam_id = iam_id
|
|
7849
7863
|
self.account_id = account_id
|
|
@@ -7889,6 +7903,8 @@ class ApiKey:
|
|
|
7889
7903
|
args['support_sessions'] = support_sessions
|
|
7890
7904
|
if (action_when_leaked := _dict.get('action_when_leaked')) is not None:
|
|
7891
7905
|
args['action_when_leaked'] = action_when_leaked
|
|
7906
|
+
if (expires_at := _dict.get('expires_at')) is not None:
|
|
7907
|
+
args['expires_at'] = expires_at
|
|
7892
7908
|
if (description := _dict.get('description')) is not None:
|
|
7893
7909
|
args['description'] = description
|
|
7894
7910
|
if (iam_id := _dict.get('iam_id')) is not None:
|
|
@@ -7944,6 +7960,8 @@ class ApiKey:
|
|
|
7944
7960
|
_dict['support_sessions'] = self.support_sessions
|
|
7945
7961
|
if hasattr(self, 'action_when_leaked') and self.action_when_leaked is not None:
|
|
7946
7962
|
_dict['action_when_leaked'] = self.action_when_leaked
|
|
7963
|
+
if hasattr(self, 'expires_at') and self.expires_at is not None:
|
|
7964
|
+
_dict['expires_at'] = self.expires_at
|
|
7947
7965
|
if hasattr(self, 'description') and self.description is not None:
|
|
7948
7966
|
_dict['description'] = self.description
|
|
7949
7967
|
if hasattr(self, 'iam_id') and self.iam_id is not None:
|
|
@@ -8007,6 +8025,10 @@ class ApiKeyInsideCreateServiceIdRequest:
|
|
|
8007
8025
|
key value is retrievable in the future by using the Get details of an API key
|
|
8008
8026
|
request. If you create an API key for a user, you must specify `false` or omit
|
|
8009
8027
|
the value. We don't allow storing of API keys for users.
|
|
8028
|
+
:param str action_when_leaked: (optional) Defines the action to take when API
|
|
8029
|
+
key is leaked, valid values are 'none', 'disable' and 'delete'.
|
|
8030
|
+
:param str expires_at: (optional) Date and time when the API key becomes
|
|
8031
|
+
invalid, ISO 8601 datetime in the format 'yyyy-MM-ddTHH:mm+0000'.
|
|
8010
8032
|
"""
|
|
8011
8033
|
|
|
8012
8034
|
def __init__(
|
|
@@ -8016,6 +8038,8 @@ class ApiKeyInsideCreateServiceIdRequest:
|
|
|
8016
8038
|
description: Optional[str] = None,
|
|
8017
8039
|
apikey: Optional[str] = None,
|
|
8018
8040
|
store_value: Optional[bool] = None,
|
|
8041
|
+
action_when_leaked: Optional[str] = None,
|
|
8042
|
+
expires_at: Optional[str] = None,
|
|
8019
8043
|
) -> None:
|
|
8020
8044
|
"""
|
|
8021
8045
|
Initialize a ApiKeyInsideCreateServiceIdRequest object.
|
|
@@ -8037,11 +8061,17 @@ class ApiKeyInsideCreateServiceIdRequest:
|
|
|
8037
8061
|
API key value is retrievable in the future by using the Get details of an
|
|
8038
8062
|
API key request. If you create an API key for a user, you must specify
|
|
8039
8063
|
`false` or omit the value. We don't allow storing of API keys for users.
|
|
8064
|
+
:param str action_when_leaked: (optional) Defines the action to take when
|
|
8065
|
+
API key is leaked, valid values are 'none', 'disable' and 'delete'.
|
|
8066
|
+
:param str expires_at: (optional) Date and time when the API key becomes
|
|
8067
|
+
invalid, ISO 8601 datetime in the format 'yyyy-MM-ddTHH:mm+0000'.
|
|
8040
8068
|
"""
|
|
8041
8069
|
self.name = name
|
|
8042
8070
|
self.description = description
|
|
8043
8071
|
self.apikey = apikey
|
|
8044
8072
|
self.store_value = store_value
|
|
8073
|
+
self.action_when_leaked = action_when_leaked
|
|
8074
|
+
self.expires_at = expires_at
|
|
8045
8075
|
|
|
8046
8076
|
@classmethod
|
|
8047
8077
|
def from_dict(cls, _dict: Dict) -> 'ApiKeyInsideCreateServiceIdRequest':
|
|
@@ -8057,6 +8087,10 @@ class ApiKeyInsideCreateServiceIdRequest:
|
|
|
8057
8087
|
args['apikey'] = apikey
|
|
8058
8088
|
if (store_value := _dict.get('store_value')) is not None:
|
|
8059
8089
|
args['store_value'] = store_value
|
|
8090
|
+
if (action_when_leaked := _dict.get('action_when_leaked')) is not None:
|
|
8091
|
+
args['action_when_leaked'] = action_when_leaked
|
|
8092
|
+
if (expires_at := _dict.get('expires_at')) is not None:
|
|
8093
|
+
args['expires_at'] = expires_at
|
|
8060
8094
|
return cls(**args)
|
|
8061
8095
|
|
|
8062
8096
|
@classmethod
|
|
@@ -8075,6 +8109,10 @@ class ApiKeyInsideCreateServiceIdRequest:
|
|
|
8075
8109
|
_dict['apikey'] = self.apikey
|
|
8076
8110
|
if hasattr(self, 'store_value') and self.store_value is not None:
|
|
8077
8111
|
_dict['store_value'] = self.store_value
|
|
8112
|
+
if hasattr(self, 'action_when_leaked') and self.action_when_leaked is not None:
|
|
8113
|
+
_dict['action_when_leaked'] = self.action_when_leaked
|
|
8114
|
+
if hasattr(self, 'expires_at') and self.expires_at is not None:
|
|
8115
|
+
_dict['expires_at'] = self.expires_at
|
|
8078
8116
|
return _dict
|
|
8079
8117
|
|
|
8080
8118
|
def _to_dict(self):
|
|
@@ -9634,90 +9672,6 @@ class MfaEnrollmentTypeStatus:
|
|
|
9634
9672
|
return not self == other
|
|
9635
9673
|
|
|
9636
9674
|
|
|
9637
|
-
class MfaEnrollments:
|
|
9638
|
-
"""
|
|
9639
|
-
MfaEnrollments.
|
|
9640
|
-
|
|
9641
|
-
:param str effective_mfa_type: currently effective mfa type i.e. id_based_mfa or
|
|
9642
|
-
account_based_mfa.
|
|
9643
|
-
:param IdBasedMfaEnrollment id_based_mfa: (optional)
|
|
9644
|
-
:param AccountBasedMfaEnrollment account_based_mfa: (optional)
|
|
9645
|
-
"""
|
|
9646
|
-
|
|
9647
|
-
def __init__(
|
|
9648
|
-
self,
|
|
9649
|
-
effective_mfa_type: str,
|
|
9650
|
-
*,
|
|
9651
|
-
id_based_mfa: Optional['IdBasedMfaEnrollment'] = None,
|
|
9652
|
-
account_based_mfa: Optional['AccountBasedMfaEnrollment'] = None,
|
|
9653
|
-
) -> None:
|
|
9654
|
-
"""
|
|
9655
|
-
Initialize a MfaEnrollments object.
|
|
9656
|
-
|
|
9657
|
-
:param str effective_mfa_type: currently effective mfa type i.e.
|
|
9658
|
-
id_based_mfa or account_based_mfa.
|
|
9659
|
-
:param IdBasedMfaEnrollment id_based_mfa: (optional)
|
|
9660
|
-
:param AccountBasedMfaEnrollment account_based_mfa: (optional)
|
|
9661
|
-
"""
|
|
9662
|
-
self.effective_mfa_type = effective_mfa_type
|
|
9663
|
-
self.id_based_mfa = id_based_mfa
|
|
9664
|
-
self.account_based_mfa = account_based_mfa
|
|
9665
|
-
|
|
9666
|
-
@classmethod
|
|
9667
|
-
def from_dict(cls, _dict: Dict) -> 'MfaEnrollments':
|
|
9668
|
-
"""Initialize a MfaEnrollments object from a json dictionary."""
|
|
9669
|
-
args = {}
|
|
9670
|
-
if (effective_mfa_type := _dict.get('effective_mfa_type')) is not None:
|
|
9671
|
-
args['effective_mfa_type'] = effective_mfa_type
|
|
9672
|
-
else:
|
|
9673
|
-
raise ValueError('Required property \'effective_mfa_type\' not present in MfaEnrollments JSON')
|
|
9674
|
-
if (id_based_mfa := _dict.get('id_based_mfa')) is not None:
|
|
9675
|
-
args['id_based_mfa'] = IdBasedMfaEnrollment.from_dict(id_based_mfa)
|
|
9676
|
-
if (account_based_mfa := _dict.get('account_based_mfa')) is not None:
|
|
9677
|
-
args['account_based_mfa'] = AccountBasedMfaEnrollment.from_dict(account_based_mfa)
|
|
9678
|
-
return cls(**args)
|
|
9679
|
-
|
|
9680
|
-
@classmethod
|
|
9681
|
-
def _from_dict(cls, _dict):
|
|
9682
|
-
"""Initialize a MfaEnrollments object from a json dictionary."""
|
|
9683
|
-
return cls.from_dict(_dict)
|
|
9684
|
-
|
|
9685
|
-
def to_dict(self) -> Dict:
|
|
9686
|
-
"""Return a json dictionary representing this model."""
|
|
9687
|
-
_dict = {}
|
|
9688
|
-
if hasattr(self, 'effective_mfa_type') and self.effective_mfa_type is not None:
|
|
9689
|
-
_dict['effective_mfa_type'] = self.effective_mfa_type
|
|
9690
|
-
if hasattr(self, 'id_based_mfa') and self.id_based_mfa is not None:
|
|
9691
|
-
if isinstance(self.id_based_mfa, dict):
|
|
9692
|
-
_dict['id_based_mfa'] = self.id_based_mfa
|
|
9693
|
-
else:
|
|
9694
|
-
_dict['id_based_mfa'] = self.id_based_mfa.to_dict()
|
|
9695
|
-
if hasattr(self, 'account_based_mfa') and self.account_based_mfa is not None:
|
|
9696
|
-
if isinstance(self.account_based_mfa, dict):
|
|
9697
|
-
_dict['account_based_mfa'] = self.account_based_mfa
|
|
9698
|
-
else:
|
|
9699
|
-
_dict['account_based_mfa'] = self.account_based_mfa.to_dict()
|
|
9700
|
-
return _dict
|
|
9701
|
-
|
|
9702
|
-
def _to_dict(self):
|
|
9703
|
-
"""Return a json dictionary representing this model."""
|
|
9704
|
-
return self.to_dict()
|
|
9705
|
-
|
|
9706
|
-
def __str__(self) -> str:
|
|
9707
|
-
"""Return a `str` version of this MfaEnrollments object."""
|
|
9708
|
-
return json.dumps(self.to_dict(), indent=2)
|
|
9709
|
-
|
|
9710
|
-
def __eq__(self, other: 'MfaEnrollments') -> bool:
|
|
9711
|
-
"""Return `true` when self and other are equal, false otherwise."""
|
|
9712
|
-
if not isinstance(other, self.__class__):
|
|
9713
|
-
return False
|
|
9714
|
-
return self.__dict__ == other.__dict__
|
|
9715
|
-
|
|
9716
|
-
def __ne__(self, other: 'MfaEnrollments') -> bool:
|
|
9717
|
-
"""Return `true` when self and other are not equal, false otherwise."""
|
|
9718
|
-
return not self == other
|
|
9719
|
-
|
|
9720
|
-
|
|
9721
9675
|
class PolicyTemplateReference:
|
|
9722
9676
|
"""
|
|
9723
9677
|
Metadata for external access policy.
|
|
@@ -14267,14 +14221,19 @@ class UserReportMfaEnrollmentStatus:
|
|
|
14267
14221
|
:param str name: (optional) Name of the user.
|
|
14268
14222
|
:param str username: Username of the user.
|
|
14269
14223
|
:param str email: (optional) Email of the user.
|
|
14270
|
-
:param
|
|
14224
|
+
:param str effective_mfa_type: currently effective mfa type i.e. id_based_mfa or
|
|
14225
|
+
account_based_mfa.
|
|
14226
|
+
:param IdBasedMfaEnrollment id_based_mfa:
|
|
14227
|
+
:param AccountBasedMfaEnrollment account_based_mfa:
|
|
14271
14228
|
"""
|
|
14272
14229
|
|
|
14273
14230
|
def __init__(
|
|
14274
14231
|
self,
|
|
14275
14232
|
iam_id: str,
|
|
14276
14233
|
username: str,
|
|
14277
|
-
|
|
14234
|
+
effective_mfa_type: str,
|
|
14235
|
+
id_based_mfa: 'IdBasedMfaEnrollment',
|
|
14236
|
+
account_based_mfa: 'AccountBasedMfaEnrollment',
|
|
14278
14237
|
*,
|
|
14279
14238
|
name: Optional[str] = None,
|
|
14280
14239
|
email: Optional[str] = None,
|
|
@@ -14284,7 +14243,10 @@ class UserReportMfaEnrollmentStatus:
|
|
|
14284
14243
|
|
|
14285
14244
|
:param str iam_id: IAMid of the user.
|
|
14286
14245
|
:param str username: Username of the user.
|
|
14287
|
-
:param
|
|
14246
|
+
:param str effective_mfa_type: currently effective mfa type i.e.
|
|
14247
|
+
id_based_mfa or account_based_mfa.
|
|
14248
|
+
:param IdBasedMfaEnrollment id_based_mfa:
|
|
14249
|
+
:param AccountBasedMfaEnrollment account_based_mfa:
|
|
14288
14250
|
:param str name: (optional) Name of the user.
|
|
14289
14251
|
:param str email: (optional) Email of the user.
|
|
14290
14252
|
"""
|
|
@@ -14292,7 +14254,9 @@ class UserReportMfaEnrollmentStatus:
|
|
|
14292
14254
|
self.name = name
|
|
14293
14255
|
self.username = username
|
|
14294
14256
|
self.email = email
|
|
14295
|
-
self.
|
|
14257
|
+
self.effective_mfa_type = effective_mfa_type
|
|
14258
|
+
self.id_based_mfa = id_based_mfa
|
|
14259
|
+
self.account_based_mfa = account_based_mfa
|
|
14296
14260
|
|
|
14297
14261
|
@classmethod
|
|
14298
14262
|
def from_dict(cls, _dict: Dict) -> 'UserReportMfaEnrollmentStatus':
|
|
@@ -14310,10 +14274,22 @@ class UserReportMfaEnrollmentStatus:
|
|
|
14310
14274
|
raise ValueError('Required property \'username\' not present in UserReportMfaEnrollmentStatus JSON')
|
|
14311
14275
|
if (email := _dict.get('email')) is not None:
|
|
14312
14276
|
args['email'] = email
|
|
14313
|
-
if (
|
|
14314
|
-
args['
|
|
14277
|
+
if (effective_mfa_type := _dict.get('effective_mfa_type')) is not None:
|
|
14278
|
+
args['effective_mfa_type'] = effective_mfa_type
|
|
14279
|
+
else:
|
|
14280
|
+
raise ValueError(
|
|
14281
|
+
'Required property \'effective_mfa_type\' not present in UserReportMfaEnrollmentStatus JSON'
|
|
14282
|
+
)
|
|
14283
|
+
if (id_based_mfa := _dict.get('id_based_mfa')) is not None:
|
|
14284
|
+
args['id_based_mfa'] = IdBasedMfaEnrollment.from_dict(id_based_mfa)
|
|
14285
|
+
else:
|
|
14286
|
+
raise ValueError('Required property \'id_based_mfa\' not present in UserReportMfaEnrollmentStatus JSON')
|
|
14287
|
+
if (account_based_mfa := _dict.get('account_based_mfa')) is not None:
|
|
14288
|
+
args['account_based_mfa'] = AccountBasedMfaEnrollment.from_dict(account_based_mfa)
|
|
14315
14289
|
else:
|
|
14316
|
-
raise ValueError(
|
|
14290
|
+
raise ValueError(
|
|
14291
|
+
'Required property \'account_based_mfa\' not present in UserReportMfaEnrollmentStatus JSON'
|
|
14292
|
+
)
|
|
14317
14293
|
return cls(**args)
|
|
14318
14294
|
|
|
14319
14295
|
@classmethod
|
|
@@ -14332,11 +14308,18 @@ class UserReportMfaEnrollmentStatus:
|
|
|
14332
14308
|
_dict['username'] = self.username
|
|
14333
14309
|
if hasattr(self, 'email') and self.email is not None:
|
|
14334
14310
|
_dict['email'] = self.email
|
|
14335
|
-
if hasattr(self, '
|
|
14336
|
-
|
|
14337
|
-
|
|
14311
|
+
if hasattr(self, 'effective_mfa_type') and self.effective_mfa_type is not None:
|
|
14312
|
+
_dict['effective_mfa_type'] = self.effective_mfa_type
|
|
14313
|
+
if hasattr(self, 'id_based_mfa') and self.id_based_mfa is not None:
|
|
14314
|
+
if isinstance(self.id_based_mfa, dict):
|
|
14315
|
+
_dict['id_based_mfa'] = self.id_based_mfa
|
|
14338
14316
|
else:
|
|
14339
|
-
_dict['
|
|
14317
|
+
_dict['id_based_mfa'] = self.id_based_mfa.to_dict()
|
|
14318
|
+
if hasattr(self, 'account_based_mfa') and self.account_based_mfa is not None:
|
|
14319
|
+
if isinstance(self.account_based_mfa, dict):
|
|
14320
|
+
_dict['account_based_mfa'] = self.account_based_mfa
|
|
14321
|
+
else:
|
|
14322
|
+
_dict['account_based_mfa'] = self.account_based_mfa.to_dict()
|
|
14340
14323
|
return _dict
|
|
14341
14324
|
|
|
14342
14325
|
def _to_dict(self):
|