builder/amazon/instance: Add session manager support

This commit is contained in:
Wilken Rivera 2020-04-16 14:52:12 -04:00
parent e515aefee3
commit d5a0262d6c
1 changed files with 16 additions and 0 deletions

View File

@ -324,6 +324,7 @@ func (b *Builder) Run(ctx context.Context, ui packer.Ui, hook packer.Hook) (pack
SecurityGroupFilter: b.config.SecurityGroupFilter, SecurityGroupFilter: b.config.SecurityGroupFilter,
SecurityGroupIds: b.config.SecurityGroupIds, SecurityGroupIds: b.config.SecurityGroupIds,
TemporarySGSourceCidrs: b.config.TemporarySGSourceCidrs, TemporarySGSourceCidrs: b.config.TemporarySGSourceCidrs,
SkipSSHRuleCreation: b.config.SSMAgentEnabled(),
}, },
&awscommon.StepIamInstanceProfile{ &awscommon.StepIamInstanceProfile{
IamInstanceProfile: b.config.IamInstanceProfile, IamInstanceProfile: b.config.IamInstanceProfile,
@ -337,13 +338,28 @@ func (b *Builder) Run(ctx context.Context, ui packer.Ui, hook packer.Hook) (pack
Timeout: b.config.WindowsPasswordTimeout, Timeout: b.config.WindowsPasswordTimeout,
BuildName: b.config.PackerBuildName, BuildName: b.config.PackerBuildName,
}, },
&awscommon.StepCreateSSMTunnel{
AWSSession: session,
DstPort: b.config.Comm.Port(),
SSMAgentEnabled: b.config.SSMAgentEnabled(),
},
&communicator.StepConnect{ &communicator.StepConnect{
// StepConnect is provided settings for WinRM and SSH, but
// the communicator will ultimately determine which port to use.
Config: &b.config.RunConfig.Comm, Config: &b.config.RunConfig.Comm,
Host: awscommon.SSHHost( Host: awscommon.SSHHost(
ec2conn, ec2conn,
b.config.SSHInterface, b.config.SSHInterface,
b.config.Comm.Host(), b.config.Comm.Host(),
), ),
SSHPort: awscommon.Port(
b.config.SSHInterface,
b.config.Comm.Port(),
),
WinRMPort: awscommon.Port(
b.config.SSHInterface,
b.config.Comm.Port(),
),
SSHConfig: b.config.RunConfig.Comm.SSHConfigFunc(), SSHConfig: b.config.RunConfig.Comm.SSHConfigFunc(),
}, },
&common.StepProvision{}, &common.StepProvision{},