func populateLocationConstraint(r *aws.Request) { if r.ParamsFilled() && r.Config.Region != "us-east-1" { in := r.Params.(*CreateBucketInput) if in.CreateBucketConfiguration == nil { r.Params = awsutil.CopyOf(r.Params) in = r.Params.(*CreateBucketInput) in.CreateBucketConfiguration = &CreateBucketConfiguration{ LocationConstraint: &r.Config.Region, } } } }
// NextPage returns a new Request that can be executed to return the next // page of result data. Call .Send() on this request to execute it. func (r *Request) NextPage() *Request { tokens := r.nextPageTokens() if tokens == nil { return nil } data := reflect.New(reflect.TypeOf(r.Data).Elem()).Interface() nr := NewRequest(r.Service, r.Operation, awsutil.CopyOf(r.Params), data) for i, intok := range nr.Operation.InputTokens { awsutil.SetValueAtAnyPath(nr.Params, intok, tokens[i]) } return nr }
func TestCopyIgnoreNilMembers(t *testing.T) { type Foo struct { A *string } f := &Foo{} assert.Nil(t, f.A) var f2 Foo awsutil.Copy(&f2, f) assert.Nil(t, f2.A) fcopy := awsutil.CopyOf(f) f3 := fcopy.(*Foo) assert.Nil(t, f3.A) }
func ExampleCopyOf() { type Foo struct { A int B []*string } // Create the initial value str1 := "hello" str2 := "bye bye" f1 := &Foo{A: 1, B: []*string{&str1, &str2}} // Do the copy v := awsutil.CopyOf(f1) var f2 *Foo = v.(*Foo) // Print the result fmt.Println(awsutil.StringValue(f2)) // Output: // { // A: 1, // B: ["hello","bye bye"] // } }