Browse Source

ECS SDK Auto Released By Alibaba Cloud,Version:1.16.0

Signed-off-by: haowei.yao <haowei.yao@alibaba-inc.com>
haowei.yao 7 years ago
parent
commit
c838bf53ad
3 changed files with 155 additions and 0 deletions
  1. 3 0
      ChangeLog.txt
  2. 36 0
      services/ecs/struct_triggered_group_rule.go
  3. 116 0
      services/ecs/validate_security_group.go

+ 3 - 0
ChangeLog.txt

@@ -1,3 +1,6 @@
+2018-05-28 Version: 1.16.0
+1, ValidateSecurityGroup API
+
 2018-05-28 Version: 1.15.1
 1, add new openapi .
 

+ 36 - 0
services/ecs/struct_triggered_group_rule.go

@@ -0,0 +1,36 @@
+package ecs
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// TriggeredGroupRule is a nested struct in ecs response
+type TriggeredGroupRule struct {
+	IpProtocol              string `json:"IpProtocol" xml:"IpProtocol"`
+	PortRange               string `json:"PortRange" xml:"PortRange"`
+	SourceGroupId           string `json:"SourceGroupId" xml:"SourceGroupId"`
+	SourceGroupName         string `json:"SourceGroupName" xml:"SourceGroupName"`
+	SourceCidrIp            string `json:"SourceCidrIp" xml:"SourceCidrIp"`
+	Policy                  string `json:"Policy" xml:"Policy"`
+	NicType                 string `json:"NicType" xml:"NicType"`
+	SourceGroupOwnerAccount string `json:"SourceGroupOwnerAccount" xml:"SourceGroupOwnerAccount"`
+	DestGroupId             string `json:"DestGroupId" xml:"DestGroupId"`
+	DestGroupName           string `json:"DestGroupName" xml:"DestGroupName"`
+	DestCidrIp              string `json:"DestCidrIp" xml:"DestCidrIp"`
+	DestGroupOwnerAccount   string `json:"DestGroupOwnerAccount" xml:"DestGroupOwnerAccount"`
+	Priority                string `json:"Priority" xml:"Priority"`
+	Direction               string `json:"Direction" xml:"Direction"`
+	Description             string `json:"Description" xml:"Description"`
+	CreateTime              string `json:"CreateTime" xml:"CreateTime"`
+}

+ 116 - 0
services/ecs/validate_security_group.go

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