1// Package aws provides the core SDK's utilities and shared types. Use this package's 2// utilities to simplify setting and reading API operations parameters. 3// 4// Value and Pointer Conversion Utilities 5// 6// This package includes a helper conversion utility for each scalar type the SDK's 7// API use. These utilities make getting a pointer of the scalar, and dereferencing 8// a pointer easier. 9// 10// Each conversion utility comes in two forms. Value to Pointer and Pointer to Value. 11// The Pointer to value will safely dereference the pointer and return its value. 12// If the pointer was nil, the scalar's zero value will be returned. 13// 14// The value to pointer functions will be named after the scalar type. So get a 15// *string from a string value use the "String" function. This makes it easy to 16// to get pointer of a literal string value, because getting the address of a 17// literal requires assigning the value to a variable first. 18// 19// var strPtr *string 20// 21// // Without the SDK's conversion functions 22// str := "my string" 23// strPtr = &str 24// 25// // With the SDK's conversion functions 26// strPtr = aws.String("my string") 27// 28// // Convert *string to string value 29// str = aws.StringValue(strPtr) 30// 31// In addition to scalars the aws package also includes conversion utilities for 32// map and slice for commonly types used in API parameters. The map and slice 33// conversion functions use similar naming pattern as the scalar conversion 34// functions. 35// 36// var strPtrs []*string 37// var strs []string = []string{"Go", "Gophers", "Go"} 38// 39// // Convert []string to []*string 40// strPtrs = aws.StringSlice(strs) 41// 42// // Convert []*string to []string 43// strs = aws.StringValueSlice(strPtrs) 44// 45// SDK Default HTTP Client 46// 47// The SDK will use the http.DefaultClient if a HTTP client is not provided to 48// the SDK's Session, or service client constructor. This means that if the 49// http.DefaultClient is modified by other components of your application the 50// modifications will be picked up by the SDK as well. 51// 52// In some cases this might be intended, but it is a better practice to create 53// a custom HTTP Client to share explicitly through your application. You can 54// configure the SDK to use the custom HTTP Client by setting the HTTPClient 55// value of the SDK's Config type when creating a Session or service client. 56package aws 57