Bladeren bron

EHPC SDK Auto Released By qianzheng.llc,Version:1.24.0

Signed-off-by: yixiong.jxy <yixiong.jxy@alibaba-inc.com>
yixiong.jxy 7 jaren geleden
bovenliggende
commit
6e6066a766

+ 3 - 0
ChangeLog.txt

@@ -1,3 +1,6 @@
+2018-08-03 Version: 1.24.0
+1, Add new API AddLocalNodes, for adding local machine to a hybrid cluster
+
 2018-08-02 Version: 1.23.7
 1, Add parameter(GroupId) for CreateNotifyPolicy,GetNotifyPolicy,DeleteNotifyPolicy,ListNotifyPolicy.
 

+ 105 - 0
services/ehpc/add_local_nodes.go

@@ -0,0 +1,105 @@
+package ehpc
+
+//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"
+)
+
+// AddLocalNodes invokes the ehpc.AddLocalNodes API synchronously
+// api document: https://help.aliyun.com/api/ehpc/addlocalnodes.html
+func (client *Client) AddLocalNodes(request *AddLocalNodesRequest) (response *AddLocalNodesResponse, err error) {
+	response = CreateAddLocalNodesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// AddLocalNodesWithChan invokes the ehpc.AddLocalNodes API asynchronously
+// api document: https://help.aliyun.com/api/ehpc/addlocalnodes.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AddLocalNodesWithChan(request *AddLocalNodesRequest) (<-chan *AddLocalNodesResponse, <-chan error) {
+	responseChan := make(chan *AddLocalNodesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.AddLocalNodes(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// AddLocalNodesWithCallback invokes the ehpc.AddLocalNodes API asynchronously
+// api document: https://help.aliyun.com/api/ehpc/addlocalnodes.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AddLocalNodesWithCallback(request *AddLocalNodesRequest, callback func(response *AddLocalNodesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *AddLocalNodesResponse
+		var err error
+		defer close(result)
+		response, err = client.AddLocalNodes(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// AddLocalNodesRequest is the request struct for api AddLocalNodes
+type AddLocalNodesRequest struct {
+	*requests.RpcRequest
+	Nodes     string `position:"Query" name:"Nodes"`
+	ClusterId string `position:"Query" name:"ClusterId"`
+}
+
+// AddLocalNodesResponse is the response struct for api AddLocalNodes
+type AddLocalNodesResponse struct {
+	*responses.BaseResponse
+	RequestId   string                     `json:"RequestId" xml:"RequestId"`
+	InstanceIds InstanceIdsInAddLocalNodes `json:"InstanceIds" xml:"InstanceIds"`
+}
+
+// CreateAddLocalNodesRequest creates a request to invoke AddLocalNodes API
+func CreateAddLocalNodesRequest() (request *AddLocalNodesRequest) {
+	request = &AddLocalNodesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("EHPC", "2018-04-12", "AddLocalNodes", "ehs", "openAPI")
+	return
+}
+
+// CreateAddLocalNodesResponse creates a response to parse from AddLocalNodes response
+func CreateAddLocalNodesResponse() (response *AddLocalNodesResponse) {
+	response = &AddLocalNodesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 1 - 0
services/ehpc/create_cluster.go

@@ -106,6 +106,7 @@ type CreateClusterRequest struct {
 	Application                 *[]CreateClusterApplication       `position:"Query" name:"Application"  type:"Repeated"`
 	AutoRenew                   string                            `position:"Query" name:"AutoRenew"`
 	EcsChargeType               string                            `position:"Query" name:"EcsChargeType"`
+	InputFileUrl                string                            `position:"Query" name:"InputFileUrl"`
 	VpcId                       string                            `position:"Query" name:"VpcId"`
 	HaEnable                    requests.Boolean                  `position:"Query" name:"HaEnable"`
 	Name                        string                            `position:"Query" name:"Name"`

+ 8 - 4
services/ehpc/create_hybrid_cluster.go

@@ -76,18 +76,22 @@ func (client *Client) CreateHybridClusterWithCallback(request *CreateHybridClust
 // CreateHybridClusterRequest is the request struct for api CreateHybridCluster
 type CreateHybridClusterRequest struct {
 	*requests.RpcRequest
-	VolumeProtocol              string                            `position:"Query" name:"VolumeProtocol"`
-	OsTag                       string                            `position:"Query" name:"OsTag"`
-	RemoteDirectory             string                            `position:"Query" name:"RemoteDirectory"`
 	EhpcVersion                 string                            `position:"Query" name:"EhpcVersion"`
 	SecurityGroupId             string                            `position:"Query" name:"SecurityGroupId"`
 	Description                 string                            `position:"Query" name:"Description"`
 	KeyPairName                 string                            `position:"Query" name:"KeyPairName"`
 	SecurityGroupName           string                            `position:"Query" name:"SecurityGroupName"`
 	EcsOrderComputeInstanceType string                            `position:"Query" name:"EcsOrder.Compute.InstanceType"`
-	VSwitchId                   string                            `position:"Query" name:"VSwitchId"`
+	OnPremiseVolumeRemotePath   string                            `position:"Query" name:"OnPremiseVolumeRemotePath"`
 	VolumeType                  string                            `position:"Query" name:"VolumeType"`
 	Password                    string                            `position:"Query" name:"Password"`
+	OnPremiseVolumeMountPoint   string                            `position:"Query" name:"OnPremiseVolumeMountPoint"`
+	OnPremiseVolumeProtocol     string                            `position:"Query" name:"OnPremiseVolumeProtocol"`
+	VolumeProtocol              string                            `position:"Query" name:"VolumeProtocol"`
+	OnPremiseVolumeLocalPath    string                            `position:"Query" name:"OnPremiseVolumeLocalPath"`
+	OsTag                       string                            `position:"Query" name:"OsTag"`
+	RemoteDirectory             string                            `position:"Query" name:"RemoteDirectory"`
+	VSwitchId                   string                            `position:"Query" name:"VSwitchId"`
 	Nodes                       string                            `position:"Query" name:"Nodes"`
 	Application                 *[]CreateHybridClusterApplication `position:"Query" name:"Application"  type:"Repeated"`
 	Domain                      string                            `position:"Query" name:"Domain"`

+ 106 - 0
services/ehpc/delete_image.go

@@ -0,0 +1,106 @@
+package ehpc
+
+//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"
+)
+
+// DeleteImage invokes the ehpc.DeleteImage API synchronously
+// api document: https://help.aliyun.com/api/ehpc/deleteimage.html
+func (client *Client) DeleteImage(request *DeleteImageRequest) (response *DeleteImageResponse, err error) {
+	response = CreateDeleteImageResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteImageWithChan invokes the ehpc.DeleteImage API asynchronously
+// api document: https://help.aliyun.com/api/ehpc/deleteimage.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteImageWithChan(request *DeleteImageRequest) (<-chan *DeleteImageResponse, <-chan error) {
+	responseChan := make(chan *DeleteImageResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteImage(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteImageWithCallback invokes the ehpc.DeleteImage API asynchronously
+// api document: https://help.aliyun.com/api/ehpc/deleteimage.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteImageWithCallback(request *DeleteImageRequest, callback func(response *DeleteImageResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteImageResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteImage(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteImageRequest is the request struct for api DeleteImage
+type DeleteImageRequest struct {
+	*requests.RpcRequest
+	ContainerType string `position:"Query" name:"ContainerType"`
+	ClusterId     string `position:"Query" name:"ClusterId"`
+	Repository    string `position:"Query" name:"Repository"`
+	ImageTag      string `position:"Query" name:"ImageTag"`
+}
+
+// DeleteImageResponse is the response struct for api DeleteImage
+type DeleteImageResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteImageRequest creates a request to invoke DeleteImage API
+func CreateDeleteImageRequest() (request *DeleteImageRequest) {
+	request = &DeleteImageRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("EHPC", "2018-04-12", "DeleteImage", "ehs", "openAPI")
+	return
+}
+
+// CreateDeleteImageResponse creates a response to parse from DeleteImage response
+func CreateDeleteImageResponse() (response *DeleteImageResponse) {
+	response = &DeleteImageResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/ehpc/describe_image.go

@@ -0,0 +1,107 @@
+package ehpc
+
+//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"
+)
+
+// DescribeImage invokes the ehpc.DescribeImage API synchronously
+// api document: https://help.aliyun.com/api/ehpc/describeimage.html
+func (client *Client) DescribeImage(request *DescribeImageRequest) (response *DescribeImageResponse, err error) {
+	response = CreateDescribeImageResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeImageWithChan invokes the ehpc.DescribeImage API asynchronously
+// api document: https://help.aliyun.com/api/ehpc/describeimage.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeImageWithChan(request *DescribeImageRequest) (<-chan *DescribeImageResponse, <-chan error) {
+	responseChan := make(chan *DescribeImageResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeImage(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeImageWithCallback invokes the ehpc.DescribeImage API asynchronously
+// api document: https://help.aliyun.com/api/ehpc/describeimage.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeImageWithCallback(request *DescribeImageRequest, callback func(response *DescribeImageResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeImageResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeImage(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeImageRequest is the request struct for api DescribeImage
+type DescribeImageRequest struct {
+	*requests.RpcRequest
+	ContainerType string `position:"Query" name:"ContainerType"`
+	ClusterId     string `position:"Query" name:"ClusterId"`
+	Repository    string `position:"Query" name:"Repository"`
+	ImageTag      string `position:"Query" name:"ImageTag"`
+}
+
+// DescribeImageResponse is the response struct for api DescribeImage
+type DescribeImageResponse struct {
+	*responses.BaseResponse
+	RequestId string    `json:"RequestId" xml:"RequestId"`
+	ImageInfo ImageInfo `json:"ImageInfo" xml:"ImageInfo"`
+}
+
+// CreateDescribeImageRequest creates a request to invoke DescribeImage API
+func CreateDescribeImageRequest() (request *DescribeImageRequest) {
+	request = &DescribeImageRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("EHPC", "2018-04-12", "DescribeImage", "ehs", "openAPI")
+	return
+}
+
+// CreateDescribeImageResponse creates a response to parse from DescribeImage response
+func CreateDescribeImageResponse() (response *DescribeImageResponse) {
+	response = &DescribeImageResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 104 - 0
services/ehpc/describe_image_gateway_config.go

@@ -0,0 +1,104 @@
+package ehpc
+
+//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"
+)
+
+// DescribeImageGatewayConfig invokes the ehpc.DescribeImageGatewayConfig API synchronously
+// api document: https://help.aliyun.com/api/ehpc/describeimagegatewayconfig.html
+func (client *Client) DescribeImageGatewayConfig(request *DescribeImageGatewayConfigRequest) (response *DescribeImageGatewayConfigResponse, err error) {
+	response = CreateDescribeImageGatewayConfigResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeImageGatewayConfigWithChan invokes the ehpc.DescribeImageGatewayConfig API asynchronously
+// api document: https://help.aliyun.com/api/ehpc/describeimagegatewayconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeImageGatewayConfigWithChan(request *DescribeImageGatewayConfigRequest) (<-chan *DescribeImageGatewayConfigResponse, <-chan error) {
+	responseChan := make(chan *DescribeImageGatewayConfigResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeImageGatewayConfig(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeImageGatewayConfigWithCallback invokes the ehpc.DescribeImageGatewayConfig API asynchronously
+// api document: https://help.aliyun.com/api/ehpc/describeimagegatewayconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeImageGatewayConfigWithCallback(request *DescribeImageGatewayConfigRequest, callback func(response *DescribeImageGatewayConfigResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeImageGatewayConfigResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeImageGatewayConfig(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeImageGatewayConfigRequest is the request struct for api DescribeImageGatewayConfig
+type DescribeImageGatewayConfigRequest struct {
+	*requests.RpcRequest
+	ClusterId string `position:"Query" name:"ClusterId"`
+}
+
+// DescribeImageGatewayConfigResponse is the response struct for api DescribeImageGatewayConfig
+type DescribeImageGatewayConfigResponse struct {
+	*responses.BaseResponse
+	RequestId string  `json:"RequestId" xml:"RequestId"`
+	Imagegw   Imagegw `json:"Imagegw" xml:"Imagegw"`
+}
+
+// CreateDescribeImageGatewayConfigRequest creates a request to invoke DescribeImageGatewayConfig API
+func CreateDescribeImageGatewayConfigRequest() (request *DescribeImageGatewayConfigRequest) {
+	request = &DescribeImageGatewayConfigRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("EHPC", "2018-04-12", "DescribeImageGatewayConfig", "ehs", "openAPI")
+	return
+}
+
+// CreateDescribeImageGatewayConfigResponse creates a response to parse from DescribeImageGatewayConfig response
+func CreateDescribeImageGatewayConfigResponse() (response *DescribeImageGatewayConfigResponse) {
+	response = &DescribeImageGatewayConfigResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 2 - 0
services/ehpc/get_auto_scale_config.go

@@ -96,6 +96,8 @@ type GetAutoScaleConfigResponse struct {
 	GrowRatio               int    `json:"GrowRatio" xml:"GrowRatio"`
 	MaxNodesInCluster       int    `json:"MaxNodesInCluster" xml:"MaxNodesInCluster"`
 	ExcludeNodes            string `json:"ExcludeNodes" xml:"ExcludeNodes"`
+	SpotStrategy            string `json:"SpotStrategy" xml:"SpotStrategy"`
+	SpotPriceLimit          string `json:"SpotPriceLimit" xml:"SpotPriceLimit"`
 }
 
 // CreateGetAutoScaleConfigRequest creates a request to invoke GetAutoScaleConfig API

+ 113 - 0
services/ehpc/get_cloud_metric_logs.go

@@ -0,0 +1,113 @@
+package ehpc
+
+//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"
+)
+
+// GetCloudMetricLogs invokes the ehpc.GetCloudMetricLogs API synchronously
+// api document: https://help.aliyun.com/api/ehpc/getcloudmetriclogs.html
+func (client *Client) GetCloudMetricLogs(request *GetCloudMetricLogsRequest) (response *GetCloudMetricLogsResponse, err error) {
+	response = CreateGetCloudMetricLogsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetCloudMetricLogsWithChan invokes the ehpc.GetCloudMetricLogs API asynchronously
+// api document: https://help.aliyun.com/api/ehpc/getcloudmetriclogs.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetCloudMetricLogsWithChan(request *GetCloudMetricLogsRequest) (<-chan *GetCloudMetricLogsResponse, <-chan error) {
+	responseChan := make(chan *GetCloudMetricLogsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetCloudMetricLogs(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetCloudMetricLogsWithCallback invokes the ehpc.GetCloudMetricLogs API asynchronously
+// api document: https://help.aliyun.com/api/ehpc/getcloudmetriclogs.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetCloudMetricLogsWithCallback(request *GetCloudMetricLogsRequest, callback func(response *GetCloudMetricLogsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetCloudMetricLogsResponse
+		var err error
+		defer close(result)
+		response, err = client.GetCloudMetricLogs(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetCloudMetricLogsRequest is the request struct for api GetCloudMetricLogs
+type GetCloudMetricLogsRequest struct {
+	*requests.RpcRequest
+	AggregationType     string           `position:"Query" name:"AggregationType"`
+	Filter              string           `position:"Query" name:"Filter"`
+	MetricCategories    string           `position:"Query" name:"MetricCategories"`
+	Line                requests.Integer `position:"Query" name:"Line"`
+	MetricScope         string           `position:"Query" name:"MetricScope"`
+	From                requests.Integer `position:"Query" name:"From"`
+	ClusterId           string           `position:"Query" name:"ClusterId"`
+	To                  requests.Integer `position:"Query" name:"To"`
+	AggregationInterval requests.Integer `position:"Query" name:"AggregationInterval"`
+	Reverse             requests.Boolean `position:"Query" name:"Reverse"`
+}
+
+// GetCloudMetricLogsResponse is the response struct for api GetCloudMetricLogs
+type GetCloudMetricLogsResponse struct {
+	*responses.BaseResponse
+	RequestId  string     `json:"RequestId" xml:"RequestId"`
+	MetricLogs MetricLogs `json:"MetricLogs" xml:"MetricLogs"`
+}
+
+// CreateGetCloudMetricLogsRequest creates a request to invoke GetCloudMetricLogs API
+func CreateGetCloudMetricLogsRequest() (request *GetCloudMetricLogsRequest) {
+	request = &GetCloudMetricLogsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("EHPC", "2018-04-12", "GetCloudMetricLogs", "ehs", "openAPI")
+	return
+}
+
+// CreateGetCloudMetricLogsResponse creates a response to parse from GetCloudMetricLogs response
+func CreateGetCloudMetricLogsResponse() (response *GetCloudMetricLogsResponse) {
+	response = &GetCloudMetricLogsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 1 - 0
services/ehpc/get_hybrid_cluster_config.go

@@ -76,6 +76,7 @@ func (client *Client) GetHybridClusterConfigWithCallback(request *GetHybridClust
 // GetHybridClusterConfigRequest is the request struct for api GetHybridClusterConfig
 type GetHybridClusterConfigRequest struct {
 	*requests.RpcRequest
+	Node      string `position:"Query" name:"Node"`
 	ClusterId string `position:"Query" name:"ClusterId"`
 }
 

+ 118 - 0
services/ehpc/modify_image_gateway_config.go

@@ -0,0 +1,118 @@
+package ehpc
+
+//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"
+)
+
+// ModifyImageGatewayConfig invokes the ehpc.ModifyImageGatewayConfig API synchronously
+// api document: https://help.aliyun.com/api/ehpc/modifyimagegatewayconfig.html
+func (client *Client) ModifyImageGatewayConfig(request *ModifyImageGatewayConfigRequest) (response *ModifyImageGatewayConfigResponse, err error) {
+	response = CreateModifyImageGatewayConfigResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyImageGatewayConfigWithChan invokes the ehpc.ModifyImageGatewayConfig API asynchronously
+// api document: https://help.aliyun.com/api/ehpc/modifyimagegatewayconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyImageGatewayConfigWithChan(request *ModifyImageGatewayConfigRequest) (<-chan *ModifyImageGatewayConfigResponse, <-chan error) {
+	responseChan := make(chan *ModifyImageGatewayConfigResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyImageGatewayConfig(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyImageGatewayConfigWithCallback invokes the ehpc.ModifyImageGatewayConfig API asynchronously
+// api document: https://help.aliyun.com/api/ehpc/modifyimagegatewayconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyImageGatewayConfigWithCallback(request *ModifyImageGatewayConfigRequest, callback func(response *ModifyImageGatewayConfigResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyImageGatewayConfigResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyImageGatewayConfig(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyImageGatewayConfigRequest is the request struct for api ModifyImageGatewayConfig
+type ModifyImageGatewayConfigRequest struct {
+	*requests.RpcRequest
+	DefaultRepoLocation    string                          `position:"Query" name:"DefaultRepoLocation"`
+	DBPassword             string                          `position:"Query" name:"DBPassword"`
+	Repo                   *[]ModifyImageGatewayConfigRepo `position:"Query" name:"Repo"  type:"Repeated"`
+	DBType                 string                          `position:"Query" name:"DBType"`
+	DBUsername             string                          `position:"Query" name:"DBUsername"`
+	DBServerInfo           string                          `position:"Query" name:"DBServerInfo"`
+	PullUpdateTimeout      requests.Integer                `position:"Query" name:"PullUpdateTimeout"`
+	ClusterId              string                          `position:"Query" name:"ClusterId"`
+	ImageExpirationTimeout string                          `position:"Query" name:"ImageExpirationTimeout"`
+}
+
+// ModifyImageGatewayConfigRepo is a repeated param struct in ModifyImageGatewayConfigRequest
+type ModifyImageGatewayConfigRepo struct {
+	Location string `name:"Location"`
+	Auth     string `name:"Auth"`
+	URL      string `name:"URL"`
+}
+
+// ModifyImageGatewayConfigResponse is the response struct for api ModifyImageGatewayConfig
+type ModifyImageGatewayConfigResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateModifyImageGatewayConfigRequest creates a request to invoke ModifyImageGatewayConfig API
+func CreateModifyImageGatewayConfigRequest() (request *ModifyImageGatewayConfigRequest) {
+	request = &ModifyImageGatewayConfigRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("EHPC", "2018-04-12", "ModifyImageGatewayConfig", "ehs", "openAPI")
+	return
+}
+
+// CreateModifyImageGatewayConfigResponse creates a response to parse from ModifyImageGatewayConfig response
+func CreateModifyImageGatewayConfigResponse() (response *ModifyImageGatewayConfigResponse) {
+	response = &ModifyImageGatewayConfigResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 2 - 0
services/ehpc/set_auto_scale_config.go

@@ -80,7 +80,9 @@ type SetAutoScaleConfigRequest struct {
 	GrowTimeoutInMinutes    requests.Integer `position:"Query" name:"GrowTimeoutInMinutes"`
 	ClusterId               string           `position:"Query" name:"ClusterId"`
 	EnableAutoGrow          requests.Boolean `position:"Query" name:"EnableAutoGrow"`
+	SpotPriceLimit          string           `position:"Query" name:"SpotPriceLimit"`
 	EnableAutoShrink        requests.Boolean `position:"Query" name:"EnableAutoShrink"`
+	SpotStrategy            string           `position:"Query" name:"SpotStrategy"`
 	MaxNodesInCluster       requests.Integer `position:"Query" name:"MaxNodesInCluster"`
 	ExcludeNodes            string           `position:"Query" name:"ExcludeNodes"`
 	ShrinkIntervalInMinutes requests.Integer `position:"Query" name:"ShrinkIntervalInMinutes"`

+ 29 - 28
services/ehpc/struct_cluster_info.go

@@ -17,32 +17,33 @@ package ehpc
 
 // ClusterInfo is a nested struct in ehpc response
 type ClusterInfo struct {
-	Id               string                        `json:"Id" xml:"Id"`
-	RegionId         string                        `json:"RegionId" xml:"RegionId"`
-	Name             string                        `json:"Name" xml:"Name"`
-	Description      string                        `json:"Description" xml:"Description"`
-	Status           string                        `json:"Status" xml:"Status"`
-	OsTag            string                        `json:"OsTag" xml:"OsTag"`
-	AccountType      string                        `json:"AccountType" xml:"AccountType"`
-	SchedulerType    string                        `json:"SchedulerType" xml:"SchedulerType"`
-	CreateTime       string                        `json:"CreateTime" xml:"CreateTime"`
-	SecurityGroupId  string                        `json:"SecurityGroupId" xml:"SecurityGroupId"`
-	VpcId            string                        `json:"VpcId" xml:"VpcId"`
-	VSwitchId        string                        `json:"VSwitchId" xml:"VSwitchId"`
-	VolumeType       string                        `json:"VolumeType" xml:"VolumeType"`
-	VolumeId         string                        `json:"VolumeId" xml:"VolumeId"`
-	VolumeProtocol   string                        `json:"VolumeProtocol" xml:"VolumeProtocol"`
-	VolumeMountpoint string                        `json:"VolumeMountpoint" xml:"VolumeMountpoint"`
-	RemoteDirectory  string                        `json:"RemoteDirectory" xml:"RemoteDirectory"`
-	DeployMode       string                        `json:"DeployMode" xml:"DeployMode"`
-	HaEnable         bool                          `json:"HaEnable" xml:"HaEnable"`
-	EcsChargeType    string                        `json:"EcsChargeType" xml:"EcsChargeType"`
-	KeyPairName      string                        `json:"KeyPairName" xml:"KeyPairName"`
-	SccClusterId     string                        `json:"SccClusterId" xml:"SccClusterId"`
-	ClientVersion    string                        `json:"ClientVersion" xml:"ClientVersion"`
-	ImageOwnerAlias  string                        `json:"ImageOwnerAlias" xml:"ImageOwnerAlias"`
-	ImageId          string                        `json:"ImageId" xml:"ImageId"`
-	Location         string                        `json:"Location" xml:"Location"`
-	EcsInfo          EcsInfo                       `json:"EcsInfo" xml:"EcsInfo"`
-	Applications     ApplicationsInDescribeCluster `json:"Applications" xml:"Applications"`
+	Id                 string                        `json:"Id" xml:"Id"`
+	RegionId           string                        `json:"RegionId" xml:"RegionId"`
+	Name               string                        `json:"Name" xml:"Name"`
+	Description        string                        `json:"Description" xml:"Description"`
+	Status             string                        `json:"Status" xml:"Status"`
+	OsTag              string                        `json:"OsTag" xml:"OsTag"`
+	AccountType        string                        `json:"AccountType" xml:"AccountType"`
+	SchedulerType      string                        `json:"SchedulerType" xml:"SchedulerType"`
+	CreateTime         string                        `json:"CreateTime" xml:"CreateTime"`
+	SecurityGroupId    string                        `json:"SecurityGroupId" xml:"SecurityGroupId"`
+	VpcId              string                        `json:"VpcId" xml:"VpcId"`
+	VSwitchId          string                        `json:"VSwitchId" xml:"VSwitchId"`
+	VolumeType         string                        `json:"VolumeType" xml:"VolumeType"`
+	VolumeId           string                        `json:"VolumeId" xml:"VolumeId"`
+	VolumeProtocol     string                        `json:"VolumeProtocol" xml:"VolumeProtocol"`
+	VolumeMountpoint   string                        `json:"VolumeMountpoint" xml:"VolumeMountpoint"`
+	RemoteDirectory    string                        `json:"RemoteDirectory" xml:"RemoteDirectory"`
+	DeployMode         string                        `json:"DeployMode" xml:"DeployMode"`
+	HaEnable           bool                          `json:"HaEnable" xml:"HaEnable"`
+	EcsChargeType      string                        `json:"EcsChargeType" xml:"EcsChargeType"`
+	KeyPairName        string                        `json:"KeyPairName" xml:"KeyPairName"`
+	SccClusterId       string                        `json:"SccClusterId" xml:"SccClusterId"`
+	ClientVersion      string                        `json:"ClientVersion" xml:"ClientVersion"`
+	ImageOwnerAlias    string                        `json:"ImageOwnerAlias" xml:"ImageOwnerAlias"`
+	ImageId            string                        `json:"ImageId" xml:"ImageId"`
+	Location           string                        `json:"Location" xml:"Location"`
+	EcsInfo            EcsInfo                       `json:"EcsInfo" xml:"EcsInfo"`
+	Applications       ApplicationsInDescribeCluster `json:"Applications" xml:"Applications"`
+	PostInstallScripts PostInstallScripts            `json:"PostInstallScripts" xml:"PostInstallScripts"`
 }

+ 10 - 5
services/ehpc/struct_image_info.go

@@ -18,14 +18,19 @@ package ehpc
 // ImageInfo is a nested struct in ehpc response
 type ImageInfo struct {
 	Uid               string    `json:"Uid" xml:"Uid"`
+	Repository        string    `json:"Repository" xml:"Repository"`
+	SkuCode           string    `json:"SkuCode" xml:"SkuCode"`
 	ImageId           string    `json:"ImageId" xml:"ImageId"`
-	ImageName         string    `json:"ImageName" xml:"ImageName"`
 	ImageOwnerAlias   string    `json:"ImageOwnerAlias" xml:"ImageOwnerAlias"`
-	Description       string    `json:"Description" xml:"Description"`
-	Status            string    `json:"Status" xml:"Status"`
+	System            string    `json:"System" xml:"System"`
+	PostInstallScript string    `json:"PostInstallScript" xml:"PostInstallScript"`
 	ProductCode       string    `json:"ProductCode" xml:"ProductCode"`
-	SkuCode           string    `json:"SkuCode" xml:"SkuCode"`
+	Tag               string    `json:"Tag" xml:"Tag"`
 	PricingCycle      string    `json:"PricingCycle" xml:"PricingCycle"`
-	PostInstallScript string    `json:"PostInstallScript" xml:"PostInstallScript"`
+	ImageName         string    `json:"ImageName" xml:"ImageName"`
+	Status            string    `json:"Status" xml:"Status"`
+	Description       string    `json:"Description" xml:"Description"`
+	Type              string    `json:"Type" xml:"Type"`
+	UpdateDateTime    string    `json:"UpdateDateTime" xml:"UpdateDateTime"`
 	BaseOsTag         BaseOsTag `json:"BaseOsTag" xml:"BaseOsTag"`
 }

+ 26 - 0
services/ehpc/struct_imagegw.go

@@ -0,0 +1,26 @@
+package ehpc
+
+//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.
+
+// Imagegw is a nested struct in ehpc response
+type Imagegw struct {
+	DefaultImageLocation   string    `json:"DefaultImageLocation" xml:"DefaultImageLocation"`
+	PullUpdateTimeout      int       `json:"PullUpdateTimeout" xml:"PullUpdateTimeout"`
+	MongoDBURI             string    `json:"MongoDBURI" xml:"MongoDBURI"`
+	ImageExpirationTimeout string    `json:"ImageExpirationTimeout" xml:"ImageExpirationTimeout"`
+	UpdateDateTime         string    `json:"UpdateDateTime" xml:"UpdateDateTime"`
+	Locations              Locations `json:"Locations" xml:"Locations"`
+}

+ 21 - 0
services/ehpc/struct_instance_ids_in_add_local_nodes.go

@@ -0,0 +1,21 @@
+package ehpc
+
+//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.
+
+// InstanceIdsInAddLocalNodes is a nested struct in ehpc response
+type InstanceIdsInAddLocalNodes struct {
+	InstanceId []string `json:"InstanceId" xml:"InstanceId"`
+}

+ 1 - 0
services/ehpc/struct_job_info.go

@@ -20,6 +20,7 @@ type JobInfo struct {
 	Id             string    `json:"Id" xml:"Id"`
 	Name           string    `json:"Name" xml:"Name"`
 	Owner          string    `json:"Owner" xml:"Owner"`
+	NodeList       string    `json:"NodeList" xml:"NodeList"`
 	Priority       int       `json:"Priority" xml:"Priority"`
 	State          string    `json:"State" xml:"State"`
 	SubmitTime     string    `json:"SubmitTime" xml:"SubmitTime"`

+ 24 - 0
services/ehpc/struct_location_info.go

@@ -0,0 +1,24 @@
+package ehpc
+
+//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.
+
+// LocationInfo is a nested struct in ehpc response
+type LocationInfo struct {
+	Location       string `json:"Location" xml:"Location"`
+	RemoteType     string `json:"RemoteType" xml:"RemoteType"`
+	Authentication string `json:"Authentication" xml:"Authentication"`
+	URL            string `json:"URL" xml:"URL"`
+}

+ 21 - 0
services/ehpc/struct_locations.go

@@ -0,0 +1,21 @@
+package ehpc
+
+//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.
+
+// Locations is a nested struct in ehpc response
+type Locations struct {
+	LocationInfo []LocationInfo `json:"LocationInfo" xml:"LocationInfo"`
+}

+ 26 - 0
services/ehpc/struct_metric_log.go

@@ -0,0 +1,26 @@
+package ehpc
+
+//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.
+
+// MetricLog is a nested struct in ehpc response
+type MetricLog struct {
+	Time             int    `json:"Time" xml:"Time"`
+	InstanceId       string `json:"InstanceId" xml:"InstanceId"`
+	Hostname         string `json:"Hostname" xml:"Hostname"`
+	NetworkInterface string `json:"NetworkInterface" xml:"NetworkInterface"`
+	DiskDevice       string `json:"DiskDevice" xml:"DiskDevice"`
+	MetricData       string `json:"MetricData" xml:"MetricData"`
+}

+ 21 - 0
services/ehpc/struct_metric_logs.go

@@ -0,0 +1,21 @@
+package ehpc
+
+//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.
+
+// MetricLogs is a nested struct in ehpc response
+type MetricLogs struct {
+	MetricLog []MetricLog `json:"MetricLog" xml:"MetricLog"`
+}

+ 22 - 0
services/ehpc/struct_post_install_script_info.go

@@ -0,0 +1,22 @@
+package ehpc
+
+//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.
+
+// PostInstallScriptInfo is a nested struct in ehpc response
+type PostInstallScriptInfo struct {
+	Url  string `json:"Url" xml:"Url"`
+	Args string `json:"Args" xml:"Args"`
+}

+ 21 - 0
services/ehpc/struct_post_install_scripts.go

@@ -0,0 +1,21 @@
+package ehpc
+
+//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.
+
+// PostInstallScripts is a nested struct in ehpc response
+type PostInstallScripts struct {
+	PostInstallScriptInfo []PostInstallScriptInfo `json:"PostInstallScriptInfo" xml:"PostInstallScriptInfo"`
+}