1package r_kvstore 2 3//Licensed under the Apache License, Version 2.0 (the "License"); 4//you may not use this file except in compliance with the License. 5//You may obtain a copy of the License at 6// 7//http://www.apache.org/licenses/LICENSE-2.0 8// 9//Unless required by applicable law or agreed to in writing, software 10//distributed under the License is distributed on an "AS IS" BASIS, 11//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12//See the License for the specific language governing permissions and 13//limitations under the License. 14// 15// Code generated by Alibaba Cloud SDK Code Generator. 16// Changes may cause incorrect behavior and will be lost if the code is regenerated. 17 18import ( 19 "github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests" 20 "github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses" 21) 22 23// CreateInstance invokes the r_kvstore.CreateInstance API synchronously 24// api document: https://help.aliyun.com/api/r-kvstore/createinstance.html 25func (client *Client) CreateInstance(request *CreateInstanceRequest) (response *CreateInstanceResponse, err error) { 26 response = CreateCreateInstanceResponse() 27 err = client.DoAction(request, response) 28 return 29} 30 31// CreateInstanceWithChan invokes the r_kvstore.CreateInstance API asynchronously 32// api document: https://help.aliyun.com/api/r-kvstore/createinstance.html 33// asynchronous document: https://help.aliyun.com/document_detail/66220.html 34func (client *Client) CreateInstanceWithChan(request *CreateInstanceRequest) (<-chan *CreateInstanceResponse, <-chan error) { 35 responseChan := make(chan *CreateInstanceResponse, 1) 36 errChan := make(chan error, 1) 37 err := client.AddAsyncTask(func() { 38 defer close(responseChan) 39 defer close(errChan) 40 response, err := client.CreateInstance(request) 41 if err != nil { 42 errChan <- err 43 } else { 44 responseChan <- response 45 } 46 }) 47 if err != nil { 48 errChan <- err 49 close(responseChan) 50 close(errChan) 51 } 52 return responseChan, errChan 53} 54 55// CreateInstanceWithCallback invokes the r_kvstore.CreateInstance API asynchronously 56// api document: https://help.aliyun.com/api/r-kvstore/createinstance.html 57// asynchronous document: https://help.aliyun.com/document_detail/66220.html 58func (client *Client) CreateInstanceWithCallback(request *CreateInstanceRequest, callback func(response *CreateInstanceResponse, err error)) <-chan int { 59 result := make(chan int, 1) 60 err := client.AddAsyncTask(func() { 61 var response *CreateInstanceResponse 62 var err error 63 defer close(result) 64 response, err = client.CreateInstance(request) 65 callback(response, err) 66 result <- 1 67 }) 68 if err != nil { 69 defer close(result) 70 callback(nil, err) 71 result <- 0 72 } 73 return result 74} 75 76// CreateInstanceRequest is the request struct for api CreateInstance 77type CreateInstanceRequest struct { 78 *requests.RpcRequest 79 ResourceOwnerId requests.Integer `position:"Query" name:"ResourceOwnerId"` 80 CouponNo string `position:"Query" name:"CouponNo"` 81 NetworkType string `position:"Query" name:"NetworkType"` 82 EngineVersion string `position:"Query" name:"EngineVersion"` 83 ResourceGroupId string `position:"Query" name:"ResourceGroupId"` 84 Password string `position:"Query" name:"Password"` 85 SecurityToken string `position:"Query" name:"SecurityToken"` 86 BusinessInfo string `position:"Query" name:"BusinessInfo"` 87 AutoRenewPeriod string `position:"Query" name:"AutoRenewPeriod"` 88 Period string `position:"Query" name:"Period"` 89 BackupId string `position:"Query" name:"BackupId"` 90 OwnerId requests.Integer `position:"Query" name:"OwnerId"` 91 VSwitchId string `position:"Query" name:"VSwitchId"` 92 PrivateIpAddress string `position:"Query" name:"PrivateIpAddress"` 93 InstanceName string `position:"Query" name:"InstanceName"` 94 AutoRenew string `position:"Query" name:"AutoRenew"` 95 ZoneId string `position:"Query" name:"ZoneId"` 96 NodeType string `position:"Query" name:"NodeType"` 97 AutoUseCoupon string `position:"Query" name:"AutoUseCoupon"` 98 InstanceClass string `position:"Query" name:"InstanceClass"` 99 Capacity requests.Integer `position:"Query" name:"Capacity"` 100 InstanceType string `position:"Query" name:"InstanceType"` 101 RestoreTime string `position:"Query" name:"RestoreTime"` 102 ResourceOwnerAccount string `position:"Query" name:"ResourceOwnerAccount"` 103 SrcDBInstanceId string `position:"Query" name:"SrcDBInstanceId"` 104 OwnerAccount string `position:"Query" name:"OwnerAccount"` 105 Token string `position:"Query" name:"Token"` 106 VpcId string `position:"Query" name:"VpcId"` 107 ChargeType string `position:"Query" name:"ChargeType"` 108 Config string `position:"Query" name:"Config"` 109} 110 111// CreateInstanceResponse is the response struct for api CreateInstance 112type CreateInstanceResponse struct { 113 *responses.BaseResponse 114 RequestId string `json:"RequestId" xml:"RequestId"` 115 InstanceId string `json:"InstanceId" xml:"InstanceId"` 116 InstanceName string `json:"InstanceName" xml:"InstanceName"` 117 ConnectionDomain string `json:"ConnectionDomain" xml:"ConnectionDomain"` 118 Port int `json:"Port" xml:"Port"` 119 UserName string `json:"UserName" xml:"UserName"` 120 InstanceStatus string `json:"InstanceStatus" xml:"InstanceStatus"` 121 RegionId string `json:"RegionId" xml:"RegionId"` 122 Capacity int64 `json:"Capacity" xml:"Capacity"` 123 QPS int64 `json:"QPS" xml:"QPS"` 124 Bandwidth int64 `json:"Bandwidth" xml:"Bandwidth"` 125 Connections int64 `json:"Connections" xml:"Connections"` 126 ZoneId string `json:"ZoneId" xml:"ZoneId"` 127 Config string `json:"Config" xml:"Config"` 128 ChargeType string `json:"ChargeType" xml:"ChargeType"` 129 EndTime string `json:"EndTime" xml:"EndTime"` 130 NodeType string `json:"NodeType" xml:"NodeType"` 131 NetworkType string `json:"NetworkType" xml:"NetworkType"` 132 VpcId string `json:"VpcId" xml:"VpcId"` 133 VSwitchId string `json:"VSwitchId" xml:"VSwitchId"` 134 PrivateIpAddr string `json:"PrivateIpAddr" xml:"PrivateIpAddr"` 135} 136 137// CreateCreateInstanceRequest creates a request to invoke CreateInstance API 138func CreateCreateInstanceRequest() (request *CreateInstanceRequest) { 139 request = &CreateInstanceRequest{ 140 RpcRequest: &requests.RpcRequest{}, 141 } 142 request.InitWithApiInfo("R-kvstore", "2015-01-01", "CreateInstance", "redisa", "openAPI") 143 return 144} 145 146// CreateCreateInstanceResponse creates a response to parse from CreateInstance response 147func CreateCreateInstanceResponse() (response *CreateInstanceResponse) { 148 response = &CreateInstanceResponse{ 149 BaseResponse: &responses.BaseResponse{}, 150 } 151 return 152} 153