소스 검색

Supported ecsDemand CreateDemand, ModifyDemand, DeleteDemand API.

sdk-team 6 년 전
부모
커밋
f19eecb97a

+ 4 - 0
ChangeLog.txt

@@ -1,3 +1,7 @@
+2019-11-20 Version: 1.60.252
+- Supported ecsDemand CreateDemand, ModifyDemand, DeleteDemand API.
+- Modify ecsDemand DescribesDemands API.
+
 2019-11-20 Version: 1.60.251
 - Generated 2019-01-01 for `HBase`.
 

+ 118 - 0
services/ecs/create_demand.go

@@ -0,0 +1,118 @@
+package ecs
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// CreateDemand invokes the ecs.CreateDemand API synchronously
+// api document: https://help.aliyun.com/api/ecs/createdemand.html
+func (client *Client) CreateDemand(request *CreateDemandRequest) (response *CreateDemandResponse, err error) {
+	response = CreateCreateDemandResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateDemandWithChan invokes the ecs.CreateDemand API asynchronously
+// api document: https://help.aliyun.com/api/ecs/createdemand.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateDemandWithChan(request *CreateDemandRequest) (<-chan *CreateDemandResponse, <-chan error) {
+	responseChan := make(chan *CreateDemandResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateDemand(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateDemandWithCallback invokes the ecs.CreateDemand API asynchronously
+// api document: https://help.aliyun.com/api/ecs/createdemand.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateDemandWithCallback(request *CreateDemandRequest, callback func(response *CreateDemandResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateDemandResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateDemand(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateDemandRequest is the request struct for api CreateDemand
+type CreateDemandRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ClientToken          string           `position:"Query" name:"ClientToken"`
+	StartTime            string           `position:"Query" name:"StartTime"`
+	DemandDescription    string           `position:"Query" name:"DemandDescription"`
+	InstanceType         string           `position:"Query" name:"InstanceType"`
+	InstanceChargeType   string           `position:"Query" name:"InstanceChargeType"`
+	DemandName           string           `position:"Query" name:"DemandName"`
+	Amount               requests.Integer `position:"Query" name:"Amount"`
+	Period               requests.Integer `position:"Query" name:"Period"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	EndTime              string           `position:"Query" name:"EndTime"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	PeriodUnit           string           `position:"Query" name:"PeriodUnit"`
+	ZoneId               string           `position:"Query" name:"ZoneId"`
+}
+
+// CreateDemandResponse is the response struct for api CreateDemand
+type CreateDemandResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	DemandId  string `json:"DemandId" xml:"DemandId"`
+}
+
+// CreateCreateDemandRequest creates a request to invoke CreateDemand API
+func CreateCreateDemandRequest() (request *CreateDemandRequest) {
+	request = &CreateDemandRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Ecs", "2014-05-26", "CreateDemand", "ecs", "openAPI")
+	return
+}
+
+// CreateCreateDemandResponse creates a response to parse from CreateDemand response
+func CreateCreateDemandResponse() (response *CreateDemandResponse) {
+	response = &CreateDemandResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/ecs/delete_demand.go

@@ -0,0 +1,109 @@
+package ecs
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DeleteDemand invokes the ecs.DeleteDemand API synchronously
+// api document: https://help.aliyun.com/api/ecs/deletedemand.html
+func (client *Client) DeleteDemand(request *DeleteDemandRequest) (response *DeleteDemandResponse, err error) {
+	response = CreateDeleteDemandResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteDemandWithChan invokes the ecs.DeleteDemand API asynchronously
+// api document: https://help.aliyun.com/api/ecs/deletedemand.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteDemandWithChan(request *DeleteDemandRequest) (<-chan *DeleteDemandResponse, <-chan error) {
+	responseChan := make(chan *DeleteDemandResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteDemand(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteDemandWithCallback invokes the ecs.DeleteDemand API asynchronously
+// api document: https://help.aliyun.com/api/ecs/deletedemand.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteDemandWithCallback(request *DeleteDemandRequest, callback func(response *DeleteDemandResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteDemandResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteDemand(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteDemandRequest is the request struct for api DeleteDemand
+type DeleteDemandRequest struct {
+	*requests.RpcRequest
+	Reason               string           `position:"Query" name:"Reason"`
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ClientToken          string           `position:"Query" name:"ClientToken"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	DemandId             string           `position:"Query" name:"DemandId"`
+}
+
+// DeleteDemandResponse is the response struct for api DeleteDemand
+type DeleteDemandResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteDemandRequest creates a request to invoke DeleteDemand API
+func CreateDeleteDemandRequest() (request *DeleteDemandRequest) {
+	request = &DeleteDemandRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Ecs", "2014-05-26", "DeleteDemand", "ecs", "openAPI")
+	return
+}
+
+// CreateDeleteDemandResponse creates a response to parse from DeleteDemand response
+func CreateDeleteDemandResponse() (response *DeleteDemandResponse) {
+	response = &DeleteDemandResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 2 - 0
services/ecs/describe_demands.go

@@ -88,7 +88,9 @@ type DescribeDemandsRequest struct {
 	InstanceTypeFamily   string                `position:"Query" name:"InstanceTypeFamily"`
 	OwnerId              requests.Integer      `position:"Query" name:"OwnerId"`
 	DemandStatus         *[]string             `position:"Query" name:"DemandStatus"  type:"Repeated"`
+	DemandId             string                `position:"Query" name:"DemandId"`
 	ZoneId               string                `position:"Query" name:"ZoneId"`
+	DemandType           string                `position:"Query" name:"DemandType"`
 }
 
 // DescribeDemandsTag is a repeated param struct in DescribeDemandsRequest

+ 1 - 0
services/ecs/describe_recommend_instance_type.go

@@ -96,6 +96,7 @@ type DescribeRecommendInstanceTypeRequest struct {
 	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
 	SpotStrategy         string           `position:"Query" name:"SpotStrategy"`
 	PriorityStrategy     string           `position:"Query" name:"PriorityStrategy"`
+	InstanceFamilyLevel  string           `position:"Query" name:"InstanceFamilyLevel"`
 	ZoneId               string           `position:"Query" name:"ZoneId"`
 }
 

+ 118 - 0
services/ecs/modify_demand.go

@@ -0,0 +1,118 @@
+package ecs
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// ModifyDemand invokes the ecs.ModifyDemand API synchronously
+// api document: https://help.aliyun.com/api/ecs/modifydemand.html
+func (client *Client) ModifyDemand(request *ModifyDemandRequest) (response *ModifyDemandResponse, err error) {
+	response = CreateModifyDemandResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyDemandWithChan invokes the ecs.ModifyDemand API asynchronously
+// api document: https://help.aliyun.com/api/ecs/modifydemand.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyDemandWithChan(request *ModifyDemandRequest) (<-chan *ModifyDemandResponse, <-chan error) {
+	responseChan := make(chan *ModifyDemandResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyDemand(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyDemandWithCallback invokes the ecs.ModifyDemand API asynchronously
+// api document: https://help.aliyun.com/api/ecs/modifydemand.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyDemandWithCallback(request *ModifyDemandRequest, callback func(response *ModifyDemandResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyDemandResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyDemand(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyDemandRequest is the request struct for api ModifyDemand
+type ModifyDemandRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ClientToken          string           `position:"Query" name:"ClientToken"`
+	StartTime            string           `position:"Query" name:"StartTime"`
+	DemandDescription    string           `position:"Query" name:"DemandDescription"`
+	InstanceType         string           `position:"Query" name:"InstanceType"`
+	InstanceChargeType   string           `position:"Query" name:"InstanceChargeType"`
+	DemandName           string           `position:"Query" name:"DemandName"`
+	Amount               requests.Integer `position:"Query" name:"Amount"`
+	Period               requests.Integer `position:"Query" name:"Period"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	EndTime              string           `position:"Query" name:"EndTime"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	PeriodUnit           string           `position:"Query" name:"PeriodUnit"`
+	DemandId             string           `position:"Query" name:"DemandId"`
+	ZoneId               string           `position:"Query" name:"ZoneId"`
+}
+
+// ModifyDemandResponse is the response struct for api ModifyDemand
+type ModifyDemandResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateModifyDemandRequest creates a request to invoke ModifyDemand API
+func CreateModifyDemandRequest() (request *ModifyDemandRequest) {
+	request = &ModifyDemandRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Ecs", "2014-05-26", "ModifyDemand", "ecs", "openAPI")
+	return
+}
+
+// CreateModifyDemandResponse creates a response to parse from ModifyDemand response
+func CreateModifyDemandResponse() (response *ModifyDemandResponse) {
+	response = &ModifyDemandResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 3 - 0
services/ecs/struct_demand.go

@@ -20,6 +20,9 @@ type Demand struct {
 	ZoneId             string      `json:"ZoneId" xml:"ZoneId"`
 	DemandTime         string      `json:"DemandTime" xml:"DemandTime"`
 	InstanceTypeFamily string      `json:"InstanceTypeFamily" xml:"InstanceTypeFamily"`
+	DemandId           string      `json:"DemandId" xml:"DemandId"`
+	DemandName         string      `json:"DemandName" xml:"DemandName"`
+	DemandDescription  string      `json:"DemandDescription" xml:"DemandDescription"`
 	InstanceType       string      `json:"InstanceType" xml:"InstanceType"`
 	InstanceChargeType string      `json:"InstanceChargeType" xml:"InstanceChargeType"`
 	Period             int         `json:"Period" xml:"Period"`

+ 1 - 0
services/ecs/struct_instance_system_event_type.go

@@ -22,6 +22,7 @@ type InstanceSystemEventType struct {
 	EventPublishTime  string            `json:"EventPublishTime" xml:"EventPublishTime"`
 	NotBefore         string            `json:"NotBefore" xml:"NotBefore"`
 	EventFinishTime   string            `json:"EventFinishTime" xml:"EventFinishTime"`
+	Reason            string            `json:"Reason" xml:"Reason"`
 	EventType         EventType         `json:"EventType" xml:"EventType"`
 	EventCycleStatus  EventCycleStatus  `json:"EventCycleStatus" xml:"EventCycleStatus"`
 	ExtendedAttribute ExtendedAttribute `json:"ExtendedAttribute" xml:"ExtendedAttribute"`

+ 1 - 0
services/ecs/struct_scheduled_system_event_type.go

@@ -20,6 +20,7 @@ type ScheduledSystemEventType struct {
 	EventId           string            `json:"EventId" xml:"EventId"`
 	EventPublishTime  string            `json:"EventPublishTime" xml:"EventPublishTime"`
 	NotBefore         string            `json:"NotBefore" xml:"NotBefore"`
+	Reason            string            `json:"Reason" xml:"Reason"`
 	EventCycleStatus  EventCycleStatus  `json:"EventCycleStatus" xml:"EventCycleStatus"`
 	EventType         EventType         `json:"EventType" xml:"EventType"`
 	ExtendedAttribute ExtendedAttribute `json:"ExtendedAttribute" xml:"ExtendedAttribute"`