Skip to content

Commit

Permalink
Merge pull request #4 from denverdino/master
Browse files Browse the repository at this point in the history
Rebase master
  • Loading branch information
menglingwei committed Nov 21, 2019
2 parents bc5bf74 + 114afa1 commit fdd7013
Show file tree
Hide file tree
Showing 4 changed files with 77 additions and 4 deletions.
12 changes: 12 additions & 0 deletions slb/listeners.go
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,8 @@ type HTTPListenerType struct {
UnhealthyThreshold int
HealthCheckTimeout int
HealthCheckInterval int
ForwardPort int
ListenerForward FlagType
HealthCheckHttpCode HealthCheckHttpCodeType
VServerGroup FlagType
VServerGroupId string
Expand All @@ -107,6 +109,9 @@ type HTTPListenerType struct {
XForwardedFor_SLBIP FlagType
XForwardedFor_proto FlagType
Description string
AclId string
AclStatus string
AclType string
}
type CreateLoadBalancerHTTPListenerArgs HTTPListenerType

Expand Down Expand Up @@ -162,6 +167,9 @@ type TCPListenerType struct {
VServerGroup FlagType
VServerGroupId string
Description string
AclId string
AclStatus string
AclType string
}

type CreateLoadBalancerTCPListenerArgs TCPListenerType
Expand Down Expand Up @@ -191,6 +199,10 @@ type UDPListenerType struct {
VServerGroup FlagType
VServerGroupId string
Description string

AclId string
AclStatus string
AclType string
}
type CreateLoadBalancerUDPListenerArgs UDPListenerType

Expand Down
21 changes: 21 additions & 0 deletions slb/loadbalancers.go
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ type CreateLoadBalancerArgs struct {
SlaveZoneId string
LoadBalancerSpec LoadBalancerSpecType
AddressIPVersion AddressIPVersionType
DeleteProtection FlagType
}

type CreateLoadBalancerResponse struct {
Expand Down Expand Up @@ -228,6 +229,7 @@ type LoadBalancerType struct {
InternetChargeType InternetChargeType
CreateTime string //Why not ISO 6801
CreateTimeStamp util.ISO6801Time
DeleteProtection FlagType
ListenerPorts struct {
ListenerPort []int
}
Expand Down Expand Up @@ -336,3 +338,22 @@ func (client *Client) WaitForLoadBalancerAsyn(loadBalancerId string, status Stat
}
return nil
}

type SetLoadBalancerDeleteProtectionArgs struct {
LoadBalancerId string
DeleteProtection FlagType
RegionId common.Region
}

type SetLoadBalancerDeleteProtectionResponse struct {
common.Response
}

// SetLoadBalancerDeleteProtection loadbalancer delete protection
//
// You can read doc at https://help.aliyun.com/document_detail/122674.html?spm=a2c4g.11186623.6.720.694f4265hwOdXQ
func (client *Client) SetLoadBalancerDeleteProtection(args *SetLoadBalancerDeleteProtectionArgs) (err error) {
response := &SetLoadBalancerDeleteProtectionResponse{}
err = client.Invoke("SetLoadBalancerDeleteProtection", args, response)
return err
}
39 changes: 39 additions & 0 deletions slb/loadbalancers_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -137,3 +137,42 @@ func TestClient_DescribeLoadBalancers(t *testing.T) {
t.Logf("Result = %++v", slbs)
}
}

func TestClient_SetLoadBalancerDeleteProtection(t *testing.T) {
client := NewTestNewSLBClientForDebug()

creationArgs := CreateLoadBalancerArgs{
RegionId: common.Beijing,
LoadBalancerName: "test-slb",
LoadBalancerSpec: S2Medium,
AddressType: InternetAddressType,
ClientToken: client.GenerateClientToken(),
}

response, err := client.CreateLoadBalancer(&creationArgs)
if err != nil {
t.Fatalf("Failed to CreateLoadBalancer: %v", err)
}

t.Logf("CreateLoadBalancer result: %v", *response)
lbId := response.LoadBalancerId

args := &SetLoadBalancerDeleteProtectionArgs{
LoadBalancerId: lbId,
DeleteProtection: OnFlag,
RegionId: common.Beijing,
}

err = client.SetLoadBalancerDeleteProtection(args)
if err != nil {
t.Fatalf("Failed %++v", err)
}
t.Logf("SetLoadBalancerDeleteProtection result: %v", *response)

err = client.DeleteLoadBalancer(lbId)
if err != nil {
t.Logf("DeleteLoadBalancer result: %++v", err)
} else {
t.Fatalf("Failed to set LoadBalancer delete protection.")
}
}
9 changes: 5 additions & 4 deletions slb/vserver_group.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,11 @@ import (
)

type VBackendServerType struct {
ServerId string
Weight int
Port int
Type string
ServerId string
Weight int
Port int
Type string
ServerIp string
Description string
}

Expand Down

0 comments on commit fdd7013

Please sign in to comment.