cloudworker-proxy
Version:
An api gateway for cloudflare workers
549 lines (502 loc) • 17.2 kB
JavaScript
'use strict';
/*
* Copyright (c) 2018 THL A29 Limited, a Tencent company. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
const models = require('./models');
const AbstractClient = require('../../common/abstract_client');
const GetUserResponse = models.GetUserResponse;
const DescribeRoleListResponse = models.DescribeRoleListResponse;
const CreatePolicyResponse = models.CreatePolicyResponse;
const AttachRolePolicyResponse = models.AttachRolePolicyResponse;
const AttachGroupPolicyResponse = models.AttachGroupPolicyResponse;
const ListUsersResponse = models.ListUsersResponse;
const UpdateRoleDescriptionResponse = models.UpdateRoleDescriptionResponse;
const ListGroupsResponse = models.ListGroupsResponse;
const DeleteRoleResponse = models.DeleteRoleResponse;
const ListGroupsForUserResponse = models.ListGroupsForUserResponse;
const ListPoliciesResponse = models.ListPoliciesResponse;
const ListAttachedRolePoliciesResponse = models.ListAttachedRolePoliciesResponse;
const DeleteUserResponse = models.DeleteUserResponse;
const GetCustomMFATokenInfoResponse = models.GetCustomMFATokenInfoResponse;
const UpdateAssumeRolePolicyResponse = models.UpdateAssumeRolePolicyResponse;
const ListAttachedUserPoliciesResponse = models.ListAttachedUserPoliciesResponse;
const CreateSAMLProviderResponse = models.CreateSAMLProviderResponse;
const UpdateSAMLProviderResponse = models.UpdateSAMLProviderResponse;
const ConsumeCustomMFATokenResponse = models.ConsumeCustomMFATokenResponse;
const ListAttachedGroupPoliciesResponse = models.ListAttachedGroupPoliciesResponse;
const DeletePolicyResponse = models.DeletePolicyResponse;
const GetGroupResponse = models.GetGroupResponse;
const DeleteSAMLProviderResponse = models.DeleteSAMLProviderResponse;
const UpdateUserResponse = models.UpdateUserResponse;
const AddUserToGroupResponse = models.AddUserToGroupResponse;
const UpdatePolicyResponse = models.UpdatePolicyResponse;
const UpdateGroupResponse = models.UpdateGroupResponse;
const DetachGroupPolicyResponse = models.DetachGroupPolicyResponse;
const SetFlagResponse = models.SetFlagResponse;
const CreateRoleResponse = models.CreateRoleResponse;
const GetSAMLProviderResponse = models.GetSAMLProviderResponse;
const RemoveUserFromGroupResponse = models.RemoveUserFromGroupResponse;
const DetachRolePolicyResponse = models.DetachRolePolicyResponse;
const ListSAMLProvidersResponse = models.ListSAMLProvidersResponse;
const DetachUserPolicyResponse = models.DetachUserPolicyResponse;
const GetRoleResponse = models.GetRoleResponse;
const GetPolicyResponse = models.GetPolicyResponse;
const DeleteGroupResponse = models.DeleteGroupResponse;
const ListUsersForGroupResponse = models.ListUsersForGroupResponse;
const AddUserResponse = models.AddUserResponse;
const ListEntitiesForPolicyResponse = models.ListEntitiesForPolicyResponse;
const AttachUserPolicyResponse = models.AttachUserPolicyResponse;
const CreateGroupResponse = models.CreateGroupResponse;
/**
* cam client
* @class
*/
class CamClient extends AbstractClient {
constructor(credential, region, profile) {
super('cam.tencentcloudapi.com', '2019-01-16', credential, region, profile);
}
/**
* 添加子用户
* @param {AddUserRequest} req
* @param {function(string, AddUserResponse):void} cb
* @public
*/
AddUser(req, cb) {
const resp = new AddUserResponse();
this.request('AddUser', req, resp, cb);
}
/**
* 查询SAML身份提供商详情
* @param {GetSAMLProviderRequest} req
* @param {function(string, GetSAMLProviderResponse):void} cb
* @public
*/
GetSAMLProvider(req, cb) {
const resp = new GetSAMLProviderResponse();
this.request('GetSAMLProvider', req, resp, cb);
}
/**
* 查询SAML身份提供商列表
* @param {ListSAMLProvidersRequest} req
* @param {function(string, ListSAMLProvidersResponse):void} cb
* @public
*/
ListSAMLProviders(req, cb) {
const resp = new ListSAMLProvidersResponse();
this.request('ListSAMLProviders', req, resp, cb);
}
/**
* 本接口(CreateRole)用于创建角色。
* @param {CreateRoleRequest} req
* @param {function(string, CreateRoleResponse):void} cb
* @public
*/
CreateRole(req, cb) {
const resp = new CreateRoleResponse();
this.request('CreateRole', req, resp, cb);
}
/**
* 拉取子用户
* @param {ListUsersRequest} req
* @param {function(string, ListUsersResponse):void} cb
* @public
*/
ListUsers(req, cb) {
const resp = new ListUsersResponse();
this.request('ListUsers', req, resp, cb);
}
/**
* 本接口(ListAttachedRolePolicies)用于获取角色绑定的策略列表。
* @param {ListAttachedRolePoliciesRequest} req
* @param {function(string, ListAttachedRolePoliciesResponse):void} cb
* @public
*/
ListAttachedRolePolicies(req, cb) {
const resp = new ListAttachedRolePoliciesResponse();
this.request('ListAttachedRolePolicies', req, resp, cb);
}
/**
* 本接口(DeletePolicy)可用于删除策略。
* @param {DeletePolicyRequest} req
* @param {function(string, DeletePolicyResponse):void} cb
* @public
*/
DeletePolicy(req, cb) {
const resp = new DeletePolicyResponse();
this.request('DeletePolicy', req, resp, cb);
}
/**
* 创建用户组
* @param {CreateGroupRequest} req
* @param {function(string, CreateGroupResponse):void} cb
* @public
*/
CreateGroup(req, cb) {
const resp = new CreateGroupResponse();
this.request('CreateGroup', req, resp, cb);
}
/**
* 本接口(DetachRolePolicy)用于解除绑定角色的策略。
* @param {DetachRolePolicyRequest} req
* @param {function(string, DetachRolePolicyResponse):void} cb
* @public
*/
DetachRolePolicy(req, cb) {
const resp = new DetachRolePolicyResponse();
this.request('DetachRolePolicy', req, resp, cb);
}
/**
* 本接口(DescribeRoleList)用于获取账号下的角色列表。
* @param {DescribeRoleListRequest} req
* @param {function(string, DescribeRoleListResponse):void} cb
* @public
*/
DescribeRoleList(req, cb) {
const resp = new DescribeRoleListResponse();
this.request('DescribeRoleList', req, resp, cb);
}
/**
* 创建SAML身份提供商
* @param {CreateSAMLProviderRequest} req
* @param {function(string, CreateSAMLProviderResponse):void} cb
* @public
*/
CreateSAMLProvider(req, cb) {
const resp = new CreateSAMLProviderResponse();
this.request('CreateSAMLProvider', req, resp, cb);
}
/**
* 删除SAML身份提供商
* @param {DeleteSAMLProviderRequest} req
* @param {function(string, DeleteSAMLProviderResponse):void} cb
* @public
*/
DeleteSAMLProvider(req, cb) {
const resp = new DeleteSAMLProviderResponse();
this.request('DeleteSAMLProvider', req, resp, cb);
}
/**
* 更新子用户
* @param {UpdateUserRequest} req
* @param {function(string, UpdateUserResponse):void} cb
* @public
*/
UpdateUser(req, cb) {
const resp = new UpdateUserResponse();
this.request('UpdateUser', req, resp, cb);
}
/**
* 本接口(GetPolicy)可用于查询查看策略详情。
* @param {GetPolicyRequest} req
* @param {function(string, GetPolicyResponse):void} cb
* @public
*/
GetPolicy(req, cb) {
const resp = new GetPolicyResponse();
this.request('GetPolicy', req, resp, cb);
}
/**
* 设置用户的登录保护和敏感操作校验方式
* @param {SetFlagRequest} req
* @param {function(string, SetFlagResponse):void} cb
* @public
*/
SetFlag(req, cb) {
const resp = new SetFlagResponse();
this.request('SetFlag', req, resp, cb);
}
/**
* 获取自定义多因子Token关联信息
* @param {GetCustomMFATokenInfoRequest} req
* @param {function(string, GetCustomMFATokenInfoResponse):void} cb
* @public
*/
GetCustomMFATokenInfo(req, cb) {
const resp = new GetCustomMFATokenInfoResponse();
this.request('GetCustomMFATokenInfo', req, resp, cb);
}
/**
* 删除用户组
* @param {DeleteGroupRequest} req
* @param {function(string, DeleteGroupResponse):void} cb
* @public
*/
DeleteGroup(req, cb) {
const resp = new DeleteGroupResponse();
this.request('DeleteGroup', req, resp, cb);
}
/**
* 本接口(DeleteRole)用于删除指定角色。
* @param {DeleteRoleRequest} req
* @param {function(string, DeleteRoleResponse):void} cb
* @public
*/
DeleteRole(req, cb) {
const resp = new DeleteRoleResponse();
this.request('DeleteRole', req, resp, cb);
}
/**
* 查询子用户
* @param {GetUserRequest} req
* @param {function(string, GetUserResponse):void} cb
* @public
*/
GetUser(req, cb) {
const resp = new GetUserResponse();
this.request('GetUser', req, resp, cb);
}
/**
* 更新用户组
* @param {UpdateGroupRequest} req
* @param {function(string, UpdateGroupResponse):void} cb
* @public
*/
UpdateGroup(req, cb) {
const resp = new UpdateGroupResponse();
this.request('UpdateGroup', req, resp, cb);
}
/**
* 本接口(ListAttachedGroupPolicies)可用于查询用户组关联的策略列表。
* @param {ListAttachedGroupPoliciesRequest} req
* @param {function(string, ListAttachedGroupPoliciesResponse):void} cb
* @public
*/
ListAttachedGroupPolicies(req, cb) {
const resp = new ListAttachedGroupPoliciesResponse();
this.request('ListAttachedGroupPolicies', req, resp, cb);
}
/**
* 验证自定义多因子Token
* @param {ConsumeCustomMFATokenRequest} req
* @param {function(string, ConsumeCustomMFATokenResponse):void} cb
* @public
*/
ConsumeCustomMFAToken(req, cb) {
const resp = new ConsumeCustomMFATokenResponse();
this.request('ConsumeCustomMFAToken', req, resp, cb);
}
/**
* 查询用户组详情
* @param {GetGroupRequest} req
* @param {function(string, GetGroupResponse):void} cb
* @public
*/
GetGroup(req, cb) {
const resp = new GetGroupResponse();
this.request('GetGroup', req, resp, cb);
}
/**
* 查询用户组列表
* @param {ListGroupsRequest} req
* @param {function(string, ListGroupsResponse):void} cb
* @public
*/
ListGroups(req, cb) {
const resp = new ListGroupsResponse();
this.request('ListGroups', req, resp, cb);
}
/**
* 用户加入到用户组
* @param {AddUserToGroupRequest} req
* @param {function(string, AddUserToGroupResponse):void} cb
* @public
*/
AddUserToGroup(req, cb) {
const resp = new AddUserToGroupResponse();
this.request('AddUserToGroup', req, resp, cb);
}
/**
* 本接口(AttachRolePolicy)用于绑定策略到角色。
* @param {AttachRolePolicyRequest} req
* @param {function(string, AttachRolePolicyResponse):void} cb
* @public
*/
AttachRolePolicy(req, cb) {
const resp = new AttachRolePolicyResponse();
this.request('AttachRolePolicy', req, resp, cb);
}
/**
* 本接口(UpdatePolicy )可用于更新策略。
* @param {UpdatePolicyRequest} req
* @param {function(string, UpdatePolicyResponse):void} cb
* @public
*/
UpdatePolicy(req, cb) {
const resp = new UpdatePolicyResponse();
this.request('UpdatePolicy', req, resp, cb);
}
/**
* 更新SAML身份提供商信息
* @param {UpdateSAMLProviderRequest} req
* @param {function(string, UpdateSAMLProviderResponse):void} cb
* @public
*/
UpdateSAMLProvider(req, cb) {
const resp = new UpdateSAMLProviderResponse();
this.request('UpdateSAMLProvider', req, resp, cb);
}
/**
* 本接口(GetRole)用于获取指定角色的详细信息。
* @param {GetRoleRequest} req
* @param {function(string, GetRoleResponse):void} cb
* @public
*/
GetRole(req, cb) {
const resp = new GetRoleResponse();
this.request('GetRole', req, resp, cb);
}
/**
* 本接口(UpdateRoleDescription)用于修改角色的描述信息。
* @param {UpdateRoleDescriptionRequest} req
* @param {function(string, UpdateRoleDescriptionResponse):void} cb
* @public
*/
UpdateRoleDescription(req, cb) {
const resp = new UpdateRoleDescriptionResponse();
this.request('UpdateRoleDescription', req, resp, cb);
}
/**
* 本接口(ListAttachedUserPolicies)可用于查询子账号关联的策略列表。
* @param {ListAttachedUserPoliciesRequest} req
* @param {function(string, ListAttachedUserPoliciesResponse):void} cb
* @public
*/
ListAttachedUserPolicies(req, cb) {
const resp = new ListAttachedUserPoliciesResponse();
this.request('ListAttachedUserPolicies', req, resp, cb);
}
/**
* 删除子用户
* @param {DeleteUserRequest} req
* @param {function(string, DeleteUserResponse):void} cb
* @public
*/
DeleteUser(req, cb) {
const resp = new DeleteUserResponse();
this.request('DeleteUser', req, resp, cb);
}
/**
* 本接口(DetachGroupPolicy)可用于解除绑定到用户组的策略。
* @param {DetachGroupPolicyRequest} req
* @param {function(string, DetachGroupPolicyResponse):void} cb
* @public
*/
DetachGroupPolicy(req, cb) {
const resp = new DetachGroupPolicyResponse();
this.request('DetachGroupPolicy', req, resp, cb);
}
/**
* 从用户组删除用户
* @param {RemoveUserFromGroupRequest} req
* @param {function(string, RemoveUserFromGroupResponse):void} cb
* @public
*/
RemoveUserFromGroup(req, cb) {
const resp = new RemoveUserFromGroupResponse();
this.request('RemoveUserFromGroup', req, resp, cb);
}
/**
* 本接口(ListPolicies)可用于查询策略列表
* @param {ListPoliciesRequest} req
* @param {function(string, ListPoliciesResponse):void} cb
* @public
*/
ListPolicies(req, cb) {
const resp = new ListPoliciesResponse();
this.request('ListPolicies', req, resp, cb);
}
/**
* 查询用户组关联的用户列表
* @param {ListUsersForGroupRequest} req
* @param {function(string, ListUsersForGroupResponse):void} cb
* @public
*/
ListUsersForGroup(req, cb) {
const resp = new ListUsersForGroupResponse();
this.request('ListUsersForGroup', req, resp, cb);
}
/**
* 本接口(AttachUserPolicy)可用于绑定到用户的策略。
* @param {AttachUserPolicyRequest} req
* @param {function(string, AttachUserPolicyResponse):void} cb
* @public
*/
AttachUserPolicy(req, cb) {
const resp = new AttachUserPolicyResponse();
this.request('AttachUserPolicy', req, resp, cb);
}
/**
* 本接口(ListEntitiesForPolicy)可用于查询策略关联的实体列表。
* @param {ListEntitiesForPolicyRequest} req
* @param {function(string, ListEntitiesForPolicyResponse):void} cb
* @public
*/
ListEntitiesForPolicy(req, cb) {
const resp = new ListEntitiesForPolicyResponse();
this.request('ListEntitiesForPolicy', req, resp, cb);
}
/**
* 本接口(AttachGroupPolicy)可用于绑定策略到用户组。
* @param {AttachGroupPolicyRequest} req
* @param {function(string, AttachGroupPolicyResponse):void} cb
* @public
*/
AttachGroupPolicy(req, cb) {
const resp = new AttachGroupPolicyResponse();
this.request('AttachGroupPolicy', req, resp, cb);
}
/**
* 本接口(UpdateAssumeRolePolicy)用于修改角色信任策略的策略文档。
* @param {UpdateAssumeRolePolicyRequest} req
* @param {function(string, UpdateAssumeRolePolicyResponse):void} cb
* @public
*/
UpdateAssumeRolePolicy(req, cb) {
const resp = new UpdateAssumeRolePolicyResponse();
this.request('UpdateAssumeRolePolicy', req, resp, cb);
}
/**
* 本接口(CreatePolicy)可用于创建策略。
* @param {CreatePolicyRequest} req
* @param {function(string, CreatePolicyResponse):void} cb
* @public
*/
CreatePolicy(req, cb) {
const resp = new CreatePolicyResponse();
this.request('CreatePolicy', req, resp, cb);
}
/**
* 本接口(DetachUserPolicy)可用于解除绑定到用户的策略。
* @param {DetachUserPolicyRequest} req
* @param {function(string, DetachUserPolicyResponse):void} cb
* @public
*/
DetachUserPolicy(req, cb) {
const resp = new DetachUserPolicyResponse();
this.request('DetachUserPolicy', req, resp, cb);
}
/**
* 列出用户关联的用户组
* @param {ListGroupsForUserRequest} req
* @param {function(string, ListGroupsForUserResponse):void} cb
* @public
*/
ListGroupsForUser(req, cb) {
const resp = new ListGroupsForUserResponse();
this.request('ListGroupsForUser', req, resp, cb);
}
}
module.exports = CamClient;