Updated on 2024-11-01 GMT+08:00

Creating a Resource Share

Function

This API is used to create a resource share. You can specify the list of resources to be shared, the list of principals in resource sharing, and the list of permissions granted to the principals.

Debugging

You can debug this API through automatic authentication in API Explorer or use the SDK sample code generated by API Explorer.

URI

POST https://{endpoint}/v1/resource-shares

Request Parameters

Table 1 Request header parameters

Parameter

Mandatory

Type

Description

X-Security-Token

No

String

Security token (session token) for temporary security credentials. This parameter is mandatory when you make an API call using temporary security credentials.

Table 2 Request body parameters

Parameter

Mandatory

Type

Description

name

Yes

String

Name of the resource share.

description

No

String

Description of the resource share.

allow_external_principals

No

Boolean

Whether resources can be shared with any accounts outside the organization.

permission_ids

No

Array of strings

List of RAM permissions associated with the resource share. A resource type can be associated with only one RAM permission. If you do not specify a permission ID, RAM automatically associates the default permission for each resource type.

principals

No

Array of strings

List of one or more principals associated with the resource share.

resource_urns

No

Array of strings

List of URNs of one or more resources associated with the resource share.

tags

No

Array of Tag objects

List of tags attached to the resource share.

Table 3 Tag

Parameter

Mandatory

Type

Description

key

Yes

String

Identifier or name of the tag key.

value

Yes

String

Tag value. You can set the tag value to an empty string but not to null.

Response Parameters

Status code: 201

Table 4 Response body parameters

Parameter

Type

Description

resource_share

ResourceShare object

Describes a resource share in RAM.

Table 5 ResourceShare

Parameter

Type

Description

id

String

ID of the resource share.

name

String

Name of the resource share.

description

String

Description of the resource share.

allow_external_principals

Boolean

Whether resources can be shared with any accounts outside the organization.

owning_account_id

String

ID of the resource owner in a resource share.

status

String

Status of the resource share.

tags

Array of Tag objects

List of tags attached to the resource share.

created_at

String

Time when the resource share was created.

updated_at

String

Time when the resource share was last updated.

Table 6 Tag

Parameter

Type

Description

key

String

Identifier or name of the tag key.

value

String

Tag value. You can set the tag value to an empty string but not to null.

Example Requests

Creating a resource share, specifying the resources and principals to be associated, granting permissions to the principals, and adding tags to the resource share

POST https://{endpoint}/v1/resource-shares

{
  "name" : "string",
  "description" : "string",
  "permission_ids" : [ "string" ],
  "principals" : [ "string" ],
  "resource_urns" : [ "string" ],
  "tags" : [ {
    "key" : "string",
    "value" : "string"
  } ]
}

Example Responses

Status code: 201

Request succeeded.

{
  "resource_share" : {
    "id" : "string",
    "name" : "string",
    "description" : "string",
    "allow_external_principals" : true,
    "owning_account_id" : "string",
    "status" : "string",
    "tags" : [ {
      "key" : "string",
      "value" : "string"
    } ],
    "created_at" : "2022-09-27T03:14:08.883Z",
    "updated_at" : "2022-09-27T03:14:08.883Z"
  }
}

Status Codes

Status Code

Description

201

Request succeeded.

Error Codes

See Error Codes.