alicloud

package
v0.1.1-0...-96f391d Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 25, 2017 License: MPL-2.0 Imports: 23 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ClassicNet = InstanceNetWork("classic")
	VpcNet     = InstanceNetWork("vpc")
)
View Source
const (
	Http  = Protocol("http")
	Https = Protocol("https")
	Tcp   = Protocol("tcp")
	Udp   = Protocol("udp")
)

Constants of protocol definition

View Source
const (
	// common
	Notfound = "Not found"
	// ecs
	InstanceNotfound = "Instance.Notfound"
	// disk
	DiskIncorrectStatus       = "IncorrectDiskStatus"
	DiskCreatingSnapshot      = "DiskCreatingSnapshot"
	InstanceLockedForSecurity = "InstanceLockedForSecurity"
	SystemDiskNotFound        = "SystemDiskNotFound"
	// eip
	EipIncorrectStatus      = "IncorrectEipStatus"
	InstanceIncorrectStatus = "IncorrectInstanceStatus"
	HaVipIncorrectStatus    = "IncorrectHaVipStatus"
	// slb
	LoadBalancerNotFound = "InvalidLoadBalancerId.NotFound"

	// security_group
	InvalidInstanceIdAlreadyExists = "InvalidInstanceId.AlreadyExists"
	InvalidSecurityGroupIdNotFound = "InvalidSecurityGroupId.NotFound"
	SgDependencyViolation          = "DependencyViolation"

	//Nat gateway
	NatGatewayInvalidRegionId            = "Invalid.RegionId"
	DependencyViolationBandwidthPackages = "DependencyViolation.BandwidthPackages"
	NotFindSnatEntryBySnatId             = "NotFindSnatEntryBySnatId"
	NotFindForwardEntryByForwardId       = "NotFindForwardEntryByForwardId"

	// vswitch
	VswitcInvalidRegionId = "InvalidRegionId.NotFound"

	// ess
	InvalidScalingGroupIdNotFound               = "InvalidScalingGroupId.NotFound"
	IncorrectScalingConfigurationLifecycleState = "IncorrectScalingConfigurationLifecycleState"
)
View Source
const (
	GroupRuleIngress = GroupRuleDirection("ingress")
	GroupRuleEgress  = GroupRuleDirection("egress")
)
View Source
const (
	GroupRuleTcp  = GroupRuleIpProtocol("tcp")
	GroupRuleUdp  = GroupRuleIpProtocol("udp")
	GroupRuleIcmp = GroupRuleIpProtocol("icmp")
	GroupRuleGre  = GroupRuleIpProtocol("gre")
	GroupRuleAll  = GroupRuleIpProtocol("all")
)
View Source
const (
	GroupRuleInternet = GroupRuleNicType("internet")
	GroupRuleIntranet = GroupRuleNicType("intranet")
)
View Source
const (
	GroupRulePolicyAccept = GroupRulePolicy("accept")
	GroupRulePolicyDrop   = GroupRulePolicy("drop")
)
View Source
const (
	EcsApiVersion20160314 = "2016-03-14"
	EcsApiVersion20140526 = "2014-05-26"
)
View Source
const (
	HealthCheckErrType   = "healthCheckErrType"
	StickySessionErrType = "stickySessionErrType"
	CookieTimeOutErrType = "cookieTimeoutErrType"
	CookieErrType        = "cookieErrType"
)
View Source
const BusinessInfoKey = "Terraform"
View Source
const COLON_SEPARATED = ":"
View Source
const COMMA_SEPARATED = ","
View Source
const DB_DEFAULT_CONNECT_PORT = "3306"

default connect port of db

View Source
const DEFAULT_DB_SECURITY_IP = "127.0.0.1"

default security ip for db

View Source
const DEFAULT_INSTANCE_COUNT = 1

we the count of create instance is only one

View Source
const DEFAULT_REGION = "cn-beijing"

default region for all resource

View Source
const LOCAL_HOST_IP = "127.0.0.1"
View Source
const MULTI_IZ_SYMBOL = "MAZ"

symbol of multiIZ

Variables

View Source
var DefaultBusinessInfo = ecs.BusinessInfo{
	Pack: "terraform",
}
View Source
var ValidProtocols = []Protocol{Http, Https, Tcp, Udp}

ValidProtocols network protocol list

Functions

func AddTags

func AddTags(client *ecs.Client, args *AddTagsArgs) error

func GetNotFoundErrorFromString

func GetNotFoundErrorFromString(str string) error

func Provider

func Provider() terraform.ResourceProvider

Provider returns a schema.Provider for alicloud

func RemoveTags

func RemoveTags(client *ecs.Client, args *RemoveTagsArgs) error

func String

func String(v string) *string

func TransformPeriod2Time

func TransformPeriod2Time(period int, chargeType string) (ut int, tt common.TimeType)

turn period to TimeType

func TransformTime2Period

func TransformTime2Period(ut int, tt common.TimeType) (period int)

turn TimeType to Period

Types

type AddTagsArgs

type AddTagsArgs struct {
	ResourceId   string
	ResourceType ecs.TagResourceType //image, instance, snapshot or disk
	RegionId     common.Region
	Tag          []Tag
}

type AliyunClient

type AliyunClient struct {
	Region common.Region
	// contains filtered or unexported fields
}

AliyunClient of aliyun

func (*AliyunClient) ActiveScalingConfigurationById

func (client *AliyunClient) ActiveScalingConfigurationById(sgId, configId string) error

func (*AliyunClient) AllocateDBPublicConnection

func (client *AliyunClient) AllocateDBPublicConnection(instanceId, port string) error

func (*AliyunClient) ConfigDBBackup

func (client *AliyunClient) ConfigDBBackup(instanceId, backupTime, backupPeriod string, retentionPeriod int) error

func (*AliyunClient) CreateAccountByInfo

func (client *AliyunClient) CreateAccountByInfo(instanceId, username, pwd string) error

func (*AliyunClient) CreateDatabaseByInfo

func (client *AliyunClient) CreateDatabaseByInfo(instanceId, dbName, charset, desp string) error

func (*AliyunClient) DeleteScalingConfigurationById

func (client *AliyunClient) DeleteScalingConfigurationById(sgId, configId string) error

func (*AliyunClient) DeleteScalingGroupById

func (client *AliyunClient) DeleteScalingGroupById(sgId string) error

func (*AliyunClient) DeleteScalingRuleById

func (client *AliyunClient) DeleteScalingRuleById(ruleId string) error

func (*AliyunClient) DeleteScheduleById

func (client *AliyunClient) DeleteScheduleById(scheduleId string) error

func (*AliyunClient) DescribeDBInstanceById

func (client *AliyunClient) DescribeDBInstanceById(id string) (instance *rds.DBInstanceAttribute, err error)
_______________                      _______________                       _______________
|              | ______param______\  |              |  _____request_____\  |              |
|   Business   |                     |    Service   |                      |    SDK/API   |
|              | __________________  |              |  __________________  |              |
|______________| \    (obj, err)     |______________|  \ (status, cont)    |______________|
                    |                                    |
                    |A. {instance, nil}                  |a. {200, content}
                    |B. {nil, error}                     |b. {200, nil}
               					  |c. {4xx, nil}

The API return 200 for resource not found. When getInstance is empty, then throw InstanceNotfound error. That the business layer only need to check error.

func (*AliyunClient) DescribeDBSecurityIps

func (client *AliyunClient) DescribeDBSecurityIps(instanceId string) (ips []rds.DBInstanceIPList, err error)

func (*AliyunClient) DescribeDatabaseByName

func (client *AliyunClient) DescribeDatabaseByName(instanceId, dbName string) (ds []rds.Database, err error)

func (*AliyunClient) DescribeEipAddress

func (client *AliyunClient) DescribeEipAddress(allocationId string) (*ecs.EipAddressSetType, error)

func (*AliyunClient) DescribeForwardEntry

func (client *AliyunClient) DescribeForwardEntry(forwardTableId string, forwardEntryId string) (ecs.ForwardTableEntrySetType, error)

func (*AliyunClient) DescribeImage

func (client *AliyunClient) DescribeImage(imageId string) (*ecs.ImageType, error)

func (*AliyunClient) DescribeLoadBalancerAttribute

func (client *AliyunClient) DescribeLoadBalancerAttribute(slbId string) (*slb.LoadBalancerType, error)

func (*AliyunClient) DescribeMultiIZByRegion

func (client *AliyunClient) DescribeMultiIZByRegion() (izs []string, err error)

return multiIZ list of current region

func (*AliyunClient) DescribeNatGateway

func (client *AliyunClient) DescribeNatGateway(natGatewayId string) (*ecs.NatGatewaySetType, error)

func (*AliyunClient) DescribeScalingConfigurationById

func (client *AliyunClient) DescribeScalingConfigurationById(sgId, configId string) (*ess.ScalingConfigurationItemType, error)

func (*AliyunClient) DescribeScalingGroupById

func (client *AliyunClient) DescribeScalingGroupById(sgId string) (*ess.ScalingGroupItemType, error)

func (*AliyunClient) DescribeScalingRuleById

func (client *AliyunClient) DescribeScalingRuleById(sgId, ruleId string) (*ess.ScalingRuleItemType, error)

func (*AliyunClient) DescribeScheduleById

func (client *AliyunClient) DescribeScheduleById(scheduleId string) (*ess.ScheduledTaskItemType, error)

func (*AliyunClient) DescribeSecurity

func (client *AliyunClient) DescribeSecurity(securityGroupId string) (*ecs.DescribeSecurityGroupAttributeResponse, error)

func (*AliyunClient) DescribeSecurityByAttr

func (client *AliyunClient) DescribeSecurityByAttr(securityGroupId, direction, nicType string) (*ecs.DescribeSecurityGroupAttributeResponse, error)

func (*AliyunClient) DescribeSecurityGroupRule

func (client *AliyunClient) DescribeSecurityGroupRule(securityGroupId, direction, nicType, ipProtocol, portRange string) (*ecs.PermissionType, error)

func (*AliyunClient) DescribeSnatEntry

func (client *AliyunClient) DescribeSnatEntry(snatTableId string, snatEntryId string) (ecs.SnatEntrySetType, error)

func (*AliyunClient) DescribeVpc

func (client *AliyunClient) DescribeVpc(vpcId string) (*ecs.VpcSetType, error)

func (*AliyunClient) DescribeZone

func (client *AliyunClient) DescribeZone(zoneID string) (*ecs.ZoneType, error)

DescribeZone validate zoneId is valid in region

func (*AliyunClient) DisableScalingConfigurationById

func (client *AliyunClient) DisableScalingConfigurationById(sgId string) error

func (*AliyunClient) DiskAvailable

func (client *AliyunClient) DiskAvailable(zone *ecs.ZoneType, diskCategory ecs.DiskCategory) error

func (*AliyunClient) EnableScalingConfigurationById

func (client *AliyunClient) EnableScalingConfigurationById(sgId, configId string, ids []string) error

func (*AliyunClient) GetSecurityIps

func (client *AliyunClient) GetSecurityIps(instanceId string) ([]string, error)

func (*AliyunClient) GetVpcIdByVSwitchId

func (client *AliyunClient) GetVpcIdByVSwitchId(vswitchId string) (vpcId string, err error)

func (*AliyunClient) GrantDBPrivilege2Account

func (client *AliyunClient) GrantDBPrivilege2Account(instanceId, username, dbName string) error

func (*AliyunClient) JoinSecurityGroups

func (client *AliyunClient) JoinSecurityGroups(instanceId string, securityGroupIds []string) error

todo: support syc

func (*AliyunClient) LeaveSecurityGroups

func (client *AliyunClient) LeaveSecurityGroups(instanceId string, securityGroupIds []string) error

func (*AliyunClient) ModifyDBClassStorage

func (client *AliyunClient) ModifyDBClassStorage(instanceId, class, storage string) error

func (*AliyunClient) ModifyDBSecurityIps

func (client *AliyunClient) ModifyDBSecurityIps(instanceId, ips string) error

func (*AliyunClient) QueryInstanceSystemDisk

func (client *AliyunClient) QueryInstanceSystemDisk(id string) (disk *ecs.DiskItemType, err error)

func (*AliyunClient) QueryInstancesById

func (client *AliyunClient) QueryInstancesById(id string) (instance *ecs.InstanceAttributesType, err error)

func (*AliyunClient) QueryInstancesByIds

func (client *AliyunClient) QueryInstancesByIds(ids []string) (instances []ecs.InstanceAttributesType, err error)

func (*AliyunClient) QueryRouteEntry

func (client *AliyunClient) QueryRouteEntry(routeTableId, cidrBlock, nextHopType, nextHopId string) (rn *ecs.RouteEntrySetType, err error)

func (*AliyunClient) QueryRouteTableById

func (client *AliyunClient) QueryRouteTableById(routeTableId string) (rt *ecs.RouteTableSetType, err error)

func (*AliyunClient) QueryRouteTables

func (client *AliyunClient) QueryRouteTables(args *ecs.DescribeRouteTablesArgs) (routeTables []ecs.RouteTableSetType, err error)

func (*AliyunClient) QueryVswitchById

func (client *AliyunClient) QueryVswitchById(vpcId, vswitchId string) (vsw *ecs.VSwitchSetType, err error)

func (*AliyunClient) QueryVswitches

func (client *AliyunClient) QueryVswitches(args *ecs.DescribeVSwitchesArgs) (vswitches []ecs.VSwitchSetType, err error)

describe vswitch by param filters

func (*AliyunClient) ResourceAvailable

func (client *AliyunClient) ResourceAvailable(zone *ecs.ZoneType, resourceType ecs.ResourceType) error

ResourceAvailable check resource available for zone

func (*AliyunClient) RevokeSecurityGroup

func (client *AliyunClient) RevokeSecurityGroup(args *ecs.RevokeSecurityGroupArgs) error

func (*AliyunClient) RevokeSecurityGroupEgress

func (client *AliyunClient) RevokeSecurityGroupEgress(args *ecs.RevokeSecurityGroupEgressArgs) error

type Config

type Config struct {
	AccessKey string
	SecretKey string
	Region    common.Region
}

Config of aliyun

func (*Config) Client

func (c *Config) Client() (*AliyunClient, error)

Client for AliyunClient

type GroupRuleDirection

type GroupRuleDirection string

type GroupRuleIpProtocol

type GroupRuleIpProtocol string

type GroupRuleNicType

type GroupRuleNicType string

type GroupRulePolicy

type GroupRulePolicy string

type InstanceNetWork

type InstanceNetWork string

type Listener

type Listener struct {
	slb.HTTPListenerType

	InstancePort     int
	LoadBalancerPort int
	Protocol         string
	//tcp & udp
	PersistenceTimeout int

	//https
	SSLCertificateId string

	//tcp
	HealthCheckType slb.HealthCheckType

	//api interface: http & https is HealthCheckTimeout, tcp & udp is HealthCheckConnectTimeout
	HealthCheckConnectTimeout int
}

type ListenerErr

type ListenerErr struct {
	ErrType string
	Err     error
}

func (*ListenerErr) Error

func (e *ListenerErr) Error() string

type Protocol

type Protocol string

Protocol represents network protocol

type RemoveTagsArgs

type RemoveTagsArgs struct {
	ResourceId   string
	ResourceType ecs.TagResourceType //image, instance, snapshot or disk
	RegionId     common.Region
	Tag          []Tag
}

type Tag

type Tag struct {
	Key   string
	Value string
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL