func ExampleELB_CreateLBCookieStickinessPolicy() { svc := elb.New(nil) params := &elb.CreateLBCookieStickinessPolicyInput{ LoadBalancerName: aws.String("AccessPointName"), // Required PolicyName: aws.String("PolicyName"), // Required CookieExpirationPeriod: aws.Long(1), } resp, err := svc.CreateLBCookieStickinessPolicy(params) if err != nil { if awsErr, ok := err.(awserr.Error); ok { // Generic AWS Error with Code, Message, and original error (if any) fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr()) if reqErr, ok := err.(awserr.RequestFailure); ok { // A service error occurred fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID()) } } else { // This case should never be hit, The SDK should alwsy return an // error which satisfies the awserr.Error interface. fmt.Println(err.Error()) } } // Pretty-print the response data. fmt.Println(awsutil.StringValue(resp)) }
func ExampleELB_RegisterInstancesWithLoadBalancer() { svc := elb.New(nil) params := &elb.RegisterInstancesWithLoadBalancerInput{ Instances: []*elb.Instance{ // Required &elb.Instance{ // Required InstanceID: aws.String("InstanceId"), }, // More values... }, LoadBalancerName: aws.String("AccessPointName"), // Required } resp, err := svc.RegisterInstancesWithLoadBalancer(params) if err != nil { if awsErr, ok := err.(awserr.Error); ok { // Generic AWS Error with Code, Message, and original error (if any) fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr()) if reqErr, ok := err.(awserr.RequestFailure); ok { // A service error occurred fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID()) } } else { // This case should never be hit, The SDK should alwsy return an // error which satisfies the awserr.Error interface. fmt.Println(err.Error()) } } // Pretty-print the response data. fmt.Println(awsutil.StringValue(resp)) }
func elbDNSName(c *conf) string { //weirdness around how aws handles credentials os.Setenv("AWS_ACCESS_KEY_ID", c.awsAccessKey) os.Setenv("AWS_SECRET_ACCESS_KEY", c.awsSecretKey) svc := elb.New( session.New( &aws.Config{ Region: aws.String(c.awsRegion), Credentials: credentials.NewEnvCredentials(), }, ), ) params := &elb.DescribeLoadBalancersInput{ LoadBalancerNames: []*string{ aws.String(c.elbName), // Required }, } resp, err := svc.DescribeLoadBalancers(params) if err != nil { log.Fatal(err) } return *resp.LoadBalancerDescriptions[0].DNSName }
func ExampleELB_ConfigureHealthCheck() { svc := elb.New(nil) params := &elb.ConfigureHealthCheckInput{ HealthCheck: &elb.HealthCheck{ // Required HealthyThreshold: aws.Long(1), // Required Interval: aws.Long(1), // Required Target: aws.String("HealthCheckTarget"), // Required Timeout: aws.Long(1), // Required UnhealthyThreshold: aws.Long(1), // Required }, LoadBalancerName: aws.String("AccessPointName"), // Required } resp, err := svc.ConfigureHealthCheck(params) if err != nil { if awsErr, ok := err.(awserr.Error); ok { // Generic AWS Error with Code, Message, and original error (if any) fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr()) if reqErr, ok := err.(awserr.RequestFailure); ok { // A service error occurred fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID()) } } else { // This case should never be hit, the SDK should always return an // error which satisfies the awserr.Error interface. fmt.Println(err.Error()) } } // Pretty-print the response data. fmt.Println(awsutil.StringValue(resp)) }
func ExampleELB_CreateLoadBalancerListeners() { svc := elb.New(nil) params := &elb.CreateLoadBalancerListenersInput{ Listeners: []*elb.Listener{ // Required { // Required InstancePort: aws.Int64(1), // Required LoadBalancerPort: aws.Int64(1), // Required Protocol: aws.String("Protocol"), // Required InstanceProtocol: aws.String("Protocol"), SSLCertificateId: aws.String("SSLCertificateId"), }, // More values... }, LoadBalancerName: aws.String("AccessPointName"), // Required } resp, err := svc.CreateLoadBalancerListeners(params) if err != nil { // Print the error, cast err to awserr.Error to get the Code and // Message from an error. fmt.Println(err.Error()) return } // Pretty-print the response data. fmt.Println(resp) }
func ExampleELB_SetLoadBalancerPoliciesOfListener() { svc := elb.New(nil) params := &elb.SetLoadBalancerPoliciesOfListenerInput{ LoadBalancerName: aws.String("AccessPointName"), // Required LoadBalancerPort: aws.Long(1), // Required PolicyNames: []*string{ // Required aws.String("PolicyName"), // Required // More values... }, } resp, err := svc.SetLoadBalancerPoliciesOfListener(params) if err != nil { if awsErr, ok := err.(awserr.Error); ok { // Generic AWS Error with Code, Message, and original error (if any) fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr()) if reqErr, ok := err.(awserr.RequestFailure); ok { // A service error occurred fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID()) } } else { // This case should never be hit, the SDK should always return an // error which satisfies the awserr.Error interface. fmt.Println(err.Error()) } } // Pretty-print the response data. fmt.Println(awsutil.StringValue(resp)) }
func ExampleELB_ConfigureHealthCheck() { svc := elb.New(nil) params := &elb.ConfigureHealthCheckInput{ HealthCheck: &elb.HealthCheck{ // Required HealthyThreshold: aws.Int64(1), // Required Interval: aws.Int64(1), // Required Target: aws.String("HealthCheckTarget"), // Required Timeout: aws.Int64(1), // Required UnhealthyThreshold: aws.Int64(1), // Required }, LoadBalancerName: aws.String("AccessPointName"), // Required } resp, err := svc.ConfigureHealthCheck(params) if err != nil { // Print the error, cast err to awserr.Error to get the Code and // Message from an error. fmt.Println(err.Error()) return } // Pretty-print the response data. fmt.Println(resp) }
func ExampleELB_DeleteLoadBalancerPolicy() { sess, err := session.NewSession() if err != nil { fmt.Println("failed to create session,", err) return } svc := elb.New(sess) params := &elb.DeleteLoadBalancerPolicyInput{ LoadBalancerName: aws.String("AccessPointName"), // Required PolicyName: aws.String("PolicyName"), // Required } resp, err := svc.DeleteLoadBalancerPolicy(params) if err != nil { // Print the error, cast err to awserr.Error to get the Code and // Message from an error. fmt.Println(err.Error()) return } // Pretty-print the response data. fmt.Println(resp) }
func ExampleELB_DescribeLoadBalancers() { sess, err := session.NewSession() if err != nil { fmt.Println("failed to create session,", err) return } svc := elb.New(sess) params := &elb.DescribeLoadBalancersInput{ LoadBalancerNames: []*string{ aws.String("AccessPointName"), // Required // More values... }, Marker: aws.String("Marker"), PageSize: aws.Int64(1), } resp, err := svc.DescribeLoadBalancers(params) if err != nil { // Print the error, cast err to awserr.Error to get the Code and // Message from an error. fmt.Println(err.Error()) return } // Pretty-print the response data. fmt.Println(resp) }
func ExampleELB_RegisterInstancesWithLoadBalancer() { sess, err := session.NewSession() if err != nil { fmt.Println("failed to create session,", err) return } svc := elb.New(sess) params := &elb.RegisterInstancesWithLoadBalancerInput{ Instances: []*elb.Instance{ // Required { // Required InstanceId: aws.String("InstanceId"), }, // More values... }, LoadBalancerName: aws.String("AccessPointName"), // Required } resp, err := svc.RegisterInstancesWithLoadBalancer(params) if err != nil { // Print the error, cast err to awserr.Error to get the Code and // Message from an error. fmt.Println(err.Error()) return } // Pretty-print the response data. fmt.Println(resp) }
func ExampleELB_SetLoadBalancerListenerSSLCertificate() { sess, err := session.NewSession() if err != nil { fmt.Println("failed to create session,", err) return } svc := elb.New(sess) params := &elb.SetLoadBalancerListenerSSLCertificateInput{ LoadBalancerName: aws.String("AccessPointName"), // Required LoadBalancerPort: aws.Int64(1), // Required SSLCertificateId: aws.String("SSLCertificateId"), // Required } resp, err := svc.SetLoadBalancerListenerSSLCertificate(params) if err != nil { // Print the error, cast err to awserr.Error to get the Code and // Message from an error. fmt.Println(err.Error()) return } // Pretty-print the response data. fmt.Println(resp) }
func ExampleELB_SetLoadBalancerPoliciesOfListener() { sess, err := session.NewSession() if err != nil { fmt.Println("failed to create session,", err) return } svc := elb.New(sess) params := &elb.SetLoadBalancerPoliciesOfListenerInput{ LoadBalancerName: aws.String("AccessPointName"), // Required LoadBalancerPort: aws.Int64(1), // Required PolicyNames: []*string{ // Required aws.String("PolicyName"), // Required // More values... }, } resp, err := svc.SetLoadBalancerPoliciesOfListener(params) if err != nil { // Print the error, cast err to awserr.Error to get the Code and // Message from an error. fmt.Println(err.Error()) return } // Pretty-print the response data. fmt.Println(resp) }
func ExampleELB_SetLoadBalancerListenerSSLCertificate() { svc := elb.New(nil) params := &elb.SetLoadBalancerListenerSSLCertificateInput{ LoadBalancerName: aws.String("AccessPointName"), // Required LoadBalancerPort: aws.Int64(1), // Required SSLCertificateId: aws.String("SSLCertificateId"), // Required } resp, err := svc.SetLoadBalancerListenerSSLCertificate(params) if err != nil { if awsErr, ok := err.(awserr.Error); ok { // Generic AWS error with Code, Message, and original error (if any) fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr()) if reqErr, ok := err.(awserr.RequestFailure); ok { // A service error occurred fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID()) } } else { // This case should never be hit, the SDK should always return an // error which satisfies the awserr.Error interface. fmt.Println(err.Error()) } } // Pretty-print the response data. fmt.Println(awsutil.Prettify(resp)) }
func ExampleELB_CreateLoadBalancerPolicy() { svc := elb.New(nil) params := &elb.CreateLoadBalancerPolicyInput{ LoadBalancerName: aws.String("AccessPointName"), // Required PolicyName: aws.String("PolicyName"), // Required PolicyTypeName: aws.String("PolicyTypeName"), // Required PolicyAttributes: []*elb.PolicyAttribute{ { // Required AttributeName: aws.String("AttributeName"), AttributeValue: aws.String("AttributeValue"), }, // More values... }, } resp, err := svc.CreateLoadBalancerPolicy(params) if err != nil { // Print the error, cast err to awserr.Error to get the Code and // Message from an error. fmt.Println(err.Error()) return } // Pretty-print the response data. fmt.Println(resp) }
func ExampleELB_RemoveTags() { svc := elb.New(nil) params := &elb.RemoveTagsInput{ LoadBalancerNames: []*string{ // Required aws.String("AccessPointName"), // Required // More values... }, Tags: []*elb.TagKeyOnly{ // Required { // Required Key: aws.String("TagKey"), }, // More values... }, } resp, err := svc.RemoveTags(params) if err != nil { if awsErr, ok := err.(awserr.Error); ok { // Generic AWS error with Code, Message, and original error (if any) fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr()) if reqErr, ok := err.(awserr.RequestFailure); ok { // A service error occurred fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID()) } } else { // This case should never be hit, the SDK should always return an // error which satisfies the awserr.Error interface. fmt.Println(err.Error()) } } // Pretty-print the response data. fmt.Println(awsutil.Prettify(resp)) }
func ExampleELB_CreateLoadBalancerPolicy() { svc := elb.New(nil) params := &elb.CreateLoadBalancerPolicyInput{ LoadBalancerName: aws.String("AccessPointName"), // Required PolicyName: aws.String("PolicyName"), // Required PolicyTypeName: aws.String("PolicyTypeName"), // Required PolicyAttributes: []*elb.PolicyAttribute{ { // Required AttributeName: aws.String("AttributeName"), AttributeValue: aws.String("AttributeValue"), }, // More values... }, } resp, err := svc.CreateLoadBalancerPolicy(params) if err != nil { if awsErr, ok := err.(awserr.Error); ok { // Generic AWS error with Code, Message, and original error (if any) fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr()) if reqErr, ok := err.(awserr.RequestFailure); ok { // A service error occurred fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID()) } } else { // This case should never be hit, the SDK should always return an // error which satisfies the awserr.Error interface. fmt.Println(err.Error()) } } // Pretty-print the response data. fmt.Println(awsutil.Prettify(resp)) }
func ExampleELB_RemoveTags() { svc := elb.New(nil) params := &elb.RemoveTagsInput{ LoadBalancerNames: []*string{ // Required aws.String("AccessPointName"), // Required // More values... }, Tags: []*elb.TagKeyOnly{ // Required { // Required Key: aws.String("TagKey"), }, // More values... }, } resp, err := svc.RemoveTags(params) if err != nil { // Print the error, cast err to awserr.Error to get the Code and // Message from an error. fmt.Println(err.Error()) return } // Pretty-print the response data. fmt.Println(resp) }
func ExampleELB_EnableAvailabilityZonesForLoadBalancer() { sess, err := session.NewSession() if err != nil { fmt.Println("failed to create session,", err) return } svc := elb.New(sess) params := &elb.EnableAvailabilityZonesForLoadBalancerInput{ AvailabilityZones: []*string{ // Required aws.String("AvailabilityZone"), // Required // More values... }, LoadBalancerName: aws.String("AccessPointName"), // Required } resp, err := svc.EnableAvailabilityZonesForLoadBalancer(params) if err != nil { // Print the error, cast err to awserr.Error to get the Code and // Message from an error. fmt.Println(err.Error()) return } // Pretty-print the response data. fmt.Println(resp) }
func ExampleELB_AttachLoadBalancerToSubnets() { sess, err := session.NewSession() if err != nil { fmt.Println("failed to create session,", err) return } svc := elb.New(sess) params := &elb.AttachLoadBalancerToSubnetsInput{ LoadBalancerName: aws.String("AccessPointName"), // Required Subnets: []*string{ // Required aws.String("SubnetId"), // Required // More values... }, } resp, err := svc.AttachLoadBalancerToSubnets(params) if err != nil { // Print the error, cast err to awserr.Error to get the Code and // Message from an error. fmt.Println(err.Error()) return } // Pretty-print the response data. fmt.Println(resp) }
// RemoveNodeFromELB removes the specified node from the cockroach load balancer. // This can only succeed if the cockroach ELB exists. func RemoveNodeFromELB(region string, instanceID string) error { elbService := elb.New(&aws.Config{Region: aws.String(region)}) _, err := elbService.DeregisterInstancesFromLoadBalancer(&elb.DeregisterInstancesFromLoadBalancerInput{ LoadBalancerName: aws.String(cockroachELBName), Instances: []*elb.Instance{{InstanceId: aws.String(instanceID)}}, }) return err }
// AddNodeToELB adds the specified node to the cockroach load balancer. // This can only succeed if the cockroach ELB exists. func AddNodeToELB(region string, instanceID string) error { elbService := elb.New(&aws.Config{Region: region}) _, err := elbService.RegisterInstancesWithLoadBalancer(&elb.RegisterInstancesWithLoadBalancerInput{ LoadBalancerName: aws.String(cockroachELBName), Instances: []*elb.Instance{{InstanceID: aws.String(instanceID)}}, }) return err }
// NewAWSService uses the default Environment credential store func NewAWSService() AWSService { s := session.New(&aws.Config{Region: &awsRegion}) return &RealAWSService{ elbc: elb.New(s), r53c: route53.New(s), ec2: ec2.New(s), } }
// NewStaticAWSService uses the static credential provider (pass in access key ID and secret key) func NewStaticAWSService(id string, secret string) AWSService { s := session.New(&aws.Config{Credentials: credentials.NewStaticCredentials(id, secret, ""), Region: &awsRegion}) return &RealAWSService{ elbc: elb.New(s), r53c: route53.New(s), ec2: ec2.New(s), } }
func ExampleELB_CreateLoadBalancer() { svc := elb.New(nil) params := &elb.CreateLoadBalancerInput{ Listeners: []*elb.Listener{ // Required { // Required InstancePort: aws.Long(1), // Required LoadBalancerPort: aws.Long(1), // Required Protocol: aws.String("Protocol"), // Required InstanceProtocol: aws.String("Protocol"), SSLCertificateID: aws.String("SSLCertificateId"), }, // More values... }, LoadBalancerName: aws.String("AccessPointName"), // Required AvailabilityZones: []*string{ aws.String("AvailabilityZone"), // Required // More values... }, Scheme: aws.String("LoadBalancerScheme"), SecurityGroups: []*string{ aws.String("SecurityGroupId"), // Required // More values... }, Subnets: []*string{ aws.String("SubnetId"), // Required // More values... }, Tags: []*elb.Tag{ { // Required Key: aws.String("TagKey"), // Required Value: aws.String("TagValue"), }, // More values... }, } resp, err := svc.CreateLoadBalancer(params) if err != nil { if awsErr, ok := err.(awserr.Error); ok { // Generic AWS Error with Code, Message, and original error (if any) fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr()) if reqErr, ok := err.(awserr.RequestFailure); ok { // A service error occurred fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID()) } } else { // This case should never be hit, the SDK should always return an // error which satisfies the awserr.Error interface. fmt.Println(err.Error()) } } // Pretty-print the response data. fmt.Println(awsutil.StringValue(resp)) }
func ExampleELB_CreateLoadBalancer() { sess, err := session.NewSession() if err != nil { fmt.Println("failed to create session,", err) return } svc := elb.New(sess) params := &elb.CreateLoadBalancerInput{ Listeners: []*elb.Listener{ // Required { // Required InstancePort: aws.Int64(1), // Required LoadBalancerPort: aws.Int64(1), // Required Protocol: aws.String("Protocol"), // Required InstanceProtocol: aws.String("Protocol"), SSLCertificateId: aws.String("SSLCertificateId"), }, // More values... }, LoadBalancerName: aws.String("AccessPointName"), // Required AvailabilityZones: []*string{ aws.String("AvailabilityZone"), // Required // More values... }, Scheme: aws.String("LoadBalancerScheme"), SecurityGroups: []*string{ aws.String("SecurityGroupId"), // Required // More values... }, Subnets: []*string{ aws.String("SubnetId"), // Required // More values... }, Tags: []*elb.Tag{ { // Required Key: aws.String("TagKey"), // Required Value: aws.String("TagValue"), }, // More values... }, } resp, err := svc.CreateLoadBalancer(params) if err != nil { // Print the error, cast err to awserr.Error to get the Code and // Message from an error. fmt.Println(err.Error()) return } // Pretty-print the response data. fmt.Println(resp) }
func get_elb_list(sess *session.Session) []*elb.LoadBalancerDescription { svc := elb.New(sess) params := &elb.DescribeLoadBalancersInput{ LoadBalancerNames: []*string{}, } resp, err := svc.DescribeLoadBalancers(params) if err != nil { fmt.Printf("[ERROR] Fail DescribeLoadBalancers API call: %s \n", err.Error()) return nil } return resp.LoadBalancerDescriptions }
func NewAWSCloud(region string, tags map[string]string) (*AWSCloud, error) { c := &AWSCloud{Region: region} config := aws.NewConfig().WithRegion(region) c.EC2 = ec2.New(session.New(), config) c.IAM = iam.New(session.New(), config) c.ELB = elb.New(session.New(), config) c.Autoscaling = autoscaling.New(session.New(), config) c.Route53 = route53.New(session.New(), config) c.tags = tags return c, nil }
func (self *ElbApi) DescribeLoadBalancers(names []string) (*elb.DescribeLoadBalancersOutput, error) { svc := elb.New(&aws.Config{ Region: self.Region, Credentials: self.Credentials, }) params := &elb.DescribeLoadBalancersInput{ LoadBalancerNames: util.ConvertPointerString(names), } return svc.DescribeLoadBalancers(params) }
func ExampleELB_ModifyLoadBalancerAttributes() { svc := elb.New(nil) params := &elb.ModifyLoadBalancerAttributesInput{ LoadBalancerAttributes: &elb.LoadBalancerAttributes{ // Required AccessLog: &elb.AccessLog{ Enabled: aws.Boolean(true), // Required EmitInterval: aws.Long(1), S3BucketName: aws.String("S3BucketName"), S3BucketPrefix: aws.String("AccessLogPrefix"), }, AdditionalAttributes: []*elb.AdditionalAttribute{ { // Required Key: aws.String("StringVal"), Value: aws.String("StringVal"), }, // More values... }, ConnectionDraining: &elb.ConnectionDraining{ Enabled: aws.Boolean(true), // Required Timeout: aws.Long(1), }, ConnectionSettings: &elb.ConnectionSettings{ IdleTimeout: aws.Long(1), // Required }, CrossZoneLoadBalancing: &elb.CrossZoneLoadBalancing{ Enabled: aws.Boolean(true), // Required }, }, LoadBalancerName: aws.String("AccessPointName"), // Required } resp, err := svc.ModifyLoadBalancerAttributes(params) if err != nil { if awsErr, ok := err.(awserr.Error); ok { // Generic AWS Error with Code, Message, and original error (if any) fmt.Println(awsErr.Code(), awsErr.Message(), awsErr.OrigErr()) if reqErr, ok := err.(awserr.RequestFailure); ok { // A service error occurred fmt.Println(reqErr.Code(), reqErr.Message(), reqErr.StatusCode(), reqErr.RequestID()) } } else { // This case should never be hit, the SDK should always return an // error which satisfies the awserr.Error interface. fmt.Println(err.Error()) } } // Pretty-print the response data. fmt.Println(awsutil.StringValue(resp)) }
// // Fetch ELB data // func GetElbData(creds *credentials.Credentials, region string, loadBalancers []*string) *elb.DescribeLoadBalancersOutput { // We need to get a new client because the "ELB" service is different from the "ECS" service. elbAwsConn := elb.New(&aws.Config{ Region: aws.String(region), Credentials: creds, }) // Fetch the details given the list of ELBs. balancerInfo, err := elbAwsConn.DescribeLoadBalancers(&elb.DescribeLoadBalancersInput{ LoadBalancerNames: loadBalancers, }) CheckError("fetching load balancer data", err) return balancerInfo }