Explorar o código

Generate NAS go SDK by JacksonTian

Jackson Tian %!s(int64=7) %!d(string=hai) anos
pai
achega
14d7e3f223
Modificáronse 40 ficheiros con 1177 adicións e 356 borrados
  1. 23 2
      services/nas/client.go
  2. 2 2
      services/nas/create_access_group.go
  3. 2 2
      services/nas/create_access_rule.go
  4. 2 2
      services/nas/create_file_system.go
  5. 2 2
      services/nas/create_mount_target.go
  6. 112 0
      services/nas/create_tiering_job.go
  7. 112 0
      services/nas/create_tiering_policy.go
  8. 2 2
      services/nas/delete_access_group.go
  9. 2 2
      services/nas/delete_access_rule.go
  10. 2 2
      services/nas/delete_file_system.go
  11. 2 2
      services/nas/delete_mount_target.go
  12. 105 0
      services/nas/delete_tiering_job.go
  13. 104 0
      services/nas/delete_tiering_policy.go
  14. 19 7
      services/nas/describe_access_groups.go
  15. 19 7
      services/nas/describe_access_rules.go
  16. 39 7
      services/nas/describe_file_systems.go
  17. 20 7
      services/nas/describe_mount_targets.go
  18. 17 7
      services/nas/describe_regions.go
  19. 125 0
      services/nas/describe_tiering_jobs.go
  20. 122 0
      services/nas/describe_tiering_policies.go
  21. 113 0
      services/nas/describe_zones.go
  22. 2 2
      services/nas/modify_access_group.go
  23. 2 2
      services/nas/modify_access_rule.go
  24. 2 2
      services/nas/modify_file_system.go
  25. 2 2
      services/nas/modify_mount_target.go
  26. 112 0
      services/nas/modify_tiering_job.go
  27. 111 0
      services/nas/modify_tiering_policy.go
  28. 0 25
      services/nas/struct_access_group.go
  29. 0 21
      services/nas/struct_access_groups.go
  30. 0 25
      services/nas/struct_access_rule.go
  31. 0 21
      services/nas/struct_access_rules.go
  32. 0 29
      services/nas/struct_file_system.go
  33. 0 21
      services/nas/struct_file_systems.go
  34. 0 26
      services/nas/struct_mount_target.go
  35. 0 21
      services/nas/struct_mount_targets_in_describe_file_systems.go
  36. 0 21
      services/nas/struct_mount_targets_in_describe_mount_targets.go
  37. 0 21
      services/nas/struct_package.go
  38. 0 21
      services/nas/struct_packages.go
  39. 0 22
      services/nas/struct_region.go
  40. 0 21
      services/nas/struct_regions.go

+ 23 - 2
services/nas/client.go

@@ -1,5 +1,3 @@
-package nas
-
 //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
@@ -15,9 +13,12 @@ package nas
 // Code generated by Alibaba Cloud SDK Code Generator.
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 
+package nas
+
 import (
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk"
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth/credentials/provider"
 )
 
 // Client is the sdk client struct, each func corresponds to an OpenAPI
@@ -32,6 +33,18 @@ func NewClient() (client *Client, err error) {
 	return
 }
 
+func NewClientWithProvider(regionId string, providers ...provider.Provider) (client *Client, err error) {
+	client = &Client{}
+	var pc provider.Provider
+	if len(providers) == 0 {
+		pc = provider.DefaultChain
+	} else {
+		pc = provider.NewProviderChain(providers)
+	}
+	err = client.InitWithProviderChain(regionId, pc)
+	return
+}
+
 // NewClientWithOptions creates a sdk client with regionId/sdkConfig/credential
 // this is the common api to create a sdk client
 func NewClientWithOptions(regionId string, config *sdk.Config, credential auth.Credential) (client *Client, err error) {
@@ -64,6 +77,14 @@ func NewClientWithRamRoleArn(regionId string, accessKeyId, accessKeySecret, role
 	return
 }
 
+// NewClientWithRamRoleArn is a shortcut to create sdk client with ram roleArn and policy
+// usage: https://help.aliyun.com/document_detail/28763.html
+func NewClientWithRamRoleArnAndPolicy(regionId string, accessKeyId, accessKeySecret, roleArn, roleSessionName, policy string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithRamRoleArnAndPolicy(regionId, accessKeyId, accessKeySecret, roleArn, roleSessionName, policy)
+	return
+}
+
 // NewClientWithEcsRamRole is a shortcut to create sdk client with ecs ram role
 // usage: https://help.aliyun.com/document_detail/66223.html
 func NewClientWithEcsRamRole(regionId string, roleName string) (client *Client, err error) {

+ 2 - 2
services/nas/create_access_group.go

@@ -1,5 +1,3 @@
-package nas
-
 //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
@@ -15,6 +13,8 @@ package nas
 // Code generated by Alibaba Cloud SDK Code Generator.
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 
+package nas
+
 import (
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"

+ 2 - 2
services/nas/create_access_rule.go

@@ -1,5 +1,3 @@
-package nas
-
 //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
@@ -15,6 +13,8 @@ package nas
 // Code generated by Alibaba Cloud SDK Code Generator.
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 
+package nas
+
 import (
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"

+ 2 - 2
services/nas/create_file_system.go

@@ -1,5 +1,3 @@
-package nas
-
 //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
@@ -15,6 +13,8 @@ package nas
 // Code generated by Alibaba Cloud SDK Code Generator.
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 
+package nas
+
 import (
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"

+ 2 - 2
services/nas/create_mount_target.go

@@ -1,5 +1,3 @@
-package nas
-
 //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
@@ -15,6 +13,8 @@ package nas
 // Code generated by Alibaba Cloud SDK Code Generator.
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 
+package nas
+
 import (
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"

+ 112 - 0
services/nas/create_tiering_job.go

@@ -0,0 +1,112 @@
+//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.
+
+package nas
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// CreateTieringJob invokes the nas.CreateTieringJob API synchronously
+// api document: https://help.aliyun.com/api/nas/createtieringjob.html
+func (client *Client) CreateTieringJob(request *CreateTieringJobRequest) (response *CreateTieringJobResponse, err error) {
+	response = CreateCreateTieringJobResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateTieringJobWithChan invokes the nas.CreateTieringJob API asynchronously
+// api document: https://help.aliyun.com/api/nas/createtieringjob.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateTieringJobWithChan(request *CreateTieringJobRequest) (<-chan *CreateTieringJobResponse, <-chan error) {
+	responseChan := make(chan *CreateTieringJobResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateTieringJob(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateTieringJobWithCallback invokes the nas.CreateTieringJob API asynchronously
+// api document: https://help.aliyun.com/api/nas/createtieringjob.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateTieringJobWithCallback(request *CreateTieringJobRequest, callback func(response *CreateTieringJobResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateTieringJobResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateTieringJob(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateTieringJobRequest is the request struct for api CreateTieringJob
+type CreateTieringJobRequest struct {
+	*requests.RpcRequest
+	Volume    string           `position:"Query" name:"Volume"`
+	Name      string           `position:"Query" name:"Name"`
+	Type      string           `position:"Query" name:"Type"`
+	Path      string           `position:"Query" name:"Path"`
+	Recursive requests.Boolean `position:"Query" name:"Recursive"`
+	Policy    string           `position:"Query" name:"Policy"`
+	Weekday   requests.Integer `position:"Query" name:"Weekday"`
+	Hour      requests.Integer `position:"Query" name:"Hour"`
+	Enabled   requests.Boolean `position:"Query" name:"Enabled"`
+}
+
+// CreateTieringJobResponse is the response struct for api CreateTieringJob
+type CreateTieringJobResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Success   bool   `json:"Success" xml:"Success"`
+}
+
+// CreateCreateTieringJobRequest creates a request to invoke CreateTieringJob API
+func CreateCreateTieringJobRequest() (request *CreateTieringJobRequest) {
+	request = &CreateTieringJobRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("NAS", "2017-06-26", "CreateTieringJob", "nas", "openAPI")
+	return
+}
+
+// CreateCreateTieringJobResponse creates a response to parse from CreateTieringJob response
+func CreateCreateTieringJobResponse() (response *CreateTieringJobResponse) {
+	response = &CreateTieringJobResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/nas/create_tiering_policy.go

@@ -0,0 +1,112 @@
+//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.
+
+package nas
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// CreateTieringPolicy invokes the nas.CreateTieringPolicy API synchronously
+// api document: https://help.aliyun.com/api/nas/createtieringpolicy.html
+func (client *Client) CreateTieringPolicy(request *CreateTieringPolicyRequest) (response *CreateTieringPolicyResponse, err error) {
+	response = CreateCreateTieringPolicyResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateTieringPolicyWithChan invokes the nas.CreateTieringPolicy API asynchronously
+// api document: https://help.aliyun.com/api/nas/createtieringpolicy.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateTieringPolicyWithChan(request *CreateTieringPolicyRequest) (<-chan *CreateTieringPolicyResponse, <-chan error) {
+	responseChan := make(chan *CreateTieringPolicyResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateTieringPolicy(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateTieringPolicyWithCallback invokes the nas.CreateTieringPolicy API asynchronously
+// api document: https://help.aliyun.com/api/nas/createtieringpolicy.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateTieringPolicyWithCallback(request *CreateTieringPolicyRequest, callback func(response *CreateTieringPolicyResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateTieringPolicyResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateTieringPolicy(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateTieringPolicyRequest is the request struct for api CreateTieringPolicy
+type CreateTieringPolicyRequest struct {
+	*requests.RpcRequest
+	Name        string           `position:"Query" name:"Name"`
+	Description string           `position:"Query" name:"Description"`
+	Mtime       requests.Integer `position:"Query" name:"Mtime"`
+	Atime       requests.Integer `position:"Query" name:"Atime"`
+	Ctime       requests.Integer `position:"Query" name:"Ctime"`
+	Size        requests.Integer `position:"Query" name:"Size"`
+	FileName    string           `position:"Query" name:"FileName"`
+	RecallTime  requests.Integer `position:"Query" name:"RecallTime"`
+	CheckLimit  requests.Boolean `position:"Query" name:"CheckLimit"`
+}
+
+// CreateTieringPolicyResponse is the response struct for api CreateTieringPolicy
+type CreateTieringPolicyResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Success   bool   `json:"Success" xml:"Success"`
+}
+
+// CreateCreateTieringPolicyRequest creates a request to invoke CreateTieringPolicy API
+func CreateCreateTieringPolicyRequest() (request *CreateTieringPolicyRequest) {
+	request = &CreateTieringPolicyRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("NAS", "2017-06-26", "CreateTieringPolicy", "nas", "openAPI")
+	return
+}
+
+// CreateCreateTieringPolicyResponse creates a response to parse from CreateTieringPolicy response
+func CreateCreateTieringPolicyResponse() (response *CreateTieringPolicyResponse) {
+	response = &CreateTieringPolicyResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 2 - 2
services/nas/delete_access_group.go

@@ -1,5 +1,3 @@
-package nas
-
 //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
@@ -15,6 +13,8 @@ package nas
 // Code generated by Alibaba Cloud SDK Code Generator.
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 
+package nas
+
 import (
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"

+ 2 - 2
services/nas/delete_access_rule.go

@@ -1,5 +1,3 @@
-package nas
-
 //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
@@ -15,6 +13,8 @@ package nas
 // Code generated by Alibaba Cloud SDK Code Generator.
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 
+package nas
+
 import (
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"

+ 2 - 2
services/nas/delete_file_system.go

@@ -1,5 +1,3 @@
-package nas
-
 //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
@@ -15,6 +13,8 @@ package nas
 // Code generated by Alibaba Cloud SDK Code Generator.
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 
+package nas
+
 import (
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"

+ 2 - 2
services/nas/delete_mount_target.go

@@ -1,5 +1,3 @@
-package nas
-
 //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
@@ -15,6 +13,8 @@ package nas
 // Code generated by Alibaba Cloud SDK Code Generator.
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 
+package nas
+
 import (
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"

+ 105 - 0
services/nas/delete_tiering_job.go

@@ -0,0 +1,105 @@
+//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.
+
+package nas
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DeleteTieringJob invokes the nas.DeleteTieringJob API synchronously
+// api document: https://help.aliyun.com/api/nas/deletetieringjob.html
+func (client *Client) DeleteTieringJob(request *DeleteTieringJobRequest) (response *DeleteTieringJobResponse, err error) {
+	response = CreateDeleteTieringJobResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteTieringJobWithChan invokes the nas.DeleteTieringJob API asynchronously
+// api document: https://help.aliyun.com/api/nas/deletetieringjob.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteTieringJobWithChan(request *DeleteTieringJobRequest) (<-chan *DeleteTieringJobResponse, <-chan error) {
+	responseChan := make(chan *DeleteTieringJobResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteTieringJob(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteTieringJobWithCallback invokes the nas.DeleteTieringJob API asynchronously
+// api document: https://help.aliyun.com/api/nas/deletetieringjob.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteTieringJobWithCallback(request *DeleteTieringJobRequest, callback func(response *DeleteTieringJobResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteTieringJobResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteTieringJob(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteTieringJobRequest is the request struct for api DeleteTieringJob
+type DeleteTieringJobRequest struct {
+	*requests.RpcRequest
+	Volume string `position:"Query" name:"Volume"`
+	Name   string `position:"Query" name:"Name"`
+}
+
+// DeleteTieringJobResponse is the response struct for api DeleteTieringJob
+type DeleteTieringJobResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Success   bool   `json:"Success" xml:"Success"`
+}
+
+// CreateDeleteTieringJobRequest creates a request to invoke DeleteTieringJob API
+func CreateDeleteTieringJobRequest() (request *DeleteTieringJobRequest) {
+	request = &DeleteTieringJobRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("NAS", "2017-06-26", "DeleteTieringJob", "nas", "openAPI")
+	return
+}
+
+// CreateDeleteTieringJobResponse creates a response to parse from DeleteTieringJob response
+func CreateDeleteTieringJobResponse() (response *DeleteTieringJobResponse) {
+	response = &DeleteTieringJobResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 104 - 0
services/nas/delete_tiering_policy.go

@@ -0,0 +1,104 @@
+//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.
+
+package nas
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DeleteTieringPolicy invokes the nas.DeleteTieringPolicy API synchronously
+// api document: https://help.aliyun.com/api/nas/deletetieringpolicy.html
+func (client *Client) DeleteTieringPolicy(request *DeleteTieringPolicyRequest) (response *DeleteTieringPolicyResponse, err error) {
+	response = CreateDeleteTieringPolicyResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteTieringPolicyWithChan invokes the nas.DeleteTieringPolicy API asynchronously
+// api document: https://help.aliyun.com/api/nas/deletetieringpolicy.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteTieringPolicyWithChan(request *DeleteTieringPolicyRequest) (<-chan *DeleteTieringPolicyResponse, <-chan error) {
+	responseChan := make(chan *DeleteTieringPolicyResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteTieringPolicy(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteTieringPolicyWithCallback invokes the nas.DeleteTieringPolicy API asynchronously
+// api document: https://help.aliyun.com/api/nas/deletetieringpolicy.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteTieringPolicyWithCallback(request *DeleteTieringPolicyRequest, callback func(response *DeleteTieringPolicyResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteTieringPolicyResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteTieringPolicy(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteTieringPolicyRequest is the request struct for api DeleteTieringPolicy
+type DeleteTieringPolicyRequest struct {
+	*requests.RpcRequest
+	Name string `position:"Query" name:"Name"`
+}
+
+// DeleteTieringPolicyResponse is the response struct for api DeleteTieringPolicy
+type DeleteTieringPolicyResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Success   bool   `json:"Success" xml:"Success"`
+}
+
+// CreateDeleteTieringPolicyRequest creates a request to invoke DeleteTieringPolicy API
+func CreateDeleteTieringPolicyRequest() (request *DeleteTieringPolicyRequest) {
+	request = &DeleteTieringPolicyRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("NAS", "2017-06-26", "DeleteTieringPolicy", "nas", "openAPI")
+	return
+}
+
+// CreateDeleteTieringPolicyResponse creates a response to parse from DeleteTieringPolicy response
+func CreateDeleteTieringPolicyResponse() (response *DeleteTieringPolicyResponse) {
+	response = &DeleteTieringPolicyResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 19 - 7
services/nas/describe_access_groups.go

@@ -1,5 +1,3 @@
-package nas
-
 //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
@@ -15,6 +13,8 @@ package nas
 // Code generated by Alibaba Cloud SDK Code Generator.
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 
+package nas
+
 import (
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
@@ -84,11 +84,23 @@ type DescribeAccessGroupsRequest struct {
 // DescribeAccessGroupsResponse is the response struct for api DescribeAccessGroups
 type DescribeAccessGroupsResponse struct {
 	*responses.BaseResponse
-	RequestId    string       `json:"RequestId" xml:"RequestId"`
-	TotalCount   int          `json:"TotalCount" xml:"TotalCount"`
-	PageSize     int          `json:"PageSize" xml:"PageSize"`
-	PageNumber   int          `json:"PageNumber" xml:"PageNumber"`
-	AccessGroups AccessGroups `json:"AccessGroups" xml:"AccessGroups"`
+	RequestId    string                            `json:"RequestId" xml:"RequestId"`
+	TotalCount   int                               `json:"TotalCount" xml:"TotalCount"`
+	PageSize     int                               `json:"PageSize" xml:"PageSize"`
+	PageNumber   int                               `json:"PageNumber" xml:"PageNumber"`
+	AccessGroups DescribeAccessGroupsAccessGroups0 `json:"AccessGroups" xml:"AccessGroups"`
+}
+
+type DescribeAccessGroupsAccessGroups0 struct {
+	AccessGroup []DescribeAccessGroupsAccessGroup1 `json:"AccessGroup" xml:"AccessGroup"`
+}
+
+type DescribeAccessGroupsAccessGroup1 struct {
+	AccessGroupName  string `json:"AccessGroupName" xml:"AccessGroupName"`
+	AccessGroupType  string `json:"AccessGroupType" xml:"AccessGroupType"`
+	RuleCount        int    `json:"RuleCount" xml:"RuleCount"`
+	MountTargetCount int    `json:"MountTargetCount" xml:"MountTargetCount"`
+	Description      string `json:"Description" xml:"Description"`
 }
 
 // CreateDescribeAccessGroupsRequest creates a request to invoke DescribeAccessGroups API

+ 19 - 7
services/nas/describe_access_rules.go

@@ -1,5 +1,3 @@
-package nas
-
 //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
@@ -15,6 +13,8 @@ package nas
 // Code generated by Alibaba Cloud SDK Code Generator.
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 
+package nas
+
 import (
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
@@ -85,11 +85,23 @@ type DescribeAccessRulesRequest struct {
 // DescribeAccessRulesResponse is the response struct for api DescribeAccessRules
 type DescribeAccessRulesResponse struct {
 	*responses.BaseResponse
-	RequestId   string      `json:"RequestId" xml:"RequestId"`
-	TotalCount  int         `json:"TotalCount" xml:"TotalCount"`
-	PageSize    int         `json:"PageSize" xml:"PageSize"`
-	PageNumber  int         `json:"PageNumber" xml:"PageNumber"`
-	AccessRules AccessRules `json:"AccessRules" xml:"AccessRules"`
+	RequestId   string                          `json:"RequestId" xml:"RequestId"`
+	TotalCount  int                             `json:"TotalCount" xml:"TotalCount"`
+	PageSize    int                             `json:"PageSize" xml:"PageSize"`
+	PageNumber  int                             `json:"PageNumber" xml:"PageNumber"`
+	AccessRules DescribeAccessRulesAccessRules0 `json:"AccessRules" xml:"AccessRules"`
+}
+
+type DescribeAccessRulesAccessRules0 struct {
+	AccessRule []DescribeAccessRulesAccessRule1 `json:"AccessRule" xml:"AccessRule"`
+}
+
+type DescribeAccessRulesAccessRule1 struct {
+	SourceCidrIp string `json:"SourceCidrIp" xml:"SourceCidrIp"`
+	Priority     int    `json:"Priority" xml:"Priority"`
+	AccessRuleId string `json:"AccessRuleId" xml:"AccessRuleId"`
+	RWAccess     string `json:"RWAccess" xml:"RWAccess"`
+	UserAccess   string `json:"UserAccess" xml:"UserAccess"`
 }
 
 // CreateDescribeAccessRulesRequest creates a request to invoke DescribeAccessRules API

+ 39 - 7
services/nas/describe_file_systems.go

@@ -1,5 +1,3 @@
-package nas
-
 //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
@@ -15,6 +13,8 @@ package nas
 // Code generated by Alibaba Cloud SDK Code Generator.
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 
+package nas
+
 import (
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
@@ -84,11 +84,43 @@ type DescribeFileSystemsRequest struct {
 // DescribeFileSystemsResponse is the response struct for api DescribeFileSystems
 type DescribeFileSystemsResponse struct {
 	*responses.BaseResponse
-	RequestId   string      `json:"RequestId" xml:"RequestId"`
-	TotalCount  int         `json:"TotalCount" xml:"TotalCount"`
-	PageSize    int         `json:"PageSize" xml:"PageSize"`
-	PageNumber  int         `json:"PageNumber" xml:"PageNumber"`
-	FileSystems FileSystems `json:"FileSystems" xml:"FileSystems"`
+	RequestId   string                          `json:"RequestId" xml:"RequestId"`
+	TotalCount  int                             `json:"TotalCount" xml:"TotalCount"`
+	PageSize    int                             `json:"PageSize" xml:"PageSize"`
+	PageNumber  int                             `json:"PageNumber" xml:"PageNumber"`
+	FileSystems DescribeFileSystemsFileSystems0 `json:"FileSystems" xml:"FileSystems"`
+}
+
+type DescribeFileSystemsFileSystems0 struct {
+	FileSystem []DescribeFileSystemsFileSystem1 `json:"FileSystem" xml:"FileSystem"`
+}
+
+type DescribeFileSystemsFileSystem1 struct {
+	FileSystemId string                             `json:"FileSystemId" xml:"FileSystemId"`
+	Destription  string                             `json:"Destription" xml:"Destription"`
+	CreateTime   string                             `json:"CreateTime" xml:"CreateTime"`
+	RegionId     string                             `json:"RegionId" xml:"RegionId"`
+	ProtocolType string                             `json:"ProtocolType" xml:"ProtocolType"`
+	StorageType  string                             `json:"StorageType" xml:"StorageType"`
+	MeteredSize  int64                              `json:"MeteredSize" xml:"MeteredSize"`
+	MountTargets []DescribeFileSystemsMountTargets1 `json:"MountTargets" xml:"MountTargets"`
+	Packages     []DescribeFileSystemsPackages1     `json:"Packages" xml:"Packages"`
+}
+
+type DescribeFileSystemsMountTargets1 struct {
+	MountTarget []DescribeFileSystemsMountTarget2 `json:"MountTarget" xml:"MountTarget"`
+}
+
+type DescribeFileSystemsMountTarget2 struct {
+	MountTargetDomain string `json:"MountTargetDomain" xml:"MountTargetDomain"`
+}
+
+type DescribeFileSystemsPackages1 struct {
+	Package []DescribeFileSystemsPackage2 `json:"Package" xml:"Package"`
+}
+
+type DescribeFileSystemsPackage2 struct {
+	PackageId string `json:"PackageId" xml:"PackageId"`
 }
 
 // CreateDescribeFileSystemsRequest creates a request to invoke DescribeFileSystems API

+ 20 - 7
services/nas/describe_mount_targets.go

@@ -1,5 +1,3 @@
-package nas
-
 //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
@@ -15,6 +13,8 @@ package nas
 // Code generated by Alibaba Cloud SDK Code Generator.
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 
+package nas
+
 import (
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
@@ -85,11 +85,24 @@ type DescribeMountTargetsRequest struct {
 // DescribeMountTargetsResponse is the response struct for api DescribeMountTargets
 type DescribeMountTargetsResponse struct {
 	*responses.BaseResponse
-	RequestId    string                             `json:"RequestId" xml:"RequestId"`
-	TotalCount   int                                `json:"TotalCount" xml:"TotalCount"`
-	PageSize     int                                `json:"PageSize" xml:"PageSize"`
-	PageNumber   int                                `json:"PageNumber" xml:"PageNumber"`
-	MountTargets MountTargetsInDescribeMountTargets `json:"MountTargets" xml:"MountTargets"`
+	RequestId    string                            `json:"RequestId" xml:"RequestId"`
+	TotalCount   int                               `json:"TotalCount" xml:"TotalCount"`
+	PageSize     int                               `json:"PageSize" xml:"PageSize"`
+	PageNumber   int                               `json:"PageNumber" xml:"PageNumber"`
+	MountTargets DescribeMountTargetsMountTargets0 `json:"MountTargets" xml:"MountTargets"`
+}
+
+type DescribeMountTargetsMountTargets0 struct {
+	MountTarget []DescribeMountTargetsMountTarget1 `json:"MountTarget" xml:"MountTarget"`
+}
+
+type DescribeMountTargetsMountTarget1 struct {
+	MountTargetDomain string `json:"MountTargetDomain" xml:"MountTargetDomain"`
+	NetworkType       string `json:"NetworkType" xml:"NetworkType"`
+	VpcId             string `json:"VpcId" xml:"VpcId"`
+	VswId             string `json:"VswId" xml:"VswId"`
+	AccessGroup       string `json:"AccessGroup" xml:"AccessGroup"`
+	Status            string `json:"Status" xml:"Status"`
 }
 
 // CreateDescribeMountTargetsRequest creates a request to invoke DescribeMountTargets API

+ 17 - 7
services/nas/describe_regions.go

@@ -1,5 +1,3 @@
-package nas
-
 //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
@@ -15,6 +13,8 @@ package nas
 // Code generated by Alibaba Cloud SDK Code Generator.
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 
+package nas
+
 import (
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
@@ -83,11 +83,21 @@ type DescribeRegionsRequest struct {
 // DescribeRegionsResponse is the response struct for api DescribeRegions
 type DescribeRegionsResponse struct {
 	*responses.BaseResponse
-	RequestId  string  `json:"RequestId" xml:"RequestId"`
-	TotalCount int     `json:"TotalCount" xml:"TotalCount"`
-	PageSize   int     `json:"PageSize" xml:"PageSize"`
-	PageNumber int     `json:"PageNumber" xml:"PageNumber"`
-	Regions    Regions `json:"Regions" xml:"Regions"`
+	RequestId  string                  `json:"RequestId" xml:"RequestId"`
+	TotalCount int                     `json:"TotalCount" xml:"TotalCount"`
+	PageSize   int                     `json:"PageSize" xml:"PageSize"`
+	PageNumber int                     `json:"PageNumber" xml:"PageNumber"`
+	Regions    DescribeRegionsRegions0 `json:"Regions" xml:"Regions"`
+}
+
+type DescribeRegionsRegions0 struct {
+	Region []DescribeRegionsRegion1 `json:"Region" xml:"Region"`
+}
+
+type DescribeRegionsRegion1 struct {
+	RegionId       string `json:"RegionId" xml:"RegionId"`
+	LocalName      string `json:"LocalName" xml:"LocalName"`
+	RegionEndpoint string `json:"RegionEndpoint" xml:"RegionEndpoint"`
 }
 
 // CreateDescribeRegionsRequest creates a request to invoke DescribeRegions API

+ 125 - 0
services/nas/describe_tiering_jobs.go

@@ -0,0 +1,125 @@
+//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.
+
+package nas
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribeTieringJobs invokes the nas.DescribeTieringJobs API synchronously
+// api document: https://help.aliyun.com/api/nas/describetieringjobs.html
+func (client *Client) DescribeTieringJobs(request *DescribeTieringJobsRequest) (response *DescribeTieringJobsResponse, err error) {
+	response = CreateDescribeTieringJobsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeTieringJobsWithChan invokes the nas.DescribeTieringJobs API asynchronously
+// api document: https://help.aliyun.com/api/nas/describetieringjobs.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeTieringJobsWithChan(request *DescribeTieringJobsRequest) (<-chan *DescribeTieringJobsResponse, <-chan error) {
+	responseChan := make(chan *DescribeTieringJobsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeTieringJobs(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeTieringJobsWithCallback invokes the nas.DescribeTieringJobs API asynchronously
+// api document: https://help.aliyun.com/api/nas/describetieringjobs.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeTieringJobsWithCallback(request *DescribeTieringJobsRequest, callback func(response *DescribeTieringJobsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeTieringJobsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeTieringJobs(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeTieringJobsRequest is the request struct for api DescribeTieringJobs
+type DescribeTieringJobsRequest struct {
+	*requests.RpcRequest
+	Volume string `position:"Query" name:"Volume"`
+}
+
+// DescribeTieringJobsResponse is the response struct for api DescribeTieringJobs
+type DescribeTieringJobsResponse struct {
+	*responses.BaseResponse
+	RequestId   string                          `json:"RequestId" xml:"RequestId"`
+	TotalCount  int                             `json:"TotalCount" xml:"TotalCount"`
+	PageSize    int                             `json:"PageSize" xml:"PageSize"`
+	PageNumber  int                             `json:"PageNumber" xml:"PageNumber"`
+	TieringJobs DescribeTieringJobsTieringJobs0 `json:"TieringJobs" xml:"TieringJobs"`
+}
+
+type DescribeTieringJobsTieringJobs0 struct {
+	TieringJob []DescribeTieringJobsTieringJob1 `json:"TieringJob" xml:"TieringJob"`
+}
+
+type DescribeTieringJobsTieringJob1 struct {
+	Name           string `json:"Name" xml:"Name"`
+	Volume         string `json:"Volume" xml:"Volume"`
+	Path           string `json:"Path" xml:"Path"`
+	Recursive      bool   `json:"Recursive" xml:"Recursive"`
+	Type           string `json:"Type" xml:"Type"`
+	Policy         string `json:"Policy" xml:"Policy"`
+	Weekday        int    `json:"Weekday" xml:"Weekday"`
+	Hour           int    `json:"Hour" xml:"Hour"`
+	Enabled        bool   `json:"Enabled" xml:"Enabled"`
+	Status         string `json:"Status" xml:"Status"`
+	LastUpdateTime int64  `json:"LastUpdateTime" xml:"LastUpdateTime"`
+}
+
+// CreateDescribeTieringJobsRequest creates a request to invoke DescribeTieringJobs API
+func CreateDescribeTieringJobsRequest() (request *DescribeTieringJobsRequest) {
+	request = &DescribeTieringJobsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("NAS", "2017-06-26", "DescribeTieringJobs", "nas", "openAPI")
+	return
+}
+
+// CreateDescribeTieringJobsResponse creates a response to parse from DescribeTieringJobs response
+func CreateDescribeTieringJobsResponse() (response *DescribeTieringJobsResponse) {
+	response = &DescribeTieringJobsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 122 - 0
services/nas/describe_tiering_policies.go

@@ -0,0 +1,122 @@
+//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.
+
+package nas
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribeTieringPolicies invokes the nas.DescribeTieringPolicies API synchronously
+// api document: https://help.aliyun.com/api/nas/describetieringpolicies.html
+func (client *Client) DescribeTieringPolicies(request *DescribeTieringPoliciesRequest) (response *DescribeTieringPoliciesResponse, err error) {
+	response = CreateDescribeTieringPoliciesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeTieringPoliciesWithChan invokes the nas.DescribeTieringPolicies API asynchronously
+// api document: https://help.aliyun.com/api/nas/describetieringpolicies.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeTieringPoliciesWithChan(request *DescribeTieringPoliciesRequest) (<-chan *DescribeTieringPoliciesResponse, <-chan error) {
+	responseChan := make(chan *DescribeTieringPoliciesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeTieringPolicies(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeTieringPoliciesWithCallback invokes the nas.DescribeTieringPolicies API asynchronously
+// api document: https://help.aliyun.com/api/nas/describetieringpolicies.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeTieringPoliciesWithCallback(request *DescribeTieringPoliciesRequest, callback func(response *DescribeTieringPoliciesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeTieringPoliciesResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeTieringPolicies(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeTieringPoliciesRequest is the request struct for api DescribeTieringPolicies
+type DescribeTieringPoliciesRequest struct {
+	*requests.RpcRequest
+}
+
+// DescribeTieringPoliciesResponse is the response struct for api DescribeTieringPolicies
+type DescribeTieringPoliciesResponse struct {
+	*responses.BaseResponse
+	RequestId       string                                  `json:"RequestId" xml:"RequestId"`
+	TotalCount      int                                     `json:"TotalCount" xml:"TotalCount"`
+	PageSize        int                                     `json:"PageSize" xml:"PageSize"`
+	PageNumber      int                                     `json:"PageNumber" xml:"PageNumber"`
+	TieringPolicies DescribeTieringPoliciesTieringPolicies0 `json:"TieringPolicies" xml:"TieringPolicies"`
+}
+
+type DescribeTieringPoliciesTieringPolicies0 struct {
+	TieringPolicy []DescribeTieringPoliciesTieringPolicy1 `json:"TieringPolicy" xml:"TieringPolicy"`
+}
+
+type DescribeTieringPoliciesTieringPolicy1 struct {
+	Name        string `json:"Name" xml:"Name"`
+	Description string `json:"Description" xml:"Description"`
+	RefCount    int    `json:"RefCount" xml:"RefCount"`
+	Mtime       int64  `json:"Mtime" xml:"Mtime"`
+	Atime       int64  `json:"Atime" xml:"Atime"`
+	Ctime       int64  `json:"Ctime" xml:"Ctime"`
+	Size        int64  `json:"Size" xml:"Size"`
+	FileName    string `json:"FileName" xml:"FileName"`
+	RecallTime  int64  `json:"RecallTime" xml:"RecallTime"`
+}
+
+// CreateDescribeTieringPoliciesRequest creates a request to invoke DescribeTieringPolicies API
+func CreateDescribeTieringPoliciesRequest() (request *DescribeTieringPoliciesRequest) {
+	request = &DescribeTieringPoliciesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("NAS", "2017-06-26", "DescribeTieringPolicies", "nas", "openAPI")
+	return
+}
+
+// CreateDescribeTieringPoliciesResponse creates a response to parse from DescribeTieringPolicies response
+func CreateDescribeTieringPoliciesResponse() (response *DescribeTieringPoliciesResponse) {
+	response = &DescribeTieringPoliciesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 113 - 0
services/nas/describe_zones.go

@@ -0,0 +1,113 @@
+//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.
+
+package nas
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribeZones invokes the nas.DescribeZones API synchronously
+// api document: https://help.aliyun.com/api/nas/describezones.html
+func (client *Client) DescribeZones(request *DescribeZonesRequest) (response *DescribeZonesResponse, err error) {
+	response = CreateDescribeZonesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeZonesWithChan invokes the nas.DescribeZones API asynchronously
+// api document: https://help.aliyun.com/api/nas/describezones.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeZonesWithChan(request *DescribeZonesRequest) (<-chan *DescribeZonesResponse, <-chan error) {
+	responseChan := make(chan *DescribeZonesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeZones(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeZonesWithCallback invokes the nas.DescribeZones API asynchronously
+// api document: https://help.aliyun.com/api/nas/describezones.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeZonesWithCallback(request *DescribeZonesRequest, callback func(response *DescribeZonesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeZonesResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeZones(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeZonesRequest is the request struct for api DescribeZones
+type DescribeZonesRequest struct {
+	*requests.RpcRequest
+}
+
+// DescribeZonesResponse is the response struct for api DescribeZones
+type DescribeZonesResponse struct {
+	*responses.BaseResponse
+	RequestId string              `json:"RequestId" xml:"RequestId"`
+	Zones     DescribeZonesZones0 `json:"Zones" xml:"Zones"`
+}
+
+type DescribeZonesZones0 struct {
+	Zone []DescribeZonesZone1 `json:"Zone" xml:"Zone"`
+}
+
+type DescribeZonesZone1 struct {
+	ZoneId      string   `json:"ZoneId" xml:"ZoneId"`
+	Capacity    []string `json:"Capacity" xml:"Capacity"`
+	Performance []string `json:"Performance" xml:"Performance"`
+}
+
+// CreateDescribeZonesRequest creates a request to invoke DescribeZones API
+func CreateDescribeZonesRequest() (request *DescribeZonesRequest) {
+	request = &DescribeZonesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("NAS", "2017-06-26", "DescribeZones", "nas", "openAPI")
+	return
+}
+
+// CreateDescribeZonesResponse creates a response to parse from DescribeZones response
+func CreateDescribeZonesResponse() (response *DescribeZonesResponse) {
+	response = &DescribeZonesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 2 - 2
services/nas/modify_access_group.go

@@ -1,5 +1,3 @@
-package nas
-
 //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
@@ -15,6 +13,8 @@ package nas
 // Code generated by Alibaba Cloud SDK Code Generator.
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 
+package nas
+
 import (
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"

+ 2 - 2
services/nas/modify_access_rule.go

@@ -1,5 +1,3 @@
-package nas
-
 //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
@@ -15,6 +13,8 @@ package nas
 // Code generated by Alibaba Cloud SDK Code Generator.
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 
+package nas
+
 import (
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"

+ 2 - 2
services/nas/modify_file_system.go

@@ -1,5 +1,3 @@
-package nas
-
 //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
@@ -15,6 +13,8 @@ package nas
 // Code generated by Alibaba Cloud SDK Code Generator.
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 
+package nas
+
 import (
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"

+ 2 - 2
services/nas/modify_mount_target.go

@@ -1,5 +1,3 @@
-package nas
-
 //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
@@ -15,6 +13,8 @@ package nas
 // Code generated by Alibaba Cloud SDK Code Generator.
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 
+package nas
+
 import (
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"

+ 112 - 0
services/nas/modify_tiering_job.go

@@ -0,0 +1,112 @@
+//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.
+
+package nas
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// ModifyTieringJob invokes the nas.ModifyTieringJob API synchronously
+// api document: https://help.aliyun.com/api/nas/modifytieringjob.html
+func (client *Client) ModifyTieringJob(request *ModifyTieringJobRequest) (response *ModifyTieringJobResponse, err error) {
+	response = CreateModifyTieringJobResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyTieringJobWithChan invokes the nas.ModifyTieringJob API asynchronously
+// api document: https://help.aliyun.com/api/nas/modifytieringjob.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyTieringJobWithChan(request *ModifyTieringJobRequest) (<-chan *ModifyTieringJobResponse, <-chan error) {
+	responseChan := make(chan *ModifyTieringJobResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyTieringJob(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyTieringJobWithCallback invokes the nas.ModifyTieringJob API asynchronously
+// api document: https://help.aliyun.com/api/nas/modifytieringjob.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyTieringJobWithCallback(request *ModifyTieringJobRequest, callback func(response *ModifyTieringJobResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyTieringJobResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyTieringJob(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyTieringJobRequest is the request struct for api ModifyTieringJob
+type ModifyTieringJobRequest struct {
+	*requests.RpcRequest
+	Volume    string           `position:"Query" name:"Volume"`
+	Name      string           `position:"Query" name:"Name"`
+	Type      string           `position:"Query" name:"Type"`
+	Path      string           `position:"Query" name:"Path"`
+	Recursive requests.Boolean `position:"Query" name:"Recursive"`
+	Policy    string           `position:"Query" name:"Policy"`
+	Weekday   requests.Integer `position:"Query" name:"Weekday"`
+	Hour      requests.Integer `position:"Query" name:"Hour"`
+	Enabled   requests.Boolean `position:"Query" name:"Enabled"`
+}
+
+// ModifyTieringJobResponse is the response struct for api ModifyTieringJob
+type ModifyTieringJobResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Success   bool   `json:"Success" xml:"Success"`
+}
+
+// CreateModifyTieringJobRequest creates a request to invoke ModifyTieringJob API
+func CreateModifyTieringJobRequest() (request *ModifyTieringJobRequest) {
+	request = &ModifyTieringJobRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("NAS", "2017-06-26", "ModifyTieringJob", "nas", "openAPI")
+	return
+}
+
+// CreateModifyTieringJobResponse creates a response to parse from ModifyTieringJob response
+func CreateModifyTieringJobResponse() (response *ModifyTieringJobResponse) {
+	response = &ModifyTieringJobResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/nas/modify_tiering_policy.go

@@ -0,0 +1,111 @@
+//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.
+
+package nas
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// ModifyTieringPolicy invokes the nas.ModifyTieringPolicy API synchronously
+// api document: https://help.aliyun.com/api/nas/modifytieringpolicy.html
+func (client *Client) ModifyTieringPolicy(request *ModifyTieringPolicyRequest) (response *ModifyTieringPolicyResponse, err error) {
+	response = CreateModifyTieringPolicyResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyTieringPolicyWithChan invokes the nas.ModifyTieringPolicy API asynchronously
+// api document: https://help.aliyun.com/api/nas/modifytieringpolicy.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyTieringPolicyWithChan(request *ModifyTieringPolicyRequest) (<-chan *ModifyTieringPolicyResponse, <-chan error) {
+	responseChan := make(chan *ModifyTieringPolicyResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyTieringPolicy(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyTieringPolicyWithCallback invokes the nas.ModifyTieringPolicy API asynchronously
+// api document: https://help.aliyun.com/api/nas/modifytieringpolicy.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyTieringPolicyWithCallback(request *ModifyTieringPolicyRequest, callback func(response *ModifyTieringPolicyResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyTieringPolicyResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyTieringPolicy(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyTieringPolicyRequest is the request struct for api ModifyTieringPolicy
+type ModifyTieringPolicyRequest struct {
+	*requests.RpcRequest
+	Name        string           `position:"Query" name:"Name"`
+	Description string           `position:"Query" name:"Description"`
+	Mtime       requests.Integer `position:"Query" name:"Mtime"`
+	Atime       requests.Integer `position:"Query" name:"Atime"`
+	Ctime       requests.Integer `position:"Query" name:"Ctime"`
+	Size        requests.Integer `position:"Query" name:"Size"`
+	FileName    string           `position:"Query" name:"FileName"`
+	RecallTime  requests.Integer `position:"Query" name:"RecallTime"`
+}
+
+// ModifyTieringPolicyResponse is the response struct for api ModifyTieringPolicy
+type ModifyTieringPolicyResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Success   bool   `json:"Success" xml:"Success"`
+}
+
+// CreateModifyTieringPolicyRequest creates a request to invoke ModifyTieringPolicy API
+func CreateModifyTieringPolicyRequest() (request *ModifyTieringPolicyRequest) {
+	request = &ModifyTieringPolicyRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("NAS", "2017-06-26", "ModifyTieringPolicy", "nas", "openAPI")
+	return
+}
+
+// CreateModifyTieringPolicyResponse creates a response to parse from ModifyTieringPolicy response
+func CreateModifyTieringPolicyResponse() (response *ModifyTieringPolicyResponse) {
+	response = &ModifyTieringPolicyResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 0 - 25
services/nas/struct_access_group.go

@@ -1,25 +0,0 @@
-package nas
-
-//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.
-
-// AccessGroup is a nested struct in nas response
-type AccessGroup struct {
-	AccessGroupName  string `json:"AccessGroupName" xml:"AccessGroupName"`
-	AccessGroupType  string `json:"AccessGroupType" xml:"AccessGroupType"`
-	RuleCount        int    `json:"RuleCount" xml:"RuleCount"`
-	MountTargetCount int    `json:"MountTargetCount" xml:"MountTargetCount"`
-	Description      string `json:"Description" xml:"Description"`
-}

+ 0 - 21
services/nas/struct_access_groups.go

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

+ 0 - 25
services/nas/struct_access_rule.go

@@ -1,25 +0,0 @@
-package nas
-
-//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.
-
-// AccessRule is a nested struct in nas response
-type AccessRule struct {
-	SourceCidrIp string `json:"SourceCidrIp" xml:"SourceCidrIp"`
-	Priority     int    `json:"Priority" xml:"Priority"`
-	AccessRuleId string `json:"AccessRuleId" xml:"AccessRuleId"`
-	RWAccess     string `json:"RWAccess" xml:"RWAccess"`
-	UserAccess   string `json:"UserAccess" xml:"UserAccess"`
-}

+ 0 - 21
services/nas/struct_access_rules.go

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

+ 0 - 29
services/nas/struct_file_system.go

@@ -1,29 +0,0 @@
-package nas
-
-//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.
-
-// FileSystem is a nested struct in nas response
-type FileSystem struct {
-	FileSystemId string                            `json:"FileSystemId" xml:"FileSystemId"`
-	Destription  string                            `json:"Destription" xml:"Destription"`
-	CreateTime   string                            `json:"CreateTime" xml:"CreateTime"`
-	RegionId     string                            `json:"RegionId" xml:"RegionId"`
-	ProtocolType string                            `json:"ProtocolType" xml:"ProtocolType"`
-	StorageType  string                            `json:"StorageType" xml:"StorageType"`
-	MeteredSize  int                               `json:"MeteredSize" xml:"MeteredSize"`
-	MountTargets MountTargetsInDescribeFileSystems `json:"MountTargets" xml:"MountTargets"`
-	Packages     Packages                          `json:"Packages" xml:"Packages"`
-}

+ 0 - 21
services/nas/struct_file_systems.go

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

+ 0 - 26
services/nas/struct_mount_target.go

@@ -1,26 +0,0 @@
-package nas
-
-//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.
-
-// MountTarget is a nested struct in nas response
-type MountTarget struct {
-	VpcId             string `json:"VpcId" xml:"VpcId"`
-	VswId             string `json:"VswId" xml:"VswId"`
-	AccessGroup       string `json:"AccessGroup" xml:"AccessGroup"`
-	NetworkType       string `json:"NetworkType" xml:"NetworkType"`
-	MountTargetDomain string `json:"MountTargetDomain" xml:"MountTargetDomain"`
-	Status            string `json:"Status" xml:"Status"`
-}

+ 0 - 21
services/nas/struct_mount_targets_in_describe_file_systems.go

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

+ 0 - 21
services/nas/struct_mount_targets_in_describe_mount_targets.go

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

+ 0 - 21
services/nas/struct_package.go

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

+ 0 - 21
services/nas/struct_packages.go

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

+ 0 - 22
services/nas/struct_region.go

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

+ 0 - 21
services/nas/struct_regions.go

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