func ExampleECS_SubmitContainerStateChange() { svc := ecs.New(nil) params := &ecs.SubmitContainerStateChangeInput{ Cluster: aws.String("String"), ContainerName: aws.String("String"), ExitCode: aws.Int64(1), NetworkBindings: []*ecs.NetworkBinding{ { // Required BindIP: aws.String("String"), ContainerPort: aws.Int64(1), HostPort: aws.Int64(1), Protocol: aws.String("TransportProtocol"), }, // More values... }, Reason: aws.String("String"), Status: aws.String("String"), Task: aws.String("String"), } resp, err := svc.SubmitContainerStateChange(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 ExampleECS_CreateService() { svc := ecs.New(nil) params := &ecs.CreateServiceInput{ DesiredCount: aws.Int64(1), // Required ServiceName: aws.String("String"), // Required TaskDefinition: aws.String("String"), // Required ClientToken: aws.String("String"), Cluster: aws.String("String"), LoadBalancers: []*ecs.LoadBalancer{ { // Required ContainerName: aws.String("String"), ContainerPort: aws.Int64(1), LoadBalancerName: aws.String("String"), }, // More values... }, Role: aws.String("String"), } resp, err := svc.CreateService(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 BenchmarkCodegenIterator(b *testing.B) { reqNum := 0 db := benchDb() db.Handlers.Unmarshal.PushBack(func(r *request.Request) { r.Data = benchResps[reqNum] reqNum++ }) input := &dynamodb.ListTablesInput{Limit: aws.Int64(2)} iter := func(fn func(*dynamodb.ListTablesOutput, bool) bool) error { page, _ := db.ListTablesRequest(input) for ; page != nil; page = page.NextPage() { page.Send() out := page.Data.(*dynamodb.ListTablesOutput) if result := fn(out, !page.HasNextPage()); page.Error != nil || !result { return page.Error } } return nil } for i := 0; i < b.N; i++ { reqNum = 0 iter(func(p *dynamodb.ListTablesOutput, last bool) bool { return true }) } }
func ExampleECS_ListTasks() { svc := ecs.New(nil) params := &ecs.ListTasksInput{ Cluster: aws.String("String"), ContainerInstance: aws.String("String"), DesiredStatus: aws.String("DesiredStatus"), Family: aws.String("String"), MaxResults: aws.Int64(1), NextToken: aws.String("String"), ServiceName: aws.String("String"), StartedBy: aws.String("String"), } resp, err := svc.ListTasks(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 ExampleECS_RegisterContainerInstance() { svc := ecs.New(nil) params := &ecs.RegisterContainerInstanceInput{ Cluster: aws.String("String"), ContainerInstanceArn: aws.String("String"), InstanceIdentityDocument: aws.String("String"), InstanceIdentityDocumentSignature: aws.String("String"), TotalResources: []*ecs.Resource{ { // Required DoubleValue: aws.Float64(1.0), IntegerValue: aws.Int64(1), LongValue: aws.Int64(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 { // 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) }
// Use DynamoDB methods for simplicity func TestPaginationEachPage(t *testing.T) { db := dynamodb.New(nil) tokens, pages, numPages, gotToEnd := []string{}, []string{}, 0, false reqNum := 0 resps := []*dynamodb.ListTablesOutput{ {TableNames: []*string{aws.String("Table1"), aws.String("Table2")}, LastEvaluatedTableName: aws.String("Table2")}, {TableNames: []*string{aws.String("Table3"), aws.String("Table4")}, LastEvaluatedTableName: aws.String("Table4")}, {TableNames: []*string{aws.String("Table5")}}, } db.Handlers.Send.Clear() // mock sending db.Handlers.Unmarshal.Clear() db.Handlers.UnmarshalMeta.Clear() db.Handlers.ValidateResponse.Clear() db.Handlers.Build.PushBack(func(r *request.Request) { in := r.Params.(*dynamodb.ListTablesInput) if in == nil { tokens = append(tokens, "") } else if in.ExclusiveStartTableName != nil { tokens = append(tokens, *in.ExclusiveStartTableName) } }) db.Handlers.Unmarshal.PushBack(func(r *request.Request) { r.Data = resps[reqNum] reqNum++ }) params := &dynamodb.ListTablesInput{Limit: aws.Int64(2)} req, _ := db.ListTablesRequest(params) err := req.EachPage(func(p interface{}, last bool) bool { numPages++ for _, t := range p.(*dynamodb.ListTablesOutput).TableNames { pages = append(pages, *t) } if last { if gotToEnd { assert.Fail(t, "last=true happened twice") } gotToEnd = true } return true }) assert.Equal(t, []string{"Table2", "Table4"}, tokens) assert.Equal(t, []string{"Table1", "Table2", "Table3", "Table4", "Table5"}, pages) assert.Equal(t, 3, numPages) assert.True(t, gotToEnd) assert.Nil(t, err) }
func BenchmarkEachPageIterator(b *testing.B) { reqNum := 0 db := benchDb() db.Handlers.Unmarshal.PushBack(func(r *request.Request) { r.Data = benchResps[reqNum] reqNum++ }) input := &dynamodb.ListTablesInput{Limit: aws.Int64(2)} for i := 0; i < b.N; i++ { reqNum = 0 req, _ := db.ListTablesRequest(input) req.EachPage(func(p interface{}, last bool) bool { return true }) } }
func ExampleECS_ListClusters() { svc := ecs.New(nil) params := &ecs.ListClustersInput{ MaxResults: aws.Int64(1), NextToken: aws.String("String"), } resp, err := svc.ListClusters(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 ExampleECS_UpdateService() { svc := ecs.New(nil) params := &ecs.UpdateServiceInput{ Service: aws.String("String"), // Required Cluster: aws.String("String"), DesiredCount: aws.Int64(1), TaskDefinition: aws.String("String"), } resp, err := svc.UpdateService(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 ExampleECS_RunTask() { svc := ecs.New(nil) params := &ecs.RunTaskInput{ TaskDefinition: aws.String("String"), // Required Cluster: aws.String("String"), Count: aws.Int64(1), Overrides: &ecs.TaskOverride{ ContainerOverrides: []*ecs.ContainerOverride{ { // Required Command: []*string{ aws.String("String"), // Required // More values... }, Environment: []*ecs.KeyValuePair{ { // Required Name: aws.String("String"), Value: aws.String("String"), }, // More values... }, Name: aws.String("String"), }, // More values... }, }, StartedBy: aws.String("String"), } resp, err := svc.RunTask(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) }
// Use DynamoDB methods for simplicity func TestPaginationEarlyExit(t *testing.T) { db := dynamodb.New(nil) numPages, gotToEnd := 0, false reqNum := 0 resps := []*dynamodb.ListTablesOutput{ {TableNames: []*string{aws.String("Table1"), aws.String("Table2")}, LastEvaluatedTableName: aws.String("Table2")}, {TableNames: []*string{aws.String("Table3"), aws.String("Table4")}, LastEvaluatedTableName: aws.String("Table4")}, {TableNames: []*string{aws.String("Table5")}}, } db.Handlers.Send.Clear() // mock sending db.Handlers.Unmarshal.Clear() db.Handlers.UnmarshalMeta.Clear() db.Handlers.ValidateResponse.Clear() db.Handlers.Unmarshal.PushBack(func(r *request.Request) { r.Data = resps[reqNum] reqNum++ }) params := &dynamodb.ListTablesInput{Limit: aws.Int64(2)} err := db.ListTablesPages(params, func(p *dynamodb.ListTablesOutput, last bool) bool { numPages++ if numPages == 2 { return false } if last { if gotToEnd { assert.Fail(t, "last=true happened twice") } gotToEnd = true } return true }) assert.Equal(t, 2, numPages) assert.False(t, gotToEnd) assert.Nil(t, err) }
func ExampleECS_ListTaskDefinitions() { svc := ecs.New(nil) params := &ecs.ListTaskDefinitionsInput{ FamilyPrefix: aws.String("String"), MaxResults: aws.Int64(1), NextToken: aws.String("String"), Sort: aws.String("SortOrder"), Status: aws.String("TaskDefinitionStatus"), } resp, err := svc.ListTaskDefinitions(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 ExampleECS_RegisterTaskDefinition() { svc := ecs.New(nil) params := &ecs.RegisterTaskDefinitionInput{ ContainerDefinitions: []*ecs.ContainerDefinition{ // Required { // Required Command: []*string{ aws.String("String"), // Required // More values... }, Cpu: aws.Int64(1), EntryPoint: []*string{ aws.String("String"), // Required // More values... }, Environment: []*ecs.KeyValuePair{ { // Required Name: aws.String("String"), Value: aws.String("String"), }, // More values... }, Essential: aws.Bool(true), Image: aws.String("String"), Links: []*string{ aws.String("String"), // Required // More values... }, Memory: aws.Int64(1), MountPoints: []*ecs.MountPoint{ { // Required ContainerPath: aws.String("String"), ReadOnly: aws.Bool(true), SourceVolume: aws.String("String"), }, // More values... }, Name: aws.String("String"), PortMappings: []*ecs.PortMapping{ { // Required ContainerPort: aws.Int64(1), HostPort: aws.Int64(1), Protocol: aws.String("TransportProtocol"), }, // More values... }, VolumesFrom: []*ecs.VolumeFrom{ { // Required ReadOnly: aws.Bool(true), SourceContainer: aws.String("String"), }, // More values... }, }, // More values... }, Family: aws.String("String"), // Required Volumes: []*ecs.Volume{ { // Required Host: &ecs.HostVolumeProperties{ SourcePath: aws.String("String"), }, Name: aws.String("String"), }, // More values... }, } resp, err := svc.RegisterTaskDefinition(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) }