ibm-platform-services 0.71.0__py3-none-any.whl → 0.73.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.
- ibm_platform_services/iam_identity_v1.py +79 -96
- ibm_platform_services/iam_policy_management_v1.py +492 -54
- ibm_platform_services/version.py +1 -1
- {ibm_platform_services-0.71.0.dist-info → ibm_platform_services-0.73.0.dist-info}/METADATA +5 -5
- {ibm_platform_services-0.71.0.dist-info → ibm_platform_services-0.73.0.dist-info}/RECORD +8 -8
- {ibm_platform_services-0.71.0.dist-info → ibm_platform_services-0.73.0.dist-info}/WHEEL +0 -0
- {ibm_platform_services-0.71.0.dist-info → ibm_platform_services-0.73.0.dist-info}/licenses/LICENSE +0 -0
- {ibm_platform_services-0.71.0.dist-info → ibm_platform_services-0.73.0.dist-info}/top_level.txt +0 -0
|
@@ -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):
|
|
@@ -2073,10 +2073,10 @@ class IamPolicyManagementV1(BaseService):
|
|
|
2073
2073
|
:param str policy_template_id: The policy template ID.
|
|
2074
2074
|
:param str version: The policy template version.
|
|
2075
2075
|
:param str if_match: The revision number for updating a policy template
|
|
2076
|
-
version and must match the
|
|
2076
|
+
version and must match the Etag value of the existing policy template
|
|
2077
2077
|
version. The Etag can be retrieved using the GET
|
|
2078
2078
|
/v1/policy_templates/{policy_template_id}/versions/{version} API and
|
|
2079
|
-
looking at the
|
|
2079
|
+
looking at the Etag response header.
|
|
2080
2080
|
:param TemplatePolicy policy: The core set of properties associated with
|
|
2081
2081
|
the template's policy object.
|
|
2082
2082
|
:param str name: (optional) Required field when creating a new template.
|
|
@@ -3872,7 +3872,7 @@ class IamPolicyManagementV1(BaseService):
|
|
|
3872
3872
|
*,
|
|
3873
3873
|
description: Optional[str] = None,
|
|
3874
3874
|
committed: Optional[bool] = None,
|
|
3875
|
-
role: Optional['
|
|
3875
|
+
role: Optional['RoleTemplatePrototypeRole'] = None,
|
|
3876
3876
|
accept_language: Optional[str] = None,
|
|
3877
3877
|
**kwargs,
|
|
3878
3878
|
) -> DetailedResponse:
|
|
@@ -3893,8 +3893,8 @@ class IamPolicyManagementV1(BaseService):
|
|
|
3893
3893
|
:param bool committed: (optional) Committed status of the template. If
|
|
3894
3894
|
committed is set to true, then the template version can no longer be
|
|
3895
3895
|
updated.
|
|
3896
|
-
:param
|
|
3897
|
-
in an action resource when the template is assigned.
|
|
3896
|
+
:param RoleTemplatePrototypeRole role: (optional) The role properties that
|
|
3897
|
+
are created in an action resource when the template is assigned.
|
|
3898
3898
|
:param str accept_language: (optional) Language code for translations
|
|
3899
3899
|
* `default` - English
|
|
3900
3900
|
* `de` - German (Standard)
|
|
@@ -4056,10 +4056,10 @@ class IamPolicyManagementV1(BaseService):
|
|
|
4056
4056
|
def create_role_template_version(
|
|
4057
4057
|
self,
|
|
4058
4058
|
role_template_id: str,
|
|
4059
|
-
role: 'TemplateRole',
|
|
4060
4059
|
*,
|
|
4061
4060
|
name: Optional[str] = None,
|
|
4062
4061
|
description: Optional[str] = None,
|
|
4062
|
+
role: Optional['TemplateRole'] = None,
|
|
4063
4063
|
committed: Optional[bool] = None,
|
|
4064
4064
|
**kwargs,
|
|
4065
4065
|
) -> DetailedResponse:
|
|
@@ -4070,14 +4070,14 @@ class IamPolicyManagementV1(BaseService):
|
|
|
4070
4070
|
role template that is committed.
|
|
4071
4071
|
|
|
4072
4072
|
:param str role_template_id: The role template ID.
|
|
4073
|
-
:param TemplateRole role: The role properties that are created in an action
|
|
4074
|
-
resource when the template is assigned.
|
|
4075
4073
|
:param str name: (optional) Required field when creating a new template.
|
|
4076
4074
|
Otherwise, this field is optional. If the field is included, it will change
|
|
4077
4075
|
the name value for all existing versions of the template.
|
|
4078
4076
|
:param str description: (optional) Description of the role template. This
|
|
4079
4077
|
is shown to users in the enterprise account. Use this to describe the
|
|
4080
4078
|
purpose or context of the role for enterprise users managing IAM templates.
|
|
4079
|
+
:param TemplateRole role: (optional) The role properties that are created
|
|
4080
|
+
in an action resource when the template is assigned.
|
|
4081
4081
|
:param bool committed: (optional) Committed status of the template version.
|
|
4082
4082
|
If committed is set to true, then the template version can no longer be
|
|
4083
4083
|
updated.
|
|
@@ -4088,9 +4088,8 @@ class IamPolicyManagementV1(BaseService):
|
|
|
4088
4088
|
|
|
4089
4089
|
if not role_template_id:
|
|
4090
4090
|
raise ValueError('role_template_id must be provided')
|
|
4091
|
-
if role is None:
|
|
4092
|
-
|
|
4093
|
-
role = convert_model(role)
|
|
4091
|
+
if role is not None:
|
|
4092
|
+
role = convert_model(role)
|
|
4094
4093
|
headers = {}
|
|
4095
4094
|
sdk_headers = get_sdk_headers(
|
|
4096
4095
|
service_name=self.DEFAULT_SERVICE_NAME,
|
|
@@ -4100,9 +4099,9 @@ class IamPolicyManagementV1(BaseService):
|
|
|
4100
4099
|
headers.update(sdk_headers)
|
|
4101
4100
|
|
|
4102
4101
|
data = {
|
|
4103
|
-
'role': role,
|
|
4104
4102
|
'name': name,
|
|
4105
4103
|
'description': description,
|
|
4104
|
+
'role': role,
|
|
4106
4105
|
'committed': committed,
|
|
4107
4106
|
}
|
|
4108
4107
|
data = {k: v for (k, v) in data.items() if v is not None}
|
|
@@ -4193,10 +4192,10 @@ class IamPolicyManagementV1(BaseService):
|
|
|
4193
4192
|
role_template_id: str,
|
|
4194
4193
|
version: str,
|
|
4195
4194
|
if_match: str,
|
|
4196
|
-
role: 'TemplateRole',
|
|
4197
4195
|
*,
|
|
4198
4196
|
name: Optional[str] = None,
|
|
4199
4197
|
description: Optional[str] = None,
|
|
4198
|
+
role: Optional['TemplateRole'] = None,
|
|
4200
4199
|
committed: Optional[bool] = None,
|
|
4201
4200
|
**kwargs,
|
|
4202
4201
|
) -> DetailedResponse:
|
|
@@ -4213,14 +4212,14 @@ class IamPolicyManagementV1(BaseService):
|
|
|
4213
4212
|
The Etag can be retrieved using the GET
|
|
4214
4213
|
/v1/role_templates/{template_id}/versions/{version} API and looking at the
|
|
4215
4214
|
Etag response header.
|
|
4216
|
-
:param TemplateRole role: The role properties that are created in an action
|
|
4217
|
-
resource when the template is assigned.
|
|
4218
4215
|
:param str name: (optional) Required field when creating a new template.
|
|
4219
4216
|
Otherwise, this field is optional. If the field is included, it will change
|
|
4220
4217
|
the name value for all existing versions of the template.
|
|
4221
4218
|
:param str description: (optional) Description of the role template. This
|
|
4222
4219
|
is shown to users in the enterprise account. Use this to describe the
|
|
4223
4220
|
purpose or context of the role for enterprise users managing IAM templates.
|
|
4221
|
+
:param TemplateRole role: (optional) The role properties that are created
|
|
4222
|
+
in an action resource when the template is assigned.
|
|
4224
4223
|
:param bool committed: (optional) Committed status of the template version.
|
|
4225
4224
|
If committed is set to true, then the template version can no longer be
|
|
4226
4225
|
updated.
|
|
@@ -4235,9 +4234,8 @@ class IamPolicyManagementV1(BaseService):
|
|
|
4235
4234
|
raise ValueError('version must be provided')
|
|
4236
4235
|
if not if_match:
|
|
4237
4236
|
raise ValueError('if_match must be provided')
|
|
4238
|
-
if role is None:
|
|
4239
|
-
|
|
4240
|
-
role = convert_model(role)
|
|
4237
|
+
if role is not None:
|
|
4238
|
+
role = convert_model(role)
|
|
4241
4239
|
headers = {
|
|
4242
4240
|
'If-Match': if_match,
|
|
4243
4241
|
}
|
|
@@ -4249,9 +4247,9 @@ class IamPolicyManagementV1(BaseService):
|
|
|
4249
4247
|
headers.update(sdk_headers)
|
|
4250
4248
|
|
|
4251
4249
|
data = {
|
|
4252
|
-
'role': role,
|
|
4253
4250
|
'name': name,
|
|
4254
4251
|
'description': description,
|
|
4252
|
+
'role': role,
|
|
4255
4253
|
'committed': committed,
|
|
4256
4254
|
}
|
|
4257
4255
|
data = {k: v for (k, v) in data.items() if v is not None}
|
|
@@ -10552,7 +10550,7 @@ class RoleAssignmentResource:
|
|
|
10552
10550
|
|
|
10553
10551
|
class RoleAssignmentResourceCreated:
|
|
10554
10552
|
"""
|
|
10555
|
-
On success, it includes the
|
|
10553
|
+
On success, it includes the role assigned.
|
|
10556
10554
|
|
|
10557
10555
|
:param str id: (optional) role id.
|
|
10558
10556
|
"""
|
|
@@ -10613,7 +10611,7 @@ class RoleAssignmentResourceRole:
|
|
|
10613
10611
|
Set of properties of the assigned resource or error message if assignment failed.
|
|
10614
10612
|
|
|
10615
10613
|
:param RoleAssignmentResourceCreated resource_created: (optional) On success, it
|
|
10616
|
-
includes the
|
|
10614
|
+
includes the role assigned.
|
|
10617
10615
|
:param AssignmentResourceError error_message: (optional) Body parameters for
|
|
10618
10616
|
assignment error.
|
|
10619
10617
|
"""
|
|
@@ -10628,7 +10626,7 @@ class RoleAssignmentResourceRole:
|
|
|
10628
10626
|
Initialize a RoleAssignmentResourceRole object.
|
|
10629
10627
|
|
|
10630
10628
|
:param RoleAssignmentResourceCreated resource_created: (optional) On
|
|
10631
|
-
success, it includes the
|
|
10629
|
+
success, it includes the role assigned.
|
|
10632
10630
|
:param AssignmentResourceError error_message: (optional) Body parameters
|
|
10633
10631
|
for assignment error.
|
|
10634
10632
|
"""
|
|
@@ -10863,8 +10861,8 @@ class RoleTemplate:
|
|
|
10863
10861
|
:param str account_id: Enterprise account ID where this template is created.
|
|
10864
10862
|
:param bool committed: (optional) Committed status of the template. If committed
|
|
10865
10863
|
is set to true, then the template version can no longer be updated.
|
|
10866
|
-
:param
|
|
10867
|
-
action resource when the template is assigned.
|
|
10864
|
+
:param RoleTemplatePrototypeRole role: (optional) The role properties that are
|
|
10865
|
+
created in an action resource when the template is assigned.
|
|
10868
10866
|
:param str id: (optional) The role template ID.
|
|
10869
10867
|
:param str href: (optional) The href URL that links to the role templates API by
|
|
10870
10868
|
role template ID.
|
|
@@ -10884,13 +10882,13 @@ class RoleTemplate:
|
|
|
10884
10882
|
def __init__(
|
|
10885
10883
|
self,
|
|
10886
10884
|
name: str,
|
|
10887
|
-
description: str,
|
|
10888
10885
|
account_id: str,
|
|
10889
10886
|
version: str,
|
|
10890
10887
|
state: str,
|
|
10891
10888
|
*,
|
|
10889
|
+
description: Optional[str] = None,
|
|
10892
10890
|
committed: Optional[bool] = None,
|
|
10893
|
-
role: Optional['
|
|
10891
|
+
role: Optional['RoleTemplatePrototypeRole'] = None,
|
|
10894
10892
|
id: Optional[str] = None,
|
|
10895
10893
|
href: Optional[str] = None,
|
|
10896
10894
|
created_at: Optional[datetime] = None,
|
|
@@ -10915,8 +10913,8 @@ class RoleTemplate:
|
|
|
10915
10913
|
:param bool committed: (optional) Committed status of the template. If
|
|
10916
10914
|
committed is set to true, then the template version can no longer be
|
|
10917
10915
|
updated.
|
|
10918
|
-
:param
|
|
10919
|
-
in an action resource when the template is assigned.
|
|
10916
|
+
:param RoleTemplatePrototypeRole role: (optional) The role properties that
|
|
10917
|
+
are created in an action resource when the template is assigned.
|
|
10920
10918
|
"""
|
|
10921
10919
|
self.name = name
|
|
10922
10920
|
self.description = description
|
|
@@ -10942,8 +10940,6 @@ class RoleTemplate:
|
|
|
10942
10940
|
raise ValueError('Required property \'name\' not present in RoleTemplate JSON')
|
|
10943
10941
|
if (description := _dict.get('description')) is not None:
|
|
10944
10942
|
args['description'] = description
|
|
10945
|
-
else:
|
|
10946
|
-
raise ValueError('Required property \'description\' not present in RoleTemplate JSON')
|
|
10947
10943
|
if (account_id := _dict.get('account_id')) is not None:
|
|
10948
10944
|
args['account_id'] = account_id
|
|
10949
10945
|
else:
|
|
@@ -10951,7 +10947,7 @@ class RoleTemplate:
|
|
|
10951
10947
|
if (committed := _dict.get('committed')) is not None:
|
|
10952
10948
|
args['committed'] = committed
|
|
10953
10949
|
if (role := _dict.get('role')) is not None:
|
|
10954
|
-
args['role'] =
|
|
10950
|
+
args['role'] = RoleTemplatePrototypeRole.from_dict(role)
|
|
10955
10951
|
if (id := _dict.get('id')) is not None:
|
|
10956
10952
|
args['id'] = id
|
|
10957
10953
|
if (href := _dict.get('href')) is not None:
|
|
@@ -11155,6 +11151,176 @@ class RoleTemplateCollection:
|
|
|
11155
11151
|
return not self == other
|
|
11156
11152
|
|
|
11157
11153
|
|
|
11154
|
+
class RoleTemplatePrototypeRole:
|
|
11155
|
+
"""
|
|
11156
|
+
The role properties that are created in an action resource when the template is
|
|
11157
|
+
assigned.
|
|
11158
|
+
|
|
11159
|
+
:param str name: The name of the role that is used in the CRN. This must be
|
|
11160
|
+
alphanumeric and capitalized.
|
|
11161
|
+
:param str display_name: The display the name of the role that is shown in the
|
|
11162
|
+
console.
|
|
11163
|
+
:param str service_name: (optional) The service name that the role refers.
|
|
11164
|
+
:param str description: (optional) Description of the role.
|
|
11165
|
+
:param List[str] actions: The actions of the role.
|
|
11166
|
+
"""
|
|
11167
|
+
|
|
11168
|
+
def __init__(
|
|
11169
|
+
self,
|
|
11170
|
+
name: str,
|
|
11171
|
+
display_name: str,
|
|
11172
|
+
actions: List[str],
|
|
11173
|
+
*,
|
|
11174
|
+
service_name: Optional[str] = None,
|
|
11175
|
+
description: Optional[str] = None,
|
|
11176
|
+
) -> None:
|
|
11177
|
+
"""
|
|
11178
|
+
Initialize a RoleTemplatePrototypeRole object.
|
|
11179
|
+
|
|
11180
|
+
:param str name: The name of the role that is used in the CRN. This must be
|
|
11181
|
+
alphanumeric and capitalized.
|
|
11182
|
+
:param str display_name: The display the name of the role that is shown in
|
|
11183
|
+
the console.
|
|
11184
|
+
:param List[str] actions: The actions of the role.
|
|
11185
|
+
:param str service_name: (optional) The service name that the role refers.
|
|
11186
|
+
:param str description: (optional) Description of the role.
|
|
11187
|
+
"""
|
|
11188
|
+
self.name = name
|
|
11189
|
+
self.display_name = display_name
|
|
11190
|
+
self.service_name = service_name
|
|
11191
|
+
self.description = description
|
|
11192
|
+
self.actions = actions
|
|
11193
|
+
|
|
11194
|
+
@classmethod
|
|
11195
|
+
def from_dict(cls, _dict: Dict) -> 'RoleTemplatePrototypeRole':
|
|
11196
|
+
"""Initialize a RoleTemplatePrototypeRole object from a json dictionary."""
|
|
11197
|
+
args = {}
|
|
11198
|
+
if (name := _dict.get('name')) is not None:
|
|
11199
|
+
args['name'] = name
|
|
11200
|
+
else:
|
|
11201
|
+
raise ValueError('Required property \'name\' not present in RoleTemplatePrototypeRole JSON')
|
|
11202
|
+
if (display_name := _dict.get('display_name')) is not None:
|
|
11203
|
+
args['display_name'] = display_name
|
|
11204
|
+
else:
|
|
11205
|
+
raise ValueError('Required property \'display_name\' not present in RoleTemplatePrototypeRole JSON')
|
|
11206
|
+
if (service_name := _dict.get('service_name')) is not None:
|
|
11207
|
+
args['service_name'] = service_name
|
|
11208
|
+
if (description := _dict.get('description')) is not None:
|
|
11209
|
+
args['description'] = description
|
|
11210
|
+
if (actions := _dict.get('actions')) is not None:
|
|
11211
|
+
args['actions'] = actions
|
|
11212
|
+
else:
|
|
11213
|
+
raise ValueError('Required property \'actions\' not present in RoleTemplatePrototypeRole JSON')
|
|
11214
|
+
return cls(**args)
|
|
11215
|
+
|
|
11216
|
+
@classmethod
|
|
11217
|
+
def _from_dict(cls, _dict):
|
|
11218
|
+
"""Initialize a RoleTemplatePrototypeRole object from a json dictionary."""
|
|
11219
|
+
return cls.from_dict(_dict)
|
|
11220
|
+
|
|
11221
|
+
def to_dict(self) -> Dict:
|
|
11222
|
+
"""Return a json dictionary representing this model."""
|
|
11223
|
+
_dict = {}
|
|
11224
|
+
if hasattr(self, 'name') and self.name is not None:
|
|
11225
|
+
_dict['name'] = self.name
|
|
11226
|
+
if hasattr(self, 'display_name') and self.display_name is not None:
|
|
11227
|
+
_dict['display_name'] = self.display_name
|
|
11228
|
+
if hasattr(self, 'service_name') and self.service_name is not None:
|
|
11229
|
+
_dict['service_name'] = self.service_name
|
|
11230
|
+
if hasattr(self, 'description') and self.description is not None:
|
|
11231
|
+
_dict['description'] = self.description
|
|
11232
|
+
if hasattr(self, 'actions') and self.actions is not None:
|
|
11233
|
+
_dict['actions'] = self.actions
|
|
11234
|
+
return _dict
|
|
11235
|
+
|
|
11236
|
+
def _to_dict(self):
|
|
11237
|
+
"""Return a json dictionary representing this model."""
|
|
11238
|
+
return self.to_dict()
|
|
11239
|
+
|
|
11240
|
+
def __str__(self) -> str:
|
|
11241
|
+
"""Return a `str` version of this RoleTemplatePrototypeRole object."""
|
|
11242
|
+
return json.dumps(self.to_dict(), indent=2)
|
|
11243
|
+
|
|
11244
|
+
def __eq__(self, other: 'RoleTemplatePrototypeRole') -> bool:
|
|
11245
|
+
"""Return `true` when self and other are equal, false otherwise."""
|
|
11246
|
+
if not isinstance(other, self.__class__):
|
|
11247
|
+
return False
|
|
11248
|
+
return self.__dict__ == other.__dict__
|
|
11249
|
+
|
|
11250
|
+
def __ne__(self, other: 'RoleTemplatePrototypeRole') -> bool:
|
|
11251
|
+
"""Return `true` when self and other are not equal, false otherwise."""
|
|
11252
|
+
return not self == other
|
|
11253
|
+
|
|
11254
|
+
|
|
11255
|
+
class RoleTemplateReferencesItem:
|
|
11256
|
+
"""
|
|
11257
|
+
A role template reference associated with a policy template.
|
|
11258
|
+
|
|
11259
|
+
:param str id: The role template ID.
|
|
11260
|
+
:param str version: Role template version.
|
|
11261
|
+
"""
|
|
11262
|
+
|
|
11263
|
+
def __init__(
|
|
11264
|
+
self,
|
|
11265
|
+
id: str,
|
|
11266
|
+
version: str,
|
|
11267
|
+
) -> None:
|
|
11268
|
+
"""
|
|
11269
|
+
Initialize a RoleTemplateReferencesItem object.
|
|
11270
|
+
|
|
11271
|
+
:param str id: The role template ID.
|
|
11272
|
+
:param str version: Role template version.
|
|
11273
|
+
"""
|
|
11274
|
+
self.id = id
|
|
11275
|
+
self.version = version
|
|
11276
|
+
|
|
11277
|
+
@classmethod
|
|
11278
|
+
def from_dict(cls, _dict: Dict) -> 'RoleTemplateReferencesItem':
|
|
11279
|
+
"""Initialize a RoleTemplateReferencesItem object from a json dictionary."""
|
|
11280
|
+
args = {}
|
|
11281
|
+
if (id := _dict.get('id')) is not None:
|
|
11282
|
+
args['id'] = id
|
|
11283
|
+
else:
|
|
11284
|
+
raise ValueError('Required property \'id\' not present in RoleTemplateReferencesItem JSON')
|
|
11285
|
+
if (version := _dict.get('version')) is not None:
|
|
11286
|
+
args['version'] = version
|
|
11287
|
+
else:
|
|
11288
|
+
raise ValueError('Required property \'version\' not present in RoleTemplateReferencesItem JSON')
|
|
11289
|
+
return cls(**args)
|
|
11290
|
+
|
|
11291
|
+
@classmethod
|
|
11292
|
+
def _from_dict(cls, _dict):
|
|
11293
|
+
"""Initialize a RoleTemplateReferencesItem object from a json dictionary."""
|
|
11294
|
+
return cls.from_dict(_dict)
|
|
11295
|
+
|
|
11296
|
+
def to_dict(self) -> Dict:
|
|
11297
|
+
"""Return a json dictionary representing this model."""
|
|
11298
|
+
_dict = {}
|
|
11299
|
+
if hasattr(self, 'id') and self.id is not None:
|
|
11300
|
+
_dict['id'] = self.id
|
|
11301
|
+
if hasattr(self, 'version') and self.version is not None:
|
|
11302
|
+
_dict['version'] = self.version
|
|
11303
|
+
return _dict
|
|
11304
|
+
|
|
11305
|
+
def _to_dict(self):
|
|
11306
|
+
"""Return a json dictionary representing this model."""
|
|
11307
|
+
return self.to_dict()
|
|
11308
|
+
|
|
11309
|
+
def __str__(self) -> str:
|
|
11310
|
+
"""Return a `str` version of this RoleTemplateReferencesItem object."""
|
|
11311
|
+
return json.dumps(self.to_dict(), indent=2)
|
|
11312
|
+
|
|
11313
|
+
def __eq__(self, other: 'RoleTemplateReferencesItem') -> bool:
|
|
11314
|
+
"""Return `true` when self and other are equal, false otherwise."""
|
|
11315
|
+
if not isinstance(other, self.__class__):
|
|
11316
|
+
return False
|
|
11317
|
+
return self.__dict__ == other.__dict__
|
|
11318
|
+
|
|
11319
|
+
def __ne__(self, other: 'RoleTemplateReferencesItem') -> bool:
|
|
11320
|
+
"""Return `true` when self and other are not equal, false otherwise."""
|
|
11321
|
+
return not self == other
|
|
11322
|
+
|
|
11323
|
+
|
|
11158
11324
|
class RoleTemplateVersionsCollection:
|
|
11159
11325
|
"""
|
|
11160
11326
|
A collection of versions for a specific role template.
|
|
@@ -11590,6 +11756,68 @@ class TemplateActionControl:
|
|
|
11590
11756
|
return not self == other
|
|
11591
11757
|
|
|
11592
11758
|
|
|
11759
|
+
class TemplateControl:
|
|
11760
|
+
"""
|
|
11761
|
+
Specifies the type of access that is granted by the policy.
|
|
11762
|
+
|
|
11763
|
+
:param TemplateGrant grant: Permission is granted by the policy.
|
|
11764
|
+
"""
|
|
11765
|
+
|
|
11766
|
+
def __init__(
|
|
11767
|
+
self,
|
|
11768
|
+
grant: 'TemplateGrant',
|
|
11769
|
+
) -> None:
|
|
11770
|
+
"""
|
|
11771
|
+
Initialize a TemplateControl object.
|
|
11772
|
+
|
|
11773
|
+
:param TemplateGrant grant: Permission is granted by the policy.
|
|
11774
|
+
"""
|
|
11775
|
+
self.grant = grant
|
|
11776
|
+
|
|
11777
|
+
@classmethod
|
|
11778
|
+
def from_dict(cls, _dict: Dict) -> 'TemplateControl':
|
|
11779
|
+
"""Initialize a TemplateControl object from a json dictionary."""
|
|
11780
|
+
args = {}
|
|
11781
|
+
if (grant := _dict.get('grant')) is not None:
|
|
11782
|
+
args['grant'] = grant
|
|
11783
|
+
else:
|
|
11784
|
+
raise ValueError('Required property \'grant\' not present in TemplateControl JSON')
|
|
11785
|
+
return cls(**args)
|
|
11786
|
+
|
|
11787
|
+
@classmethod
|
|
11788
|
+
def _from_dict(cls, _dict):
|
|
11789
|
+
"""Initialize a TemplateControl object from a json dictionary."""
|
|
11790
|
+
return cls.from_dict(_dict)
|
|
11791
|
+
|
|
11792
|
+
def to_dict(self) -> Dict:
|
|
11793
|
+
"""Return a json dictionary representing this model."""
|
|
11794
|
+
_dict = {}
|
|
11795
|
+
if hasattr(self, 'grant') and self.grant is not None:
|
|
11796
|
+
if isinstance(self.grant, dict):
|
|
11797
|
+
_dict['grant'] = self.grant
|
|
11798
|
+
else:
|
|
11799
|
+
_dict['grant'] = self.grant.to_dict()
|
|
11800
|
+
return _dict
|
|
11801
|
+
|
|
11802
|
+
def _to_dict(self):
|
|
11803
|
+
"""Return a json dictionary representing this model."""
|
|
11804
|
+
return self.to_dict()
|
|
11805
|
+
|
|
11806
|
+
def __str__(self) -> str:
|
|
11807
|
+
"""Return a `str` version of this TemplateControl object."""
|
|
11808
|
+
return json.dumps(self.to_dict(), indent=2)
|
|
11809
|
+
|
|
11810
|
+
def __eq__(self, other: 'TemplateControl') -> bool:
|
|
11811
|
+
"""Return `true` when self and other are equal, false otherwise."""
|
|
11812
|
+
if not isinstance(other, self.__class__):
|
|
11813
|
+
return False
|
|
11814
|
+
return self.__dict__ == other.__dict__
|
|
11815
|
+
|
|
11816
|
+
def __ne__(self, other: 'TemplateControl') -> bool:
|
|
11817
|
+
"""Return `true` when self and other are not equal, false otherwise."""
|
|
11818
|
+
return not self == other
|
|
11819
|
+
|
|
11820
|
+
|
|
11593
11821
|
class TemplateCountData:
|
|
11594
11822
|
"""
|
|
11595
11823
|
policy template count details.
|
|
@@ -11666,6 +11894,90 @@ class TemplateCountData:
|
|
|
11666
11894
|
return not self == other
|
|
11667
11895
|
|
|
11668
11896
|
|
|
11897
|
+
class TemplateGrant:
|
|
11898
|
+
"""
|
|
11899
|
+
Permission is granted by the policy.
|
|
11900
|
+
|
|
11901
|
+
:param List[Roles] roles: (optional) A set of role Cloud Resource Names (CRNs)
|
|
11902
|
+
granted by the policy.
|
|
11903
|
+
:param List[RoleTemplateReferencesItem] role_template_references: (optional) A
|
|
11904
|
+
set of role template reference IDs granted by the policy.
|
|
11905
|
+
"""
|
|
11906
|
+
|
|
11907
|
+
def __init__(
|
|
11908
|
+
self,
|
|
11909
|
+
*,
|
|
11910
|
+
roles: Optional[List['Roles']] = None,
|
|
11911
|
+
role_template_references: Optional[List['RoleTemplateReferencesItem']] = None,
|
|
11912
|
+
) -> None:
|
|
11913
|
+
"""
|
|
11914
|
+
Initialize a TemplateGrant object.
|
|
11915
|
+
|
|
11916
|
+
:param List[Roles] roles: (optional) A set of role Cloud Resource Names
|
|
11917
|
+
(CRNs) granted by the policy.
|
|
11918
|
+
:param List[RoleTemplateReferencesItem] role_template_references:
|
|
11919
|
+
(optional) A set of role template reference IDs granted by the policy.
|
|
11920
|
+
"""
|
|
11921
|
+
self.roles = roles
|
|
11922
|
+
self.role_template_references = role_template_references
|
|
11923
|
+
|
|
11924
|
+
@classmethod
|
|
11925
|
+
def from_dict(cls, _dict: Dict) -> 'TemplateGrant':
|
|
11926
|
+
"""Initialize a TemplateGrant object from a json dictionary."""
|
|
11927
|
+
args = {}
|
|
11928
|
+
if (roles := _dict.get('roles')) is not None:
|
|
11929
|
+
args['roles'] = [Roles.from_dict(v) for v in roles]
|
|
11930
|
+
if (role_template_references := _dict.get('role_template_references')) is not None:
|
|
11931
|
+
args['role_template_references'] = [
|
|
11932
|
+
RoleTemplateReferencesItem.from_dict(v) for v in role_template_references
|
|
11933
|
+
]
|
|
11934
|
+
return cls(**args)
|
|
11935
|
+
|
|
11936
|
+
@classmethod
|
|
11937
|
+
def _from_dict(cls, _dict):
|
|
11938
|
+
"""Initialize a TemplateGrant object from a json dictionary."""
|
|
11939
|
+
return cls.from_dict(_dict)
|
|
11940
|
+
|
|
11941
|
+
def to_dict(self) -> Dict:
|
|
11942
|
+
"""Return a json dictionary representing this model."""
|
|
11943
|
+
_dict = {}
|
|
11944
|
+
if hasattr(self, 'roles') and self.roles is not None:
|
|
11945
|
+
roles_list = []
|
|
11946
|
+
for v in self.roles:
|
|
11947
|
+
if isinstance(v, dict):
|
|
11948
|
+
roles_list.append(v)
|
|
11949
|
+
else:
|
|
11950
|
+
roles_list.append(v.to_dict())
|
|
11951
|
+
_dict['roles'] = roles_list
|
|
11952
|
+
if hasattr(self, 'role_template_references') and self.role_template_references is not None:
|
|
11953
|
+
role_template_references_list = []
|
|
11954
|
+
for v in self.role_template_references:
|
|
11955
|
+
if isinstance(v, dict):
|
|
11956
|
+
role_template_references_list.append(v)
|
|
11957
|
+
else:
|
|
11958
|
+
role_template_references_list.append(v.to_dict())
|
|
11959
|
+
_dict['role_template_references'] = role_template_references_list
|
|
11960
|
+
return _dict
|
|
11961
|
+
|
|
11962
|
+
def _to_dict(self):
|
|
11963
|
+
"""Return a json dictionary representing this model."""
|
|
11964
|
+
return self.to_dict()
|
|
11965
|
+
|
|
11966
|
+
def __str__(self) -> str:
|
|
11967
|
+
"""Return a `str` version of this TemplateGrant object."""
|
|
11968
|
+
return json.dumps(self.to_dict(), indent=2)
|
|
11969
|
+
|
|
11970
|
+
def __eq__(self, other: 'TemplateGrant') -> bool:
|
|
11971
|
+
"""Return `true` when self and other are equal, false otherwise."""
|
|
11972
|
+
if not isinstance(other, self.__class__):
|
|
11973
|
+
return False
|
|
11974
|
+
return self.__dict__ == other.__dict__
|
|
11975
|
+
|
|
11976
|
+
def __ne__(self, other: 'TemplateGrant') -> bool:
|
|
11977
|
+
"""Return `true` when self and other are not equal, false otherwise."""
|
|
11978
|
+
return not self == other
|
|
11979
|
+
|
|
11980
|
+
|
|
11669
11981
|
class TemplateMetadata:
|
|
11670
11982
|
"""
|
|
11671
11983
|
The details of the IAM template that was used to create an enterprise-managed policy
|
|
@@ -11775,8 +12087,8 @@ class TemplatePolicy:
|
|
|
11775
12087
|
'time-based-conditions:weekly:custom-hours'.
|
|
11776
12088
|
:param V2PolicyRule rule: (optional) Additional access conditions associated
|
|
11777
12089
|
with the policy.
|
|
11778
|
-
:param
|
|
11779
|
-
by the policy.
|
|
12090
|
+
:param TemplateControl control: (optional) Specifies the type of access that is
|
|
12091
|
+
granted by the policy.
|
|
11780
12092
|
"""
|
|
11781
12093
|
|
|
11782
12094
|
def __init__(
|
|
@@ -11788,7 +12100,7 @@ class TemplatePolicy:
|
|
|
11788
12100
|
subject: Optional['V2PolicySubject'] = None,
|
|
11789
12101
|
pattern: Optional[str] = None,
|
|
11790
12102
|
rule: Optional['V2PolicyRule'] = None,
|
|
11791
|
-
control: Optional['
|
|
12103
|
+
control: Optional['TemplateControl'] = None,
|
|
11792
12104
|
) -> None:
|
|
11793
12105
|
"""
|
|
11794
12106
|
Initialize a TemplatePolicy object.
|
|
@@ -11806,8 +12118,8 @@ class TemplatePolicy:
|
|
|
11806
12118
|
'time-based-conditions:weekly:custom-hours'.
|
|
11807
12119
|
:param V2PolicyRule rule: (optional) Additional access conditions
|
|
11808
12120
|
associated with the policy.
|
|
11809
|
-
:param
|
|
11810
|
-
granted by the policy.
|
|
12121
|
+
:param TemplateControl control: (optional) Specifies the type of access
|
|
12122
|
+
that is granted by the policy.
|
|
11811
12123
|
"""
|
|
11812
12124
|
self.type = type
|
|
11813
12125
|
self.description = description
|
|
@@ -11836,7 +12148,7 @@ class TemplatePolicy:
|
|
|
11836
12148
|
if (rule := _dict.get('rule')) is not None:
|
|
11837
12149
|
args['rule'] = rule
|
|
11838
12150
|
if (control := _dict.get('control')) is not None:
|
|
11839
|
-
args['control'] =
|
|
12151
|
+
args['control'] = TemplateControl.from_dict(control)
|
|
11840
12152
|
return cls(**args)
|
|
11841
12153
|
|
|
11842
12154
|
@classmethod
|
|
@@ -11907,36 +12219,30 @@ class TemplateRole:
|
|
|
11907
12219
|
The role properties that are created in an action resource when the template is
|
|
11908
12220
|
assigned.
|
|
11909
12221
|
|
|
11910
|
-
:param str name: The name of the role that is used in the CRN. This must be
|
|
11911
|
-
alphanumeric and capitalized.
|
|
11912
12222
|
:param str display_name: The display the name of the role that is shown in the
|
|
11913
12223
|
console.
|
|
11914
|
-
:param str service_name: The service name that the role refers.
|
|
12224
|
+
:param str service_name: (optional) The service name that the role refers.
|
|
11915
12225
|
:param str description: (optional) Description of the role.
|
|
11916
12226
|
:param List[str] actions: The actions of the role.
|
|
11917
12227
|
"""
|
|
11918
12228
|
|
|
11919
12229
|
def __init__(
|
|
11920
12230
|
self,
|
|
11921
|
-
name: str,
|
|
11922
12231
|
display_name: str,
|
|
11923
|
-
service_name: str,
|
|
11924
12232
|
actions: List[str],
|
|
11925
12233
|
*,
|
|
12234
|
+
service_name: Optional[str] = None,
|
|
11926
12235
|
description: Optional[str] = None,
|
|
11927
12236
|
) -> None:
|
|
11928
12237
|
"""
|
|
11929
12238
|
Initialize a TemplateRole object.
|
|
11930
12239
|
|
|
11931
|
-
:param str name: The name of the role that is used in the CRN. This must be
|
|
11932
|
-
alphanumeric and capitalized.
|
|
11933
12240
|
:param str display_name: The display the name of the role that is shown in
|
|
11934
12241
|
the console.
|
|
11935
|
-
:param str service_name: The service name that the role refers.
|
|
11936
12242
|
:param List[str] actions: The actions of the role.
|
|
12243
|
+
:param str service_name: (optional) The service name that the role refers.
|
|
11937
12244
|
:param str description: (optional) Description of the role.
|
|
11938
12245
|
"""
|
|
11939
|
-
self.name = name
|
|
11940
12246
|
self.display_name = display_name
|
|
11941
12247
|
self.service_name = service_name
|
|
11942
12248
|
self.description = description
|
|
@@ -11946,18 +12252,12 @@ class TemplateRole:
|
|
|
11946
12252
|
def from_dict(cls, _dict: Dict) -> 'TemplateRole':
|
|
11947
12253
|
"""Initialize a TemplateRole object from a json dictionary."""
|
|
11948
12254
|
args = {}
|
|
11949
|
-
if (name := _dict.get('name')) is not None:
|
|
11950
|
-
args['name'] = name
|
|
11951
|
-
else:
|
|
11952
|
-
raise ValueError('Required property \'name\' not present in TemplateRole JSON')
|
|
11953
12255
|
if (display_name := _dict.get('display_name')) is not None:
|
|
11954
12256
|
args['display_name'] = display_name
|
|
11955
12257
|
else:
|
|
11956
12258
|
raise ValueError('Required property \'display_name\' not present in TemplateRole JSON')
|
|
11957
12259
|
if (service_name := _dict.get('service_name')) is not None:
|
|
11958
12260
|
args['service_name'] = service_name
|
|
11959
|
-
else:
|
|
11960
|
-
raise ValueError('Required property \'service_name\' not present in TemplateRole JSON')
|
|
11961
12261
|
if (description := _dict.get('description')) is not None:
|
|
11962
12262
|
args['description'] = description
|
|
11963
12263
|
if (actions := _dict.get('actions')) is not None:
|
|
@@ -11974,8 +12274,6 @@ class TemplateRole:
|
|
|
11974
12274
|
def to_dict(self) -> Dict:
|
|
11975
12275
|
"""Return a json dictionary representing this model."""
|
|
11976
12276
|
_dict = {}
|
|
11977
|
-
if hasattr(self, 'name') and self.name is not None:
|
|
11978
|
-
_dict['name'] = self.name
|
|
11979
12277
|
if hasattr(self, 'display_name') and self.display_name is not None:
|
|
11980
12278
|
_dict['display_name'] = self.display_name
|
|
11981
12279
|
if hasattr(self, 'service_name') and self.service_name is not None:
|
|
@@ -13775,6 +14073,146 @@ class PolicyTemplateAssignmentItemsPolicyAssignmentV1(PolicyTemplateAssignmentIt
|
|
|
13775
14073
|
FAILED = 'failed'
|
|
13776
14074
|
|
|
13777
14075
|
|
|
14076
|
+
class TemplateGrantRoleReferences(TemplateGrant):
|
|
14077
|
+
"""
|
|
14078
|
+
TemplateGrantRoleReferences.
|
|
14079
|
+
|
|
14080
|
+
:param List[RoleTemplateReferencesItem] role_template_references: A set of role
|
|
14081
|
+
template reference IDs granted by the policy.
|
|
14082
|
+
"""
|
|
14083
|
+
|
|
14084
|
+
def __init__(
|
|
14085
|
+
self,
|
|
14086
|
+
role_template_references: List['RoleTemplateReferencesItem'],
|
|
14087
|
+
) -> None:
|
|
14088
|
+
"""
|
|
14089
|
+
Initialize a TemplateGrantRoleReferences object.
|
|
14090
|
+
|
|
14091
|
+
:param List[RoleTemplateReferencesItem] role_template_references: A set of
|
|
14092
|
+
role template reference IDs granted by the policy.
|
|
14093
|
+
"""
|
|
14094
|
+
# pylint: disable=super-init-not-called
|
|
14095
|
+
self.role_template_references = role_template_references
|
|
14096
|
+
|
|
14097
|
+
@classmethod
|
|
14098
|
+
def from_dict(cls, _dict: Dict) -> 'TemplateGrantRoleReferences':
|
|
14099
|
+
"""Initialize a TemplateGrantRoleReferences object from a json dictionary."""
|
|
14100
|
+
args = {}
|
|
14101
|
+
if (role_template_references := _dict.get('role_template_references')) is not None:
|
|
14102
|
+
args['role_template_references'] = [
|
|
14103
|
+
RoleTemplateReferencesItem.from_dict(v) for v in role_template_references
|
|
14104
|
+
]
|
|
14105
|
+
else:
|
|
14106
|
+
raise ValueError(
|
|
14107
|
+
'Required property \'role_template_references\' not present in TemplateGrantRoleReferences JSON'
|
|
14108
|
+
)
|
|
14109
|
+
return cls(**args)
|
|
14110
|
+
|
|
14111
|
+
@classmethod
|
|
14112
|
+
def _from_dict(cls, _dict):
|
|
14113
|
+
"""Initialize a TemplateGrantRoleReferences object from a json dictionary."""
|
|
14114
|
+
return cls.from_dict(_dict)
|
|
14115
|
+
|
|
14116
|
+
def to_dict(self) -> Dict:
|
|
14117
|
+
"""Return a json dictionary representing this model."""
|
|
14118
|
+
_dict = {}
|
|
14119
|
+
if hasattr(self, 'role_template_references') and self.role_template_references is not None:
|
|
14120
|
+
role_template_references_list = []
|
|
14121
|
+
for v in self.role_template_references:
|
|
14122
|
+
if isinstance(v, dict):
|
|
14123
|
+
role_template_references_list.append(v)
|
|
14124
|
+
else:
|
|
14125
|
+
role_template_references_list.append(v.to_dict())
|
|
14126
|
+
_dict['role_template_references'] = role_template_references_list
|
|
14127
|
+
return _dict
|
|
14128
|
+
|
|
14129
|
+
def _to_dict(self):
|
|
14130
|
+
"""Return a json dictionary representing this model."""
|
|
14131
|
+
return self.to_dict()
|
|
14132
|
+
|
|
14133
|
+
def __str__(self) -> str:
|
|
14134
|
+
"""Return a `str` version of this TemplateGrantRoleReferences object."""
|
|
14135
|
+
return json.dumps(self.to_dict(), indent=2)
|
|
14136
|
+
|
|
14137
|
+
def __eq__(self, other: 'TemplateGrantRoleReferences') -> bool:
|
|
14138
|
+
"""Return `true` when self and other are equal, false otherwise."""
|
|
14139
|
+
if not isinstance(other, self.__class__):
|
|
14140
|
+
return False
|
|
14141
|
+
return self.__dict__ == other.__dict__
|
|
14142
|
+
|
|
14143
|
+
def __ne__(self, other: 'TemplateGrantRoleReferences') -> bool:
|
|
14144
|
+
"""Return `true` when self and other are not equal, false otherwise."""
|
|
14145
|
+
return not self == other
|
|
14146
|
+
|
|
14147
|
+
|
|
14148
|
+
class TemplateGrantRoles(TemplateGrant):
|
|
14149
|
+
"""
|
|
14150
|
+
TemplateGrantRoles.
|
|
14151
|
+
|
|
14152
|
+
:param List[Roles] roles: A set of role Cloud Resource Names (CRNs) granted by
|
|
14153
|
+
the policy.
|
|
14154
|
+
"""
|
|
14155
|
+
|
|
14156
|
+
def __init__(
|
|
14157
|
+
self,
|
|
14158
|
+
roles: List['Roles'],
|
|
14159
|
+
) -> None:
|
|
14160
|
+
"""
|
|
14161
|
+
Initialize a TemplateGrantRoles object.
|
|
14162
|
+
|
|
14163
|
+
:param List[Roles] roles: A set of role Cloud Resource Names (CRNs) granted
|
|
14164
|
+
by the policy.
|
|
14165
|
+
"""
|
|
14166
|
+
# pylint: disable=super-init-not-called
|
|
14167
|
+
self.roles = roles
|
|
14168
|
+
|
|
14169
|
+
@classmethod
|
|
14170
|
+
def from_dict(cls, _dict: Dict) -> 'TemplateGrantRoles':
|
|
14171
|
+
"""Initialize a TemplateGrantRoles object from a json dictionary."""
|
|
14172
|
+
args = {}
|
|
14173
|
+
if (roles := _dict.get('roles')) is not None:
|
|
14174
|
+
args['roles'] = [Roles.from_dict(v) for v in roles]
|
|
14175
|
+
else:
|
|
14176
|
+
raise ValueError('Required property \'roles\' not present in TemplateGrantRoles JSON')
|
|
14177
|
+
return cls(**args)
|
|
14178
|
+
|
|
14179
|
+
@classmethod
|
|
14180
|
+
def _from_dict(cls, _dict):
|
|
14181
|
+
"""Initialize a TemplateGrantRoles object from a json dictionary."""
|
|
14182
|
+
return cls.from_dict(_dict)
|
|
14183
|
+
|
|
14184
|
+
def to_dict(self) -> Dict:
|
|
14185
|
+
"""Return a json dictionary representing this model."""
|
|
14186
|
+
_dict = {}
|
|
14187
|
+
if hasattr(self, 'roles') and self.roles is not None:
|
|
14188
|
+
roles_list = []
|
|
14189
|
+
for v in self.roles:
|
|
14190
|
+
if isinstance(v, dict):
|
|
14191
|
+
roles_list.append(v)
|
|
14192
|
+
else:
|
|
14193
|
+
roles_list.append(v.to_dict())
|
|
14194
|
+
_dict['roles'] = roles_list
|
|
14195
|
+
return _dict
|
|
14196
|
+
|
|
14197
|
+
def _to_dict(self):
|
|
14198
|
+
"""Return a json dictionary representing this model."""
|
|
14199
|
+
return self.to_dict()
|
|
14200
|
+
|
|
14201
|
+
def __str__(self) -> str:
|
|
14202
|
+
"""Return a `str` version of this TemplateGrantRoles object."""
|
|
14203
|
+
return json.dumps(self.to_dict(), indent=2)
|
|
14204
|
+
|
|
14205
|
+
def __eq__(self, other: 'TemplateGrantRoles') -> bool:
|
|
14206
|
+
"""Return `true` when self and other are equal, false otherwise."""
|
|
14207
|
+
if not isinstance(other, self.__class__):
|
|
14208
|
+
return False
|
|
14209
|
+
return self.__dict__ == other.__dict__
|
|
14210
|
+
|
|
14211
|
+
def __ne__(self, other: 'TemplateGrantRoles') -> bool:
|
|
14212
|
+
"""Return `true` when self and other are not equal, false otherwise."""
|
|
14213
|
+
return not self == other
|
|
14214
|
+
|
|
14215
|
+
|
|
13778
14216
|
class V2PolicyRuleRuleAttribute(V2PolicyRule):
|
|
13779
14217
|
"""
|
|
13780
14218
|
Rule that specifies additional access that is granted (For example, time-based
|
ibm_platform_services/version.py
CHANGED
|
@@ -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
|
|
|
@@ -10,8 +10,8 @@ ibm_platform_services/global_catalog_v1.py,sha256=j-B3d-4LIL_ktuphGo8YBbJLSoFG5c
|
|
|
10
10
|
ibm_platform_services/global_search_v2.py,sha256=ZiZu-5XDqbywE7yKhohL8nbbL8PAmQLU3d6AMb6IrMg,21532
|
|
11
11
|
ibm_platform_services/global_tagging_v1.py,sha256=VqaXwyWSN6jKEaR5uu7bq-AGJrsJ_GDEmde7mR7TjKI,65663
|
|
12
12
|
ibm_platform_services/iam_access_groups_v2.py,sha256=E9ope8EFmlt_oxEZqUruAimbN6uXQ8rhBIij706Q6is,320399
|
|
13
|
-
ibm_platform_services/iam_identity_v1.py,sha256=
|
|
14
|
-
ibm_platform_services/iam_policy_management_v1.py,sha256=
|
|
13
|
+
ibm_platform_services/iam_identity_v1.py,sha256=Me3TKetsKg6qJKgolI_M6Dy3BNLengS5Iu5Kh9gkC7E,606488
|
|
14
|
+
ibm_platform_services/iam_policy_management_v1.py,sha256=GVyJc4L27htHqCfMLO37MSrZgO5S8tjGHJdej1gZcWM,615568
|
|
15
15
|
ibm_platform_services/ibm_cloud_shell_v1.py,sha256=T996gx6pgDkT_kVIp79ApFj77hb_ddYwHLcjtAVlJ3Y,20063
|
|
16
16
|
ibm_platform_services/open_service_broker_v1.py,sha256=MCoRClB3CvpMJgklfZ2OFuzX9Hn2l9eiVTd7yBQABCE,83453
|
|
17
17
|
ibm_platform_services/partner_management_v1.py,sha256=GyhkV-GW9vUcKUY14g1-Zs3zp9rc8z8E44vvVW84IO8,90989
|
|
@@ -20,9 +20,9 @@ ibm_platform_services/resource_manager_v2.py,sha256=Jw6VwK0EGb0Rixa0r63dQSR3NTLK
|
|
|
20
20
|
ibm_platform_services/usage_metering_v4.py,sha256=3a8OPVs-v6nW391uz4mjl4k1j8S1fy2c7ulx0Sj6tI0,19366
|
|
21
21
|
ibm_platform_services/usage_reports_v4.py,sha256=WvKUbWkp1BAvCGm1_9Hqb6_FOdwZMTfFju1jE3DfcrI,218767
|
|
22
22
|
ibm_platform_services/user_management_v1.py,sha256=r8cQn9Op1EE521dTqxh8TeXekBacKxe5Ka-ikGZ6A-g,61887
|
|
23
|
-
ibm_platform_services/version.py,sha256=
|
|
24
|
-
ibm_platform_services-0.
|
|
25
|
-
ibm_platform_services-0.
|
|
26
|
-
ibm_platform_services-0.
|
|
27
|
-
ibm_platform_services-0.
|
|
28
|
-
ibm_platform_services-0.
|
|
23
|
+
ibm_platform_services/version.py,sha256=FfWx4R9XyCz30laikE78E44YoTZ-LEbTxyySWAJDt6g,61
|
|
24
|
+
ibm_platform_services-0.73.0.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
25
|
+
ibm_platform_services-0.73.0.dist-info/METADATA,sha256=PlnSPytvhH85skNMcF_UjKvGSelMH-C0d86EO8AUI2g,9029
|
|
26
|
+
ibm_platform_services-0.73.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
27
|
+
ibm_platform_services-0.73.0.dist-info/top_level.txt,sha256=S7qPS0hODAYsGpClGheV5YKaJTTt9RNC6dwEx1qZhUc,22
|
|
28
|
+
ibm_platform_services-0.73.0.dist-info/RECORD,,
|
|
File without changes
|
{ibm_platform_services-0.71.0.dist-info → ibm_platform_services-0.73.0.dist-info}/licenses/LICENSE
RENAMED
|
File without changes
|
{ibm_platform_services-0.71.0.dist-info → ibm_platform_services-0.73.0.dist-info}/top_level.txt
RENAMED
|
File without changes
|