func ExampleCloudWatch_GetMetricStatistics() { svc := cloudwatch.New(session.New()) params := &cloudwatch.GetMetricStatisticsInput{ EndTime: aws.Time(time.Now()), // Required MetricName: aws.String("MetricName"), // Required Namespace: aws.String("Namespace"), // Required Period: aws.Int64(1), // Required StartTime: aws.Time(time.Now()), // Required Statistics: []*string{ // Required aws.String("Statistic"), // Required // More values... }, Dimensions: []*cloudwatch.Dimension{ { // Required Name: aws.String("DimensionName"), // Required Value: aws.String("DimensionValue"), // Required }, // More values... }, Unit: aws.String("StandardUnit"), } resp, err := svc.GetMetricStatistics(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 ExampleS3_UploadPartCopy() { svc := s3.New(session.New()) params := &s3.UploadPartCopyInput{ Bucket: aws.String("BucketName"), // Required CopySource: aws.String("CopySource"), // Required Key: aws.String("ObjectKey"), // Required PartNumber: aws.Int64(1), // Required UploadId: aws.String("MultipartUploadId"), // Required CopySourceIfMatch: aws.String("CopySourceIfMatch"), CopySourceIfModifiedSince: aws.Time(time.Now()), CopySourceIfNoneMatch: aws.String("CopySourceIfNoneMatch"), CopySourceIfUnmodifiedSince: aws.Time(time.Now()), CopySourceRange: aws.String("CopySourceRange"), CopySourceSSECustomerAlgorithm: aws.String("CopySourceSSECustomerAlgorithm"), CopySourceSSECustomerKey: aws.String("CopySourceSSECustomerKey"), CopySourceSSECustomerKeyMD5: aws.String("CopySourceSSECustomerKeyMD5"), RequestPayer: aws.String("RequestPayer"), SSECustomerAlgorithm: aws.String("SSECustomerAlgorithm"), SSECustomerKey: aws.String("SSECustomerKey"), SSECustomerKeyMD5: aws.String("SSECustomerKeyMD5"), } resp, err := svc.UploadPartCopy(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 ExampleS3_HeadObject() { svc := s3.New(session.New()) params := &s3.HeadObjectInput{ Bucket: aws.String("BucketName"), // Required Key: aws.String("ObjectKey"), // Required IfMatch: aws.String("IfMatch"), IfModifiedSince: aws.Time(time.Now()), IfNoneMatch: aws.String("IfNoneMatch"), IfUnmodifiedSince: aws.Time(time.Now()), Range: aws.String("Range"), RequestPayer: aws.String("RequestPayer"), SSECustomerAlgorithm: aws.String("SSECustomerAlgorithm"), SSECustomerKey: aws.String("SSECustomerKey"), SSECustomerKeyMD5: aws.String("SSECustomerKeyMD5"), VersionId: aws.String("ObjectVersionId"), } resp, err := svc.HeadObject(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 ExampleAutoScaling_PutScheduledUpdateGroupAction() { svc := autoscaling.New(session.New()) params := &autoscaling.PutScheduledUpdateGroupActionInput{ AutoScalingGroupName: aws.String("ResourceName"), // Required ScheduledActionName: aws.String("XmlStringMaxLen255"), // Required DesiredCapacity: aws.Int64(1), EndTime: aws.Time(time.Now()), MaxSize: aws.Int64(1), MinSize: aws.Int64(1), Recurrence: aws.String("XmlStringMaxLen255"), StartTime: aws.Time(time.Now()), Time: aws.Time(time.Now()), } resp, err := svc.PutScheduledUpdateGroupAction(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 ExampleAutoScaling_DescribeScheduledActions() { svc := autoscaling.New(session.New()) params := &autoscaling.DescribeScheduledActionsInput{ AutoScalingGroupName: aws.String("ResourceName"), EndTime: aws.Time(time.Now()), MaxRecords: aws.Int64(1), NextToken: aws.String("XmlString"), ScheduledActionNames: []*string{ aws.String("ResourceName"), // Required // More values... }, StartTime: aws.Time(time.Now()), } resp, err := svc.DescribeScheduledActions(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 ExampleS3_CopyObject() { svc := s3.New(session.New()) params := &s3.CopyObjectInput{ Bucket: aws.String("BucketName"), // Required CopySource: aws.String("CopySource"), // Required Key: aws.String("ObjectKey"), // Required ACL: aws.String("ObjectCannedACL"), CacheControl: aws.String("CacheControl"), ContentDisposition: aws.String("ContentDisposition"), ContentEncoding: aws.String("ContentEncoding"), ContentLanguage: aws.String("ContentLanguage"), ContentType: aws.String("ContentType"), CopySourceIfMatch: aws.String("CopySourceIfMatch"), CopySourceIfModifiedSince: aws.Time(time.Now()), CopySourceIfNoneMatch: aws.String("CopySourceIfNoneMatch"), CopySourceIfUnmodifiedSince: aws.Time(time.Now()), CopySourceSSECustomerAlgorithm: aws.String("CopySourceSSECustomerAlgorithm"), CopySourceSSECustomerKey: aws.String("CopySourceSSECustomerKey"), CopySourceSSECustomerKeyMD5: aws.String("CopySourceSSECustomerKeyMD5"), Expires: aws.Time(time.Now()), GrantFullControl: aws.String("GrantFullControl"), GrantRead: aws.String("GrantRead"), GrantReadACP: aws.String("GrantReadACP"), GrantWriteACP: aws.String("GrantWriteACP"), Metadata: map[string]*string{ "Key": aws.String("MetadataValue"), // Required // More values... }, MetadataDirective: aws.String("MetadataDirective"), RequestPayer: aws.String("RequestPayer"), SSECustomerAlgorithm: aws.String("SSECustomerAlgorithm"), SSECustomerKey: aws.String("SSECustomerKey"), SSECustomerKeyMD5: aws.String("SSECustomerKeyMD5"), SSEKMSKeyId: aws.String("SSEKMSKeyId"), ServerSideEncryption: aws.String("ServerSideEncryption"), StorageClass: aws.String("StorageClass"), WebsiteRedirectLocation: aws.String("WebsiteRedirectLocation"), } resp, err := svc.CopyObject(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 ExampleS3_PutBucketLifecycleConfiguration() { svc := s3.New(session.New()) params := &s3.PutBucketLifecycleConfigurationInput{ Bucket: aws.String("BucketName"), // Required LifecycleConfiguration: &s3.BucketLifecycleConfiguration{ Rules: []*s3.LifecycleRule{ // Required { // Required Prefix: aws.String("Prefix"), // Required Status: aws.String("ExpirationStatus"), // Required Expiration: &s3.LifecycleExpiration{ Date: aws.Time(time.Now()), Days: aws.Int64(1), }, ID: aws.String("ID"), NoncurrentVersionExpiration: &s3.NoncurrentVersionExpiration{ NoncurrentDays: aws.Int64(1), }, NoncurrentVersionTransitions: []*s3.NoncurrentVersionTransition{ { // Required NoncurrentDays: aws.Int64(1), StorageClass: aws.String("TransitionStorageClass"), }, // More values... }, Transitions: []*s3.Transition{ { // Required Date: aws.Time(time.Now()), Days: aws.Int64(1), StorageClass: aws.String("TransitionStorageClass"), }, // More values... }, }, // More values... }, }, } resp, err := svc.PutBucketLifecycleConfiguration(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) }
// Get latest convergence state and send notifications func monitorConverged(lastConverged bool, lastEventAt time.Time) (bool, ecs.ServiceEvent) { log := logger.New("ns=services_monitor") services, err := models.ClusterServices() if err != nil { log.Log("fn=monitorConverged err=%q", err) return lastConverged, ecs.ServiceEvent{ CreatedAt: aws.Time(lastEventAt), } } converged := services.IsConverged() events := services.EventsSince(lastEventAt) log.Log("fn=monitorConverged converged=%t events=%d lastEventAt=%q", converged, len(events), lastEventAt) if events.HasCapacityWarning() { models.NotifyError("rack:capacity", fmt.Errorf(events.CapacityWarning()), map[string]string{ "rack": os.Getenv("RACK"), }) } if converged != lastConverged { models.NotifySuccess("rack:converge", map[string]string{ "rack": os.Getenv("RACK"), "converged": fmt.Sprintf("%t", converged), }) } return converged, services.LastEvent() }
func TestInputService2ProtocolTestTimestampValuesCase1(t *testing.T) { sess := session.New() svc := NewInputService2ProtocolTest(sess, &aws.Config{Endpoint: aws.String("https://test")}) input := &InputService2TestShapeInputService2TestCaseOperation1Input{ TimeArg: aws.Time(time.Unix(1422172800, 0)), } req, _ := svc.InputService2TestCaseOperation1Request(input) r := req.HTTPRequest // build request jsonrpc.Build(req) assert.NoError(t, req.Error) // assert body assert.NotNil(t, r.Body) body, _ := ioutil.ReadAll(r.Body) awstesting.AssertJSON(t, `{"TimeArg":1422172800}`, util.Trim(string(body))) // assert URL awstesting.AssertURL(t, "https://test/", r.URL.String()) // assert headers assert.Equal(t, "application/x-amz-json-1.1", r.Header.Get("Content-Type")) assert.Equal(t, "com.amazonaws.foo.OperationName", r.Header.Get("X-Amz-Target")) }
func TestInputService8ProtocolTestTimestampValuesCase1(t *testing.T) { sess := session.New() svc := NewInputService8ProtocolTest(sess, &aws.Config{Endpoint: aws.String("https://test")}) input := &InputService8TestShapeInputService8TestCaseOperation1Input{ TimeArg: aws.Time(time.Unix(1422172800, 0)), } req, _ := svc.InputService8TestCaseOperation1Request(input) r := req.HTTPRequest // build request ec2query.Build(req) assert.NoError(t, req.Error) // assert body assert.NotNil(t, r.Body) body, _ := ioutil.ReadAll(r.Body) awstesting.AssertQuery(t, `Action=OperationName&TimeArg=2015-01-25T08%3A00%3A00Z&Version=2014-01-01`, util.Trim(string(body))) // assert URL awstesting.AssertURL(t, "https://test/", r.URL.String()) // assert headers }
func getMetric(metric string, dimensions []*cloudwatch.Dimension, span, precision int64) ([]*cloudwatch.Datapoint, error) { req := &cloudwatch.GetMetricStatisticsInput{ Dimensions: dimensions, EndTime: aws.Time(time.Now()), MetricName: aws.String(metric), Namespace: aws.String("Convox"), Period: aws.Int64(precision * 60), StartTime: aws.Time(time.Now().Add(time.Duration(-1*span) * time.Minute)), Statistics: []*string{aws.String("Average")}, } res, err := CloudWatch().GetMetricStatistics(req) if err != nil { // TODO log error fmt.Printf("error fetching metrics: %s\n", err) return []*cloudwatch.Datapoint{}, nil } return res.Datapoints, nil }
func ExampleCloudWatch_DescribeAlarmHistory() { svc := cloudwatch.New(session.New()) params := &cloudwatch.DescribeAlarmHistoryInput{ AlarmName: aws.String("AlarmName"), EndDate: aws.Time(time.Now()), HistoryItemType: aws.String("HistoryItemType"), MaxRecords: aws.Int64(1), NextToken: aws.String("NextToken"), StartDate: aws.Time(time.Now()), } resp, err := svc.DescribeAlarmHistory(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 (services ECSServices) LastEvent() ecs.ServiceEvent { e := ecs.ServiceEvent{ CreatedAt: aws.Time(time.Unix(0, 0)), } for i := 0; i < len(services); i++ { s := services[i] if len(s.Events) > 0 && s.Events[0].CreatedAt.After(*e.CreatedAt) { e = *s.Events[0] } } return e }
func TestLastEvent(t *testing.T) { services, _ := getClusterServices() event := services.LastEvent() assert.Equal(t, "7a8cd970-01ff-4d34-aa34-fa0deff70e48", *event.Id) // add another service with a more recent event services = append(services, &ecs.Service{ Events: []*ecs.ServiceEvent{ &ecs.ServiceEvent{ Id: aws.String("ce9dfdaf-864f-4dc2-9581-0b8b0826f0aa"), CreatedAt: aws.Time(time.Now()), }, }, }) event = services.LastEvent() assert.Equal(t, "ce9dfdaf-864f-4dc2-9581-0b8b0826f0aa", *event.Id) }
// Get initial convergence state func checkConverged() (bool, ecs.ServiceEvent) { log := logger.New("ns=services_monitor") services, err := models.ClusterServices() if err != nil { log.Log("fn=checkConverged err=%q", err) return true, ecs.ServiceEvent{ CreatedAt: aws.Time(time.Now()), } } converged := services.IsConverged() lastEvent := services.LastEvent() log.Log("fn=checkConverged converged=%t lastEventAt=%q", converged, lastEvent.CreatedAt) return converged, lastEvent }
func ExampleCloudWatch_PutMetricData() { svc := cloudwatch.New(session.New()) params := &cloudwatch.PutMetricDataInput{ MetricData: []*cloudwatch.MetricDatum{ // Required { // Required MetricName: aws.String("MetricName"), // Required Dimensions: []*cloudwatch.Dimension{ { // Required Name: aws.String("DimensionName"), // Required Value: aws.String("DimensionValue"), // Required }, // More values... }, StatisticValues: &cloudwatch.StatisticSet{ Maximum: aws.Float64(1.0), // Required Minimum: aws.Float64(1.0), // Required SampleCount: aws.Float64(1.0), // Required Sum: aws.Float64(1.0), // Required }, Timestamp: aws.Time(time.Now()), Unit: aws.String("StandardUnit"), Value: aws.Float64(1.0), }, // More values... }, Namespace: aws.String("Namespace"), // Required } resp, err := svc.PutMetricData(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) }