func ExampleCloudWatch_DescribeAlarmHistory() { svc := cloudwatch.New(nil) params := &cloudwatch.DescribeAlarmHistoryInput{ AlarmName: aws.String("AlarmName"), EndDate: aws.Time(time.Now()), HistoryItemType: aws.String("HistoryItemType"), MaxRecords: aws.Long(1), NextToken: aws.String("NextToken"), StartDate: aws.Time(time.Now()), } resp, err := svc.DescribeAlarmHistory(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 ClusterTop(rw http.ResponseWriter, r *http.Request) { name := aws.String(os.Getenv("RACK")) res, err := models.CloudFormation().DescribeStacks(&cloudformation.DescribeStacksInput{StackName: name}) if err != nil { RenderError(rw, err) return } if len(res.Stacks) == 0 { RenderError(rw, fmt.Errorf("Stack %s does not exist", os.Getenv("RACK"))) return } stack := res.Stacks[0] outputs := make(map[string]string) for _, output := range stack.Outputs { outputs[*output.OutputKey] = *output.OutputValue } cluster := outputs["Cluster"] params := &cloudwatch.GetMetricStatisticsInput{ MetricName: aws.String(mux.Vars(r)["metric"]), StartTime: aws.Time(time.Now().Add(-2 * time.Minute)), EndTime: aws.Time(time.Now()), Period: aws.Long(60), Namespace: aws.String("AWS/ECS"), Statistics: []*string{ // Required aws.String("Maximum"), aws.String("Average"), aws.String("Minimum"), }, Dimensions: []*cloudwatch.Dimension{ { Name: aws.String("ClusterName"), Value: aws.String(cluster), }, }, } resp, err := models.CloudWatch().GetMetricStatistics(params) if err != nil { RenderError(rw, err) return } RenderJson(rw, resp) }
func TestInputService8ProtocolTestTimestampValuesCase1(t *testing.T) { svc := NewInputService8ProtocolTest(nil) svc.Endpoint = "https://test" input := &InputService8TestShapeInputShape{ 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) assert.Equal(t, util.Trim(`Action=OperationName&TimeArg=2015-01-25T08%3A00%3A00Z&Version=2014-01-01`), util.Trim(string(body))) // assert URL assert.Equal(t, "https://test/", r.URL.String()) // assert headers }
func TestInputService9ProtocolTestTimestampValuesCase1(t *testing.T) { svc := NewInputService9ProtocolTest(nil) svc.Endpoint = "https://test" input := &InputService9TestShapeInputShape{ TimeArg: aws.Time(time.Unix(1422172800, 0)), } req, _ := svc.InputService9TestCaseOperation1Request(input) r := req.HTTPRequest // build request restjson.Build(req) assert.NoError(t, req.Error) // assert body assert.NotNil(t, r.Body) body, _ := ioutil.ReadAll(r.Body) assert.Equal(t, util.Trim(`{"TimeArg":1422172800}`), util.Trim(string(body))) // assert URL assert.Equal(t, "https://test/path", r.URL.String()) // assert headers }
func ExampleCloudWatch_GetMetricStatistics() { svc := cloudwatch.New(nil) params := &cloudwatch.GetMetricStatisticsInput{ EndTime: aws.Time(time.Now()), // Required MetricName: aws.String("MetricName"), // Required Namespace: aws.String("Namespace"), // Required Period: aws.Long(1), // Required StartTime: aws.Time(time.Now()), // Required Statistics: []*string{ // Required aws.String("Statistic"), // Required // More values... }, Dimensions: []*cloudwatch.Dimension{ &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 { 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 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.Long(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_PutMetricData() { svc := cloudwatch.New(nil) params := &cloudwatch.PutMetricDataInput{ MetricData: []*cloudwatch.MetricDatum{ // Required &cloudwatch.MetricDatum{ // Required MetricName: aws.String("MetricName"), // Required Dimensions: []*cloudwatch.Dimension{ &cloudwatch.Dimension{ // Required Name: aws.String("DimensionName"), // Required Value: aws.String("DimensionValue"), // Required }, // More values... }, StatisticValues: &cloudwatch.StatisticSet{ Maximum: aws.Double(1.0), // Required Minimum: aws.Double(1.0), // Required SampleCount: aws.Double(1.0), // Required Sum: aws.Double(1.0), // Required }, Timestamp: aws.Time(time.Now()), Unit: aws.String("StandardUnit"), Value: aws.Double(1.0), }, // More values... }, Namespace: aws.String("Namespace"), // Required } resp, err := svc.PutMetricData(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 TestInputService9ProtocolTestTimestampValuesCase2(t *testing.T) { svc := NewInputService9ProtocolTest(nil) svc.Endpoint = "https://test" input := &InputService9TestShapeInputShape{ TimeArgInHeader: aws.Time(time.Unix(1422172800, 0)), } req, _ := svc.InputService9TestCaseOperation2Request(input) r := req.HTTPRequest // build request restjson.Build(req) assert.NoError(t, req.Error) // assert URL assert.Equal(t, "https://test/path", r.URL.String()) // assert headers assert.Equal(t, "Sun, 25 Jan 2015 08:00:00 GMT", r.Header.Get("x-amz-timearg")) }