tencentcloud-sdk-python-cam 3.0.1394__tar.gz → 3.0.1435__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.
- {tencentcloud-sdk-python-cam-3.0.1394 → tencentcloud-sdk-python-cam-3.0.1435}/PKG-INFO +1 -1
- {tencentcloud-sdk-python-cam-3.0.1394 → tencentcloud-sdk-python-cam-3.0.1435}/setup.py +1 -1
- {tencentcloud-sdk-python-cam-3.0.1394 → tencentcloud-sdk-python-cam-3.0.1435}/tencentcloud/__init__.py +1 -1
- {tencentcloud-sdk-python-cam-3.0.1394 → tencentcloud-sdk-python-cam-3.0.1435}/tencentcloud/cam/v20190116/cam_client.py +24 -1
- {tencentcloud-sdk-python-cam-3.0.1394 → tencentcloud-sdk-python-cam-3.0.1435}/tencentcloud/cam/v20190116/errorcodes.py +16 -1
- {tencentcloud-sdk-python-cam-3.0.1394 → tencentcloud-sdk-python-cam-3.0.1435}/tencentcloud/cam/v20190116/models.py +181 -1
- {tencentcloud-sdk-python-cam-3.0.1394 → tencentcloud-sdk-python-cam-3.0.1435}/tencentcloud_sdk_python_cam.egg-info/PKG-INFO +1 -1
- tencentcloud-sdk-python-cam-3.0.1435/tencentcloud_sdk_python_cam.egg-info/requires.txt +1 -0
- tencentcloud-sdk-python-cam-3.0.1394/tencentcloud_sdk_python_cam.egg-info/requires.txt +0 -1
- {tencentcloud-sdk-python-cam-3.0.1394 → tencentcloud-sdk-python-cam-3.0.1435}/README.rst +0 -0
- {tencentcloud-sdk-python-cam-3.0.1394 → tencentcloud-sdk-python-cam-3.0.1435}/setup.cfg +0 -0
- {tencentcloud-sdk-python-cam-3.0.1394 → tencentcloud-sdk-python-cam-3.0.1435}/tencentcloud/cam/__init__.py +0 -0
- {tencentcloud-sdk-python-cam-3.0.1394 → tencentcloud-sdk-python-cam-3.0.1435}/tencentcloud/cam/v20190116/__init__.py +0 -0
- {tencentcloud-sdk-python-cam-3.0.1394 → tencentcloud-sdk-python-cam-3.0.1435}/tencentcloud_sdk_python_cam.egg-info/SOURCES.txt +0 -0
- {tencentcloud-sdk-python-cam-3.0.1394 → tencentcloud-sdk-python-cam-3.0.1435}/tencentcloud_sdk_python_cam.egg-info/dependency_links.txt +0 -0
- {tencentcloud-sdk-python-cam-3.0.1394 → tencentcloud-sdk-python-cam-3.0.1435}/tencentcloud_sdk_python_cam.egg-info/top_level.txt +0 -0
|
@@ -8,7 +8,7 @@ ROOT = os.path.dirname(__file__)
|
|
|
8
8
|
|
|
9
9
|
setup(
|
|
10
10
|
name='tencentcloud-sdk-python-cam',
|
|
11
|
-
install_requires=["tencentcloud-sdk-python-common
|
|
11
|
+
install_requires=["tencentcloud-sdk-python-common>=3.0.1435,<4.0.0"],
|
|
12
12
|
version=tencentcloud.__version__,
|
|
13
13
|
description='Tencent Cloud Cam SDK for Python',
|
|
14
14
|
long_description=open('README.rst').read(),
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# -*- coding: utf8 -*-
|
|
2
|
-
# Copyright (c) 2017-
|
|
2
|
+
# Copyright (c) 2017-2025 Tencent. All Rights Reserved.
|
|
3
3
|
#
|
|
4
4
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
5
|
# you may not use this file except in compliance with the License.
|
|
@@ -394,6 +394,29 @@ class CamClient(AbstractClient):
|
|
|
394
394
|
raise TencentCloudSDKException(type(e).__name__, str(e))
|
|
395
395
|
|
|
396
396
|
|
|
397
|
+
def CreateSubAccountLoginIpPolicy(self, request):
|
|
398
|
+
"""增加子账号登录IP策略
|
|
399
|
+
|
|
400
|
+
:param request: Request instance for CreateSubAccountLoginIpPolicy.
|
|
401
|
+
:type request: :class:`tencentcloud.cam.v20190116.models.CreateSubAccountLoginIpPolicyRequest`
|
|
402
|
+
:rtype: :class:`tencentcloud.cam.v20190116.models.CreateSubAccountLoginIpPolicyResponse`
|
|
403
|
+
|
|
404
|
+
"""
|
|
405
|
+
try:
|
|
406
|
+
params = request._serialize()
|
|
407
|
+
headers = request.headers
|
|
408
|
+
body = self.call("CreateSubAccountLoginIpPolicy", params, headers=headers)
|
|
409
|
+
response = json.loads(body)
|
|
410
|
+
model = models.CreateSubAccountLoginIpPolicyResponse()
|
|
411
|
+
model._deserialize(response["Response"])
|
|
412
|
+
return model
|
|
413
|
+
except Exception as e:
|
|
414
|
+
if isinstance(e, TencentCloudSDKException):
|
|
415
|
+
raise
|
|
416
|
+
else:
|
|
417
|
+
raise TencentCloudSDKException(type(e).__name__, str(e))
|
|
418
|
+
|
|
419
|
+
|
|
397
420
|
def CreateUserOIDCConfig(self, request):
|
|
398
421
|
"""创建用户OIDC配置。只能创建一个用户OIDC身份提供商,并且创建用户OIDC配置之后会自动关闭用户SAML SSO身份提供商。
|
|
399
422
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# -*- coding: utf8 -*-
|
|
2
|
-
# Copyright (c) 2017-
|
|
2
|
+
# Copyright (c) 2017-2025 Tencent. All Rights Reserved.
|
|
3
3
|
#
|
|
4
4
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
5
|
# you may not use this file except in compliance with the License.
|
|
@@ -23,6 +23,9 @@ FAILEDOPERATION = 'FailedOperation'
|
|
|
23
23
|
# 操作访问密钥错误。
|
|
24
24
|
FAILEDOPERATION_ACCESSKEY = 'FailedOperation.Accesskey'
|
|
25
25
|
|
|
26
|
+
# 协助审批人已达到上限。
|
|
27
|
+
FAILEDOPERATION_ASSISTAPPROVERFULL = 'FailedOperation.AssistApproverFull'
|
|
28
|
+
|
|
26
29
|
# 生成AuthToken异常。
|
|
27
30
|
FAILEDOPERATION_BUILDAUTHTOKEN = 'FailedOperation.BuildAuthToken'
|
|
28
31
|
|
|
@@ -98,6 +101,9 @@ INVALIDPARAMETER_ACTIONNOTEXIST = 'InvalidParameter.ActionNotExist'
|
|
|
98
101
|
# 策略语法中操作服务不存在。
|
|
99
102
|
INVALIDPARAMETER_ACTIONSERVICENOTEXIST = 'InvalidParameter.ActionServiceNotExist'
|
|
100
103
|
|
|
104
|
+
# 协助审批类型不合法。
|
|
105
|
+
INVALIDPARAMETER_ASSITAPPROVERTYPEERROR = 'InvalidParameter.AssitApproverTypeError'
|
|
106
|
+
|
|
101
107
|
# principal字段的授权对象关联策略数已达到上限。
|
|
102
108
|
INVALIDPARAMETER_ATTACHMENTFULL = 'InvalidParameter.AttachmentFull'
|
|
103
109
|
|
|
@@ -137,6 +143,12 @@ INVALIDPARAMETER_GROUPNOTEXIST = 'InvalidParameter.GroupNotExist'
|
|
|
137
143
|
# 用户组中的子用户数量达到上限。
|
|
138
144
|
INVALIDPARAMETER_GROUPUSERFULL = 'InvalidParameter.GroupUserFull'
|
|
139
145
|
|
|
146
|
+
# IP段格式不合法。
|
|
147
|
+
INVALIDPARAMETER_IPILLEGAL = 'InvalidParameter.IPIllegal'
|
|
148
|
+
|
|
149
|
+
# IP段重复。
|
|
150
|
+
INVALIDPARAMETER_IPRANGEOVERLAPPING = 'InvalidParameter.IPRangeOverlapping'
|
|
151
|
+
|
|
140
152
|
# 身份提供商名称已经使用。
|
|
141
153
|
INVALIDPARAMETER_IDENTITYNAMEINUSE = 'InvalidParameter.IdentityNameInUse'
|
|
142
154
|
|
|
@@ -263,6 +275,9 @@ INVALIDPARAMETER_SUBUSERFULL = 'InvalidParameter.SubUserFull'
|
|
|
263
275
|
# 子用户名称重复。
|
|
264
276
|
INVALIDPARAMETER_SUBUSERNAMEINUSE = 'InvalidParameter.SubUserNameInUse'
|
|
265
277
|
|
|
278
|
+
# 子账号不存在已认证的手机。
|
|
279
|
+
INVALIDPARAMETER_SUBUSERPHONENOTEXSIT = 'InvalidParameter.SubUserPhoneNotExsit'
|
|
280
|
+
|
|
266
281
|
# 超出标签限制。
|
|
267
282
|
INVALIDPARAMETER_TAGLIMITEXCEEDED = 'InvalidParameter.TagLimitExceeded'
|
|
268
283
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# -*- coding: utf8 -*-
|
|
2
|
-
# Copyright (c) 2017-
|
|
2
|
+
# Copyright (c) 2017-2025 Tencent. All Rights Reserved.
|
|
3
3
|
#
|
|
4
4
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
5
|
# you may not use this file except in compliance with the License.
|
|
@@ -2809,6 +2809,135 @@ class CreateServiceLinkedRoleResponse(AbstractModel):
|
|
|
2809
2809
|
self._RequestId = params.get("RequestId")
|
|
2810
2810
|
|
|
2811
2811
|
|
|
2812
|
+
class CreateSubAccountLoginIpPolicyRequest(AbstractModel):
|
|
2813
|
+
"""CreateSubAccountLoginIpPolicy请求参数结构体
|
|
2814
|
+
|
|
2815
|
+
"""
|
|
2816
|
+
|
|
2817
|
+
def __init__(self):
|
|
2818
|
+
r"""
|
|
2819
|
+
:param _IpPolicies: IP策略集合
|
|
2820
|
+
:type IpPolicies: list of IpPolicy
|
|
2821
|
+
:param _ApproverType: 审批人类型,目前支持的类型有:SubAccountLoginLimitApproval(子账号登录限制审批)
|
|
2822
|
+
:type ApproverType: str
|
|
2823
|
+
:param _ApproverUin: 被添加为协助审批人的账号ID数组
|
|
2824
|
+
:type ApproverUin: list of int non-negative
|
|
2825
|
+
:param _DisablePolicy: 是否禁用策略:0:不禁用,1:禁用
|
|
2826
|
+
:type DisablePolicy: int
|
|
2827
|
+
:param _PolicyType: 策略类型:1:更新IP策略,2:设置异地登录校验校验规则
|
|
2828
|
+
:type PolicyType: int
|
|
2829
|
+
"""
|
|
2830
|
+
self._IpPolicies = None
|
|
2831
|
+
self._ApproverType = None
|
|
2832
|
+
self._ApproverUin = None
|
|
2833
|
+
self._DisablePolicy = None
|
|
2834
|
+
self._PolicyType = None
|
|
2835
|
+
|
|
2836
|
+
@property
|
|
2837
|
+
def IpPolicies(self):
|
|
2838
|
+
"""IP策略集合
|
|
2839
|
+
:rtype: list of IpPolicy
|
|
2840
|
+
"""
|
|
2841
|
+
return self._IpPolicies
|
|
2842
|
+
|
|
2843
|
+
@IpPolicies.setter
|
|
2844
|
+
def IpPolicies(self, IpPolicies):
|
|
2845
|
+
self._IpPolicies = IpPolicies
|
|
2846
|
+
|
|
2847
|
+
@property
|
|
2848
|
+
def ApproverType(self):
|
|
2849
|
+
"""审批人类型,目前支持的类型有:SubAccountLoginLimitApproval(子账号登录限制审批)
|
|
2850
|
+
:rtype: str
|
|
2851
|
+
"""
|
|
2852
|
+
return self._ApproverType
|
|
2853
|
+
|
|
2854
|
+
@ApproverType.setter
|
|
2855
|
+
def ApproverType(self, ApproverType):
|
|
2856
|
+
self._ApproverType = ApproverType
|
|
2857
|
+
|
|
2858
|
+
@property
|
|
2859
|
+
def ApproverUin(self):
|
|
2860
|
+
"""被添加为协助审批人的账号ID数组
|
|
2861
|
+
:rtype: list of int non-negative
|
|
2862
|
+
"""
|
|
2863
|
+
return self._ApproverUin
|
|
2864
|
+
|
|
2865
|
+
@ApproverUin.setter
|
|
2866
|
+
def ApproverUin(self, ApproverUin):
|
|
2867
|
+
self._ApproverUin = ApproverUin
|
|
2868
|
+
|
|
2869
|
+
@property
|
|
2870
|
+
def DisablePolicy(self):
|
|
2871
|
+
"""是否禁用策略:0:不禁用,1:禁用
|
|
2872
|
+
:rtype: int
|
|
2873
|
+
"""
|
|
2874
|
+
return self._DisablePolicy
|
|
2875
|
+
|
|
2876
|
+
@DisablePolicy.setter
|
|
2877
|
+
def DisablePolicy(self, DisablePolicy):
|
|
2878
|
+
self._DisablePolicy = DisablePolicy
|
|
2879
|
+
|
|
2880
|
+
@property
|
|
2881
|
+
def PolicyType(self):
|
|
2882
|
+
"""策略类型:1:更新IP策略,2:设置异地登录校验校验规则
|
|
2883
|
+
:rtype: int
|
|
2884
|
+
"""
|
|
2885
|
+
return self._PolicyType
|
|
2886
|
+
|
|
2887
|
+
@PolicyType.setter
|
|
2888
|
+
def PolicyType(self, PolicyType):
|
|
2889
|
+
self._PolicyType = PolicyType
|
|
2890
|
+
|
|
2891
|
+
|
|
2892
|
+
def _deserialize(self, params):
|
|
2893
|
+
if params.get("IpPolicies") is not None:
|
|
2894
|
+
self._IpPolicies = []
|
|
2895
|
+
for item in params.get("IpPolicies"):
|
|
2896
|
+
obj = IpPolicy()
|
|
2897
|
+
obj._deserialize(item)
|
|
2898
|
+
self._IpPolicies.append(obj)
|
|
2899
|
+
self._ApproverType = params.get("ApproverType")
|
|
2900
|
+
self._ApproverUin = params.get("ApproverUin")
|
|
2901
|
+
self._DisablePolicy = params.get("DisablePolicy")
|
|
2902
|
+
self._PolicyType = params.get("PolicyType")
|
|
2903
|
+
memeber_set = set(params.keys())
|
|
2904
|
+
for name, value in vars(self).items():
|
|
2905
|
+
property_name = name[1:]
|
|
2906
|
+
if property_name in memeber_set:
|
|
2907
|
+
memeber_set.remove(property_name)
|
|
2908
|
+
if len(memeber_set) > 0:
|
|
2909
|
+
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
|
|
2910
|
+
|
|
2911
|
+
|
|
2912
|
+
|
|
2913
|
+
class CreateSubAccountLoginIpPolicyResponse(AbstractModel):
|
|
2914
|
+
"""CreateSubAccountLoginIpPolicy返回参数结构体
|
|
2915
|
+
|
|
2916
|
+
"""
|
|
2917
|
+
|
|
2918
|
+
def __init__(self):
|
|
2919
|
+
r"""
|
|
2920
|
+
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
|
|
2921
|
+
:type RequestId: str
|
|
2922
|
+
"""
|
|
2923
|
+
self._RequestId = None
|
|
2924
|
+
|
|
2925
|
+
@property
|
|
2926
|
+
def RequestId(self):
|
|
2927
|
+
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
|
|
2928
|
+
:rtype: str
|
|
2929
|
+
"""
|
|
2930
|
+
return self._RequestId
|
|
2931
|
+
|
|
2932
|
+
@RequestId.setter
|
|
2933
|
+
def RequestId(self, RequestId):
|
|
2934
|
+
self._RequestId = RequestId
|
|
2935
|
+
|
|
2936
|
+
|
|
2937
|
+
def _deserialize(self, params):
|
|
2938
|
+
self._RequestId = params.get("RequestId")
|
|
2939
|
+
|
|
2940
|
+
|
|
2812
2941
|
class CreateUserOIDCConfigRequest(AbstractModel):
|
|
2813
2942
|
"""CreateUserOIDCConfig请求参数结构体
|
|
2814
2943
|
|
|
@@ -7266,6 +7395,57 @@ class GroupMemberInfo(AbstractModel):
|
|
|
7266
7395
|
|
|
7267
7396
|
|
|
7268
7397
|
|
|
7398
|
+
class IpPolicy(AbstractModel):
|
|
7399
|
+
"""IP限制策略
|
|
7400
|
+
|
|
7401
|
+
"""
|
|
7402
|
+
|
|
7403
|
+
def __init__(self):
|
|
7404
|
+
r"""
|
|
7405
|
+
:param _IP: IP段
|
|
7406
|
+
:type IP: str
|
|
7407
|
+
:param _Effect: 策略效力,Allow或Deny
|
|
7408
|
+
:type Effect: str
|
|
7409
|
+
"""
|
|
7410
|
+
self._IP = None
|
|
7411
|
+
self._Effect = None
|
|
7412
|
+
|
|
7413
|
+
@property
|
|
7414
|
+
def IP(self):
|
|
7415
|
+
"""IP段
|
|
7416
|
+
:rtype: str
|
|
7417
|
+
"""
|
|
7418
|
+
return self._IP
|
|
7419
|
+
|
|
7420
|
+
@IP.setter
|
|
7421
|
+
def IP(self, IP):
|
|
7422
|
+
self._IP = IP
|
|
7423
|
+
|
|
7424
|
+
@property
|
|
7425
|
+
def Effect(self):
|
|
7426
|
+
"""策略效力,Allow或Deny
|
|
7427
|
+
:rtype: str
|
|
7428
|
+
"""
|
|
7429
|
+
return self._Effect
|
|
7430
|
+
|
|
7431
|
+
@Effect.setter
|
|
7432
|
+
def Effect(self, Effect):
|
|
7433
|
+
self._Effect = Effect
|
|
7434
|
+
|
|
7435
|
+
|
|
7436
|
+
def _deserialize(self, params):
|
|
7437
|
+
self._IP = params.get("IP")
|
|
7438
|
+
self._Effect = params.get("Effect")
|
|
7439
|
+
memeber_set = set(params.keys())
|
|
7440
|
+
for name, value in vars(self).items():
|
|
7441
|
+
property_name = name[1:]
|
|
7442
|
+
if property_name in memeber_set:
|
|
7443
|
+
memeber_set.remove(property_name)
|
|
7444
|
+
if len(memeber_set) > 0:
|
|
7445
|
+
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
|
|
7446
|
+
|
|
7447
|
+
|
|
7448
|
+
|
|
7269
7449
|
class ListAccessKeysRequest(AbstractModel):
|
|
7270
7450
|
"""ListAccessKeys请求参数结构体
|
|
7271
7451
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
tencentcloud-sdk-python-common<4.0.0,>=3.0.1435
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
tencentcloud-sdk-python-common==3.0.1394
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|