实例管理

1.1 实例列表查询

Url:

Action请求方法备注
DescribeInstancesGET同步接口

Request Params:

请求参数数据类型是否必填备注
Filters.Narray Of Filter过滤条件,详见下表:实例过滤条件表。每次请求的Filters的上限为10,Filter.Values的上限为5。
Limitint返回数量,默认为20,10<=limit<=100。
Offsetint偏移量,默认为0。

Filters:

参数名称数据类型是否必填备注
ResourcePoolIdString资源池 ID,空值:默认资源池
ZoneIdString实例所属的可用区ID,为空查询全部

Response Params:

响应参数数据类型备注
TotalCountInt符合条件的实例数量。
InstanceSetObject array Of Instance实例详细信息列表。详情见下表

Instance:

响应参数数据类型备注
InstanceIdString实例ID
InstanceNameString实例名称
ZoneIdString实例所属的可用区ID
VersionStringrabbitmq版本号
PolicyString实例模式{普通:NORMAL} {高可用: HA}
StatusString实例状态
CreateAtString创建时间,UTC格式
PayTypeString计费方式

请求实例:

curl --request GET \
  --url 'https://open.cn-east-1.163yun.com/nqs?Action=DescribeInstances&Version=2017-12-01&Filters.1.name=ResourcePoolId&Filters.1.value.1=public&Filters.2.name=ZoneId&Filters.2.value.1=cn-east-1a' \

请求响应:

http status code
2xx : 请求成功 
4xx : 客户端错误 
5xx : 服务端错误(客户端可重试)   

成功:
{
    "RequestId": "123",
    "TotalCount": 2,
    "InstanceSet": [
        {
            "InstanceId": "b850a72b3e43432bb9563a7d12cd9e37",
            "InstanceName": "testattach",
            "ZoneId": "cn-east-1a",
            "Version": "3.6.6",
            "Policy": "NORMAL",
            "Status": "AVAILABLE",
            "CreateAt": "2017-12-18T08:20:49.397Z", //UTC标准时间
            "PayType":"PostPaid", //透传计费信息
        },
        {
            "InstanceId": "db97fff962da4b92bdea5a57862e90bb",
            "InstanceName": "qzymonitor",
            "ZoneId": "cn-east-1a",
            "Version": "3.6.6",
            "Policy": "NORMAL",
            "Status": "AVAILABLE",
            "CreateAt": "2017-12-21T06:37:16.938Z"
            "PayType":"PostPaid", //透传计费信息
        }
    ]
}

失败:
{
    "Code":"InvalidParameterValue",  
    "Message":"Value xxx for parameter InstanceId is invalid",
    "RequestId":"bcdf0f8b-767d-4a9e-b63f-e188ce5af96f"
}  

1.2 实例创建

Url:

Action请求方法备注
CreateInstancePOST异步接口

Request Body:

请求参数数据类型是否必填备注
InstanceNameString实例名称。名称规则,3~63位字母或数字组成,以字母开头
SpecTypeString1core2g:nqs.n1.small2,2core4g:nqs.n1.medium4,4core8g:nqs.n1.large8,8core16g:nqs.n1.xlarge16
PayTypeEnum购买模式,参见公共参数说明。PostPaid后付费|PrePay预付费
PeriodInteger购买周期,参加公共参数说明
PlacementObject实例所在的位置。通过该参数可以指定实例所属可用区等信息,对象内部参数见下
VirtualPrivateCloudObject私有网络相关信息配置。通过该参数可以指定私有网络的ID,子网ID等信息。若不指定该参数,则默认使用基础网络。
SecurityGroupIdsArray安全组数组,目前仅支持创建时,设置一个安全组
PolicyEnum实例模式{普通:NORMAL} {高可用: HA},默认:NORMAL
PluginIdsArray插件id列表(逗号分隔的字符串),不包括必装插件
DataDiskObject集群节点的数据盘大小,详情见下表
RabbitMQVersionString安装版本

VirtualPrivateCloud:

请求参数数据类型是否必填备注
VpcIdString私有网络ID
SubnetIdArray私有网络子网ID,对于classic的VPC,没有子网ID,该字段填None。

Placement:

请求参数数据类型是否必填备注
ZoneIdArray实例所属的可用区ID列表
ResourcePoolIdString空值:默认资源池;public:公有云资源池;其他:特定资源池(比如,yiwu:易物资源池)

DataDisk:

请求参数数据类型是否必填备注
DiskSizeint磁盘大小

Response Params:

响应参数数据类型备注
InstanceIdString实例Id

请求示例:

curl -X POST \
  'https://open.cn-east-1.163yun.com/nqs?Action=CreateInstance&Version=2017-12-01' \
  -d '{
	"InstanceName":"nqs-test",
	"SpecType":"nqs.n1.small2",
	"PayType":"PostPaid",
	"Period":0,
	"RabbitMQVersion":"3.6.6",
	"Placement":{
		"ZoneId":["cn-east-1a","cn-east-1b"],
		"ResourcePoolId":"public"
	},
	"VirtualPrivateCloud":{
		"VpcId":"xxxx",
		"SubnetId":["subId1","subId2"]
	},
	"SecurityGroupIds":["xx1","xx2"],
	"Policy":"NORMAL",
	"PluginIds":["xx1","xx2"],
	"DataDisk":{
		"DiskSize":10
	}
}'

请求响应:

http status code
2xx : 请求成功 
4xx : 客户端错误 
5xx : 服务端错误(客户端可重试)   

{
    "Code":"InvalidParameterValue",  
    "Message":"Value xxx for parameter InstanceId is invalid",
    "RequestId":"bcdf0f8b-767d-4a9e-b63f-e188ce5af96f"
}  

1.3 实例删除

Url:

Action请求方法备注
DeleteInstanceGET异步接口

Request Params:

请求参数数据类型是否必填备注
InstanceIdString实例ID

demo:

请求实例:

curl --request GET \
  --url 'https://open.cn-east-1.163yun.com/nqs?Action=DeleteInstance&Version=2017-12-01&InstanceId=ac7d01cb656145538bedfcad2085ff3e' \

请求响应:

http status code
2xx : 请求成功 
4xx : 客户端错误 
5xx : 服务端错误(客户端可重试)   

成功:
{
    "Code": "Success",
    "RequestId": "123"
}

失败:
{
    "Code":"InvalidParameterValue",  
    "Message":"Value xxx for parameter InstanceId is invalid",
    "RequestId":"bcdf0f8b-767d-4a9e-b63f-e188ce5af96f"
}  

1.4 实例详情查询

Url:

Action请求方法备注
DescribeInstanceInfoGET同步方法

Request Params:

请求参数数据类型是否必填备注
InstanceIdString实例ID

Response Params:

响应参数数据类型备注
InstanceIdString实例Id
InstanceNameString实例名称
CreateAtString创建时间,UTC格式
StatusString实例状态:正常(AVAILABLE) 创建中(CREATING) 删除中(DELETING) 创建失败、错误(ERROR) 故障(BREAKDOWN(ha模式下有一个节点宕了)) 离线(OFFLINE) 已停服(OVERDUE) 插件更新中(PLUGIN_UPDATING)插件更新失败(PLUGIN_UPDATE_FAILED)
PolicyString实例模式:普通(NORMAL) 高可用(HA)
PayTypeString购买模式,参见公共参数说明。PostPaid后付费|PrePay预付费
SpecTypeString1core2g:nqs.n1.small2,2core4g:nqs.n1.medium4,4core8g:nqs.n1.large8,8core16g:nqs.n1.xlarge16
DataDiskObject数据盘信息,具体见下表
VersionStringrabbitmq版本信息
RabbitMQPortStringrabbitmq端口
ResourcePoolIdString空值:默认资源池;public:公有云资源池;其他:特定资源池(比如,yiwu:易物资源池)
VpcIdString私有网络ID
DNSString内网域名,默认为空,仅可用区B的实例该字段有值
ManagerVersionint实例创建时NQS管理服务版本,只有当实例的这个值大于1时才显示插件管理页。
NodeInfoSetObject array Of NodeInfo节点信息列表
QueueInfoObject队列信息

DataDisk:

请求参数数据类型备注
DiskTypeEnum磁盘类型,默认:CloudSsd
DiskSizeint磁盘大小

NodeInfo:

请求参数数据类型备注
SubnetIdString私有网络子网ID,对于classic的VPC,没有子网ID,该字段填None。
VmIdString云主机 UUID
PrivateIpAddressesString实例的主网卡内网 IP 地址
PrivateIpPortIdString实例网卡端口 id
ZoneIdString实例所属的可用区ID

QueueInfo:

请求参数数据类型备注
QueueNamesArray队列名称数组

请求实例:

curl --request GET \
  --url 'https://open.cn-east-1.163yun.com/nqs?Action=DescribeInstanceInfo&Version=2017-12-01&InstanceId=db97fff962da4b92bdea5a57862e90bb' \

请求响应:

http status code
2xx : 请求成功 
4xx : 客户端错误 
5xx : 服务端错误(客户端可重试)   

成功:
{
    "RequestId": "123",
    "InstanceId": "db97fff962da4b92bdea5a57862e90bb",
    "InstanceName": "qzymonitor",
    "CreateAt": "2017-12-21T06:37:16.938Z",
    "Status": "AVAILABLE",
    "Policy": "NORMAL",
    "PayType":"PostPaid", //透传计费信息
    "DataDisk": {
        "DiskType": "CloudSsd",
        "DiskSize": 20
    },
    "Version": "3.6.6",
    "RabbitMQPort": "5672",
    "ResourcePoolId": "public",
    "ManagerVersion": 3,
    "NodeInfoSet": [
        {
            "SubnetId": null,
            "VmId": "fc1ced33-e14a-42dc-ad6e-26cfbb24025f",
            "PrivateIpAddresses": "10.18.195.248",
            "PrivateIpPortId": "ea11cb8b-5ea4-48cd-bc38-52a6dedb12a5",
            "ZoneId": "cn-east-1a"
        }
    ],
    "QueueInfo": {
        "QueueNames": [
            "queueTest3",
            "queueTest2",
            "queuetest1"
        ]
    }
}

//未创建队列时QueueNames为空
{
    "InstanceId": "cbd7b5ac3d75405abcb0177a1aa21ea1",
    "InstanceName": "nqs-test-g0",
    "CreateAt": "2018-05-08T07:29:27.219Z",
    "Status": "AVAILABLE",
    "Policy": "NORMAL",
    "PayType": "PostPaid",
    "SpecType": "nqs.n1.small2",
    "DataDisk": {
        "DiskType": "CloudSsd",
        "DiskSize": 10
    },
    "Version": "3.6.6",
    "RabbitMQPort": "5672",
    "ResourcePoolId": "public",
    "ManagerVersion": 3,
    "NodeInfoSet": [
        {
            "SubnetId": null,
            "VmId": "025fe121-a745-4876-9d81-ea95d18a3240",
            "PrivateIpAddresses": "10.18.196.44",
            "PrivateIpPortId": "d9dd18b7-214f-4a3e-982e-2dc6b43ae9e5",
            "ZoneId": "cn-east-1a"
        }
    ],
    "QueueInfo": {
        "QueueNames": []
    }
}



失败:
{
    "Code":"InvalidParameterValue",  
    "Message":"Value xxx for parameter InstanceId is invalid",
    "RequestId":"bcdf0f8b-767d-4a9e-b63f-e188ce5af96f"
}