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 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. |