defaultsmode.go (3750B)
1 // Code generated by github.com/aws/aws-sdk-go-v2/internal/codegen/cmd/defaultsmode. DO NOT EDIT. 2 3 package aws 4 5 import ( 6 "strings" 7 ) 8 9 // DefaultsMode is the SDK defaults mode setting. 10 type DefaultsMode string 11 12 // The DefaultsMode constants. 13 const ( 14 // DefaultsModeAuto is an experimental mode that builds on the standard mode. 15 // The SDK will attempt to discover the execution environment to determine the 16 // appropriate settings automatically. 17 // 18 // Note that the auto detection is heuristics-based and does not guarantee 100% 19 // accuracy. STANDARD mode will be used if the execution environment cannot 20 // be determined. The auto detection might query EC2 Instance Metadata service 21 // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html), 22 // which might introduce latency. Therefore we recommend choosing an explicit 23 // defaults_mode instead if startup latency is critical to your application 24 DefaultsModeAuto DefaultsMode = "auto" 25 26 // DefaultsModeCrossRegion builds on the standard mode and includes optimization 27 // tailored for applications which call AWS services in a different region 28 // 29 // Note that the default values vended from this mode might change as best practices 30 // may evolve. As a result, it is encouraged to perform tests when upgrading 31 // the SDK 32 DefaultsModeCrossRegion DefaultsMode = "cross-region" 33 34 // DefaultsModeInRegion builds on the standard mode and includes optimization 35 // tailored for applications which call AWS services from within the same AWS 36 // region 37 // 38 // Note that the default values vended from this mode might change as best practices 39 // may evolve. As a result, it is encouraged to perform tests when upgrading 40 // the SDK 41 DefaultsModeInRegion DefaultsMode = "in-region" 42 43 // DefaultsModeLegacy provides default settings that vary per SDK and were used 44 // prior to establishment of defaults_mode 45 DefaultsModeLegacy DefaultsMode = "legacy" 46 47 // DefaultsModeMobile builds on the standard mode and includes optimization 48 // tailored for mobile applications 49 // 50 // Note that the default values vended from this mode might change as best practices 51 // may evolve. As a result, it is encouraged to perform tests when upgrading 52 // the SDK 53 DefaultsModeMobile DefaultsMode = "mobile" 54 55 // DefaultsModeStandard provides the latest recommended default values that 56 // should be safe to run in most scenarios 57 // 58 // Note that the default values vended from this mode might change as best practices 59 // may evolve. As a result, it is encouraged to perform tests when upgrading 60 // the SDK 61 DefaultsModeStandard DefaultsMode = "standard" 62 ) 63 64 // SetFromString sets the DefaultsMode value to one of the pre-defined constants that matches 65 // the provided string when compared using EqualFold. If the value does not match a known 66 // constant it will be set to as-is and the function will return false. As a special case, if the 67 // provided value is a zero-length string, the mode will be set to LegacyDefaultsMode. 68 func (d *DefaultsMode) SetFromString(v string) (ok bool) { 69 switch { 70 case strings.EqualFold(v, string(DefaultsModeAuto)): 71 *d = DefaultsModeAuto 72 ok = true 73 case strings.EqualFold(v, string(DefaultsModeCrossRegion)): 74 *d = DefaultsModeCrossRegion 75 ok = true 76 case strings.EqualFold(v, string(DefaultsModeInRegion)): 77 *d = DefaultsModeInRegion 78 ok = true 79 case strings.EqualFold(v, string(DefaultsModeLegacy)): 80 *d = DefaultsModeLegacy 81 ok = true 82 case strings.EqualFold(v, string(DefaultsModeMobile)): 83 *d = DefaultsModeMobile 84 ok = true 85 case strings.EqualFold(v, string(DefaultsModeStandard)): 86 *d = DefaultsModeStandard 87 ok = true 88 case len(v) == 0: 89 *d = DefaultsModeLegacy 90 ok = true 91 default: 92 *d = DefaultsMode(v) 93 } 94 return ok 95 }