aws

package
v1.6.2-tectonic.1-rc.4 Latest Latest
Warning

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

Go to latest
Published: May 8, 2017 License: Apache-2.0 Imports: 101 Imported by: 0

Documentation

Index

Constants

View Source
const (
	AWSAMIRetryTimeout       = 40 * time.Minute
	AWSAMIDeleteRetryTimeout = 90 * time.Minute
	AWSAMIRetryDelay         = 5 * time.Second
	AWSAMIRetryMinTimeout    = 3 * time.Second
)
View Source
const DYNAMODB_LIMIT_EXCEEDED_SLEEP = 10 * time.Second

How long to sleep if a limit-exceeded event happens

View Source
const DYNAMODB_MAX_THROTTLE_RETRIES = 5

Number of times to retry if a throttling-related exception occurs

View Source
const DYNAMODB_THROTTLE_SLEEP = 5 * time.Second

How long to sleep when a throttle-event happens

View Source
const (
	MINIMUM_VERSIONED_SCHEMA = 2.0
)

Variables

View Source
var AttributeMap = map[string]string{
	"delay_seconds":               "DelaySeconds",
	"max_message_size":            "MaximumMessageSize",
	"message_retention_seconds":   "MessageRetentionPeriod",
	"receive_wait_time_seconds":   "ReceiveMessageWaitTimeSeconds",
	"visibility_timeout_seconds":  "VisibilityTimeout",
	"policy":                      "Policy",
	"redrive_policy":              "RedrivePolicy",
	"arn":                         "QueueArn",
	"fifo_queue":                  "FifoQueue",
	"content_based_deduplication": "ContentBasedDeduplication",
}
View Source
var LambdaFunctionRegexp = `^(arn:[\w-]+:lambda:)?([a-z]{2}-[a-z]+-\d{1}:)?(\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\$LATEST|[a-zA-Z0-9-_]+))?$`
View Source
var SNSAttributeMap = map[string]string{
	"arn":             "TopicArn",
	"display_name":    "DisplayName",
	"policy":          "Policy",
	"delivery_policy": "DeliveryPolicy",
}

Mutable attributes

View Source
var SNSSubscriptionAttributeMap = map[string]string{
	"topic_arn":            "TopicArn",
	"endpoint":             "Endpoint",
	"protocol":             "Protocol",
	"raw_message_delivery": "RawMessageDelivery",
}

Functions

func AMIStateRefreshFunc

func AMIStateRefreshFunc(client *ec2.EC2, id string) resource.StateRefreshFunc

func EIGWStateRefreshFunc

func EIGWStateRefreshFunc(conn *ec2.EC2, id string) resource.StateRefreshFunc

func FQDN

func FQDN(name string) string

func GetAccountInfo

func GetAccountInfo(iamconn *iam.IAM, stsconn *sts.STS, authProviderName string) (string, string, error)

func GetCredentials

func GetCredentials(c *Config) (*awsCredentials.Credentials, error)

This function is responsible for reading credentials from the environment in the case that they're not explicitly specified in the Terraform configuration.

func GetSupportedEC2Platforms

func GetSupportedEC2Platforms(conn *ec2.EC2) ([]string, error)

func HostedZoneIDForRegion

func HostedZoneIDForRegion(region string) string

Returns the hosted zone ID for an S3 website endpoint region. This can be used as input to the aws_route53_record resource's zone_id argument.

func IGAttachStateRefreshFunc

func IGAttachStateRefreshFunc(conn *ec2.EC2, id string, expected string) resource.StateRefreshFunc

IGAttachStateRefreshFunc returns a resource.StateRefreshFunc that is used watch the state of an internet gateway's attachment.

func IGStateRefreshFunc

func IGStateRefreshFunc(conn *ec2.EC2, id string) resource.StateRefreshFunc

IGStateRefreshFunc returns a resource.StateRefreshFunc that is used to watch an internet gateway.

func InstanceStateRefreshFunc

func InstanceStateRefreshFunc(conn *ec2.EC2, instanceID string) resource.StateRefreshFunc

InstanceStateRefreshFunc returns a resource.StateRefreshFunc that is used to watch an EC2 instance.

func Ipv6CidrStateRefreshFunc

func Ipv6CidrStateRefreshFunc(conn *ec2.EC2, id string, associationId string) resource.StateRefreshFunc

func NGStateRefreshFunc

func NGStateRefreshFunc(conn *ec2.EC2, id string) resource.StateRefreshFunc

NGStateRefreshFunc returns a resource.StateRefreshFunc that is used to watch a NAT Gateway.

func OpsworksInstanceStateRefreshFunc

func OpsworksInstanceStateRefreshFunc(conn *opsworks.OpsWorks, instanceID string) resource.StateRefreshFunc

func Provider

func Provider() terraform.ResourceProvider

Provider returns a terraform.ResourceProvider.

func SGStateRefreshFunc

func SGStateRefreshFunc(conn *ec2.EC2, id string) resource.StateRefreshFunc

SGStateRefreshFunc returns a resource.StateRefreshFunc that is used to watch a security group.

func SpotInstanceStateRefreshFunc

func SpotInstanceStateRefreshFunc(
	conn *ec2.EC2, sir ec2.SpotInstanceRequest) resource.StateRefreshFunc

SpotInstanceStateRefreshFunc returns a resource.StateRefreshFunc that is used to watch an EC2 spot instance request

func SubnetIpv6CidrStateRefreshFunc

func SubnetIpv6CidrStateRefreshFunc(conn *ec2.EC2, id string, associationId string) resource.StateRefreshFunc

func SubnetStateRefreshFunc

func SubnetStateRefreshFunc(conn *ec2.EC2, id string) resource.StateRefreshFunc

SubnetStateRefreshFunc returns a resource.StateRefreshFunc that is used to watch a Subnet.

func VPCStateRefreshFunc

func VPCStateRefreshFunc(conn *ec2.EC2, id string) resource.StateRefreshFunc

VPCStateRefreshFunc returns a resource.StateRefreshFunc that is used to watch a VPC.

func WebsiteDomainUrl

func WebsiteDomainUrl(region string) string

Types

type AWSClient

type AWSClient struct {
	// contains filtered or unexported fields
}

func (*AWSClient) DynamoDB

func (c *AWSClient) DynamoDB() *dynamodb.DynamoDB

func (*AWSClient) S3

func (c *AWSClient) S3() *s3.S3

type ByGroupPair

type ByGroupPair []*ec2.UserIdGroupPair

ByGroupPair implements sort.Interface for []*ec2.UserIDGroupPairs based on GroupID or GroupName field (only one should be set).

func (ByGroupPair) Len

func (b ByGroupPair) Len() int

func (ByGroupPair) Less

func (b ByGroupPair) Less(i, j int) bool

func (ByGroupPair) Swap

func (b ByGroupPair) Swap(i, j int)

type Config

type Config struct {
	AccessKey     string
	SecretKey     string
	CredsFilename string
	Profile       string
	Token         string
	Region        string
	MaxRetries    int

	AssumeRoleARN         string
	AssumeRoleExternalID  string
	AssumeRoleSessionName string
	AssumeRolePolicy      string

	AllowedAccountIds   []interface{}
	ForbiddenAccountIds []interface{}

	DynamoDBEndpoint string
	KinesisEndpoint  string
	Ec2Endpoint      string
	IamEndpoint      string
	ElbEndpoint      string
	S3Endpoint       string
	Insecure         bool

	SkipCredsValidation     bool
	SkipGetEC2Platforms     bool
	SkipRegionValidation    bool
	SkipRequestingAccountId bool
	SkipMetadataApiCheck    bool
	S3ForcePathStyle        bool
}

func (*Config) Client

func (c *Config) Client() (interface{}, error)

Client configures and returns a fully initialized AWSClient

func (*Config) ValidateAccountId

func (c *Config) ValidateAccountId(accountId string) error

ValidateAccountId returns a context-specific error if the configured account id is explicitly forbidden or not authorised; and nil if it is authorised.

func (*Config) ValidateCredentials

func (c *Config) ValidateCredentials(stsconn *sts.STS) error

Validate credentials early and fail before we do any graph walking.

func (*Config) ValidateRegion

func (c *Config) ValidateRegion() error

ValidateRegion returns an error if the configured region is not a valid aws region and nil otherwise.

type IAMPolicyDoc

type IAMPolicyDoc struct {
	Version    string                `json:",omitempty"`
	Id         string                `json:",omitempty"`
	Statements []*IAMPolicyStatement `json:"Statement"`
}

type IAMPolicyStatement

type IAMPolicyStatement struct {
	Sid           string
	Effect        string                         `json:",omitempty"`
	Actions       interface{}                    `json:"Action,omitempty"`
	NotActions    interface{}                    `json:"NotAction,omitempty"`
	Resources     interface{}                    `json:"Resource,omitempty"`
	NotResources  interface{}                    `json:"NotResource,omitempty"`
	Principals    IAMPolicyStatementPrincipalSet `json:"Principal,omitempty"`
	NotPrincipals IAMPolicyStatementPrincipalSet `json:"NotPrincipal,omitempty"`
	Conditions    IAMPolicyStatementConditionSet `json:"Condition,omitempty"`
}

type IAMPolicyStatementCondition

type IAMPolicyStatementCondition struct {
	Test     string
	Variable string
	Values   interface{}
}

type IAMPolicyStatementConditionSet

type IAMPolicyStatementConditionSet []IAMPolicyStatementCondition

func (IAMPolicyStatementConditionSet) MarshalJSON

func (cs IAMPolicyStatementConditionSet) MarshalJSON() ([]byte, error)

type IAMPolicyStatementPrincipal

type IAMPolicyStatementPrincipal struct {
	Type        string
	Identifiers interface{}
}

type IAMPolicyStatementPrincipalSet

type IAMPolicyStatementPrincipalSet []IAMPolicyStatementPrincipal

func (IAMPolicyStatementPrincipalSet) MarshalJSON

func (ps IAMPolicyStatementPrincipalSet) MarshalJSON() ([]byte, error)

type LambdaPolicy

type LambdaPolicy struct {
	Version   string
	Statement []LambdaPolicyStatement
	Id        string
}

type LambdaPolicyStatement

type LambdaPolicyStatement struct {
	Condition map[string]map[string]string
	Action    string
	Resource  string
	Effect    string
	Principal map[string]string
	Sid       string
}

type Reassignment

type Reassignment struct {
	// contains filtered or unexported fields
}

type S3Website

type S3Website struct {
	Endpoint, Domain string
}

func WebsiteEndpoint

func WebsiteEndpoint(bucket string, region string) *S3Website

type StringPtrSlice

type StringPtrSlice []*string

Define Sort interface for []*string so we can ensure the order of geo_restrictions.locations

func (StringPtrSlice) Len

func (p StringPtrSlice) Len() int

func (StringPtrSlice) Less

func (p StringPtrSlice) Less(i, j int) bool

func (StringPtrSlice) Swap

func (p StringPtrSlice) Swap(i, j int)

type TunnelInfo

type TunnelInfo struct {
	Tunnel1Address      string
	Tunnel1PreSharedKey string
	Tunnel2Address      string
	Tunnel2PreSharedKey string
}

type WafRetryer

type WafRetryer struct {
	Connection *waf.WAF
	Region     string
}

func (*WafRetryer) RetryWithToken

func (t *WafRetryer) RetryWithToken(f withTokenFunc) (interface{}, error)

type XmlIpsecTunnel

type XmlIpsecTunnel struct {
	OutsideAddress string `xml:"vpn_gateway>tunnel_outside_address>ip_address"`
	PreSharedKey   string `xml:"ike>pre_shared_key"`
}

type XmlVpnConnectionConfig

type XmlVpnConnectionConfig struct {
	Tunnels []XmlIpsecTunnel `xml:"ipsec_tunnel"`
}

func (XmlVpnConnectionConfig) Len

func (slice XmlVpnConnectionConfig) Len() int

func (XmlVpnConnectionConfig) Less

func (slice XmlVpnConnectionConfig) Less(i, j int) bool

func (XmlVpnConnectionConfig) Swap

func (slice XmlVpnConnectionConfig) Swap(i, j int)

Source Files

Jump to

Keyboard shortcuts

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