Browse Source

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

Signed-off-by: haowei.yao <haowei.yao@alibaba-inc.com>
haowei.yao 6 years ago
parent
commit
23d3981013
53 changed files with 2369 additions and 69 deletions
  1. 5 0
      ChangeLog.txt
  2. 2 0
      services/ehpc/add_nodes.go
  3. 104 0
      services/ehpc/add_queue.go
  4. 16 0
      services/ehpc/create_cluster.go
  5. 1 0
      services/ehpc/create_hybrid_cluster.go
  6. 104 0
      services/ehpc/delete_queue.go
  7. 105 0
      services/ehpc/describe_job.go
  8. 108 0
      services/ehpc/get_accounting_report.go
  9. 105 0
      services/ehpc/get_cluster_volumes.go
  10. 104 0
      services/ehpc/get_visual_service_status.go
  11. 104 0
      services/ehpc/install_software.go
  12. 103 0
      services/ehpc/list_available_file_system_types.go
  13. 5 5
      services/ehpc/list_clusters.go
  14. 108 0
      services/ehpc/list_clusters_meta.go
  15. 109 0
      services/ehpc/list_cpfs_file_systems.go
  16. 5 5
      services/ehpc/list_file_system_with_mount_targets.go
  17. 103 0
      services/ehpc/list_installed_software.go
  18. 110 0
      services/ehpc/list_nodes_by_queue.go
  19. 5 5
      services/ehpc/list_volumes.go
  20. 107 0
      services/ehpc/modify_visual_service_passwd.go
  21. 1 0
      services/ehpc/recover_cluster.go
  22. 7 6
      services/ehpc/set_auto_scale_config.go
  23. 110 0
      services/ehpc/set_queue.go
  24. 106 0
      services/ehpc/start_visual_service.go
  25. 106 0
      services/ehpc/stop_visual_service.go
  26. 2 2
      services/ehpc/struct_additional_volumes.go
  27. 16 14
      services/ehpc/struct_cluster_info_simple.go
  28. 2 2
      services/ehpc/struct_clusters_in_list_clusters.go
  29. 21 0
      services/ehpc/struct_clusters_in_list_clusters_meta.go
  30. 2 2
      services/ehpc/struct_file_system_list_in_list_cpfs_file_systems.go
  31. 21 0
      services/ehpc/struct_file_system_list_in_list_file_system_with_mount_targets.go
  32. 21 0
      services/ehpc/struct_file_system_type_list.go
  33. 24 0
      services/ehpc/struct_file_system_types.go
  34. 11 9
      services/ehpc/struct_file_systems.go
  35. 1 0
      services/ehpc/struct_image_info.go
  36. 23 0
      services/ehpc/struct_instance_type_info.go
  37. 21 0
      services/ehpc/struct_instance_types.go
  38. 21 0
      services/ehpc/struct_message.go
  39. 2 2
      services/ehpc/struct_mount_target_list_in_list_cpfs_file_systems.go
  40. 21 0
      services/ehpc/struct_mount_target_list_in_list_file_system_with_mount_targets.go
  41. 2 2
      services/ehpc/struct_mount_targets.go
  42. 21 0
      services/ehpc/struct_nodes_in_list_nodes_by_queue.go
  43. 8 7
      services/ehpc/struct_queue_info.go
  44. 21 0
      services/ehpc/struct_role_info.go
  45. 21 0
      services/ehpc/struct_roles_in_get_cluster_volumes.go
  46. 21 0
      services/ehpc/struct_software_list.go
  47. 24 0
      services/ehpc/struct_software_list_item.go
  48. 21 0
      services/ehpc/struct_storage_types.go
  49. 15 8
      services/ehpc/struct_volume_info.go
  50. 21 0
      services/ehpc/struct_volumes_in_get_cluster_volumes.go
  51. 21 0
      services/ehpc/struct_volumes_in_list_volumes.go
  52. 104 0
      services/ehpc/uninstall_software.go
  53. 117 0
      services/ehpc/update_cluster_volumes.go

+ 5 - 0
ChangeLog.txt

@@ -1,3 +1,8 @@
+2019-04-10 Version: 1.54.0
+1, New APIs for visual service (VNC).
+2, New APIs for software management.
+3, New APIs for CPFS filesystem.
+
 2019-04-09 Version: 1.53.93
 2019-04-09 Version: 1.53.93
 1, Add APIs: TagResource, UntagResource, ListResourceTags.
 1, Add APIs: TagResource, UntagResource, ListResourceTags.
 2, Remove the optional parameter 'STSToken'  and replace it with 'SecurityToken'.
 2, Remove the optional parameter 'STSToken'  and replace it with 'SecurityToken'.

+ 2 - 0
services/ehpc/add_nodes.go

@@ -84,12 +84,14 @@ type AddNodesRequest struct {
 	ComputeSpotStrategy   string           `position:"Query" name:"ComputeSpotStrategy"`
 	ComputeSpotStrategy   string           `position:"Query" name:"ComputeSpotStrategy"`
 	JobQueue              string           `position:"Query" name:"JobQueue"`
 	JobQueue              string           `position:"Query" name:"JobQueue"`
 	ImageOwnerAlias       string           `position:"Query" name:"ImageOwnerAlias"`
 	ImageOwnerAlias       string           `position:"Query" name:"ImageOwnerAlias"`
+	VSwitchId             string           `position:"Query" name:"VSwitchId"`
 	PeriodUnit            string           `position:"Query" name:"PeriodUnit"`
 	PeriodUnit            string           `position:"Query" name:"PeriodUnit"`
 	AutoRenew             string           `position:"Query" name:"AutoRenew"`
 	AutoRenew             string           `position:"Query" name:"AutoRenew"`
 	EcsChargeType         string           `position:"Query" name:"EcsChargeType"`
 	EcsChargeType         string           `position:"Query" name:"EcsChargeType"`
 	CreateMode            string           `position:"Query" name:"CreateMode"`
 	CreateMode            string           `position:"Query" name:"CreateMode"`
 	SystemDiskSize        requests.Integer `position:"Query" name:"SystemDiskSize"`
 	SystemDiskSize        requests.Integer `position:"Query" name:"SystemDiskSize"`
 	InstanceType          string           `position:"Query" name:"InstanceType"`
 	InstanceType          string           `position:"Query" name:"InstanceType"`
+	ZoneId                string           `position:"Query" name:"ZoneId"`
 	ComputeSpotPriceLimit string           `position:"Query" name:"ComputeSpotPriceLimit"`
 	ComputeSpotPriceLimit string           `position:"Query" name:"ComputeSpotPriceLimit"`
 }
 }
 
 

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

+ 16 - 0
services/ehpc/create_cluster.go

@@ -78,6 +78,7 @@ type CreateClusterRequest struct {
 	*requests.RpcRequest
 	*requests.RpcRequest
 	SccClusterId                string                            `position:"Query" name:"SccClusterId"`
 	SccClusterId                string                            `position:"Query" name:"SccClusterId"`
 	ImageId                     string                            `position:"Query" name:"ImageId"`
 	ImageId                     string                            `position:"Query" name:"ImageId"`
+	AdditionalVolumes           *[]CreateClusterAdditionalVolumes `position:"Query" name:"AdditionalVolumes"  type:"Repeated"`
 	EcsOrderManagerInstanceType string                            `position:"Query" name:"EcsOrder.Manager.InstanceType"`
 	EcsOrderManagerInstanceType string                            `position:"Query" name:"EcsOrder.Manager.InstanceType"`
 	EhpcVersion                 string                            `position:"Query" name:"EhpcVersion"`
 	EhpcVersion                 string                            `position:"Query" name:"EhpcVersion"`
 	AccountType                 string                            `position:"Query" name:"AccountType"`
 	AccountType                 string                            `position:"Query" name:"AccountType"`
@@ -91,8 +92,10 @@ type CreateClusterRequest struct {
 	VolumeType                  string                            `position:"Query" name:"VolumeType"`
 	VolumeType                  string                            `position:"Query" name:"VolumeType"`
 	DeployMode                  string                            `position:"Query" name:"DeployMode"`
 	DeployMode                  string                            `position:"Query" name:"DeployMode"`
 	EcsOrderManagerCount        requests.Integer                  `position:"Query" name:"EcsOrder.Manager.Count"`
 	EcsOrderManagerCount        requests.Integer                  `position:"Query" name:"EcsOrder.Manager.Count"`
+	ResourceGroupId             string                            `position:"Query" name:"ResourceGroupId"`
 	Password                    string                            `position:"Query" name:"Password"`
 	Password                    string                            `position:"Query" name:"Password"`
 	EcsOrderLoginCount          requests.Integer                  `position:"Query" name:"EcsOrder.Login.Count"`
 	EcsOrderLoginCount          requests.Integer                  `position:"Query" name:"EcsOrder.Login.Count"`
+	RemoteVisEnable             string                            `position:"Query" name:"RemoteVisEnable"`
 	SystemDiskSize              requests.Integer                  `position:"Query" name:"SystemDiskSize"`
 	SystemDiskSize              requests.Integer                  `position:"Query" name:"SystemDiskSize"`
 	ComputeSpotPriceLimit       string                            `position:"Query" name:"ComputeSpotPriceLimit"`
 	ComputeSpotPriceLimit       string                            `position:"Query" name:"ComputeSpotPriceLimit"`
 	AutoRenewPeriod             requests.Integer                  `position:"Query" name:"AutoRenewPeriod"`
 	AutoRenewPeriod             requests.Integer                  `position:"Query" name:"AutoRenewPeriod"`
@@ -120,6 +123,19 @@ type CreateClusterRequest struct {
 	ZoneId                      string                            `position:"Query" name:"ZoneId"`
 	ZoneId                      string                            `position:"Query" name:"ZoneId"`
 }
 }
 
 
+// CreateClusterAdditionalVolumes is a repeated param struct in CreateClusterRequest
+type CreateClusterAdditionalVolumes struct {
+	VolumeType       string    `name:"VolumeType"`
+	VolumeProtocol   string    `name:"VolumeProtocol"`
+	LocalDirectory   string    `name:"LocalDirectory"`
+	RemoteDirectory  string    `name:"RemoteDirectory"`
+	Roles            *[]string `name:"Roles" type:"Repeated"`
+	VolumeId         string    `name:"VolumeId"`
+	VolumeMountpoint string    `name:"VolumeMountpoint"`
+	Location         string    `name:"Location"`
+	JobQueue         string    `name:"JobQueue"`
+}
+
 // CreateClusterPostInstallScript is a repeated param struct in CreateClusterRequest
 // CreateClusterPostInstallScript is a repeated param struct in CreateClusterRequest
 type CreateClusterPostInstallScript struct {
 type CreateClusterPostInstallScript struct {
 	Args string `name:"Args"`
 	Args string `name:"Args"`

+ 1 - 0
services/ehpc/create_hybrid_cluster.go

@@ -85,6 +85,7 @@ type CreateHybridClusterRequest struct {
 	OnPremiseVolumeRemotePath   string                                  `position:"Query" name:"OnPremiseVolumeRemotePath"`
 	OnPremiseVolumeRemotePath   string                                  `position:"Query" name:"OnPremiseVolumeRemotePath"`
 	JobQueue                    string                                  `position:"Query" name:"JobQueue"`
 	JobQueue                    string                                  `position:"Query" name:"JobQueue"`
 	VolumeType                  string                                  `position:"Query" name:"VolumeType"`
 	VolumeType                  string                                  `position:"Query" name:"VolumeType"`
+	ResourceGroupId             string                                  `position:"Query" name:"ResourceGroupId"`
 	Password                    string                                  `position:"Query" name:"Password"`
 	Password                    string                                  `position:"Query" name:"Password"`
 	OnPremiseVolumeMountPoint   string                                  `position:"Query" name:"OnPremiseVolumeMountPoint"`
 	OnPremiseVolumeMountPoint   string                                  `position:"Query" name:"OnPremiseVolumeMountPoint"`
 	OnPremiseVolumeProtocol     string                                  `position:"Query" name:"OnPremiseVolumeProtocol"`
 	OnPremiseVolumeProtocol     string                                  `position:"Query" name:"OnPremiseVolumeProtocol"`

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

+ 105 - 0
services/ehpc/describe_job.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"
+)
+
+// DescribeJob invokes the ehpc.DescribeJob API synchronously
+// api document: https://help.aliyun.com/api/ehpc/describejob.html
+func (client *Client) DescribeJob(request *DescribeJobRequest) (response *DescribeJobResponse, err error) {
+	response = CreateDescribeJobResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeJobWithChan invokes the ehpc.DescribeJob API asynchronously
+// api document: https://help.aliyun.com/api/ehpc/describejob.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeJobWithChan(request *DescribeJobRequest) (<-chan *DescribeJobResponse, <-chan error) {
+	responseChan := make(chan *DescribeJobResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeJob(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeJobWithCallback invokes the ehpc.DescribeJob API asynchronously
+// api document: https://help.aliyun.com/api/ehpc/describejob.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeJobWithCallback(request *DescribeJobRequest, callback func(response *DescribeJobResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeJobResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeJob(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeJobRequest is the request struct for api DescribeJob
+type DescribeJobRequest struct {
+	*requests.RpcRequest
+	JobId     string `position:"Query" name:"JobId"`
+	ClusterId string `position:"Query" name:"ClusterId"`
+}
+
+// DescribeJobResponse is the response struct for api DescribeJob
+type DescribeJobResponse struct {
+	*responses.BaseResponse
+	RequestId string  `json:"RequestId" xml:"RequestId"`
+	Message   Message `json:"Message" xml:"Message"`
+}
+
+// CreateDescribeJobRequest creates a request to invoke DescribeJob API
+func CreateDescribeJobRequest() (request *DescribeJobRequest) {
+	request = &DescribeJobRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("EHPC", "2018-04-12", "DescribeJob", "ehs", "openAPI")
+	return
+}
+
+// CreateDescribeJobResponse creates a response to parse from DescribeJob response
+func CreateDescribeJobResponse() (response *DescribeJobResponse) {
+	response = &DescribeJobResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/ehpc/get_accounting_report.go

@@ -0,0 +1,108 @@
+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"
+)
+
+// GetAccountingReport invokes the ehpc.GetAccountingReport API synchronously
+// api document: https://help.aliyun.com/api/ehpc/getaccountingreport.html
+func (client *Client) GetAccountingReport(request *GetAccountingReportRequest) (response *GetAccountingReportResponse, err error) {
+	response = CreateGetAccountingReportResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetAccountingReportWithChan invokes the ehpc.GetAccountingReport API asynchronously
+// api document: https://help.aliyun.com/api/ehpc/getaccountingreport.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetAccountingReportWithChan(request *GetAccountingReportRequest) (<-chan *GetAccountingReportResponse, <-chan error) {
+	responseChan := make(chan *GetAccountingReportResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetAccountingReport(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetAccountingReportWithCallback invokes the ehpc.GetAccountingReport API asynchronously
+// api document: https://help.aliyun.com/api/ehpc/getaccountingreport.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetAccountingReportWithCallback(request *GetAccountingReportRequest, callback func(response *GetAccountingReportResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetAccountingReportResponse
+		var err error
+		defer close(result)
+		response, err = client.GetAccountingReport(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetAccountingReportRequest is the request struct for api GetAccountingReport
+type GetAccountingReportRequest struct {
+	*requests.RpcRequest
+	ReportType string           `position:"Query" name:"ReportType"`
+	EndTime    requests.Integer `position:"Query" name:"EndTime"`
+	ClusterId  string           `position:"Query" name:"ClusterId"`
+	StartTime  requests.Integer `position:"Query" name:"StartTime"`
+}
+
+// GetAccountingReportResponse is the response struct for api GetAccountingReport
+type GetAccountingReportResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Metrics   string `json:"Metrics" xml:"Metrics"`
+	Data      string `json:"Data" xml:"Data"`
+}
+
+// CreateGetAccountingReportRequest creates a request to invoke GetAccountingReport API
+func CreateGetAccountingReportRequest() (request *GetAccountingReportRequest) {
+	request = &GetAccountingReportRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("EHPC", "2018-04-12", "GetAccountingReport", "ehs", "openAPI")
+	return
+}
+
+// CreateGetAccountingReportResponse creates a response to parse from GetAccountingReport response
+func CreateGetAccountingReportResponse() (response *GetAccountingReportResponse) {
+	response = &GetAccountingReportResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/ehpc/get_cluster_volumes.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"
+)
+
+// GetClusterVolumes invokes the ehpc.GetClusterVolumes API synchronously
+// api document: https://help.aliyun.com/api/ehpc/getclustervolumes.html
+func (client *Client) GetClusterVolumes(request *GetClusterVolumesRequest) (response *GetClusterVolumesResponse, err error) {
+	response = CreateGetClusterVolumesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetClusterVolumesWithChan invokes the ehpc.GetClusterVolumes API asynchronously
+// api document: https://help.aliyun.com/api/ehpc/getclustervolumes.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetClusterVolumesWithChan(request *GetClusterVolumesRequest) (<-chan *GetClusterVolumesResponse, <-chan error) {
+	responseChan := make(chan *GetClusterVolumesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetClusterVolumes(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetClusterVolumesWithCallback invokes the ehpc.GetClusterVolumes API asynchronously
+// api document: https://help.aliyun.com/api/ehpc/getclustervolumes.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetClusterVolumesWithCallback(request *GetClusterVolumesRequest, callback func(response *GetClusterVolumesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetClusterVolumesResponse
+		var err error
+		defer close(result)
+		response, err = client.GetClusterVolumes(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetClusterVolumesRequest is the request struct for api GetClusterVolumes
+type GetClusterVolumesRequest struct {
+	*requests.RpcRequest
+	ClusterId string `position:"Query" name:"ClusterId"`
+}
+
+// GetClusterVolumesResponse is the response struct for api GetClusterVolumes
+type GetClusterVolumesResponse struct {
+	*responses.BaseResponse
+	RequestId string                     `json:"RequestId" xml:"RequestId"`
+	RegionId  string                     `json:"RegionId" xml:"RegionId"`
+	Volumes   VolumesInGetClusterVolumes `json:"Volumes" xml:"Volumes"`
+}
+
+// CreateGetClusterVolumesRequest creates a request to invoke GetClusterVolumes API
+func CreateGetClusterVolumesRequest() (request *GetClusterVolumesRequest) {
+	request = &GetClusterVolumesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("EHPC", "2018-04-12", "GetClusterVolumes", "ehs", "openAPI")
+	return
+}
+
+// CreateGetClusterVolumesResponse creates a response to parse from GetClusterVolumes response
+func CreateGetClusterVolumesResponse() (response *GetClusterVolumesResponse) {
+	response = &GetClusterVolumesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

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

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

+ 103 - 0
services/ehpc/list_available_file_system_types.go

@@ -0,0 +1,103 @@
+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"
+)
+
+// ListAvailableFileSystemTypes invokes the ehpc.ListAvailableFileSystemTypes API synchronously
+// api document: https://help.aliyun.com/api/ehpc/listavailablefilesystemtypes.html
+func (client *Client) ListAvailableFileSystemTypes(request *ListAvailableFileSystemTypesRequest) (response *ListAvailableFileSystemTypesResponse, err error) {
+	response = CreateListAvailableFileSystemTypesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListAvailableFileSystemTypesWithChan invokes the ehpc.ListAvailableFileSystemTypes API asynchronously
+// api document: https://help.aliyun.com/api/ehpc/listavailablefilesystemtypes.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListAvailableFileSystemTypesWithChan(request *ListAvailableFileSystemTypesRequest) (<-chan *ListAvailableFileSystemTypesResponse, <-chan error) {
+	responseChan := make(chan *ListAvailableFileSystemTypesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListAvailableFileSystemTypes(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListAvailableFileSystemTypesWithCallback invokes the ehpc.ListAvailableFileSystemTypes API asynchronously
+// api document: https://help.aliyun.com/api/ehpc/listavailablefilesystemtypes.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListAvailableFileSystemTypesWithCallback(request *ListAvailableFileSystemTypesRequest, callback func(response *ListAvailableFileSystemTypesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListAvailableFileSystemTypesResponse
+		var err error
+		defer close(result)
+		response, err = client.ListAvailableFileSystemTypes(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListAvailableFileSystemTypesRequest is the request struct for api ListAvailableFileSystemTypes
+type ListAvailableFileSystemTypesRequest struct {
+	*requests.RpcRequest
+}
+
+// ListAvailableFileSystemTypesResponse is the response struct for api ListAvailableFileSystemTypes
+type ListAvailableFileSystemTypesResponse struct {
+	*responses.BaseResponse
+	RequestId          string             `json:"RequestId" xml:"RequestId"`
+	FileSystemTypeList FileSystemTypeList `json:"FileSystemTypeList" xml:"FileSystemTypeList"`
+}
+
+// CreateListAvailableFileSystemTypesRequest creates a request to invoke ListAvailableFileSystemTypes API
+func CreateListAvailableFileSystemTypesRequest() (request *ListAvailableFileSystemTypesRequest) {
+	request = &ListAvailableFileSystemTypesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("EHPC", "2018-04-12", "ListAvailableFileSystemTypes", "ehs", "openAPI")
+	return
+}
+
+// CreateListAvailableFileSystemTypesResponse creates a response to parse from ListAvailableFileSystemTypes response
+func CreateListAvailableFileSystemTypesResponse() (response *ListAvailableFileSystemTypesResponse) {
+	response = &ListAvailableFileSystemTypesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 5 - 5
services/ehpc/list_clusters.go

@@ -83,11 +83,11 @@ type ListClustersRequest struct {
 // ListClustersResponse is the response struct for api ListClusters
 // ListClustersResponse is the response struct for api ListClusters
 type ListClustersResponse struct {
 type ListClustersResponse struct {
 	*responses.BaseResponse
 	*responses.BaseResponse
-	RequestId  string   `json:"RequestId" xml:"RequestId"`
-	TotalCount int      `json:"TotalCount" xml:"TotalCount"`
-	PageNumber int      `json:"PageNumber" xml:"PageNumber"`
-	PageSize   int      `json:"PageSize" xml:"PageSize"`
-	Clusters   Clusters `json:"Clusters" xml:"Clusters"`
+	RequestId  string                 `json:"RequestId" xml:"RequestId"`
+	TotalCount int                    `json:"TotalCount" xml:"TotalCount"`
+	PageNumber int                    `json:"PageNumber" xml:"PageNumber"`
+	PageSize   int                    `json:"PageSize" xml:"PageSize"`
+	Clusters   ClustersInListClusters `json:"Clusters" xml:"Clusters"`
 }
 }
 
 
 // CreateListClustersRequest creates a request to invoke ListClusters API
 // CreateListClustersRequest creates a request to invoke ListClusters API

+ 108 - 0
services/ehpc/list_clusters_meta.go

@@ -0,0 +1,108 @@
+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"
+)
+
+// ListClustersMeta invokes the ehpc.ListClustersMeta API synchronously
+// api document: https://help.aliyun.com/api/ehpc/listclustersmeta.html
+func (client *Client) ListClustersMeta(request *ListClustersMetaRequest) (response *ListClustersMetaResponse, err error) {
+	response = CreateListClustersMetaResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListClustersMetaWithChan invokes the ehpc.ListClustersMeta API asynchronously
+// api document: https://help.aliyun.com/api/ehpc/listclustersmeta.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListClustersMetaWithChan(request *ListClustersMetaRequest) (<-chan *ListClustersMetaResponse, <-chan error) {
+	responseChan := make(chan *ListClustersMetaResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListClustersMeta(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListClustersMetaWithCallback invokes the ehpc.ListClustersMeta API asynchronously
+// api document: https://help.aliyun.com/api/ehpc/listclustersmeta.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListClustersMetaWithCallback(request *ListClustersMetaRequest, callback func(response *ListClustersMetaResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListClustersMetaResponse
+		var err error
+		defer close(result)
+		response, err = client.ListClustersMeta(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListClustersMetaRequest is the request struct for api ListClustersMeta
+type ListClustersMetaRequest struct {
+	*requests.RpcRequest
+	PageSize   requests.Integer `position:"Query" name:"PageSize"`
+	PageNumber requests.Integer `position:"Query" name:"PageNumber"`
+}
+
+// ListClustersMetaResponse is the response struct for api ListClustersMeta
+type ListClustersMetaResponse struct {
+	*responses.BaseResponse
+	RequestId  string                     `json:"RequestId" xml:"RequestId"`
+	TotalCount int                        `json:"TotalCount" xml:"TotalCount"`
+	PageNumber int                        `json:"PageNumber" xml:"PageNumber"`
+	PageSize   int                        `json:"PageSize" xml:"PageSize"`
+	Clusters   ClustersInListClustersMeta `json:"Clusters" xml:"Clusters"`
+}
+
+// CreateListClustersMetaRequest creates a request to invoke ListClustersMeta API
+func CreateListClustersMetaRequest() (request *ListClustersMetaRequest) {
+	request = &ListClustersMetaRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("EHPC", "2018-04-12", "ListClustersMeta", "ehs", "openAPI")
+	return
+}
+
+// CreateListClustersMetaResponse creates a response to parse from ListClustersMeta response
+func CreateListClustersMetaResponse() (response *ListClustersMetaResponse) {
+	response = &ListClustersMetaResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/ehpc/list_cpfs_file_systems.go

@@ -0,0 +1,109 @@
+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"
+)
+
+// ListCpfsFileSystems invokes the ehpc.ListCpfsFileSystems API synchronously
+// api document: https://help.aliyun.com/api/ehpc/listcpfsfilesystems.html
+func (client *Client) ListCpfsFileSystems(request *ListCpfsFileSystemsRequest) (response *ListCpfsFileSystemsResponse, err error) {
+	response = CreateListCpfsFileSystemsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListCpfsFileSystemsWithChan invokes the ehpc.ListCpfsFileSystems API asynchronously
+// api document: https://help.aliyun.com/api/ehpc/listcpfsfilesystems.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListCpfsFileSystemsWithChan(request *ListCpfsFileSystemsRequest) (<-chan *ListCpfsFileSystemsResponse, <-chan error) {
+	responseChan := make(chan *ListCpfsFileSystemsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListCpfsFileSystems(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListCpfsFileSystemsWithCallback invokes the ehpc.ListCpfsFileSystems API asynchronously
+// api document: https://help.aliyun.com/api/ehpc/listcpfsfilesystems.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListCpfsFileSystemsWithCallback(request *ListCpfsFileSystemsRequest, callback func(response *ListCpfsFileSystemsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListCpfsFileSystemsResponse
+		var err error
+		defer close(result)
+		response, err = client.ListCpfsFileSystems(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListCpfsFileSystemsRequest is the request struct for api ListCpfsFileSystems
+type ListCpfsFileSystemsRequest struct {
+	*requests.RpcRequest
+	PageSize     requests.Integer `position:"Query" name:"PageSize"`
+	PageNumber   requests.Integer `position:"Query" name:"PageNumber"`
+	FileSystemId string           `position:"Query" name:"FileSystemId"`
+}
+
+// ListCpfsFileSystemsResponse is the response struct for api ListCpfsFileSystems
+type ListCpfsFileSystemsResponse struct {
+	*responses.BaseResponse
+	RequestId      string                              `json:"RequestId" xml:"RequestId"`
+	TotalCount     int                                 `json:"TotalCount" xml:"TotalCount"`
+	PageNumber     int                                 `json:"PageNumber" xml:"PageNumber"`
+	PageSize       int                                 `json:"PageSize" xml:"PageSize"`
+	FileSystemList FileSystemListInListCpfsFileSystems `json:"FileSystemList" xml:"FileSystemList"`
+}
+
+// CreateListCpfsFileSystemsRequest creates a request to invoke ListCpfsFileSystems API
+func CreateListCpfsFileSystemsRequest() (request *ListCpfsFileSystemsRequest) {
+	request = &ListCpfsFileSystemsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("EHPC", "2018-04-12", "ListCpfsFileSystems", "ehs", "openAPI")
+	return
+}
+
+// CreateListCpfsFileSystemsResponse creates a response to parse from ListCpfsFileSystems response
+func CreateListCpfsFileSystemsResponse() (response *ListCpfsFileSystemsResponse) {
+	response = &ListCpfsFileSystemsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 5 - 5
services/ehpc/list_file_system_with_mount_targets.go

@@ -83,11 +83,11 @@ type ListFileSystemWithMountTargetsRequest struct {
 // ListFileSystemWithMountTargetsResponse is the response struct for api ListFileSystemWithMountTargets
 // ListFileSystemWithMountTargetsResponse is the response struct for api ListFileSystemWithMountTargets
 type ListFileSystemWithMountTargetsResponse struct {
 type ListFileSystemWithMountTargetsResponse struct {
 	*responses.BaseResponse
 	*responses.BaseResponse
-	RequestId      string         `json:"RequestId" xml:"RequestId"`
-	TotalCount     int            `json:"TotalCount" xml:"TotalCount"`
-	PageNumber     int            `json:"PageNumber" xml:"PageNumber"`
-	PageSize       int            `json:"PageSize" xml:"PageSize"`
-	FileSystemList FileSystemList `json:"FileSystemList" xml:"FileSystemList"`
+	RequestId      string                                         `json:"RequestId" xml:"RequestId"`
+	TotalCount     int                                            `json:"TotalCount" xml:"TotalCount"`
+	PageNumber     int                                            `json:"PageNumber" xml:"PageNumber"`
+	PageSize       int                                            `json:"PageSize" xml:"PageSize"`
+	FileSystemList FileSystemListInListFileSystemWithMountTargets `json:"FileSystemList" xml:"FileSystemList"`
 }
 }
 
 
 // CreateListFileSystemWithMountTargetsRequest creates a request to invoke ListFileSystemWithMountTargets API
 // CreateListFileSystemWithMountTargetsRequest creates a request to invoke ListFileSystemWithMountTargets API

+ 103 - 0
services/ehpc/list_installed_software.go

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

+ 110 - 0
services/ehpc/list_nodes_by_queue.go

@@ -0,0 +1,110 @@
+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"
+)
+
+// ListNodesByQueue invokes the ehpc.ListNodesByQueue API synchronously
+// api document: https://help.aliyun.com/api/ehpc/listnodesbyqueue.html
+func (client *Client) ListNodesByQueue(request *ListNodesByQueueRequest) (response *ListNodesByQueueResponse, err error) {
+	response = CreateListNodesByQueueResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListNodesByQueueWithChan invokes the ehpc.ListNodesByQueue API asynchronously
+// api document: https://help.aliyun.com/api/ehpc/listnodesbyqueue.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListNodesByQueueWithChan(request *ListNodesByQueueRequest) (<-chan *ListNodesByQueueResponse, <-chan error) {
+	responseChan := make(chan *ListNodesByQueueResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListNodesByQueue(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListNodesByQueueWithCallback invokes the ehpc.ListNodesByQueue API asynchronously
+// api document: https://help.aliyun.com/api/ehpc/listnodesbyqueue.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListNodesByQueueWithCallback(request *ListNodesByQueueRequest, callback func(response *ListNodesByQueueResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListNodesByQueueResponse
+		var err error
+		defer close(result)
+		response, err = client.ListNodesByQueue(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListNodesByQueueRequest is the request struct for api ListNodesByQueue
+type ListNodesByQueueRequest struct {
+	*requests.RpcRequest
+	QueueName  string           `position:"Query" name:"QueueName"`
+	PageSize   requests.Integer `position:"Query" name:"PageSize"`
+	ClusterId  string           `position:"Query" name:"ClusterId"`
+	PageNumber requests.Integer `position:"Query" name:"PageNumber"`
+}
+
+// ListNodesByQueueResponse is the response struct for api ListNodesByQueue
+type ListNodesByQueueResponse struct {
+	*responses.BaseResponse
+	RequestId  string                  `json:"RequestId" xml:"RequestId"`
+	TotalCount int                     `json:"TotalCount" xml:"TotalCount"`
+	PageNumber int                     `json:"PageNumber" xml:"PageNumber"`
+	PageSize   int                     `json:"PageSize" xml:"PageSize"`
+	Nodes      NodesInListNodesByQueue `json:"Nodes" xml:"Nodes"`
+}
+
+// CreateListNodesByQueueRequest creates a request to invoke ListNodesByQueue API
+func CreateListNodesByQueueRequest() (request *ListNodesByQueueRequest) {
+	request = &ListNodesByQueueRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("EHPC", "2018-04-12", "ListNodesByQueue", "ehs", "openAPI")
+	return
+}
+
+// CreateListNodesByQueueResponse creates a response to parse from ListNodesByQueue response
+func CreateListNodesByQueueResponse() (response *ListNodesByQueueResponse) {
+	response = &ListNodesByQueueResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 5 - 5
services/ehpc/list_volumes.go

@@ -83,11 +83,11 @@ type ListVolumesRequest struct {
 // ListVolumesResponse is the response struct for api ListVolumes
 // ListVolumesResponse is the response struct for api ListVolumes
 type ListVolumesResponse struct {
 type ListVolumesResponse struct {
 	*responses.BaseResponse
 	*responses.BaseResponse
-	RequestId  string  `json:"RequestId" xml:"RequestId"`
-	TotalCount int     `json:"TotalCount" xml:"TotalCount"`
-	PageNumber int     `json:"PageNumber" xml:"PageNumber"`
-	PageSize   int     `json:"PageSize" xml:"PageSize"`
-	Volumes    Volumes `json:"Volumes" xml:"Volumes"`
+	RequestId  string               `json:"RequestId" xml:"RequestId"`
+	TotalCount int                  `json:"TotalCount" xml:"TotalCount"`
+	PageNumber int                  `json:"PageNumber" xml:"PageNumber"`
+	PageSize   int                  `json:"PageSize" xml:"PageSize"`
+	Volumes    VolumesInListVolumes `json:"Volumes" xml:"Volumes"`
 }
 }
 
 
 // CreateListVolumesRequest creates a request to invoke ListVolumes API
 // CreateListVolumesRequest creates a request to invoke ListVolumes API

+ 107 - 0
services/ehpc/modify_visual_service_passwd.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"
+)
+
+// ModifyVisualServicePasswd invokes the ehpc.ModifyVisualServicePasswd API synchronously
+// api document: https://help.aliyun.com/api/ehpc/modifyvisualservicepasswd.html
+func (client *Client) ModifyVisualServicePasswd(request *ModifyVisualServicePasswdRequest) (response *ModifyVisualServicePasswdResponse, err error) {
+	response = CreateModifyVisualServicePasswdResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyVisualServicePasswdWithChan invokes the ehpc.ModifyVisualServicePasswd API asynchronously
+// api document: https://help.aliyun.com/api/ehpc/modifyvisualservicepasswd.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyVisualServicePasswdWithChan(request *ModifyVisualServicePasswdRequest) (<-chan *ModifyVisualServicePasswdResponse, <-chan error) {
+	responseChan := make(chan *ModifyVisualServicePasswdResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyVisualServicePasswd(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyVisualServicePasswdWithCallback invokes the ehpc.ModifyVisualServicePasswd API asynchronously
+// api document: https://help.aliyun.com/api/ehpc/modifyvisualservicepasswd.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyVisualServicePasswdWithCallback(request *ModifyVisualServicePasswdRequest, callback func(response *ModifyVisualServicePasswdResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyVisualServicePasswdResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyVisualServicePasswd(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyVisualServicePasswdRequest is the request struct for api ModifyVisualServicePasswd
+type ModifyVisualServicePasswdRequest struct {
+	*requests.RpcRequest
+	Passwd            string `position:"Query" name:"Passwd"`
+	RunasUserPassword string `position:"Query" name:"RunasUserPassword"`
+	RunasUser         string `position:"Query" name:"RunasUser"`
+	ClusterId         string `position:"Query" name:"ClusterId"`
+}
+
+// ModifyVisualServicePasswdResponse is the response struct for api ModifyVisualServicePasswd
+type ModifyVisualServicePasswdResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Message   string `json:"Message" xml:"Message"`
+}
+
+// CreateModifyVisualServicePasswdRequest creates a request to invoke ModifyVisualServicePasswd API
+func CreateModifyVisualServicePasswdRequest() (request *ModifyVisualServicePasswdRequest) {
+	request = &ModifyVisualServicePasswdRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("EHPC", "2018-04-12", "ModifyVisualServicePasswd", "ehs", "openAPI")
+	return
+}
+
+// CreateModifyVisualServicePasswdResponse creates a response to parse from ModifyVisualServicePasswd response
+func CreateModifyVisualServicePasswdResponse() (response *ModifyVisualServicePasswdResponse) {
+	response = &ModifyVisualServicePasswdResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 1 - 0
services/ehpc/recover_cluster.go

@@ -78,6 +78,7 @@ type RecoverClusterRequest struct {
 	*requests.RpcRequest
 	*requests.RpcRequest
 	ImageId         string `position:"Query" name:"ImageId"`
 	ImageId         string `position:"Query" name:"ImageId"`
 	OsTag           string `position:"Query" name:"OsTag"`
 	OsTag           string `position:"Query" name:"OsTag"`
+	ClientVersion   string `position:"Query" name:"ClientVersion"`
 	AccountType     string `position:"Query" name:"AccountType"`
 	AccountType     string `position:"Query" name:"AccountType"`
 	SchedulerType   string `position:"Query" name:"SchedulerType"`
 	SchedulerType   string `position:"Query" name:"SchedulerType"`
 	ClusterId       string `position:"Query" name:"ClusterId"`
 	ClusterId       string `position:"Query" name:"ClusterId"`

+ 7 - 6
services/ehpc/set_auto_scale_config.go

@@ -94,12 +94,13 @@ type SetAutoScaleConfigRequest struct {
 
 
 // SetAutoScaleConfigQueues is a repeated param struct in SetAutoScaleConfigRequest
 // SetAutoScaleConfigQueues is a repeated param struct in SetAutoScaleConfigRequest
 type SetAutoScaleConfigQueues struct {
 type SetAutoScaleConfigQueues struct {
-	SpotStrategy     string `name:"SpotStrategy"`
-	QueueName        string `name:"QueueName"`
-	InstanceType     string `name:"InstanceType"`
-	EnableAutoGrow   string `name:"EnableAutoGrow"`
-	SpotPriceLimit   string `name:"SpotPriceLimit"`
-	EnableAutoShrink string `name:"EnableAutoShrink"`
+	SpotStrategy     string    `name:"SpotStrategy"`
+	QueueName        string    `name:"QueueName"`
+	InstanceTypes    *[]string `name:"InstanceTypes" type:"Repeated"`
+	InstanceType     string    `name:"InstanceType"`
+	EnableAutoGrow   string    `name:"EnableAutoGrow"`
+	SpotPriceLimit   string    `name:"SpotPriceLimit"`
+	EnableAutoShrink string    `name:"EnableAutoShrink"`
 }
 }
 
 
 // SetAutoScaleConfigResponse is the response struct for api SetAutoScaleConfig
 // SetAutoScaleConfigResponse is the response struct for api SetAutoScaleConfig

+ 110 - 0
services/ehpc/set_queue.go

@@ -0,0 +1,110 @@
+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"
+)
+
+// SetQueue invokes the ehpc.SetQueue API synchronously
+// api document: https://help.aliyun.com/api/ehpc/setqueue.html
+func (client *Client) SetQueue(request *SetQueueRequest) (response *SetQueueResponse, err error) {
+	response = CreateSetQueueResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SetQueueWithChan invokes the ehpc.SetQueue API asynchronously
+// api document: https://help.aliyun.com/api/ehpc/setqueue.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SetQueueWithChan(request *SetQueueRequest) (<-chan *SetQueueResponse, <-chan error) {
+	responseChan := make(chan *SetQueueResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SetQueue(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SetQueueWithCallback invokes the ehpc.SetQueue API asynchronously
+// api document: https://help.aliyun.com/api/ehpc/setqueue.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SetQueueWithCallback(request *SetQueueRequest, callback func(response *SetQueueResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SetQueueResponse
+		var err error
+		defer close(result)
+		response, err = client.SetQueue(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SetQueueRequest is the request struct for api SetQueue
+type SetQueueRequest struct {
+	*requests.RpcRequest
+	QueueName string          `position:"Query" name:"QueueName"`
+	Node      *[]SetQueueNode `position:"Query" name:"Node"  type:"Repeated"`
+	ClusterId string          `position:"Query" name:"ClusterId"`
+}
+
+// SetQueueNode is a repeated param struct in SetQueueRequest
+type SetQueueNode struct {
+	Name string `name:"Name"`
+}
+
+// SetQueueResponse is the response struct for api SetQueue
+type SetQueueResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateSetQueueRequest creates a request to invoke SetQueue API
+func CreateSetQueueRequest() (request *SetQueueRequest) {
+	request = &SetQueueRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("EHPC", "2018-04-12", "SetQueue", "ehs", "openAPI")
+	return
+}
+
+// CreateSetQueueResponse creates a response to parse from SetQueue response
+func CreateSetQueueResponse() (response *SetQueueResponse) {
+	response = &SetQueueResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/ehpc/start_visual_service.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"
+)
+
+// StartVisualService invokes the ehpc.StartVisualService API synchronously
+// api document: https://help.aliyun.com/api/ehpc/startvisualservice.html
+func (client *Client) StartVisualService(request *StartVisualServiceRequest) (response *StartVisualServiceResponse, err error) {
+	response = CreateStartVisualServiceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// StartVisualServiceWithChan invokes the ehpc.StartVisualService API asynchronously
+// api document: https://help.aliyun.com/api/ehpc/startvisualservice.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) StartVisualServiceWithChan(request *StartVisualServiceRequest) (<-chan *StartVisualServiceResponse, <-chan error) {
+	responseChan := make(chan *StartVisualServiceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.StartVisualService(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// StartVisualServiceWithCallback invokes the ehpc.StartVisualService API asynchronously
+// api document: https://help.aliyun.com/api/ehpc/startvisualservice.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) StartVisualServiceWithCallback(request *StartVisualServiceRequest, callback func(response *StartVisualServiceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *StartVisualServiceResponse
+		var err error
+		defer close(result)
+		response, err = client.StartVisualService(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// StartVisualServiceRequest is the request struct for api StartVisualService
+type StartVisualServiceRequest struct {
+	*requests.RpcRequest
+	Port      requests.Integer `position:"Query" name:"Port"`
+	ClusterId string           `position:"Query" name:"ClusterId"`
+	CidrIp    string           `position:"Query" name:"CidrIp"`
+}
+
+// StartVisualServiceResponse is the response struct for api StartVisualService
+type StartVisualServiceResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Message   string `json:"Message" xml:"Message"`
+}
+
+// CreateStartVisualServiceRequest creates a request to invoke StartVisualService API
+func CreateStartVisualServiceRequest() (request *StartVisualServiceRequest) {
+	request = &StartVisualServiceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("EHPC", "2018-04-12", "StartVisualService", "ehs", "openAPI")
+	return
+}
+
+// CreateStartVisualServiceResponse creates a response to parse from StartVisualService response
+func CreateStartVisualServiceResponse() (response *StartVisualServiceResponse) {
+	response = &StartVisualServiceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/ehpc/stop_visual_service.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"
+)
+
+// StopVisualService invokes the ehpc.StopVisualService API synchronously
+// api document: https://help.aliyun.com/api/ehpc/stopvisualservice.html
+func (client *Client) StopVisualService(request *StopVisualServiceRequest) (response *StopVisualServiceResponse, err error) {
+	response = CreateStopVisualServiceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// StopVisualServiceWithChan invokes the ehpc.StopVisualService API asynchronously
+// api document: https://help.aliyun.com/api/ehpc/stopvisualservice.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) StopVisualServiceWithChan(request *StopVisualServiceRequest) (<-chan *StopVisualServiceResponse, <-chan error) {
+	responseChan := make(chan *StopVisualServiceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.StopVisualService(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// StopVisualServiceWithCallback invokes the ehpc.StopVisualService API asynchronously
+// api document: https://help.aliyun.com/api/ehpc/stopvisualservice.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) StopVisualServiceWithCallback(request *StopVisualServiceRequest, callback func(response *StopVisualServiceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *StopVisualServiceResponse
+		var err error
+		defer close(result)
+		response, err = client.StopVisualService(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// StopVisualServiceRequest is the request struct for api StopVisualService
+type StopVisualServiceRequest struct {
+	*requests.RpcRequest
+	Port      requests.Integer `position:"Query" name:"Port"`
+	ClusterId string           `position:"Query" name:"ClusterId"`
+	CidrIp    string           `position:"Query" name:"CidrIp"`
+}
+
+// StopVisualServiceResponse is the response struct for api StopVisualService
+type StopVisualServiceResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Message   string `json:"Message" xml:"Message"`
+}
+
+// CreateStopVisualServiceRequest creates a request to invoke StopVisualService API
+func CreateStopVisualServiceRequest() (request *StopVisualServiceRequest) {
+	request = &StopVisualServiceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("EHPC", "2018-04-12", "StopVisualService", "ehs", "openAPI")
+	return
+}
+
+// CreateStopVisualServiceResponse creates a response to parse from StopVisualService response
+func CreateStopVisualServiceResponse() (response *StopVisualServiceResponse) {
+	response = &StopVisualServiceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 2 - 2
services/ehpc/struct_volumes.go → services/ehpc/struct_additional_volumes.go

@@ -15,7 +15,7 @@ package ehpc
 // Code generated by Alibaba Cloud SDK Code Generator.
 // Code generated by Alibaba Cloud SDK Code Generator.
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 
 
-// Volumes is a nested struct in ehpc response
-type Volumes struct {
+// AdditionalVolumes is a nested struct in ehpc response
+type AdditionalVolumes struct {
 	VolumeInfo []VolumeInfo `json:"VolumeInfo" xml:"VolumeInfo"`
 	VolumeInfo []VolumeInfo `json:"VolumeInfo" xml:"VolumeInfo"`
 }
 }

+ 16 - 14
services/ehpc/struct_cluster_info_simple.go

@@ -17,26 +17,28 @@ package ehpc
 
 
 // ClusterInfoSimple is a nested struct in ehpc response
 // ClusterInfoSimple is a nested struct in ehpc response
 type ClusterInfoSimple struct {
 type ClusterInfoSimple struct {
-	Id              string         `json:"Id" xml:"Id"`
-	RegionId        string         `json:"RegionId" xml:"RegionId"`
-	ZoneId          string         `json:"ZoneId" xml:"ZoneId"`
 	Name            string         `json:"Name" xml:"Name"`
 	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"`
-	DeployMode      string         `json:"DeployMode" xml:"DeployMode"`
 	Count           int            `json:"Count" xml:"Count"`
 	Count           int            `json:"Count" xml:"Count"`
+	AccountType     string         `json:"AccountType" xml:"AccountType"`
+	VSwitchId       string         `json:"VSwitchId" xml:"VSwitchId"`
+	ImageId         string         `json:"ImageId" xml:"ImageId"`
+	ImageOwnerAlias string         `json:"ImageOwnerAlias" xml:"ImageOwnerAlias"`
+	CreateTime      string         `json:"CreateTime" xml:"CreateTime"`
 	InstanceType    string         `json:"InstanceType" xml:"InstanceType"`
 	InstanceType    string         `json:"InstanceType" xml:"InstanceType"`
 	LoginNodes      string         `json:"LoginNodes" xml:"LoginNodes"`
 	LoginNodes      string         `json:"LoginNodes" xml:"LoginNodes"`
-	CreateTime      string         `json:"CreateTime" xml:"CreateTime"`
-	ImageOwnerAlias string         `json:"ImageOwnerAlias" xml:"ImageOwnerAlias"`
-	ImageId         string         `json:"ImageId" xml:"ImageId"`
 	Location        string         `json:"Location" xml:"Location"`
 	Location        string         `json:"Location" xml:"Location"`
+	RegionId        string         `json:"RegionId" xml:"RegionId"`
+	ZoneId          string         `json:"ZoneId" xml:"ZoneId"`
+	OsTag           string         `json:"OsTag" xml:"OsTag"`
+	SchedulerType   string         `json:"SchedulerType" xml:"SchedulerType"`
 	EhpcVersion     string         `json:"EhpcVersion" xml:"EhpcVersion"`
 	EhpcVersion     string         `json:"EhpcVersion" xml:"EhpcVersion"`
-	Managers        Managers       `json:"Managers" xml:"Managers"`
-	Computes        Computes       `json:"Computes" xml:"Computes"`
+	Id              string         `json:"Id" xml:"Id"`
+	Status          string         `json:"Status" xml:"Status"`
+	VpcId           string         `json:"VpcId" xml:"VpcId"`
+	DeployMode      string         `json:"DeployMode" xml:"DeployMode"`
+	Description     string         `json:"Description" xml:"Description"`
 	TotalResources  TotalResources `json:"TotalResources" xml:"TotalResources"`
 	TotalResources  TotalResources `json:"TotalResources" xml:"TotalResources"`
 	UsedResources   UsedResources  `json:"UsedResources" xml:"UsedResources"`
 	UsedResources   UsedResources  `json:"UsedResources" xml:"UsedResources"`
+	Managers        Managers       `json:"Managers" xml:"Managers"`
+	Computes        Computes       `json:"Computes" xml:"Computes"`
 }
 }

+ 2 - 2
services/ehpc/struct_clusters.go → services/ehpc/struct_clusters_in_list_clusters.go

@@ -15,7 +15,7 @@ package ehpc
 // Code generated by Alibaba Cloud SDK Code Generator.
 // Code generated by Alibaba Cloud SDK Code Generator.
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 
 
-// Clusters is a nested struct in ehpc response
-type Clusters struct {
+// ClustersInListClusters is a nested struct in ehpc response
+type ClustersInListClusters struct {
 	ClusterInfoSimple []ClusterInfoSimple `json:"ClusterInfoSimple" xml:"ClusterInfoSimple"`
 	ClusterInfoSimple []ClusterInfoSimple `json:"ClusterInfoSimple" xml:"ClusterInfoSimple"`
 }
 }

+ 21 - 0
services/ehpc/struct_clusters_in_list_clusters_meta.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.
+
+// ClustersInListClustersMeta is a nested struct in ehpc response
+type ClustersInListClustersMeta struct {
+	ClusterInfoSimple []ClusterInfoSimple `json:"ClusterInfoSimple" xml:"ClusterInfoSimple"`
+}

+ 2 - 2
services/ehpc/struct_file_system_list.go → services/ehpc/struct_file_system_list_in_list_cpfs_file_systems.go

@@ -15,7 +15,7 @@ package ehpc
 // Code generated by Alibaba Cloud SDK Code Generator.
 // Code generated by Alibaba Cloud SDK Code Generator.
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 
 
-// FileSystemList is a nested struct in ehpc response
-type FileSystemList struct {
+// FileSystemListInListCpfsFileSystems is a nested struct in ehpc response
+type FileSystemListInListCpfsFileSystems struct {
 	FileSystems []FileSystems `json:"FileSystems" xml:"FileSystems"`
 	FileSystems []FileSystems `json:"FileSystems" xml:"FileSystems"`
 }
 }

+ 21 - 0
services/ehpc/struct_file_system_list_in_list_file_system_with_mount_targets.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.
+
+// FileSystemListInListFileSystemWithMountTargets is a nested struct in ehpc response
+type FileSystemListInListFileSystemWithMountTargets struct {
+	FileSystems []FileSystems `json:"FileSystems" xml:"FileSystems"`
+}

+ 21 - 0
services/ehpc/struct_file_system_type_list.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.
+
+// FileSystemTypeList is a nested struct in ehpc response
+type FileSystemTypeList struct {
+	FileSystemTypes []FileSystemTypes `json:"FileSystemTypes" xml:"FileSystemTypes"`
+}

+ 24 - 0
services/ehpc/struct_file_system_types.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.
+
+// FileSystemTypes is a nested struct in ehpc response
+type FileSystemTypes struct {
+	FileSystemType string       `json:"FileSystemType" xml:"FileSystemType"`
+	Available      bool         `json:"Available" xml:"Available"`
+	ProtocolType   string       `json:"ProtocolType" xml:"ProtocolType"`
+	StorageTypes   StorageTypes `json:"StorageTypes" xml:"StorageTypes"`
+}

+ 11 - 9
services/ehpc/struct_file_systems.go

@@ -17,13 +17,15 @@ package ehpc
 
 
 // FileSystems is a nested struct in ehpc response
 // FileSystems is a nested struct in ehpc response
 type FileSystems struct {
 type FileSystems struct {
-	RegionId        string          `json:"RegionId" xml:"RegionId"`
-	FileSystemId    string          `json:"FileSystemId" xml:"FileSystemId"`
-	ProtocolType    string          `json:"ProtocolType" xml:"ProtocolType"`
-	CreateTime      string          `json:"CreateTime" xml:"CreateTime"`
-	Destription     string          `json:"Destription" xml:"Destription"`
-	StorageType     string          `json:"StorageType" xml:"StorageType"`
-	MeteredSize     string          `json:"MeteredSize" xml:"MeteredSize"`
-	PackageList     PackageList     `json:"PackageList" xml:"PackageList"`
-	MountTargetList MountTargetList `json:"MountTargetList" xml:"MountTargetList"`
+	FileSystemId    string                               `json:"FileSystemId" xml:"FileSystemId"`
+	RegionId        string                               `json:"RegionId" xml:"RegionId"`
+	StorageType     string                               `json:"StorageType" xml:"StorageType"`
+	ZoneId          string                               `json:"ZoneId" xml:"ZoneId"`
+	CreateTime      string                               `json:"CreateTime" xml:"CreateTime"`
+	ProtocolType    string                               `json:"ProtocolType" xml:"ProtocolType"`
+	Capacity        string                               `json:"Capacity" xml:"Capacity"`
+	MeteredSize     string                               `json:"MeteredSize" xml:"MeteredSize"`
+	Destription     string                               `json:"Destription" xml:"Destription"`
+	PackageList     PackageList                          `json:"PackageList" xml:"PackageList"`
+	MountTargetList MountTargetListInListCpfsFileSystems `json:"MountTargetList" xml:"MountTargetList"`
 }
 }

+ 1 - 0
services/ehpc/struct_image_info.go

@@ -25,6 +25,7 @@ type ImageInfo struct {
 	System            string    `json:"System" xml:"System"`
 	System            string    `json:"System" xml:"System"`
 	PostInstallScript string    `json:"PostInstallScript" xml:"PostInstallScript"`
 	PostInstallScript string    `json:"PostInstallScript" xml:"PostInstallScript"`
 	ProductCode       string    `json:"ProductCode" xml:"ProductCode"`
 	ProductCode       string    `json:"ProductCode" xml:"ProductCode"`
+	Size              int       `json:"Size" xml:"Size"`
 	Tag               string    `json:"Tag" xml:"Tag"`
 	Tag               string    `json:"Tag" xml:"Tag"`
 	PricingCycle      string    `json:"PricingCycle" xml:"PricingCycle"`
 	PricingCycle      string    `json:"PricingCycle" xml:"PricingCycle"`
 	ImageName         string    `json:"ImageName" xml:"ImageName"`
 	ImageName         string    `json:"ImageName" xml:"ImageName"`

+ 23 - 0
services/ehpc/struct_instance_type_info.go

@@ -0,0 +1,23 @@
+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.
+
+// InstanceTypeInfo is a nested struct in ehpc response
+type InstanceTypeInfo struct {
+	InstanceType   string  `json:"InstanceType" xml:"InstanceType"`
+	SpotStrategy   string  `json:"SpotStrategy" xml:"SpotStrategy"`
+	SpotPriceLimit float64 `json:"SpotPriceLimit" xml:"SpotPriceLimit"`
+}

+ 21 - 0
services/ehpc/struct_instance_types.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.
+
+// InstanceTypes is a nested struct in ehpc response
+type InstanceTypes struct {
+	InstanceTypeInfo []InstanceTypeInfo `json:"InstanceTypeInfo" xml:"InstanceTypeInfo"`
+}

+ 21 - 0
services/ehpc/struct_message.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.
+
+// Message is a nested struct in ehpc response
+type Message struct {
+	JobInfo string `json:"JobInfo" xml:"JobInfo"`
+}

+ 2 - 2
services/ehpc/struct_mount_target_list.go → services/ehpc/struct_mount_target_list_in_list_cpfs_file_systems.go

@@ -15,7 +15,7 @@ package ehpc
 // Code generated by Alibaba Cloud SDK Code Generator.
 // Code generated by Alibaba Cloud SDK Code Generator.
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 
 
-// MountTargetList is a nested struct in ehpc response
-type MountTargetList struct {
+// MountTargetListInListCpfsFileSystems is a nested struct in ehpc response
+type MountTargetListInListCpfsFileSystems struct {
 	MountTargets []MountTargets `json:"MountTargets" xml:"MountTargets"`
 	MountTargets []MountTargets `json:"MountTargets" xml:"MountTargets"`
 }
 }

+ 21 - 0
services/ehpc/struct_mount_target_list_in_list_file_system_with_mount_targets.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.
+
+// MountTargetListInListFileSystemWithMountTargets is a nested struct in ehpc response
+type MountTargetListInListFileSystemWithMountTargets struct {
+	MountTargets []MountTargets `json:"MountTargets" xml:"MountTargets"`
+}

+ 2 - 2
services/ehpc/struct_mount_targets.go

@@ -17,10 +17,10 @@ package ehpc
 
 
 // MountTargets is a nested struct in ehpc response
 // MountTargets is a nested struct in ehpc response
 type MountTargets struct {
 type MountTargets struct {
+	VswId             string `json:"VswId" xml:"VswId"`
 	MountTargetDomain string `json:"MountTargetDomain" xml:"MountTargetDomain"`
 	MountTargetDomain string `json:"MountTargetDomain" xml:"MountTargetDomain"`
+	AccessGroup       string `json:"AccessGroup" xml:"AccessGroup"`
 	Status            string `json:"Status" xml:"Status"`
 	Status            string `json:"Status" xml:"Status"`
 	NetworkType       string `json:"NetworkType" xml:"NetworkType"`
 	NetworkType       string `json:"NetworkType" xml:"NetworkType"`
-	VswId             string `json:"VswId" xml:"VswId"`
 	VpcId             string `json:"VpcId" xml:"VpcId"`
 	VpcId             string `json:"VpcId" xml:"VpcId"`
-	AccessGroup       string `json:"AccessGroup" xml:"AccessGroup"`
 }
 }

+ 21 - 0
services/ehpc/struct_nodes_in_list_nodes_by_queue.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.
+
+// NodesInListNodesByQueue is a nested struct in ehpc response
+type NodesInListNodesByQueue struct {
+	NodeInfo []NodeInfo `json:"NodeInfo" xml:"NodeInfo"`
+}

+ 8 - 7
services/ehpc/struct_queue_info.go

@@ -17,11 +17,12 @@ package ehpc
 
 
 // QueueInfo is a nested struct in ehpc response
 // QueueInfo is a nested struct in ehpc response
 type QueueInfo struct {
 type QueueInfo struct {
-	QueueName        string  `json:"QueueName" xml:"QueueName"`
-	SpotPriceLimit   float64 `json:"SpotPriceLimit" xml:"SpotPriceLimit"`
-	EnableAutoGrow   bool    `json:"EnableAutoGrow" xml:"EnableAutoGrow"`
-	EnableAutoShrink bool    `json:"EnableAutoShrink" xml:"EnableAutoShrink"`
-	InstanceType     string  `json:"InstanceType" xml:"InstanceType"`
-	SpotStrategy     string  `json:"SpotStrategy" xml:"SpotStrategy"`
-	Type             string  `json:"Type" xml:"Type"`
+	QueueName        string        `json:"QueueName" xml:"QueueName"`
+	SpotPriceLimit   float64       `json:"SpotPriceLimit" xml:"SpotPriceLimit"`
+	EnableAutoGrow   bool          `json:"EnableAutoGrow" xml:"EnableAutoGrow"`
+	EnableAutoShrink bool          `json:"EnableAutoShrink" xml:"EnableAutoShrink"`
+	InstanceType     string        `json:"InstanceType" xml:"InstanceType"`
+	SpotStrategy     string        `json:"SpotStrategy" xml:"SpotStrategy"`
+	Type             string        `json:"Type" xml:"Type"`
+	InstanceTypes    InstanceTypes `json:"InstanceTypes" xml:"InstanceTypes"`
 }
 }

+ 21 - 0
services/ehpc/struct_role_info.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.
+
+// RoleInfo is a nested struct in ehpc response
+type RoleInfo struct {
+	Name string `json:"Name" xml:"Name"`
+}

+ 21 - 0
services/ehpc/struct_roles_in_get_cluster_volumes.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.
+
+// RolesInGetClusterVolumes is a nested struct in ehpc response
+type RolesInGetClusterVolumes struct {
+	RoleInfo []RoleInfo `json:"RoleInfo" xml:"RoleInfo"`
+}

+ 21 - 0
services/ehpc/struct_software_list.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.
+
+// SoftwareList is a nested struct in ehpc response
+type SoftwareList struct {
+	SoftwareListItem []SoftwareListItem `json:"SoftwareListItem" xml:"SoftwareListItem"`
+}

+ 24 - 0
services/ehpc/struct_software_list_item.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.
+
+// SoftwareListItem is a nested struct in ehpc response
+type SoftwareListItem struct {
+	SoftwareId      string `json:"SoftwareId" xml:"SoftwareId"`
+	SoftwareName    string `json:"SoftwareName" xml:"SoftwareName"`
+	SoftwareVersion string `json:"SoftwareVersion" xml:"SoftwareVersion"`
+	SoftwareStatus  string `json:"SoftwareStatus" xml:"SoftwareStatus"`
+}

+ 21 - 0
services/ehpc/struct_storage_types.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.
+
+// StorageTypes is a nested struct in ehpc response
+type StorageTypes struct {
+	StorageType []string `json:"StorageType" xml:"StorageType"`
+}

+ 15 - 8
services/ehpc/struct_volume_info.go

@@ -17,12 +17,19 @@ package ehpc
 
 
 // VolumeInfo is a nested struct in ehpc response
 // VolumeInfo is a nested struct in ehpc response
 type VolumeInfo struct {
 type VolumeInfo struct {
-	RegionId         string `json:"RegionId" xml:"RegionId"`
-	ClusterId        string `json:"ClusterId" xml:"ClusterId"`
-	ClusterName      string `json:"ClusterName" xml:"ClusterName"`
-	VolumeId         string `json:"VolumeId" xml:"VolumeId"`
-	VolumeType       string `json:"VolumeType" xml:"VolumeType"`
-	VolumeProtocol   string `json:"VolumeProtocol" xml:"VolumeProtocol"`
-	VolumeMountpoint string `json:"VolumeMountpoint" xml:"VolumeMountpoint"`
-	RemoteDirectory  string `json:"RemoteDirectory" xml:"RemoteDirectory"`
+	ClusterId         string                   `json:"ClusterId" xml:"ClusterId"`
+	VolumeId          string                   `json:"VolumeId" xml:"VolumeId"`
+	VolumeProtocol    string                   `json:"VolumeProtocol" xml:"VolumeProtocol"`
+	VolumeType        string                   `json:"VolumeType" xml:"VolumeType"`
+	RemoteDirectory   string                   `json:"RemoteDirectory" xml:"RemoteDirectory"`
+	Location          string                   `json:"Location" xml:"Location"`
+	LocalDirectory    string                   `json:"LocalDirectory" xml:"LocalDirectory"`
+	VolumeMountpoint  string                   `json:"VolumeMountpoint" xml:"VolumeMountpoint"`
+	RegionId          string                   `json:"RegionId" xml:"RegionId"`
+	Role              string                   `json:"Role" xml:"Role"`
+	JobQueue          string                   `json:"JobQueue" xml:"JobQueue"`
+	ClusterName       string                   `json:"ClusterName" xml:"ClusterName"`
+	MustKeep          bool                     `json:"MustKeep" xml:"MustKeep"`
+	Roles             RolesInGetClusterVolumes `json:"Roles" xml:"Roles"`
+	AdditionalVolumes AdditionalVolumes        `json:"AdditionalVolumes" xml:"AdditionalVolumes"`
 }
 }

+ 21 - 0
services/ehpc/struct_volumes_in_get_cluster_volumes.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.
+
+// VolumesInGetClusterVolumes is a nested struct in ehpc response
+type VolumesInGetClusterVolumes struct {
+	VolumeInfo []VolumeInfo `json:"VolumeInfo" xml:"VolumeInfo"`
+}

+ 21 - 0
services/ehpc/struct_volumes_in_list_volumes.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.
+
+// VolumesInListVolumes is a nested struct in ehpc response
+type VolumesInListVolumes struct {
+	VolumeInfo []VolumeInfo `json:"VolumeInfo" xml:"VolumeInfo"`
+}

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

+ 117 - 0
services/ehpc/update_cluster_volumes.go

@@ -0,0 +1,117 @@
+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"
+)
+
+// UpdateClusterVolumes invokes the ehpc.UpdateClusterVolumes API synchronously
+// api document: https://help.aliyun.com/api/ehpc/updateclustervolumes.html
+func (client *Client) UpdateClusterVolumes(request *UpdateClusterVolumesRequest) (response *UpdateClusterVolumesResponse, err error) {
+	response = CreateUpdateClusterVolumesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// UpdateClusterVolumesWithChan invokes the ehpc.UpdateClusterVolumes API asynchronously
+// api document: https://help.aliyun.com/api/ehpc/updateclustervolumes.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UpdateClusterVolumesWithChan(request *UpdateClusterVolumesRequest) (<-chan *UpdateClusterVolumesResponse, <-chan error) {
+	responseChan := make(chan *UpdateClusterVolumesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.UpdateClusterVolumes(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// UpdateClusterVolumesWithCallback invokes the ehpc.UpdateClusterVolumes API asynchronously
+// api document: https://help.aliyun.com/api/ehpc/updateclustervolumes.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UpdateClusterVolumesWithCallback(request *UpdateClusterVolumesRequest, callback func(response *UpdateClusterVolumesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *UpdateClusterVolumesResponse
+		var err error
+		defer close(result)
+		response, err = client.UpdateClusterVolumes(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// UpdateClusterVolumesRequest is the request struct for api UpdateClusterVolumes
+type UpdateClusterVolumesRequest struct {
+	*requests.RpcRequest
+	AdditionalVolumes *[]UpdateClusterVolumesAdditionalVolumes `position:"Query" name:"AdditionalVolumes"  type:"Repeated"`
+	ClusterId         string                                   `position:"Query" name:"ClusterId"`
+}
+
+// UpdateClusterVolumesAdditionalVolumes is a repeated param struct in UpdateClusterVolumesRequest
+type UpdateClusterVolumesAdditionalVolumes struct {
+	VolumeType       string    `name:"VolumeType"`
+	VolumeProtocol   string    `name:"VolumeProtocol"`
+	LocalDirectory   string    `name:"LocalDirectory"`
+	RemoteDirectory  string    `name:"RemoteDirectory"`
+	Roles            *[]string `name:"Roles" type:"Repeated"`
+	VolumeId         string    `name:"VolumeId"`
+	VolumeMountpoint string    `name:"VolumeMountpoint"`
+	Location         string    `name:"Location"`
+	JobQueue         string    `name:"JobQueue"`
+}
+
+// UpdateClusterVolumesResponse is the response struct for api UpdateClusterVolumes
+type UpdateClusterVolumesResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateUpdateClusterVolumesRequest creates a request to invoke UpdateClusterVolumes API
+func CreateUpdateClusterVolumesRequest() (request *UpdateClusterVolumesRequest) {
+	request = &UpdateClusterVolumesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("EHPC", "2018-04-12", "UpdateClusterVolumes", "ehs", "openAPI")
+	return
+}
+
+// CreateUpdateClusterVolumesResponse creates a response to parse from UpdateClusterVolumes response
+func CreateUpdateClusterVolumesResponse() (response *UpdateClusterVolumesResponse) {
+	response = &UpdateClusterVolumesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}