Browse Source

merge master

Signed-off-by: gaort <rutong.grt@alibaba-inc.com>
gaort 7 years ago
parent
commit
bd7db885c1

+ 6 - 1
ChangeLog.txt

@@ -1,9 +1,14 @@
-2018-01-24 Version: 0.8.3
+2018-01-24 Version: 0.8.4
 1. improve: asyncWithChan avoid panic of "write on closed channel"
 2. improve: asyncWithChan support select case usage
 3. bug fix: repeated signature nonce while retry
 4. bug fix: calling request.GetUrl() ahead of client.DoAction() will cause problems
 
+2018-01-23 Version: 0.8.3
+1, Tesla Dam API release.
+2, Add ActionDiskCheck, ActionDiskMask, ActionDiskRma, HostGets.
+
+
 2018-01-18 Version: 0.8.2
 1. Set default timeout to 10s
 2. Make integration tests more stable

+ 91 - 0
services/tesladam/action_disk_check.go

@@ -0,0 +1,91 @@
+package tesladam
+
+//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"
+)
+
+func (client *Client) ActionDiskCheck(request *ActionDiskCheckRequest) (response *ActionDiskCheckResponse, err error) {
+	response = CreateActionDiskCheckResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) ActionDiskCheckWithChan(request *ActionDiskCheckRequest) (<-chan *ActionDiskCheckResponse, <-chan error) {
+	responseChan := make(chan *ActionDiskCheckResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ActionDiskCheck(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) ActionDiskCheckWithCallback(request *ActionDiskCheckRequest, callback func(response *ActionDiskCheckResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ActionDiskCheckResponse
+		var err error
+		defer close(result)
+		response, err = client.ActionDiskCheck(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type ActionDiskCheckRequest struct {
+	*requests.RpcRequest
+	DiskMount string `position:"Query" name:"DiskMount"`
+	Ip        string `position:"Query" name:"Ip"`
+}
+
+type ActionDiskCheckResponse struct {
+	*responses.BaseResponse
+	Status  bool   `json:"Status" xml:"Status"`
+	Message string `json:"Message" xml:"Message"`
+	Result  string `json:"Result" xml:"Result"`
+}
+
+func CreateActionDiskCheckRequest() (request *ActionDiskCheckRequest) {
+	request = &ActionDiskCheckRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("TeslaDam", "2018-01-18", "ActionDiskCheck", "", "")
+	return
+}
+
+func CreateActionDiskCheckResponse() (response *ActionDiskCheckResponse) {
+	response = &ActionDiskCheckResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 92 - 0
services/tesladam/action_disk_mask.go

@@ -0,0 +1,92 @@
+package tesladam
+
+//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"
+)
+
+func (client *Client) ActionDiskMask(request *ActionDiskMaskRequest) (response *ActionDiskMaskResponse, err error) {
+	response = CreateActionDiskMaskResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) ActionDiskMaskWithChan(request *ActionDiskMaskRequest) (<-chan *ActionDiskMaskResponse, <-chan error) {
+	responseChan := make(chan *ActionDiskMaskResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ActionDiskMask(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) ActionDiskMaskWithCallback(request *ActionDiskMaskRequest, callback func(response *ActionDiskMaskResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ActionDiskMaskResponse
+		var err error
+		defer close(result)
+		response, err = client.ActionDiskMask(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type ActionDiskMaskRequest struct {
+	*requests.RpcRequest
+	Op        string `position:"Query" name:"Op"`
+	DiskMount string `position:"Query" name:"DiskMount"`
+	Ip        string `position:"Query" name:"Ip"`
+}
+
+type ActionDiskMaskResponse struct {
+	*responses.BaseResponse
+	Status  bool   `json:"Status" xml:"Status"`
+	Message string `json:"Message" xml:"Message"`
+	Result  string `json:"Result" xml:"Result"`
+}
+
+func CreateActionDiskMaskRequest() (request *ActionDiskMaskRequest) {
+	request = &ActionDiskMaskRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("TeslaDam", "2018-01-18", "ActionDiskMask", "", "")
+	return
+}
+
+func CreateActionDiskMaskResponse() (response *ActionDiskMaskResponse) {
+	response = &ActionDiskMaskResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 96 - 0
services/tesladam/action_disk_rma.go

@@ -0,0 +1,96 @@
+package tesladam
+
+//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"
+)
+
+func (client *Client) ActionDiskRma(request *ActionDiskRmaRequest) (response *ActionDiskRmaResponse, err error) {
+	response = CreateActionDiskRmaResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) ActionDiskRmaWithChan(request *ActionDiskRmaRequest) (<-chan *ActionDiskRmaResponse, <-chan error) {
+	responseChan := make(chan *ActionDiskRmaResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ActionDiskRma(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) ActionDiskRmaWithCallback(request *ActionDiskRmaRequest, callback func(response *ActionDiskRmaResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ActionDiskRmaResponse
+		var err error
+		defer close(result)
+		response, err = client.ActionDiskRma(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type ActionDiskRmaRequest struct {
+	*requests.RpcRequest
+	DiskName    string `position:"Query" name:"DiskName"`
+	ExecutionId string `position:"Query" name:"ExecutionId"`
+	DiskSlot    string `position:"Query" name:"DiskSlot"`
+	Hostname    string `position:"Query" name:"Hostname"`
+	DiskMount   string `position:"Query" name:"DiskMount"`
+	DiskReason  string `position:"Query" name:"DiskReason"`
+	DiskSn      string `position:"Query" name:"DiskSn"`
+}
+
+type ActionDiskRmaResponse struct {
+	*responses.BaseResponse
+	Status  bool   `json:"Status" xml:"Status"`
+	Message string `json:"Message" xml:"Message"`
+	Result  string `json:"Result" xml:"Result"`
+}
+
+func CreateActionDiskRmaRequest() (request *ActionDiskRmaRequest) {
+	request = &ActionDiskRmaRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("TeslaDam", "2018-01-18", "ActionDiskRma", "", "")
+	return
+}
+
+func CreateActionDiskRmaResponse() (response *ActionDiskRmaResponse) {
+	response = &ActionDiskRmaResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 43 - 0
services/tesladam/client.go

@@ -0,0 +1,43 @@
+package tesladam
+
+//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"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth"
+)
+
+type Client struct {
+	sdk.Client
+}
+
+func NewClient() (client *Client, err error) {
+	client = &Client{}
+	err = client.Init()
+	return
+}
+
+func NewClientWithOptions(regionId string, config *sdk.Config, credential auth.Credential) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithOptions(regionId, config, credential)
+	return
+}
+
+func NewClientWithAccessKey(regionId, accessKeyId, accessKeySecret string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithAccessKey(regionId, accessKeyId, accessKeySecret)
+	return
+}

+ 102 - 0
services/tesladam/host_gets.go

@@ -0,0 +1,102 @@
+package tesladam
+
+//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"
+)
+
+func (client *Client) HostGets(request *HostGetsRequest) (response *HostGetsResponse, err error) {
+	response = CreateHostGetsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) HostGetsWithChan(request *HostGetsRequest) (<-chan *HostGetsResponse, <-chan error) {
+	responseChan := make(chan *HostGetsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.HostGets(request)
+		responseChan <- response
+		errChan <- err
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) HostGetsWithCallback(request *HostGetsRequest, callback func(response *HostGetsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *HostGetsResponse
+		var err error
+		defer close(result)
+		response, err = client.HostGets(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type HostGetsRequest struct {
+	*requests.RpcRequest
+	Query     string           `position:"Query" name:"Query"`
+	EndTime   requests.Integer `position:"Query" name:"EndTime"`
+	StartTime requests.Integer `position:"Query" name:"StartTime"`
+	QueryType string           `position:"Query" name:"QueryType"`
+}
+
+type HostGetsResponse struct {
+	*responses.BaseResponse
+	Status  bool   `json:"Status" xml:"Status"`
+	Message string `json:"Message" xml:"Message"`
+	Data    []struct {
+		Hostname         string `json:"Hostname" xml:"Hostname"`
+		Ip               string `json:"Ip" xml:"Ip"`
+		AppCode          string `json:"AppCode" xml:"AppCode"`
+		ClusterCode      string `json:"ClusterCode" xml:"ClusterCode"`
+		SshStatus        int    `json:"SshStatus" xml:"SshStatus"`
+		HeartStatus      int    `json:"heartStatus" xml:"heartStatus"`
+		HealthScoreLast  int    `json:"HealthScoreLast" xml:"HealthScoreLast"`
+		HealthReasonLast string `json:"HealthReasonLast" xml:"HealthReasonLast"`
+	} `json:"Data" xml:"Data"`
+}
+
+func CreateHostGetsRequest() (request *HostGetsRequest) {
+	request = &HostGetsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("TeslaDam", "2018-01-18", "HostGets", "", "")
+	return
+}
+
+func CreateHostGetsResponse() (response *HostGetsResponse) {
+	response = &HostGetsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}