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 ExampleECS_RegisterContainerInstance() { svc := ecs.New(nil) params := &ecs.RegisterContainerInstanceInput{ Cluster: aws.String("String"), InstanceIdentityDocument: aws.String("String"), InstanceIdentityDocumentSignature: aws.String("String"), TotalResources: []*ecs.Resource{ &ecs.Resource{ // Required DoubleValue: aws.Double(1.0), IntegerValue: aws.Long(1), LongValue: aws.Long(1), Name: aws.String("String"), StringSetValue: []*string{ aws.String("String"), // Required // More values... }, Type: aws.String("String"), }, // More values... }, } resp, err := svc.RegisterContainerInstance(params) if awserr := aws.Error(err); awserr != nil { // A service error occurred. fmt.Println("Error:", awserr.Code, awserr.Message) } else if err != nil { // A non-service error occurred. panic(err) } // Pretty-print the response data. fmt.Println(awsutil.StringValue(resp)) }
func ExampleCloudWatch_PutMetricAlarm() { svc := cloudwatch.New(nil) params := &cloudwatch.PutMetricAlarmInput{ AlarmName: aws.String("AlarmName"), // Required ComparisonOperator: aws.String("ComparisonOperator"), // Required EvaluationPeriods: aws.Long(1), // Required MetricName: aws.String("MetricName"), // Required Namespace: aws.String("Namespace"), // Required Period: aws.Long(1), // Required Statistic: aws.String("Statistic"), // Required Threshold: aws.Double(1.0), // Required ActionsEnabled: aws.Boolean(true), AlarmActions: []*string{ aws.String("ResourceName"), // Required // More values... }, AlarmDescription: aws.String("AlarmDescription"), Dimensions: []*cloudwatch.Dimension{ &cloudwatch.Dimension{ // Required Name: aws.String("DimensionName"), // Required Value: aws.String("DimensionValue"), // Required }, // More values... }, InsufficientDataActions: []*string{ aws.String("ResourceName"), // Required // More values... }, OKActions: []*string{ aws.String("ResourceName"), // Required // More values... }, Unit: aws.String("StandardUnit"), } resp, err := svc.PutMetricAlarm(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 ExampleECS_RegisterContainerInstance() { svc := ecs.New(nil) params := &ecs.RegisterContainerInstanceInput{ Cluster: aws.String("String"), InstanceIdentityDocument: aws.String("String"), InstanceIdentityDocumentSignature: aws.String("String"), TotalResources: []*ecs.Resource{ &ecs.Resource{ // Required DoubleValue: aws.Double(1.0), IntegerValue: aws.Long(1), LongValue: aws.Long(1), Name: aws.String("String"), StringSetValue: []*string{ aws.String("String"), // Required // More values... }, Type: aws.String("String"), }, // More values... }, VersionInfo: &ecs.VersionInfo{ AgentHash: aws.String("String"), AgentVersion: aws.String("String"), DockerVersion: aws.String("String"), }, } resp, err := svc.RegisterContainerInstance(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 TestQueryRequest(t *testing.T) { var m sync.Mutex var httpReq *http.Request var form url.Values server := httptest.NewServer(http.HandlerFunc( func(w http.ResponseWriter, r *http.Request) { m.Lock() defer m.Unlock() httpReq = r if err := r.ParseForm(); err != nil { t.Fatal(err) } form = r.Form fmt.Fprintln(w, `<Thing><IpAddress>woo</IpAddress></Thing>`) }, )) defer server.Close() client := aws.QueryClient{ Context: aws.Context{ Service: "animals", Region: "us-west-2", Credentials: aws.Creds( "accessKeyID", "secretAccessKey", "securityToken", ), }, Client: http.DefaultClient, Endpoint: server.URL, APIVersion: "1.1", } req := fakeQueryRequest{ PresentString: aws.String("string"), PresentBoolean: aws.True(), PresentInteger: aws.Integer(1), PresentLong: aws.Long(2), PresentDouble: aws.Double(1.2), PresentFloat: aws.Float(2.3), PresentTime: time.Date(2001, 1, 1, 2, 1, 1, 0, time.FixedZone("UTC+1", 3600)), PresentSlice: []string{"one", "two"}, PresentStruct: &EmbeddedStruct{Value: aws.String("v")}, PresentStructSlice: []EmbeddedStruct{ {Value: aws.String("p")}, {Value: aws.String("q")}, }, PresentMap: map[string]EmbeddedStruct{ "aa": EmbeddedStruct{Value: aws.String("AA")}, "bb": EmbeddedStruct{Value: aws.String("BB")}, }, } var resp fakeQueryResponse if err := client.Do("GetIP", "POST", "/", &req, &resp); err != nil { t.Fatal(err) } m.Lock() defer m.Unlock() if v, want := httpReq.Method, "POST"; v != want { t.Errorf("Method was %v but expected %v", v, want) } if httpReq.Header.Get("Authorization") == "" { t.Error("Authorization header is missing") } if v, want := httpReq.Header.Get("Content-Type"), "application/x-www-form-urlencoded"; v != want { t.Errorf("Content-Type was %v but expected %v", v, want) } if v, want := httpReq.Header.Get("User-Agent"), "aws-go"; v != want { t.Errorf("User-Agent was %v but expected %v", v, want) } if err := httpReq.ParseForm(); err != nil { t.Fatal(err) } expectedForm := url.Values{ "Action": []string{"GetIP"}, "Version": []string{"1.1"}, "PresentString": []string{"string"}, "PresentBoolean": []string{"true"}, "PresentInteger": []string{"1"}, "PresentLong": []string{"2"}, "PresentDouble": []string{"1.2"}, "PresentFloat": []string{"2.3"}, "PresentTime": []string{"2001-01-01T01:01:01Z"}, "PresentSlice.1": []string{"one"}, "PresentSlice.2": []string{"two"}, "PresentStruct.Value": []string{"v"}, "PresentStructSlice.1.Value": []string{"p"}, "PresentStructSlice.2.Value": []string{"q"}, "PresentMap.1.Name": []string{"aa"}, "PresentMap.1.Value.Value": []string{"AA"}, "PresentMap.2.Name": []string{"bb"}, "PresentMap.2.Value.Value": []string{"BB"}, } if !reflect.DeepEqual(form, expectedForm) { t.Errorf("Post body was \n%s\n but expected \n%s", form.Encode(), expectedForm.Encode()) } if want := (fakeQueryResponse{IPAddress: "woo"}); want != resp { t.Errorf("Response was %#v, but expected %#v", resp, want) } }
func ExampleCloudSearch_DefineIndexField() { svc := cloudsearch.New(nil) params := &cloudsearch.DefineIndexFieldInput{ DomainName: aws.String("DomainName"), // Required IndexField: &cloudsearch.IndexField{ // Required IndexFieldName: aws.String("DynamicFieldName"), // Required IndexFieldType: aws.String("IndexFieldType"), // Required DateArrayOptions: &cloudsearch.DateArrayOptions{ DefaultValue: aws.String("FieldValue"), FacetEnabled: aws.Boolean(true), ReturnEnabled: aws.Boolean(true), SearchEnabled: aws.Boolean(true), SourceFields: aws.String("FieldNameCommaList"), }, DateOptions: &cloudsearch.DateOptions{ DefaultValue: aws.String("FieldValue"), FacetEnabled: aws.Boolean(true), ReturnEnabled: aws.Boolean(true), SearchEnabled: aws.Boolean(true), SortEnabled: aws.Boolean(true), SourceField: aws.String("FieldName"), }, DoubleArrayOptions: &cloudsearch.DoubleArrayOptions{ DefaultValue: aws.Double(1.0), FacetEnabled: aws.Boolean(true), ReturnEnabled: aws.Boolean(true), SearchEnabled: aws.Boolean(true), SourceFields: aws.String("FieldNameCommaList"), }, DoubleOptions: &cloudsearch.DoubleOptions{ DefaultValue: aws.Double(1.0), FacetEnabled: aws.Boolean(true), ReturnEnabled: aws.Boolean(true), SearchEnabled: aws.Boolean(true), SortEnabled: aws.Boolean(true), SourceField: aws.String("FieldName"), }, IntArrayOptions: &cloudsearch.IntArrayOptions{ DefaultValue: aws.Long(1), FacetEnabled: aws.Boolean(true), ReturnEnabled: aws.Boolean(true), SearchEnabled: aws.Boolean(true), SourceFields: aws.String("FieldNameCommaList"), }, IntOptions: &cloudsearch.IntOptions{ DefaultValue: aws.Long(1), FacetEnabled: aws.Boolean(true), ReturnEnabled: aws.Boolean(true), SearchEnabled: aws.Boolean(true), SortEnabled: aws.Boolean(true), SourceField: aws.String("FieldName"), }, LatLonOptions: &cloudsearch.LatLonOptions{ DefaultValue: aws.String("FieldValue"), FacetEnabled: aws.Boolean(true), ReturnEnabled: aws.Boolean(true), SearchEnabled: aws.Boolean(true), SortEnabled: aws.Boolean(true), SourceField: aws.String("FieldName"), }, LiteralArrayOptions: &cloudsearch.LiteralArrayOptions{ DefaultValue: aws.String("FieldValue"), FacetEnabled: aws.Boolean(true), ReturnEnabled: aws.Boolean(true), SearchEnabled: aws.Boolean(true), SourceFields: aws.String("FieldNameCommaList"), }, LiteralOptions: &cloudsearch.LiteralOptions{ DefaultValue: aws.String("FieldValue"), FacetEnabled: aws.Boolean(true), ReturnEnabled: aws.Boolean(true), SearchEnabled: aws.Boolean(true), SortEnabled: aws.Boolean(true), SourceField: aws.String("FieldName"), }, TextArrayOptions: &cloudsearch.TextArrayOptions{ AnalysisScheme: aws.String("Word"), DefaultValue: aws.String("FieldValue"), HighlightEnabled: aws.Boolean(true), ReturnEnabled: aws.Boolean(true), SourceFields: aws.String("FieldNameCommaList"), }, TextOptions: &cloudsearch.TextOptions{ AnalysisScheme: aws.String("Word"), DefaultValue: aws.String("FieldValue"), HighlightEnabled: aws.Boolean(true), ReturnEnabled: aws.Boolean(true), SortEnabled: aws.Boolean(true), SourceField: aws.String("FieldName"), }, }, } resp, err := svc.DefineIndexField(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)) }