tencentcloud-sdk-sts 1.0.200

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: c0f3023c8091a4ffeed6ba0255bbdc23c895ebc6
4
+ data.tar.gz: 252d163e4f546d73b97b2dcdb9f817de236cdf02
5
+ SHA512:
6
+ metadata.gz: 490d8518a6e8cbaba0488332a2182ce6a2c48873ea00e19ed03217883babd8052b123cb916ff5c937d749bc5eea4513cab25714d7711066240fbb6ee799b89ba
7
+ data.tar.gz: 82635c6e5ecccd59b855022deb7fe3f3b1ec57296f4d5373bc985764fa46fda070e67a5f98e4a2d01b88d3e3af4955565a2ceecd9e7c5d3877f5beab51ef22d4
data/lib/VERSION ADDED
@@ -0,0 +1 @@
1
+ 1.0.200
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'tencentcloud-sdk-common'
4
+
5
+ require_relative 'v20180813/client'
6
+ require_relative 'v20180813/models'
7
+
8
+ module TencentCloud
9
+ module Sts
10
+ end
11
+ end
@@ -0,0 +1,132 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright (c) 2017-2018 THL A29 Limited, a Tencent company. All Rights Reserved.
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ require 'json'
18
+
19
+ module TencentCloud
20
+ module Sts
21
+ module V20180813
22
+ class Client < TencentCloud::Common::AbstractClient
23
+
24
+ def initialize(credential, region, profile = nil)
25
+ api_version = '2018-08-13'
26
+ api_endpoint = 'sts.tencentcloudapi.com'
27
+ sdk_version = 'STS_' + File.read(File.expand_path('../VERSION', __dir__)).strip
28
+ super(credential, region, api_version, api_endpoint, sdk_version, profile)
29
+ end
30
+
31
+
32
+ # 申请扮演角色
33
+
34
+ # @param request: Request instance for AssumeRole.
35
+ # @type request: :class:`Tencentcloud::sts::V20180813::AssumeRoleRequest`
36
+ # @rtype: :class:`Tencentcloud::sts::V20180813::AssumeRoleResponse`
37
+ def AssumeRole(request)
38
+ body = send_request('AssumeRole', request.serialize)
39
+ response = JSON.parse(body)
40
+ if response['Response'].key?('Error') == false
41
+ model = AssumeRoleResponse.new
42
+ model.deserialize(response['Response'])
43
+ model
44
+ else
45
+ code = response['Response']['Error']['Code']
46
+ message = response['Response']['Error']['Message']
47
+ reqid = response['Response']['RequestId']
48
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
49
+ end
50
+ rescue TencentCloud::Common::TencentCloudSDKException => e
51
+ raise e
52
+ rescue StandardError => e
53
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
54
+ end
55
+
56
+ # 本接口(AssumeRoleWithSAML)用于根据 SAML 断言申请角色临时凭证。
57
+
58
+ # @param request: Request instance for AssumeRoleWithSAML.
59
+ # @type request: :class:`Tencentcloud::sts::V20180813::AssumeRoleWithSAMLRequest`
60
+ # @rtype: :class:`Tencentcloud::sts::V20180813::AssumeRoleWithSAMLResponse`
61
+ def AssumeRoleWithSAML(request)
62
+ body = send_request('AssumeRoleWithSAML', request.serialize)
63
+ response = JSON.parse(body)
64
+ if response['Response'].key?('Error') == false
65
+ model = AssumeRoleWithSAMLResponse.new
66
+ model.deserialize(response['Response'])
67
+ model
68
+ else
69
+ code = response['Response']['Error']['Code']
70
+ message = response['Response']['Error']['Message']
71
+ reqid = response['Response']['RequestId']
72
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
73
+ end
74
+ rescue TencentCloud::Common::TencentCloudSDKException => e
75
+ raise e
76
+ rescue StandardError => e
77
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
78
+ end
79
+
80
+ # 获取联合身份临时访问凭证
81
+
82
+ # @param request: Request instance for GetFederationToken.
83
+ # @type request: :class:`Tencentcloud::sts::V20180813::GetFederationTokenRequest`
84
+ # @rtype: :class:`Tencentcloud::sts::V20180813::GetFederationTokenResponse`
85
+ def GetFederationToken(request)
86
+ body = send_request('GetFederationToken', request.serialize)
87
+ response = JSON.parse(body)
88
+ if response['Response'].key?('Error') == false
89
+ model = GetFederationTokenResponse.new
90
+ model.deserialize(response['Response'])
91
+ model
92
+ else
93
+ code = response['Response']['Error']['Code']
94
+ message = response['Response']['Error']['Message']
95
+ reqid = response['Response']['RequestId']
96
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
97
+ end
98
+ rescue TencentCloud::Common::TencentCloudSDKException => e
99
+ raise e
100
+ rescue StandardError => e
101
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
102
+ end
103
+
104
+ # 拉取API密钥列表
105
+
106
+ # @param request: Request instance for QueryApiKey.
107
+ # @type request: :class:`Tencentcloud::sts::V20180813::QueryApiKeyRequest`
108
+ # @rtype: :class:`Tencentcloud::sts::V20180813::QueryApiKeyResponse`
109
+ def QueryApiKey(request)
110
+ body = send_request('QueryApiKey', request.serialize)
111
+ response = JSON.parse(body)
112
+ if response['Response'].key?('Error') == false
113
+ model = QueryApiKeyResponse.new
114
+ model.deserialize(response['Response'])
115
+ model
116
+ else
117
+ code = response['Response']['Error']['Code']
118
+ message = response['Response']['Error']['Message']
119
+ reqid = response['Response']['RequestId']
120
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
121
+ end
122
+ rescue TencentCloud::Common::TencentCloudSDKException => e
123
+ raise e
124
+ rescue StandardError => e
125
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
126
+ end
127
+
128
+
129
+ end
130
+ end
131
+ end
132
+ end
@@ -0,0 +1,310 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright (c) 2017-2018 THL A29 Limited, a Tencent company. All Rights Reserved.
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ module TencentCloud
18
+ module Sts
19
+ module V20180813
20
+ # API密钥数据列表
21
+ class ApiKey < TencentCloud::Common::AbstractModel
22
+ # @param SecretId: 密钥ID
23
+ # @type SecretId: String
24
+ # @param CreateTime: 创建时间(时间戳)
25
+ # @type CreateTime: Integer
26
+ # @param Status: 状态(2:有效, 3:禁用, 4:已删除)
27
+ # @type Status: Integer
28
+
29
+ attr_accessor :SecretId, :CreateTime, :Status
30
+
31
+ def initialize(secretid=nil, createtime=nil, status=nil)
32
+ @SecretId = secretid
33
+ @CreateTime = createtime
34
+ @Status = status
35
+ end
36
+
37
+ def deserialize(params)
38
+ @SecretId = params['SecretId']
39
+ @CreateTime = params['CreateTime']
40
+ @Status = params['Status']
41
+ end
42
+ end
43
+
44
+ # AssumeRole请求参数结构体
45
+ class AssumeRoleRequest < TencentCloud::Common::AbstractModel
46
+ # @param RoleArn: 角色的资源描述,可在[访问管理](https://console.cloud.tencent.com/cam/role),点击角色名获取。
47
+ # 普通角色:
48
+ # qcs::cam::uin/12345678:role/4611686018427397919、qcs::cam::uin/12345678:roleName/testRoleName
49
+ # 服务角色:
50
+ # qcs::cam::uin/12345678:role/tencentcloudServiceRole/4611686018427397920、qcs::cam::uin/12345678:role/tencentcloudServiceRoleName/testServiceRoleName
51
+ # @type RoleArn: String
52
+ # @param RoleSessionName: 临时会话名称,由用户自定义名称。
53
+ # 长度在2到128之间,可包含大小写字符,数字以及特殊字符:=,.@_-。 正则为:[\w+=,.@_-]*
54
+ # @type RoleSessionName: String
55
+ # @param DurationSeconds: 指定临时证书的有效期,单位:秒,默认 7200 秒,最长可设定有效期为 43200 秒
56
+ # @type DurationSeconds: Integer
57
+ # @param Policy: 策略描述
58
+ # 注意:
59
+ # 1、policy 需要做 urlencode(如果通过 GET 方法请求云 API,发送请求前,所有参数都需要按照[云 API 规范](https://cloud.tencent.com/document/api/598/33159#1.-.E6.8B.BC.E6.8E.A5.E8.A7.84.E8.8C.83.E8.AF.B7.E6.B1.82.E4.B8.B2)再 urlencode 一次)。
60
+ # 2、策略语法参照[ CAM 策略语法](https://cloud.tencent.com/document/product/598/10603)。
61
+ # 3、策略中不能包含 principal 元素。
62
+ # @type Policy: String
63
+ # @param ExternalId: 角色外部ID,可在[访问管理](https://console.cloud.tencent.com/cam/role),点击角色名获取。
64
+ # 长度在2到128之间,可包含大小写字符,数字以及特殊字符:=,.@:/-。 正则为:[\w+=,.@:\/-]*
65
+ # @type ExternalId: String
66
+
67
+ attr_accessor :RoleArn, :RoleSessionName, :DurationSeconds, :Policy, :ExternalId
68
+
69
+ def initialize(rolearn=nil, rolesessionname=nil, durationseconds=nil, policy=nil, externalid=nil)
70
+ @RoleArn = rolearn
71
+ @RoleSessionName = rolesessionname
72
+ @DurationSeconds = durationseconds
73
+ @Policy = policy
74
+ @ExternalId = externalid
75
+ end
76
+
77
+ def deserialize(params)
78
+ @RoleArn = params['RoleArn']
79
+ @RoleSessionName = params['RoleSessionName']
80
+ @DurationSeconds = params['DurationSeconds']
81
+ @Policy = params['Policy']
82
+ @ExternalId = params['ExternalId']
83
+ end
84
+ end
85
+
86
+ # AssumeRole返回参数结构体
87
+ class AssumeRoleResponse < TencentCloud::Common::AbstractModel
88
+ # @param Credentials: 临时安全证书
89
+ # @type Credentials: :class:`Tencentcloud::Sts.v20180813.models.Credentials`
90
+ # @param ExpiredTime: 证书无效的时间,返回 Unix 时间戳,精确到秒
91
+ # @type ExpiredTime: Integer
92
+ # @param Expiration: 证书无效的时间,以 iso8601 格式的 UTC 时间表示
93
+ # @type Expiration: String
94
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
95
+ # @type RequestId: String
96
+
97
+ attr_accessor :Credentials, :ExpiredTime, :Expiration, :RequestId
98
+
99
+ def initialize(credentials=nil, expiredtime=nil, expiration=nil, requestid=nil)
100
+ @Credentials = credentials
101
+ @ExpiredTime = expiredtime
102
+ @Expiration = expiration
103
+ @RequestId = requestid
104
+ end
105
+
106
+ def deserialize(params)
107
+ unless params['Credentials'].nil?
108
+ @Credentials = Credentials.new
109
+ @Credentials.deserialize(params['Credentials'])
110
+ end
111
+ @ExpiredTime = params['ExpiredTime']
112
+ @Expiration = params['Expiration']
113
+ @RequestId = params['RequestId']
114
+ end
115
+ end
116
+
117
+ # AssumeRoleWithSAML请求参数结构体
118
+ class AssumeRoleWithSAMLRequest < TencentCloud::Common::AbstractModel
119
+ # @param SAMLAssertion: base64 编码的 SAML 断言信息
120
+ # @type SAMLAssertion: String
121
+ # @param PrincipalArn: 扮演者访问描述名
122
+ # @type PrincipalArn: String
123
+ # @param RoleArn: 角色访问描述名
124
+ # @type RoleArn: String
125
+ # @param RoleSessionName: 会话名称
126
+ # @type RoleSessionName: String
127
+ # @param DurationSeconds: 指定临时证书的有效期,单位:秒,默认 7200 秒,最长可设定有效期为 43200 秒
128
+ # @type DurationSeconds: Integer
129
+
130
+ attr_accessor :SAMLAssertion, :PrincipalArn, :RoleArn, :RoleSessionName, :DurationSeconds
131
+
132
+ def initialize(samlassertion=nil, principalarn=nil, rolearn=nil, rolesessionname=nil, durationseconds=nil)
133
+ @SAMLAssertion = samlassertion
134
+ @PrincipalArn = principalarn
135
+ @RoleArn = rolearn
136
+ @RoleSessionName = rolesessionname
137
+ @DurationSeconds = durationseconds
138
+ end
139
+
140
+ def deserialize(params)
141
+ @SAMLAssertion = params['SAMLAssertion']
142
+ @PrincipalArn = params['PrincipalArn']
143
+ @RoleArn = params['RoleArn']
144
+ @RoleSessionName = params['RoleSessionName']
145
+ @DurationSeconds = params['DurationSeconds']
146
+ end
147
+ end
148
+
149
+ # AssumeRoleWithSAML返回参数结构体
150
+ class AssumeRoleWithSAMLResponse < TencentCloud::Common::AbstractModel
151
+ # @param Credentials: 对象里面包含 Token,TmpSecretId,TmpSecretKey 三元组
152
+ # @type Credentials: :class:`Tencentcloud::Sts.v20180813.models.Credentials`
153
+ # @param ExpiredTime: 证书无效的时间,返回 Unix 时间戳,精确到秒
154
+ # @type ExpiredTime: Integer
155
+ # @param Expiration: 证书无效的时间,以 ISO8601 格式的 UTC 时间表示
156
+ # @type Expiration: String
157
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
158
+ # @type RequestId: String
159
+
160
+ attr_accessor :Credentials, :ExpiredTime, :Expiration, :RequestId
161
+
162
+ def initialize(credentials=nil, expiredtime=nil, expiration=nil, requestid=nil)
163
+ @Credentials = credentials
164
+ @ExpiredTime = expiredtime
165
+ @Expiration = expiration
166
+ @RequestId = requestid
167
+ end
168
+
169
+ def deserialize(params)
170
+ unless params['Credentials'].nil?
171
+ @Credentials = Credentials.new
172
+ @Credentials.deserialize(params['Credentials'])
173
+ end
174
+ @ExpiredTime = params['ExpiredTime']
175
+ @Expiration = params['Expiration']
176
+ @RequestId = params['RequestId']
177
+ end
178
+ end
179
+
180
+ # 临时证书
181
+ class Credentials < TencentCloud::Common::AbstractModel
182
+ # @param Token: token。token长度和绑定的策略有关,最长不超过4096字节。
183
+ # @type Token: String
184
+ # @param TmpSecretId: 临时证书密钥ID。最长不超过1024字节。
185
+ # @type TmpSecretId: String
186
+ # @param TmpSecretKey: 临时证书密钥Key。最长不超过1024字节。
187
+ # @type TmpSecretKey: String
188
+
189
+ attr_accessor :Token, :TmpSecretId, :TmpSecretKey
190
+
191
+ def initialize(token=nil, tmpsecretid=nil, tmpsecretkey=nil)
192
+ @Token = token
193
+ @TmpSecretId = tmpsecretid
194
+ @TmpSecretKey = tmpsecretkey
195
+ end
196
+
197
+ def deserialize(params)
198
+ @Token = params['Token']
199
+ @TmpSecretId = params['TmpSecretId']
200
+ @TmpSecretKey = params['TmpSecretKey']
201
+ end
202
+ end
203
+
204
+ # GetFederationToken请求参数结构体
205
+ class GetFederationTokenRequest < TencentCloud::Common::AbstractModel
206
+ # @param Name: 您可以自定义调用方英文名称,由字母组成。
207
+ # @type Name: String
208
+ # @param Policy: 授予该临时证书权限的CAM策略
209
+ # 注意:
210
+ # 1、策略语法参照[ CAM 策略语法](https://cloud.tencent.com/document/product/598/10603)。
211
+ # 2、策略中不能包含 principal 元素。
212
+ # 3、该参数需要做urlencode。
213
+ # @type Policy: String
214
+ # @param DurationSeconds: 指定临时证书的有效期,单位:秒,默认1800秒,主账号最长可设定有效期为7200秒,子账号最长可设定有效期为129600秒。
215
+ # @type DurationSeconds: Integer
216
+
217
+ attr_accessor :Name, :Policy, :DurationSeconds
218
+
219
+ def initialize(name=nil, policy=nil, durationseconds=nil)
220
+ @Name = name
221
+ @Policy = policy
222
+ @DurationSeconds = durationseconds
223
+ end
224
+
225
+ def deserialize(params)
226
+ @Name = params['Name']
227
+ @Policy = params['Policy']
228
+ @DurationSeconds = params['DurationSeconds']
229
+ end
230
+ end
231
+
232
+ # GetFederationToken返回参数结构体
233
+ class GetFederationTokenResponse < TencentCloud::Common::AbstractModel
234
+ # @param Credentials: 临时证书
235
+ # @type Credentials: :class:`Tencentcloud::Sts.v20180813.models.Credentials`
236
+ # @param ExpiredTime: 临时证书有效的时间,返回 Unix 时间戳,精确到秒
237
+ # @type ExpiredTime: Integer
238
+ # @param Expiration: 证书有效的时间,以 iso8601 格式的 UTC 时间表示
239
+ # 注意:此字段可能返回 null,表示取不到有效值。
240
+ # @type Expiration: String
241
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
242
+ # @type RequestId: String
243
+
244
+ attr_accessor :Credentials, :ExpiredTime, :Expiration, :RequestId
245
+
246
+ def initialize(credentials=nil, expiredtime=nil, expiration=nil, requestid=nil)
247
+ @Credentials = credentials
248
+ @ExpiredTime = expiredtime
249
+ @Expiration = expiration
250
+ @RequestId = requestid
251
+ end
252
+
253
+ def deserialize(params)
254
+ unless params['Credentials'].nil?
255
+ @Credentials = Credentials.new
256
+ @Credentials.deserialize(params['Credentials'])
257
+ end
258
+ @ExpiredTime = params['ExpiredTime']
259
+ @Expiration = params['Expiration']
260
+ @RequestId = params['RequestId']
261
+ end
262
+ end
263
+
264
+ # QueryApiKey请求参数结构体
265
+ class QueryApiKeyRequest < TencentCloud::Common::AbstractModel
266
+ # @param TargetUin: 待查询的账号(不填默认查当前账号)
267
+ # @type TargetUin: Integer
268
+
269
+ attr_accessor :TargetUin
270
+
271
+ def initialize(targetuin=nil)
272
+ @TargetUin = targetuin
273
+ end
274
+
275
+ def deserialize(params)
276
+ @TargetUin = params['TargetUin']
277
+ end
278
+ end
279
+
280
+ # QueryApiKey返回参数结构体
281
+ class QueryApiKeyResponse < TencentCloud::Common::AbstractModel
282
+ # @param IdKeys: 密钥ID列表
283
+ # @type IdKeys: Array
284
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
285
+ # @type RequestId: String
286
+
287
+ attr_accessor :IdKeys, :RequestId
288
+
289
+ def initialize(idkeys=nil, requestid=nil)
290
+ @IdKeys = idkeys
291
+ @RequestId = requestid
292
+ end
293
+
294
+ def deserialize(params)
295
+ unless params['IdKeys'].nil?
296
+ @IdKeys = []
297
+ params['IdKeys'].each do |i|
298
+ apikey_tmp = ApiKey.new
299
+ apikey_tmp.deserialize(i)
300
+ @IdKeys << apikey_tmp
301
+ end
302
+ end
303
+ @RequestId = params['RequestId']
304
+ end
305
+ end
306
+
307
+ end
308
+ end
309
+ end
310
+
metadata ADDED
@@ -0,0 +1,66 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: tencentcloud-sdk-sts
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.200
5
+ platform: ruby
6
+ authors:
7
+ - Tencent Cloud
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2021-11-11 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: tencentcloud-sdk-common
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.0'
27
+ description: Tencent Cloud Ruby SDK is the official software development kit, which
28
+ allows Ruby developers to write software that makes use of Tencent Cloud service
29
+ STS.
30
+ email:
31
+ - tencentcloudapi@tencent.com
32
+ executables: []
33
+ extensions: []
34
+ extra_rdoc_files: []
35
+ files:
36
+ - lib/VERSION
37
+ - lib/tencentcloud-sdk-sts.rb
38
+ - lib/v20180813/client.rb
39
+ - lib/v20180813/models.rb
40
+ homepage: https://github.com/TencentCloud/tencentcloud-sdk-ruby
41
+ licenses:
42
+ - Apache-2.0
43
+ metadata:
44
+ source_code_uri: https://github.com/TencentCloud/tencentcloud-sdk-ruby/tencentcloud-sdk-sts
45
+ changelog_uri: https://github.com/TencentCloud/tencentcloud-sdk-ruby/blob/master/CHANGELOG.md
46
+ post_install_message:
47
+ rdoc_options: []
48
+ require_paths:
49
+ - lib
50
+ required_ruby_version: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ required_rubygems_version: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - ">="
58
+ - !ruby/object:Gem::Version
59
+ version: '0'
60
+ requirements: []
61
+ rubyforge_project:
62
+ rubygems_version: 2.6.14
63
+ signing_key:
64
+ specification_version: 4
65
+ summary: Tencent Cloud SDK for Ruby - STS
66
+ test_files: []