dynamodb-local Add `dynamodb_endpoint` allowing to change the DynamoDB Endpoint for
example to connect to dynamodb-local
This commit is contained in:
parent
a4cbef0523
commit
35201e730e
|
@ -35,6 +35,8 @@ type Config struct {
|
|||
|
||||
AllowedAccountIds []interface{}
|
||||
ForbiddenAccountIds []interface{}
|
||||
|
||||
DynamoDBEndpoint string
|
||||
}
|
||||
|
||||
type AWSClient struct {
|
||||
|
@ -56,7 +58,7 @@ type AWSClient struct {
|
|||
lambdaconn *lambda.Lambda
|
||||
}
|
||||
|
||||
// Client configures and returns a fully initailized AWSClient
|
||||
// Client configures and returns a fully initialized AWSClient
|
||||
func (c *Config) Client() (interface{}, error) {
|
||||
var client AWSClient
|
||||
|
||||
|
@ -84,9 +86,15 @@ func (c *Config) Client() (interface{}, error) {
|
|||
Region: c.Region,
|
||||
MaxRetries: c.MaxRetries,
|
||||
}
|
||||
awsDynamoDBConfig := &aws.Config{
|
||||
Credentials: creds,
|
||||
Region: c.Region,
|
||||
MaxRetries: c.MaxRetries,
|
||||
Endpoint: c.DynamoDBEndpoint,
|
||||
}
|
||||
|
||||
log.Println("[INFO] Initializing DynamoDB connection")
|
||||
client.dynamodbconn = dynamodb.New(awsConfig)
|
||||
client.dynamodbconn = dynamodb.New(awsDynamoDBConfig)
|
||||
|
||||
log.Println("[INFO] Initializing ELB connection")
|
||||
client.elbconn = elb.New(awsConfig)
|
||||
|
|
|
@ -145,6 +145,13 @@ func Provider() terraform.ResourceProvider {
|
|||
return hashcode.String(v.(string))
|
||||
},
|
||||
},
|
||||
|
||||
"dynamodb_endpoint": &schema.Schema{
|
||||
Type: schema.TypeString,
|
||||
Optional: true,
|
||||
Default: "",
|
||||
Description: descriptions["dynamodb_endpoint"],
|
||||
},
|
||||
},
|
||||
|
||||
ResourcesMap: map[string]*schema.Resource{
|
||||
|
@ -242,16 +249,20 @@ func init() {
|
|||
"max_retries": "The maximum number of times an AWS API request is\n" +
|
||||
"being executed. If the API request still fails, an error is\n" +
|
||||
"thrown.",
|
||||
|
||||
"dynamodb_endpoint": "Use this to override the default endpoint URL constructed from the :region.\n" +
|
||||
"It's typically used to connect to dynamodb-local.",
|
||||
}
|
||||
}
|
||||
|
||||
func providerConfigure(d *schema.ResourceData) (interface{}, error) {
|
||||
config := Config{
|
||||
AccessKey: d.Get("access_key").(string),
|
||||
SecretKey: d.Get("secret_key").(string),
|
||||
Token: d.Get("token").(string),
|
||||
Region: d.Get("region").(string),
|
||||
MaxRetries: d.Get("max_retries").(int),
|
||||
AccessKey: d.Get("access_key").(string),
|
||||
SecretKey: d.Get("secret_key").(string),
|
||||
Token: d.Get("token").(string),
|
||||
Region: d.Get("region").(string),
|
||||
MaxRetries: d.Get("max_retries").(int),
|
||||
DynamoDBEndpoint: d.Get("dynamodb_endpoint").(string),
|
||||
}
|
||||
|
||||
if v, ok := d.GetOk("allowed_account_ids"); ok {
|
||||
|
|
Loading…
Reference in New Issue