code.dwrz.net

Go monorepo.
Log | Files | Refs

doc.go (2624B)


      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.ToString(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.ToStringSlice(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.
     56 package aws
     57 
     58 // generate.go uses a build tag of "ignore", go run doesn't need to specify
     59 // this because go run ignores all build flags when running a go file directly.
     60 //go:generate go run -tags codegen generate.go
     61 //go:generate go run -tags codegen logging_generate.go
     62 //go:generate gofmt -w -s .