Documentation ¶
Index ¶
- Constants
- Variables
- func FQDN(name string) string
- func GetAccountId(iamconn *iam.IAM, stsconn *sts.STS, authProviderName string) (string, error)
- func GetCredentials(key, secret, token, profile, credsfile string) *awsCredentials.Credentials
- 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 S3Website
- 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 GetAccountId ¶ added in v0.6.16
func GetCredentials ¶ added in v0.6.16
func GetCredentials(key, secret, token, profile, credsfile string) *awsCredentials.Credentials
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 AllowedAccountIds []interface{} ForbiddenAccountIds []interface{} DynamoDBEndpoint string KinesisEndpoint string Ec2Endpoint string IamEndpoint string ElbEndpoint string Insecure 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. In the case of an IAM role/profile with insuffecient privileges, fail silently
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 ¶
type IAMPolicyDoc struct { Id string `json:",omitempty"` Version string `json:",omitempty"` Statements []*IAMPolicyStatement `json:"Statement"` }
type IAMPolicyStatement ¶
type IAMPolicyStatement struct { Sid string `json:",omitempty"` Effect string `json:",omitempty"` Actions []string `json:"Action,omitempty"` NotActions []string `json:"NotAction,omitempty"` Resources []string `json:"Resource,omitempty"` NotResources []string `json:"NotResource,omitempty"` Principals IAMPolicyStatementPrincipalSet `json:"Principal,omitempty"` NotPrincipals IAMPolicyStatementPrincipalSet `json:"NotPrincipal,omitempty"` Conditions IAMPolicyStatementConditionSet `json:"Condition,omitempty"` }
type IAMPolicyStatementConditionSet ¶
type IAMPolicyStatementConditionSet []IAMPolicyStatementCondition
func (IAMPolicyStatementConditionSet) MarshalJSON ¶
func (cs IAMPolicyStatementConditionSet) MarshalJSON() ([]byte, error)
type IAMPolicyStatementPrincipalSet ¶
type IAMPolicyStatementPrincipalSet []IAMPolicyStatementPrincipal
func (IAMPolicyStatementPrincipalSet) MarshalJSON ¶
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 S3Website ¶ added in v0.6.2
type S3Website struct {
Endpoint, Domain string
}
func WebsiteEndpoint ¶ added in v0.6.2
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
- cloudfront_distribution_configuration_structure.go
- config.go
- data_source_availability_zones.go
- data_source_aws_ami.go
- data_source_aws_iam_policy_document.go
- hosted_zones.go
- iam_policy_model.go
- import_aws_network_acl.go
- import_aws_route_table.go
- import_aws_security_group.go
- network_acl_entry.go
- opsworks_layers.go
- provider.go
- resource_aws_ami.go
- resource_aws_ami_copy.go
- resource_aws_ami_from_instance.go
- resource_aws_api_gateway_account.go
- resource_aws_api_gateway_api_key.go
- resource_aws_api_gateway_authorizer.go
- resource_aws_api_gateway_deployment.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_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_subscription_filter.go
- resource_aws_cloudwatch_metric_alarm.go
- resource_aws_codecommit_repository.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_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_elasticache_cluster.go
- resource_aws_elasticache_parameter_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_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_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_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_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_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_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_security_group.go
- resource_aws_security_group_rule.go
- resource_aws_security_group_rule_migrate.go
- resource_aws_sns_topic.go
- resource_aws_sns_topic_subscription.go
- resource_aws_spot_instance_request.go
- resource_aws_sqs_queue.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_vpn_connection_route.go
- s3_tags.go
- structure.go
- tags.go
- tagsBeanstalk.go
- tagsCloudtrail.go
- tagsEC.go
- tagsEFS.go
- tagsELB.go
- tagsRDS.go
- tagsRedshift.go
- tags_elasticsearchservice.go
- tags_kinesis.go
- tags_route53.go
- validators.go