创建共享单元分享实体,实体可以是资源、主体
下表仅列出该接口特有的请求参数和部分公共参数。更多信息请见公共参数。
const columns = [
{
width: '20%',
title: '参数',
dataIndex: 'Name',
className: 'openapi-doc-parameter-table-name'
},
{
width: 130,
title: '类型',
dataIndex: 'DataType',
className: 'openapi-doc-parameter-table-type'
},
{
width: 90,
title: '是否必填',
dataIndex: 'IsRequired',
className: 'openapi-doc-parameter-table-required'
},
{
width: '20%',
title: '示例值',
dataIndex: 'Example',
className: 'openapi-doc-parameter-table-example'
},
{
title: '描述',
dataIndex: 'Description',
className: 'openapi-doc-parameter-table-description'
},
];
const data = [
{
rowKey: '->Action',
Name: 'Action',
DataType: 'String',
IsRequired: '是',
Example: <RenderMd content={"AssociateResourceShare"} />,
Description: <RenderMd content={"要执行的操作,取值:AssociateResourceShare。"} />,
children: [
]
},
{
rowKey: '->Version',
Name: 'Version',
DataType: 'String',
IsRequired: '是',
Example: <RenderMd content={"2024-01-01"} />,
Description: <RenderMd content={"API的版本,取值:2024-01-01。"} />,
children: [
]
},
{
rowKey: '->ResourceShareTrn',
Name: 'ResourceShareTrn',
DataType: 'String',
IsRequired: '是',
Example: <RenderMd content={"trn:resource_share:cn-beijing:2000000000:resource_share/rs-03***119c96"} />,
Description: <RenderMd content={"共享单元Trn"} />,
children: [
]
},
{
rowKey: '->Principals',
Name: 'Principals',
DataType: 'Array of String',
IsRequired: '否',
Example: <RenderMd content={"2000000001,trn:organization::2000000000:organization/74399***781619,trn:organization::2000000000:ou/747345***24402"} />,
Description: <RenderMd content={"需要关联的Principals列表(principal是指被共享方,用户、组织或者组织单元)"} />,
children: [
]
},
{
rowKey: '->ResourceTrns',
Name: 'ResourceTrns',
DataType: 'Array of String',
IsRequired: '否',
Example: <RenderMd content={"trn:vpc:cn-beijing:2000000000:subnet/subnet-rr1***0x57crloqp,trn:vpc:cn-beijing:2000000000:subnet/subnet-rr1***qjdqi38j"} />,
Description: <RenderMd content={"需要关联的资源列表"} />,
children: [
]
},
];
return (<Table
rowKey="rowKey"
className="openapi-doc-parameter-table"
columns={columns}
data={data}
border={ { cell: true, wrapper: true } }
scroll={ { x: "auto" } }
pagination={false}
/>);
本接口无特有的返回参数。更多信息请见返回结构。
GET /?Action=AssociateResourceShare&Version=2024-01-01&ResourceShareTrn=resource_share:cn-beijing:2000000000:resource_share/rs-0***686400f&ResourceTrns=trn:vpc:cn-beijing:2000000000:subnet/subne****kv0x57crloqp&Principals=2000000001 HTTP/1.1
Host: resource-share.volcengineapi.com
X-Date: 20250225T035619Z
Authorization: HMAC-SHA256 Credential=Adfks******wekfwe/20250225/cn-beijing/resource_share/request, SignedHeaders=host;x-date, Signature=47a7d934ff7b37c03938******cd7b8278a40a1057690c401e92246a0e41085f
{
"ResponseMetadata": {
"RequestId": "202502251158441611491731483A3CDC",
"Action": "AssociateResourceShare",
"Version": "2024-01-01",
"Service": "resource_share",
"Region": "cn-beijing"
},
"Result": {}
}
下表为您列举了该接口与业务逻辑相关的错误码。公共错误码请参见公共错误码文档。
const columns = [
{
title: '状态码',
dataIndex: 'HttpCode',
width: '12%',
className: 'openapi-doc-errorcode-table-httpcode'
},
{
title: '错误码',
dataIndex: 'ErrorCode',
width: '22%',
className: 'openapi-doc-errorcode-table-errorcode'
},
{
title: '错误信息',
dataIndex: 'ErrorMessage',
width: '33%',
className: 'openapi-doc-errorcode-table-errormessage'
},
{
title: '说明',
dataIndex: 'Description',
width: '33%',
className: 'openapi-doc-errorcode-table-description'
},
];
const data = [
{
HttpCode: 400,
ErrorCode: 'MalformedPrincipal',
ErrorMessage: <RenderMd content={"principal[%v] is malformed"} />,
Description: <RenderMd content={"非法的Principal参数(principal是指被共享方,用户、组织或者组织单元)"} />,
},
{
HttpCode: 400,
ErrorCode: 'InvalidParameter',
ErrorMessage: <RenderMd content={"Parameter [%s] is invalid, error: %v"} />,
Description: <RenderMd content={"无效的参数,具体无效的参数在会在Error Message中给出"} />,
},
{
HttpCode: 400,
ErrorCode: 'ShareResourceQuotaExceeded',
ErrorMessage: <RenderMd content={"the quota of resource association has been exceeded"} />,
Description: <RenderMd content={"共享单元关联的资源数量超出quota限制"} />,
},
{
HttpCode: 400,
ErrorCode: 'SharePrincipalQuotaExceeded',
ErrorMessage: <RenderMd content={"the quota of principal association has been exceeded"} />,
Description: <RenderMd content={"共享单元关联的Principal数量超出quota限制(principal是指被共享方,用户、组织或者组织单元)"} />,
},
{
HttpCode: 400,
ErrorCode: 'InvalidResourceShare',
ErrorMessage: <RenderMd content={"the status of resource-share[%v] is not ACTIVE"} />,
Description: <RenderMd content={"无效的共享单元,共享单元不存在或已被删除"} />,
},
{
HttpCode: 400,
ErrorCode: 'NoAvailablePermission',
ErrorMessage: <RenderMd content={"no available permission for resource-type[%v], please create a permission first"} />,
Description: <RenderMd content={"当前资源未绑定任何权限策略,请联系相关管理员进行处理"} />,
},
{
HttpCode: 400,
ErrorCode: 'RegionNotSupport',
ErrorMessage: <RenderMd content={"the region is not support"} />,
Description: <RenderMd content={"不支持的region"} />,
},
{
HttpCode: 400,
ErrorCode: 'InvalidResourceType',
ErrorMessage: <RenderMd content={"resource-type[%v] is not supported to be shared"} />,
Description: <RenderMd content={"资源类型不支持被共享"} />,
},
{
HttpCode: 400,
ErrorCode: 'MissingParameter',
ErrorMessage: <RenderMd content={"Required parameter[%v] is not found"} />,
Description: <RenderMd content={"参数缺失,具体缺失的参数在会在Error Message中给出"} />,
},
{
HttpCode: 400,
ErrorCode: 'MalformedResourceTrn',
ErrorMessage: <RenderMd content={"resource trn[%v] is malformed"} />,
Description: <RenderMd content={"非法的ResourceTrn参数"} />,
},
{
HttpCode: 400,
ErrorCode: 'RegionConflict',
ErrorMessage: <RenderMd content={"resource[%v] and resource-share[%v] is not in the same region"} />,
Description: <RenderMd content={"资源与共享单元的Region不一致"} />,
},
{
HttpCode: 400,
ErrorCode: 'ShareSelfNotSupport',
ErrorMessage: <RenderMd content={"you cannot share resource to yourself"} />,
Description: <RenderMd content={"不支持将资源共享自己"} />,
},
{
HttpCode: 400,
ErrorCode: 'DuplicatedInvitation',
ErrorMessage: <RenderMd content={"invitation for principal[%v] already exist in resource-share[%v]"} />,
Description: <RenderMd content={"共享邀请已存在"} />,
},
{
HttpCode: 400,
ErrorCode: 'DuplicatedPermissionAssociation',
ErrorMessage: <RenderMd content={"permission[%v] already associated in resource-share[%v]"} />,
Description: <RenderMd content={"共享单元权限策略已关联"} />,
},
{
HttpCode: 400,
ErrorCode: 'DuplicatedAssociation',
ErrorMessage: <RenderMd content={"association entity[%v] already exist in resource-share[%v]"} />,
Description: <RenderMd content={"实体关联关系已存在"} />,
},
{
HttpCode: 400,
ErrorCode: 'ShareInvitationQuotaExceeded',
ErrorMessage: <RenderMd content={"the quota of invitaiton has been exceeded"} />,
Description: <RenderMd content={"共享邀请数量超出quota限制"} />,
},
{
HttpCode: 400,
ErrorCode: 'ResourceShareExternalNotSupport',
ErrorMessage: <RenderMd content={"resource[%v] is not supported to be shared with external account[%v]"} />,
Description: <RenderMd content={"由于系统设定,对应的资源不支持共享给外部账号"} />,
},
{
HttpCode: 400,
ErrorCode: 'PrincipalConflict',
ErrorMessage: <RenderMd content={"principal[%v] has already been shared in resource-share[%v]"} />,
Description: <RenderMd content={"principal已被关联(principal是指被共享方,用户、组织或者组织单元)"} />,
},
{
HttpCode: 400,
ErrorCode: 'ResourceConflict',
ErrorMessage: <RenderMd content={"resource[%v] has already been shared in resource-share[%v]"} />,
Description: <RenderMd content={"资源已被共享"} />,
},
{
HttpCode: 400,
ErrorCode: 'ShareWithoutOrganization',
ErrorMessage: <RenderMd content={"you are not in any organization so you cannot share resources with [%v]"} />,
Description: <RenderMd content={"当前账号不在任何组织,无法发起组织类型的共享"} />,
},
{
HttpCode: 400,
ErrorCode: 'InvalidOrganizationUnit',
ErrorMessage: <RenderMd content={"organization unit[%v] is invalid"} />,
Description: <RenderMd content={"无效的组织单元,传入的是一个不存在的组织单元"} />,
},
{
HttpCode: 400,
ErrorCode: 'InvalidOrganization',
ErrorMessage: <RenderMd content={"organization[%v] is invalid"} />,
Description: <RenderMd content={"无效的组织,传入的是一个不存在的组织"} />,
},
{
HttpCode: 400,
ErrorCode: 'ShareExternalConflict',
ErrorMessage: <RenderMd content={"external account[%v] is not allowed to be shared in resource-share[%v]"} />,
Description: <RenderMd content={"共享单元设置了仅组织内部共享,因此不允许共享给外部账号"} />,
},
{
HttpCode: 400,
ErrorCode: 'ResourceShareUnmodifiable',
ErrorMessage: <RenderMd content={"the resource share [%s] create by service, it can not modify"} />,
Description: <RenderMd content={"无权限操作,共享单元由服务创建,只能由操作的服务进行修改"} />,
},
{
HttpCode: 404,
ErrorCode: 'ResourceNotFound',
ErrorMessage: <RenderMd content={"resource[%v] not found"} />,
Description: <RenderMd content={"找不到资源,资源Trn对应的账号与当前共享发起者对应不上,简而言之,共享发起者找不到对应资源"} />,
},
{
HttpCode: 404,
ErrorCode: 'ResourceShareNotFound',
ErrorMessage: <RenderMd content={"resource-share[%v] not found"} />,
Description: <RenderMd content={"找不到共享单元,传入的共享单元Trn不存在,或已被删除"} />,
},
{
HttpCode: 404,
ErrorCode: 'PermissionNotFound',
ErrorMessage: <RenderMd content={"permission of resource-type[%v] not found, need to associate a permission for the resource-type first"} />,
Description: <RenderMd content={"找不到对应的权限策略,请确认传入的策略Trn是否正确"} />,
},
{
HttpCode: 500,
ErrorCode: 'InternalError',
ErrorMessage: <RenderMd content={"Something went wrong in internal service, please try again later"} />,
Description: <RenderMd content={"服务内部系统错误,往往是由服务内部组件异常、网络异常或服务自身bug导致,请及时联系相关管理员进行排查确认"} />,
},
];
return (<Table
columns={columns}
data={data}
border={ { cell: true, wrapper: true } }
scroll={ { x: "auto" } }
pagination={false}
/>);