aws

package
v0.0.0-...-c780cb7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 26, 2021 License: Apache-2.0 Imports: 32 Imported by: 0

Documentation

Index

Constants

View Source
const (
	URLConfigTypeStatic  = "Static"
	URLConfigTypeDynamic = "Dynamic"
)

Endpoint URL configuration types.

View Source
const DefaultSection = ini.DefaultSection

DefaultSection for INI files.

View Source
const GlobalRegion = "aws-global"

GlobalRegion is the region name used for AWS services that do not have a notion of region.

Variables

This section is empty.

Functions

func Bool

func Bool(v bool, o ...FieldOption) *bool

Bool converts the supplied bool for use with the AWS Go SDK.

func BoolValue

func BoolValue(v *bool) bool

BoolValue calls underlying aws ToBool

func CompactAndEscapeJSON

func CompactAndEscapeJSON(s string) (string, error)

CompactAndEscapeJSON removes space characters and URL-encodes the JSON string.

func CreateJSONPatch

func CreateJSONPatch(source, destination interface{}) ([]byte, error)

CreateJSONPatch creates a diff JSON object that can be applied to any other JSON object.

func CredentialsIDSecret

func CredentialsIDSecret(data []byte, profile string) (aws.Credentials, error)

CredentialsIDSecret retrieves AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY from the data which contains aws credentials under given profile Example: [default] aws_access_key_id = <YOUR_ACCESS_KEY_ID> aws_secret_access_key = <YOUR_SECRET_ACCESS_KEY>

func DiffEC2Tags

func DiffEC2Tags(local []ec2type.Tag, remote []ec2type.Tag) (add []ec2type.Tag, remove []ec2type.Tag)

DiffEC2Tags returns []ec2type.Tag that should be added or removed.

func DiffLabels

func DiffLabels(local, remote map[string]string) (addOrModify map[string]string, remove []string)

DiffLabels returns labels that should be added, modified, or removed.

func DiffTags

func DiffTags(local, remote map[string]string) (add map[string]string, remove []string)

DiffTags returns tags that should be added or removed.

func DiffTagsMapPtr

func DiffTagsMapPtr(spec map[string]*string, current map[string]*string) (map[string]*string, []*string)

DiffTagsMapPtr returns which AWS Tags exist in the resource tags and which are outdated and should be removed

func GetConfig

func GetConfig(ctx context.Context, c client.Client, mg resource.Managed, region string) (*aws.Config, error)

GetConfig constructs an *aws.Config that can be used to authenticate to AWS API by the AWS clients.

func GetConfigV1

func GetConfigV1(ctx context.Context, c client.Client, mg resource.Managed, region string) (*session.Session, error)

GetConfigV1 constructs an *awsv1.Config that can be used to authenticate to AWS API by the AWSv1 clients.

func Int32

func Int32(v int, o ...FieldOption) *int32

Int32 converts the supplied int for use with the AWS Go SDK.

func Int32Address

func Int32Address(i *int) *int32

Int32Address returns the given *int in the form of *int32.

func Int64

func Int64(v int, o ...FieldOption) *int64

Int64 converts the supplied int for use with the AWS Go SDK.

func Int64Address

func Int64Address(i *int) *int64

Int64Address returns the given *int in the form of *int64.

func Int64Value

func Int64Value(v *int64) int64

Int64Value converts the supplied int64 pointer to a int64, returning 0 if the pointer is nil.

func IntAddress

func IntAddress(i *int64) *int

IntAddress converts the supplied int64 pointer to an int pointer, returning nil if the pointer is nil.

func IntFrom32Address

func IntFrom32Address(i *int32) *int

IntFrom32Address converts the supplied int32 pointer to an int pointer, returning nil if the pointer is nil.

func IsPolicyUpToDate

func IsPolicyUpToDate(local, remote *string) bool

IsPolicyUpToDate Marshall policies to json for a compare to get around string ordering

func LateInitializeBoolPtr

func LateInitializeBoolPtr(in *bool, from *bool) *bool

LateInitializeBoolPtr returns in if it's non-nil, otherwise returns from which is the backup for the cases in is nil.

func LateInitializeInt32

func LateInitializeInt32(in int32, from int32) int32

LateInitializeInt32 returns in if it's non-zero, otherwise returns from which is the backup for the cases in is zero.

func LateInitializeInt32Ptr

func LateInitializeInt32Ptr(in *int32, from *int32) *int32

LateInitializeInt32Ptr returns in if it's non-nil, otherwise returns from which is the backup for the cases in is nil.

func LateInitializeInt64

func LateInitializeInt64(in int64, from int64) int64

LateInitializeInt64 returns in if it's non-zero, otherwise returns from which is the backup for the cases in is zero.

func LateInitializeInt64Ptr

func LateInitializeInt64Ptr(in *int64, from *int64) *int64

LateInitializeInt64Ptr returns in if it's non-nil, otherwise returns from which is the backup for the cases in is nil.

func LateInitializeInt64PtrSlice

func LateInitializeInt64PtrSlice(in []*int64, from []*int64) []*int64

LateInitializeInt64PtrSlice returns in if it's non-nil or from is zero length, otherwise it returns from.

func LateInitializeIntFrom32Ptr

func LateInitializeIntFrom32Ptr(in *int, from *int32) *int

LateInitializeIntFrom32Ptr returns in if it's non-nil, otherwise returns from which is the backup for the cases in is nil.

func LateInitializeIntPtr

func LateInitializeIntPtr(in *int, from *int64) *int

LateInitializeIntPtr returns in if it's non-nil, otherwise returns from which is the backup for the cases in is nil.

func LateInitializeString

func LateInitializeString(in string, from *string) string

LateInitializeString returns `from` if `in` is empty and `from` is non-nil, in other cases it returns `in`.

func LateInitializeStringPtr

func LateInitializeStringPtr(in *string, from *string) *string

LateInitializeStringPtr returns in if it's non-nil, otherwise returns from which is the backup for the cases in is nil.

func LateInitializeStringPtrSlice

func LateInitializeStringPtrSlice(in []*string, from []*string) []*string

LateInitializeStringPtrSlice returns in if it's non-nil or from is zero length, otherwise it returns from.

func LateInitializeTimePtr

func LateInitializeTimePtr(in *metav1.Time, from *time.Time) *metav1.Time

LateInitializeTimePtr returns in if it's non-nil, otherwise returns from which is the backup for the cases in is nil.

func SetResolver

func SetResolver(pc *v1beta1.ProviderConfig, cfg *aws.Config) *aws.Config

SetResolver parses annotations from the managed resource and returns a configuration accordingly.

func SetResolverV1

func SetResolverV1(pc *v1beta1.ProviderConfig, cfg *awsv1.Config) *awsv1.Config

SetResolverV1 parses annotations from the managed resource and returns a V1 configuration accordingly.

func String

func String(v string, o ...FieldOption) *string

String converts the supplied string for use with the AWS Go SDK.

func StringValue

func StringValue(v *string) string

StringValue converts the supplied string pointer to a string, returning the empty string if the pointer is nil. TODO(muvaf): is this really meaningful? why not implement it?

func UsePodServiceAccount

func UsePodServiceAccount(ctx context.Context, _ []byte, _, region string) (*aws.Config, error)

UsePodServiceAccount assumes an IAM role configured via a ServiceAccount. https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html

func UsePodServiceAccountV1

func UsePodServiceAccountV1(ctx context.Context, _ []byte, pc *v1beta1.ProviderConfig, _, region string) (*awsv1.Config, error)

UsePodServiceAccountV1 assumes an IAM role configured via a ServiceAccount. https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html

func UseProviderConfig

func UseProviderConfig(ctx context.Context, c client.Client, mg resource.Managed, region string) (*aws.Config, error)

UseProviderConfig to produce a config that can be used to authenticate to AWS.

func UseProviderSecret

func UseProviderSecret(ctx context.Context, data []byte, profile, region string) (*aws.Config, error)

UseProviderSecret - AWS configuration which can be used to issue requests against AWS API

func UseProviderSecretV1

func UseProviderSecretV1(_ context.Context, data []byte, pc *v1beta1.ProviderConfig, profile, region string) (*awsv1.Config, error)

UseProviderSecretV1 retrieves AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY from the data which contains aws credentials under given profile and produces a *awsv1.Config Example: [default] aws_access_key_id = <YOUR_ACCESS_KEY_ID> aws_secret_access_key = <YOUR_SECRET_ACCESS_KEY>

func Wrap

func Wrap(err error, msg string) error

Wrap will remove the request-specific information from the error and only then wrap it.

Types

type AuthMethod

type AuthMethod func(context.Context, []byte, string, string) (*aws.Config, error)

AuthMethod is a method of authenticating to the AWS API

type FieldOption

type FieldOption int

A FieldOption determines how common Go types are translated to the types required by the AWS Go SDK.

const (
	// FieldRequired causes zero values to be converted to a pointer to the zero
	// value, rather than a nil pointer. AWS Go SDK types use pointer fields,
	// with a nil pointer indicating an unset field. Our ToPtr functions return
	// a nil pointer for a zero values, unless FieldRequired is set.
	FieldRequired FieldOption = iota
)

Field options.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL