Documentation
      ¶
    
    
  
    
  
    Index ¶
- Constants
 - Variables
 - func FQDN(name string) string
 - func GetAccountInfo(iamconn *iam.IAM, stsconn *sts.STS, authProviderName string) (string, string, error)
 - func GetCredentials(c *Config) (*awsCredentials.Credentials, error)
 - func HostedZoneIDForRegion(region string) string
 - func IGAttachStateRefreshFunc(conn *ec2.EC2, id string, expected string) resource.StateRefreshFunc
 - func IGStateRefreshFunc(conn *ec2.EC2, id string) resource.StateRefreshFunc
 - func InstanceStateRefreshFunc(conn *ec2.EC2, instanceID string) resource.StateRefreshFunc
 - func NGStateRefreshFunc(conn *ec2.EC2, id string) resource.StateRefreshFunc
 - func OpsworksInstanceStateRefreshFunc(conn *opsworks.OpsWorks, instanceID string) resource.StateRefreshFunc
 - func Provider() terraform.ResourceProvider
 - func SGStateRefreshFunc(conn *ec2.EC2, id string) resource.StateRefreshFunc
 - func SpotInstanceStateRefreshFunc(conn *ec2.EC2, sir ec2.SpotInstanceRequest) resource.StateRefreshFunc
 - func SubnetStateRefreshFunc(conn *ec2.EC2, id string) resource.StateRefreshFunc
 - func VPCStateRefreshFunc(conn *ec2.EC2, id string) resource.StateRefreshFunc
 - func WebsiteDomainUrl(region string) string
 - type AWSClient
 - type ByGroupPair
 - type Config
 - type IAMPolicyDoc
 - type IAMPolicyStatement
 - type IAMPolicyStatementCondition
 - type IAMPolicyStatementConditionSet
 - type IAMPolicyStatementPrincipal
 - type IAMPolicyStatementPrincipalSet
 - type LambdaPolicy
 - type LambdaPolicyStatement
 - type Reassignment
 - type S3Website
 - type StringPtrSlice
 - type TunnelInfo
 - type XmlIpsecTunnel
 - type XmlVpnConnectionConfig
 
Constants ¶
const DYNAMODB_LIMIT_EXCEEDED_SLEEP = 10 * time.Second
    How long to sleep if a limit-exceeded event happens
const DYNAMODB_MAX_THROTTLE_RETRIES = 5
    Number of times to retry if a throttling-related exception occurs
const DYNAMODB_THROTTLE_SLEEP = 5 * time.Second
    How long to sleep when a throttle-event happens
Variables ¶
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",
}
    var LambdaFunctionRegexp = `^(arn:aws:lambda:)?([a-z]{2}-[a-z]+-\d{1}:)?(\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\$LATEST|[a-zA-Z0-9-_]+))?$`
    var SNSAttributeMap = map[string]string{
	"arn":             "TopicArn",
	"display_name":    "DisplayName",
	"policy":          "Policy",
	"delivery_policy": "DeliveryPolicy",
}
    Mutable attributes
Functions ¶
func GetAccountInfo ¶ added in v0.7.6
func GetCredentials ¶ added in v0.6.16
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 HostedZoneIDForRegion ¶ added in v0.5.1
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 ¶
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 NGStateRefreshFunc ¶ added in v0.6.9
func NGStateRefreshFunc(conn *ec2.EC2, id string) resource.StateRefreshFunc
NGStateRefreshFunc returns a resource.StateRefreshFunc that is used to watch a NAT Gateway.
func OpsworksInstanceStateRefreshFunc ¶ added in v0.6.15
func OpsworksInstanceStateRefreshFunc(conn *opsworks.OpsWorks, instanceID string) resource.StateRefreshFunc
func Provider ¶ added in v0.2.0
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 ¶ added in v0.6.0
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 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 ¶ added in v0.6.2
Types ¶
type AWSClient ¶ added in v0.3.5
type AWSClient struct {
	// contains filtered or unexported fields
}
    type ByGroupPair ¶ added in v0.6.0
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 ¶ added in v0.6.0
func (b ByGroupPair) Len() int
func (ByGroupPair) Less ¶ added in v0.6.0
func (b ByGroupPair) Less(i, j int) bool
func (ByGroupPair) Swap ¶ added in v0.6.0
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
	AllowedAccountIds   []interface{}
	ForbiddenAccountIds []interface{}
	DynamoDBEndpoint string
	KinesisEndpoint  string
	Ec2Endpoint      string
	IamEndpoint      string
	ElbEndpoint      string
	S3Endpoint       string
	Insecure         bool
	SkipCredsValidation     bool
	SkipRequestingAccountId bool
	SkipMetadataApiCheck    bool
	S3ForcePathStyle        bool
}
    func (*Config) ValidateAccountId ¶ added in v0.5.0
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 ¶ added in v0.6.2
Validate credentials early and fail before we do any graph walking.
func (*Config) ValidateRegion ¶ added in v0.4.0
ValidateRegion returns an error if the configured region is not a valid aws region and nil otherwise.
type IAMPolicyDoc ¶ added in v0.7.0
type IAMPolicyDoc struct {
	Version    string                `json:",omitempty"`
	Id         string                `json:",omitempty"`
	Statements []*IAMPolicyStatement `json:"Statement"`
}
    type IAMPolicyStatement ¶ added in v0.7.0
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 ¶ added in v0.7.0
type IAMPolicyStatementConditionSet ¶ added in v0.7.0
type IAMPolicyStatementConditionSet []IAMPolicyStatementCondition
func (IAMPolicyStatementConditionSet) MarshalJSON ¶ added in v0.7.0
func (cs IAMPolicyStatementConditionSet) MarshalJSON() ([]byte, error)
type IAMPolicyStatementPrincipal ¶ added in v0.7.0
type IAMPolicyStatementPrincipal struct {
	Type        string
	Identifiers interface{}
}
    type IAMPolicyStatementPrincipalSet ¶ added in v0.7.0
type IAMPolicyStatementPrincipalSet []IAMPolicyStatementPrincipal
func (IAMPolicyStatementPrincipalSet) MarshalJSON ¶ added in v0.7.0
func (ps IAMPolicyStatementPrincipalSet) MarshalJSON() ([]byte, error)
type LambdaPolicy ¶ added in v0.6.12
type LambdaPolicy struct {
	Version   string
	Statement []LambdaPolicyStatement
	Id        string
}
    type LambdaPolicyStatement ¶ added in v0.6.12
type Reassignment ¶ added in v0.7.1
type Reassignment struct {
	// contains filtered or unexported fields
}
    type S3Website ¶ added in v0.6.2
type S3Website struct {
	Endpoint, Domain string
}
    func WebsiteEndpoint ¶ added in v0.6.2
type StringPtrSlice ¶ added in v0.7.0
type StringPtrSlice []*string
Define Sort interface for []*string so we can ensure the order of geo_restrictions.locations
func (StringPtrSlice) Len ¶ added in v0.7.0
func (p StringPtrSlice) Len() int
func (StringPtrSlice) Less ¶ added in v0.7.0
func (p StringPtrSlice) Less(i, j int) bool
func (StringPtrSlice) Swap ¶ added in v0.7.0
func (p StringPtrSlice) Swap(i, j int)
type TunnelInfo ¶ added in v0.6.12
type XmlIpsecTunnel ¶ added in v0.6.12
type XmlIpsecTunnel struct {
	OutsideAddress string `xml:"vpn_gateway>tunnel_outside_address>ip_address"`
}
    type XmlVpnConnectionConfig ¶ added in v0.6.12
type XmlVpnConnectionConfig struct {
	Tunnels []XmlIpsecTunnel `xml:"ipsec_tunnel"`
}
    func (XmlVpnConnectionConfig) Len ¶ added in v0.6.12
func (slice XmlVpnConnectionConfig) Len() int
func (XmlVpnConnectionConfig) Less ¶ added in v0.6.12
func (slice XmlVpnConnectionConfig) Less(i, j int) bool
func (XmlVpnConnectionConfig) Swap ¶ added in v0.6.12
func (slice XmlVpnConnectionConfig) Swap(i, j int)
      
      Source Files
      ¶
    
- auth_helpers.go
 - autoscaling_tags.go
 - awserr.go
 - cloudfront_distribution_configuration_structure.go
 - config.go
 - data_source_aws_acm_certificate.go
 - data_source_aws_alb_listener.go
 - data_source_aws_ami.go
 - data_source_aws_availability_zone.go
 - data_source_aws_availability_zones.go
 - data_source_aws_billing_service_account.go
 - data_source_aws_caller_identity.go
 - data_source_aws_cloudformation_stack.go
 - data_source_aws_ebs_volume.go
 - data_source_aws_ecs_container_definition.go
 - data_source_aws_elb_service_account.go
 - data_source_aws_iam_policy_document.go
 - data_source_aws_ip_ranges.go
 - data_source_aws_prefix_list.go
 - data_source_aws_redshift_service_account.go
 - data_source_aws_region.go
 - data_source_aws_s3_bucket_object.go
 - data_source_aws_security_group.go
 - data_source_aws_subnet.go
 - data_source_aws_vpc.go
 - diff_suppress_funcs.go
 - ec2_filters.go
 - hosted_zones.go
 - iam_policy_model.go
 - import_aws_cloudfront_distribution.go
 - import_aws_network_acl.go
 - import_aws_route_table.go
 - import_aws_s3_bucket.go
 - import_aws_security_group.go
 - network_acl_entry.go
 - opsworks_layers.go
 - provider.go
 - resource_aws_alb.go
 - resource_aws_alb_listener.go
 - resource_aws_alb_listener_rule.go
 - resource_aws_alb_target_group.go
 - resource_aws_alb_target_group_attachment.go
 - resource_aws_ami.go
 - resource_aws_ami_copy.go
 - resource_aws_ami_from_instance.go
 - resource_aws_ami_launch_permission.go
 - resource_aws_api_gateway_account.go
 - resource_aws_api_gateway_api_key.go
 - resource_aws_api_gateway_authorizer.go
 - resource_aws_api_gateway_base_path_mapping.go
 - resource_aws_api_gateway_client_certificate.go
 - resource_aws_api_gateway_deployment.go
 - resource_aws_api_gateway_domain_name.go
 - resource_aws_api_gateway_integration.go
 - resource_aws_api_gateway_integration_response.go
 - resource_aws_api_gateway_method.go
 - resource_aws_api_gateway_method_response.go
 - resource_aws_api_gateway_model.go
 - resource_aws_api_gateway_resource.go
 - resource_aws_api_gateway_rest_api.go
 - resource_aws_app_cookie_stickiness_policy.go
 - resource_aws_appautoscaling_policy.go
 - resource_aws_appautoscaling_target.go
 - resource_aws_autoscaling_attachment.go
 - resource_aws_autoscaling_group.go
 - resource_aws_autoscaling_group_waiting.go
 - resource_aws_autoscaling_lifecycle_hook.go
 - resource_aws_autoscaling_notification.go
 - resource_aws_autoscaling_policy.go
 - resource_aws_autoscaling_schedule.go
 - resource_aws_cloudformation_stack.go
 - resource_aws_cloudfront_distribution.go
 - resource_aws_cloudfront_origin_access_identity.go
 - resource_aws_cloudtrail.go
 - resource_aws_cloudwatch_event_rule.go
 - resource_aws_cloudwatch_event_target.go
 - resource_aws_cloudwatch_log_group.go
 - resource_aws_cloudwatch_log_metric_filter.go
 - resource_aws_cloudwatch_log_stream.go
 - resource_aws_cloudwatch_log_subscription_filter.go
 - resource_aws_cloudwatch_metric_alarm.go
 - resource_aws_codecommit_repository.go
 - resource_aws_codecommit_trigger.go
 - resource_aws_codedeploy_app.go
 - resource_aws_codedeploy_deployment_group.go
 - resource_aws_customer_gateway.go
 - resource_aws_db_event_subscription.go
 - resource_aws_db_instance.go
 - resource_aws_db_option_group.go
 - resource_aws_db_parameter_group.go
 - resource_aws_db_security_group.go
 - resource_aws_db_subnet_group.go
 - resource_aws_default_network_acl.go
 - resource_aws_default_route_table.go
 - resource_aws_default_security_group.go
 - resource_aws_directory_service_directory.go
 - resource_aws_dynamodb_table.go
 - resource_aws_ebs_volume.go
 - resource_aws_ecr_repository.go
 - resource_aws_ecr_repository_policy.go
 - resource_aws_ecs_cluster.go
 - resource_aws_ecs_service.go
 - resource_aws_ecs_task_definition.go
 - resource_aws_efs_file_system.go
 - resource_aws_efs_mount_target.go
 - resource_aws_eip.go
 - resource_aws_eip_association.go
 - resource_aws_elastic_beanstalk_application.go
 - resource_aws_elastic_beanstalk_configuration_template.go
 - resource_aws_elastic_beanstalk_environment.go
 - resource_aws_elastic_beanstalk_environment_migrate.go
 - resource_aws_elastic_transcoder_pipeline.go
 - resource_aws_elastic_transcoder_preset.go
 - resource_aws_elasticache_cluster.go
 - resource_aws_elasticache_parameter_group.go
 - resource_aws_elasticache_replication_group.go
 - resource_aws_elasticache_security_group.go
 - resource_aws_elasticache_subnet_group.go
 - resource_aws_elasticsearch_domain.go
 - resource_aws_elb.go
 - resource_aws_elb_attachment.go
 - resource_aws_emr_cluster.go
 - resource_aws_emr_instance_group.go
 - resource_aws_flow_log.go
 - resource_aws_glacier_vault.go
 - resource_aws_iam_access_key.go
 - resource_aws_iam_account_password_policy.go
 - resource_aws_iam_group.go
 - resource_aws_iam_group_membership.go
 - resource_aws_iam_group_policy.go
 - resource_aws_iam_group_policy_attachment.go
 - resource_aws_iam_instance_profile.go
 - resource_aws_iam_policy.go
 - resource_aws_iam_policy_attachment.go
 - resource_aws_iam_role.go
 - resource_aws_iam_role_policy.go
 - resource_aws_iam_role_policy_attachment.go
 - resource_aws_iam_saml_provider.go
 - resource_aws_iam_server_certificate.go
 - resource_aws_iam_user.go
 - resource_aws_iam_user_login_profile.go
 - resource_aws_iam_user_policy.go
 - resource_aws_iam_user_policy_attachment.go
 - resource_aws_iam_user_ssh_key.go
 - resource_aws_instance.go
 - resource_aws_instance_migrate.go
 - resource_aws_internet_gateway.go
 - resource_aws_key_pair.go
 - resource_aws_key_pair_migrate.go
 - resource_aws_kinesis_firehose_delivery_stream.go
 - resource_aws_kinesis_firehose_delivery_stream_migrate.go
 - resource_aws_kinesis_stream.go
 - resource_aws_kms_alias.go
 - resource_aws_kms_key.go
 - resource_aws_lambda_alias.go
 - resource_aws_lambda_event_source_mapping.go
 - resource_aws_lambda_function.go
 - resource_aws_lambda_permission.go
 - resource_aws_launch_configuration.go
 - resource_aws_lb_cookie_stickiness_policy.go
 - resource_aws_lb_ssl_negotiation_policy.go
 - resource_aws_load_balancer_backend_server_policy.go
 - resource_aws_load_balancer_listener_policy.go
 - resource_aws_load_balancer_policy.go
 - resource_aws_main_route_table_association.go
 - resource_aws_nat_gateway.go
 - resource_aws_network_acl.go
 - resource_aws_network_acl_rule.go
 - resource_aws_network_interface.go
 - resource_aws_opsworks_application.go
 - resource_aws_opsworks_custom_layer.go
 - resource_aws_opsworks_ganglia_layer.go
 - resource_aws_opsworks_haproxy_layer.go
 - resource_aws_opsworks_instance.go
 - resource_aws_opsworks_java_app_layer.go
 - resource_aws_opsworks_memcached_layer.go
 - resource_aws_opsworks_mysql_layer.go
 - resource_aws_opsworks_nodejs_app_layer.go
 - resource_aws_opsworks_permission.go
 - resource_aws_opsworks_php_app_layer.go
 - resource_aws_opsworks_rails_app_layer.go
 - resource_aws_opsworks_stack.go
 - resource_aws_opsworks_static_web_layer.go
 - resource_aws_opsworks_user_profile.go
 - resource_aws_placement_group.go
 - resource_aws_proxy_protocol_policy.go
 - resource_aws_rds_cluster.go
 - resource_aws_rds_cluster_instance.go
 - resource_aws_rds_cluster_parameter_group.go
 - resource_aws_redshift_cluster.go
 - resource_aws_redshift_parameter_group.go
 - resource_aws_redshift_security_group.go
 - resource_aws_redshift_subnet_group.go
 - resource_aws_route.go
 - resource_aws_route53_delegation_set.go
 - resource_aws_route53_health_check.go
 - resource_aws_route53_record.go
 - resource_aws_route53_record_migrate.go
 - resource_aws_route53_zone.go
 - resource_aws_route53_zone_association.go
 - resource_aws_route_table.go
 - resource_aws_route_table_association.go
 - resource_aws_s3_bucket.go
 - resource_aws_s3_bucket_notification.go
 - resource_aws_s3_bucket_object.go
 - resource_aws_s3_bucket_policy.go
 - resource_aws_security_group.go
 - resource_aws_security_group_rule.go
 - resource_aws_security_group_rule_migrate.go
 - resource_aws_ses_active_receipt_rule_set.go
 - resource_aws_ses_receipt_filter.go
 - resource_aws_ses_receipt_rule.go
 - resource_aws_ses_receipt_rule_set.go
 - resource_aws_simpledb_domain.go
 - resource_aws_sns_topic.go
 - resource_aws_sns_topic_policy.go
 - resource_aws_sns_topic_subscription.go
 - resource_aws_spot_datafeed_subscription.go
 - resource_aws_spot_fleet_request.go
 - resource_aws_spot_fleet_request_migrate.go
 - resource_aws_spot_instance_request.go
 - resource_aws_sqs_queue.go
 - resource_aws_sqs_queue_policy.go
 - resource_aws_ssm_activation.go
 - resource_aws_ssm_association.go
 - resource_aws_ssm_document.go
 - resource_aws_subnet.go
 - resource_aws_volume_attachment.go
 - resource_aws_vpc.go
 - resource_aws_vpc_dhcp_options.go
 - resource_aws_vpc_dhcp_options_association.go
 - resource_aws_vpc_endpoint.go
 - resource_aws_vpc_peering_connection.go
 - resource_aws_vpn_connection.go
 - resource_aws_vpn_gateway.go
 - resource_aws_vpn_gateway_attachment.go
 - resource_aws_waf_byte_match_set.go
 - resource_aws_waf_ipset.go
 - resource_aws_waf_rule.go
 - resource_aws_waf_size_constraint_set.go
 - resource_aws_waf_sql_injection_match_set.go
 - resource_aws_waf_web_acl.go
 - resource_aws_waf_xss_match_set.go
 - resource_vpn_connection_route.go
 - s3_tags.go
 - structure.go
 - tags.go
 - tagsBeanstalk.go
 - tagsCloudFront.go
 - tagsCloudtrail.go
 - tagsEC.go
 - tagsEFS.go
 - tagsELB.go
 - tagsRDS.go
 - tagsRedshift.go
 - tags_elasticsearchservice.go
 - tags_kinesis.go
 - tags_route53.go
 - validators.go