amazon/*: fix merge issues with lib switch
This commit is contained in:
parent
44b980e659
commit
b78b119a11
|
@ -8,6 +8,7 @@ import (
|
|||
"unicode"
|
||||
|
||||
"github.com/awslabs/aws-sdk-go/aws"
|
||||
"github.com/awslabs/aws-sdk-go/aws/credentials"
|
||||
"github.com/mitchellh/packer/template/interpolate"
|
||||
)
|
||||
|
||||
|
@ -22,16 +23,16 @@ type AccessConfig struct {
|
|||
// Config returns a valid aws.Config object for access to AWS services, or
|
||||
// an error if the authentication and region couldn't be resolved
|
||||
func (c *AccessConfig) Config() (*aws.Config, error) {
|
||||
credsProvider := aws.DetectCreds(c.AccessKey, c.SecretKey, c.Token)
|
||||
|
||||
creds, err := credsProvider.Credentials()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
c.AccessKey = creds.AccessKeyID
|
||||
c.SecretKey = creds.SecretAccessKey
|
||||
c.Token = creds.SessionToken
|
||||
creds := credentials.NewChainCredentials([]credentials.Provider{
|
||||
&credentials.StaticProvider{Value: credentials.Value{
|
||||
AccessKeyID: c.AccessKey,
|
||||
SecretAccessKey: c.SecretKey,
|
||||
SessionToken: c.Token,
|
||||
}},
|
||||
&credentials.EnvProvider{},
|
||||
&credentials.SharedCredentialsProvider{Filename: "", Profile: ""},
|
||||
&credentials.EC2RoleProvider{},
|
||||
})
|
||||
|
||||
region, err := c.Region()
|
||||
if err != nil {
|
||||
|
@ -40,7 +41,8 @@ func (c *AccessConfig) Config() (*aws.Config, error) {
|
|||
|
||||
return &aws.Config{
|
||||
Region: region,
|
||||
Credentials: credsProvider,
|
||||
Credentials: creds,
|
||||
MaxRetries: 11,
|
||||
}, nil
|
||||
}
|
||||
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
package common
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"github.com/awslabs/aws-sdk-go/aws"
|
||||
"github.com/awslabs/aws-sdk-go/service/ec2"
|
||||
"github.com/mitchellh/packer/template/interpolate"
|
||||
|
|
|
@ -5,7 +5,6 @@ import (
|
|||
|
||||
"sync"
|
||||
|
||||
"github.com/awslabs/aws-sdk-go/aws"
|
||||
"github.com/awslabs/aws-sdk-go/service/ec2"
|
||||
|
||||
"github.com/mitchellh/multistep"
|
||||
|
@ -13,6 +12,7 @@ import (
|
|||
)
|
||||
|
||||
type StepAMIRegionCopy struct {
|
||||
AccessConfig *AccessConfig
|
||||
Regions []string
|
||||
}
|
||||
|
||||
|
@ -37,7 +37,7 @@ func (s *StepAMIRegionCopy) Run(state multistep.StateBag) multistep.StepAction {
|
|||
|
||||
go func(region string) {
|
||||
defer wg.Done()
|
||||
id, err := amiRegionCopy(state, ec2conn.Config.Credentials, ami, region, ec2conn.Config.Region)
|
||||
id, err := amiRegionCopy(state, s.AccessConfig, ami, region, ec2conn.Config.Region)
|
||||
|
||||
lock.Lock()
|
||||
defer lock.Unlock()
|
||||
|
@ -69,15 +69,17 @@ func (s *StepAMIRegionCopy) Cleanup(state multistep.StateBag) {
|
|||
|
||||
// amiRegionCopy does a copy for the given AMI to the target region and
|
||||
// returns the resulting ID or error.
|
||||
func amiRegionCopy(state multistep.StateBag, auth aws.CredentialsProvider, imageId string,
|
||||
func amiRegionCopy(state multistep.StateBag, config *AccessConfig, imageId string,
|
||||
target string, source string) (string, error) {
|
||||
|
||||
// Connect to the region where the AMI will be copied to
|
||||
config := &aws.Config{
|
||||
Credentials: auth,
|
||||
Region: target,
|
||||
awsConfig, err := config.Config()
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
regionconn := ec2.New(config)
|
||||
awsConfig.Region = target
|
||||
|
||||
regionconn := ec2.New(awsConfig)
|
||||
resp, err := regionconn.CopyImage(&ec2.CopyImageInput{
|
||||
SourceRegion: &source,
|
||||
SourceImageID: &imageId,
|
||||
|
|
|
@ -121,6 +121,7 @@ func (b *Builder) Run(ui packer.Ui, hook packer.Hook, cache packer.Cache) (packe
|
|||
&stepModifyInstance{},
|
||||
&stepCreateAMI{},
|
||||
&awscommon.StepAMIRegionCopy{
|
||||
AccessConfig: &b.config.AccessConfig,
|
||||
Regions: b.config.AMIRegions,
|
||||
},
|
||||
&awscommon.StepModifyAMIAttributes{
|
||||
|
|
|
@ -203,6 +203,7 @@ func (b *Builder) Run(ui packer.Ui, hook packer.Hook, cache packer.Cache) (packe
|
|||
},
|
||||
&StepRegisterAMI{},
|
||||
&awscommon.StepAMIRegionCopy{
|
||||
AccessConfig: &b.config.AccessConfig,
|
||||
Regions: b.config.AMIRegions,
|
||||
},
|
||||
&awscommon.StepModifyAMIAttributes{
|
||||
|
|
Loading…
Reference in New Issue