feature[alicloud]: add ramrole to ecs instance (#10845)
* add RamRole support for ecs instance * ordering of attributes * run make generate
This commit is contained in:
parent
d81c02b456
commit
7f26429a2a
|
@ -135,6 +135,7 @@ func (b *Builder) Run(ctx context.Context, ui packersdk.Ui, hook packersdk.Hook)
|
||||||
InstanceType: b.config.InstanceType,
|
InstanceType: b.config.InstanceType,
|
||||||
UserData: b.config.UserData,
|
UserData: b.config.UserData,
|
||||||
UserDataFile: b.config.UserDataFile,
|
UserDataFile: b.config.UserDataFile,
|
||||||
|
RamRoleName: b.config.RamRoleName,
|
||||||
RegionId: b.config.AlicloudRegion,
|
RegionId: b.config.AlicloudRegion,
|
||||||
InternetChargeType: b.config.InternetChargeType,
|
InternetChargeType: b.config.InternetChargeType,
|
||||||
InternetMaxBandwidthOut: b.config.InternetMaxBandwidthOut,
|
InternetMaxBandwidthOut: b.config.InternetMaxBandwidthOut,
|
||||||
|
|
|
@ -88,6 +88,7 @@ type FlatConfig struct {
|
||||||
AlicloudSourceImage *string `mapstructure:"source_image" required:"true" cty:"source_image" hcl:"source_image"`
|
AlicloudSourceImage *string `mapstructure:"source_image" required:"true" cty:"source_image" hcl:"source_image"`
|
||||||
ForceStopInstance *bool `mapstructure:"force_stop_instance" required:"false" cty:"force_stop_instance" hcl:"force_stop_instance"`
|
ForceStopInstance *bool `mapstructure:"force_stop_instance" required:"false" cty:"force_stop_instance" hcl:"force_stop_instance"`
|
||||||
DisableStopInstance *bool `mapstructure:"disable_stop_instance" required:"false" cty:"disable_stop_instance" hcl:"disable_stop_instance"`
|
DisableStopInstance *bool `mapstructure:"disable_stop_instance" required:"false" cty:"disable_stop_instance" hcl:"disable_stop_instance"`
|
||||||
|
RamRoleName *string `mapstructure:"ram_role_name" required:"false" cty:"ram_role_name" hcl:"ram_role_name"`
|
||||||
SecurityGroupId *string `mapstructure:"security_group_id" required:"false" cty:"security_group_id" hcl:"security_group_id"`
|
SecurityGroupId *string `mapstructure:"security_group_id" required:"false" cty:"security_group_id" hcl:"security_group_id"`
|
||||||
SecurityGroupName *string `mapstructure:"security_group_name" required:"false" cty:"security_group_name" hcl:"security_group_name"`
|
SecurityGroupName *string `mapstructure:"security_group_name" required:"false" cty:"security_group_name" hcl:"security_group_name"`
|
||||||
UserData *string `mapstructure:"user_data" required:"false" cty:"user_data" hcl:"user_data"`
|
UserData *string `mapstructure:"user_data" required:"false" cty:"user_data" hcl:"user_data"`
|
||||||
|
@ -205,6 +206,7 @@ func (*FlatConfig) HCL2Spec() map[string]hcldec.Spec {
|
||||||
"source_image": &hcldec.AttrSpec{Name: "source_image", Type: cty.String, Required: false},
|
"source_image": &hcldec.AttrSpec{Name: "source_image", Type: cty.String, Required: false},
|
||||||
"force_stop_instance": &hcldec.AttrSpec{Name: "force_stop_instance", Type: cty.Bool, Required: false},
|
"force_stop_instance": &hcldec.AttrSpec{Name: "force_stop_instance", Type: cty.Bool, Required: false},
|
||||||
"disable_stop_instance": &hcldec.AttrSpec{Name: "disable_stop_instance", Type: cty.Bool, Required: false},
|
"disable_stop_instance": &hcldec.AttrSpec{Name: "disable_stop_instance", Type: cty.Bool, Required: false},
|
||||||
|
"ram_role_name": &hcldec.AttrSpec{Name: "ram_role_name", Type: cty.String, Required: false},
|
||||||
"security_group_id": &hcldec.AttrSpec{Name: "security_group_id", Type: cty.String, Required: false},
|
"security_group_id": &hcldec.AttrSpec{Name: "security_group_id", Type: cty.String, Required: false},
|
||||||
"security_group_name": &hcldec.AttrSpec{Name: "security_group_name", Type: cty.String, Required: false},
|
"security_group_name": &hcldec.AttrSpec{Name: "security_group_name", Type: cty.String, Required: false},
|
||||||
"user_data": &hcldec.AttrSpec{Name: "user_data", Type: cty.String, Required: false},
|
"user_data": &hcldec.AttrSpec{Name: "user_data", Type: cty.String, Required: false},
|
||||||
|
|
|
@ -47,6 +47,8 @@ type RunConfig struct {
|
||||||
// E.g., Sysprep a windows which may shutdown the instance within its command.
|
// E.g., Sysprep a windows which may shutdown the instance within its command.
|
||||||
// The default value is false.
|
// The default value is false.
|
||||||
DisableStopInstance bool `mapstructure:"disable_stop_instance" required:"false"`
|
DisableStopInstance bool `mapstructure:"disable_stop_instance" required:"false"`
|
||||||
|
// Ram Role to apply when launching the instance.
|
||||||
|
RamRoleName string `mapstructure:"ram_role_name" required:"false"`
|
||||||
// ID of the security group to which a newly
|
// ID of the security group to which a newly
|
||||||
// created instance belongs. Mutual access is allowed between instances in one
|
// created instance belongs. Mutual access is allowed between instances in one
|
||||||
// security group. If not specified, the newly created instance will be added
|
// security group. If not specified, the newly created instance will be added
|
||||||
|
|
|
@ -23,6 +23,7 @@ type stepCreateAlicloudInstance struct {
|
||||||
UserData string
|
UserData string
|
||||||
UserDataFile string
|
UserDataFile string
|
||||||
instanceId string
|
instanceId string
|
||||||
|
RamRoleName string
|
||||||
RegionId string
|
RegionId string
|
||||||
InternetChargeType string
|
InternetChargeType string
|
||||||
InternetMaxBandwidthOut int
|
InternetMaxBandwidthOut int
|
||||||
|
@ -115,6 +116,7 @@ func (s *stepCreateAlicloudInstance) buildCreateInstanceRequest(state multistep.
|
||||||
request.RegionId = s.RegionId
|
request.RegionId = s.RegionId
|
||||||
request.InstanceType = s.InstanceType
|
request.InstanceType = s.InstanceType
|
||||||
request.InstanceName = s.InstanceName
|
request.InstanceName = s.InstanceName
|
||||||
|
request.RamRoleName = s.RamRoleName
|
||||||
request.ZoneId = s.ZoneId
|
request.ZoneId = s.ZoneId
|
||||||
|
|
||||||
sourceImage := state.Get("source_image").(*ecs.Image)
|
sourceImage := state.Get("source_image").(*ecs.Image)
|
||||||
|
|
|
@ -52,6 +52,7 @@ type FlatConfig struct {
|
||||||
AlicloudSourceImage *string `mapstructure:"source_image" required:"true" cty:"source_image" hcl:"source_image"`
|
AlicloudSourceImage *string `mapstructure:"source_image" required:"true" cty:"source_image" hcl:"source_image"`
|
||||||
ForceStopInstance *bool `mapstructure:"force_stop_instance" required:"false" cty:"force_stop_instance" hcl:"force_stop_instance"`
|
ForceStopInstance *bool `mapstructure:"force_stop_instance" required:"false" cty:"force_stop_instance" hcl:"force_stop_instance"`
|
||||||
DisableStopInstance *bool `mapstructure:"disable_stop_instance" required:"false" cty:"disable_stop_instance" hcl:"disable_stop_instance"`
|
DisableStopInstance *bool `mapstructure:"disable_stop_instance" required:"false" cty:"disable_stop_instance" hcl:"disable_stop_instance"`
|
||||||
|
RamRoleName *string `mapstructure:"ram_role_name" required:"false" cty:"ram_role_name" hcl:"ram_role_name"`
|
||||||
SecurityGroupId *string `mapstructure:"security_group_id" required:"false" cty:"security_group_id" hcl:"security_group_id"`
|
SecurityGroupId *string `mapstructure:"security_group_id" required:"false" cty:"security_group_id" hcl:"security_group_id"`
|
||||||
SecurityGroupName *string `mapstructure:"security_group_name" required:"false" cty:"security_group_name" hcl:"security_group_name"`
|
SecurityGroupName *string `mapstructure:"security_group_name" required:"false" cty:"security_group_name" hcl:"security_group_name"`
|
||||||
UserData *string `mapstructure:"user_data" required:"false" cty:"user_data" hcl:"user_data"`
|
UserData *string `mapstructure:"user_data" required:"false" cty:"user_data" hcl:"user_data"`
|
||||||
|
@ -177,6 +178,7 @@ func (*FlatConfig) HCL2Spec() map[string]hcldec.Spec {
|
||||||
"source_image": &hcldec.AttrSpec{Name: "source_image", Type: cty.String, Required: false},
|
"source_image": &hcldec.AttrSpec{Name: "source_image", Type: cty.String, Required: false},
|
||||||
"force_stop_instance": &hcldec.AttrSpec{Name: "force_stop_instance", Type: cty.Bool, Required: false},
|
"force_stop_instance": &hcldec.AttrSpec{Name: "force_stop_instance", Type: cty.Bool, Required: false},
|
||||||
"disable_stop_instance": &hcldec.AttrSpec{Name: "disable_stop_instance", Type: cty.Bool, Required: false},
|
"disable_stop_instance": &hcldec.AttrSpec{Name: "disable_stop_instance", Type: cty.Bool, Required: false},
|
||||||
|
"ram_role_name": &hcldec.AttrSpec{Name: "ram_role_name", Type: cty.String, Required: false},
|
||||||
"security_group_id": &hcldec.AttrSpec{Name: "security_group_id", Type: cty.String, Required: false},
|
"security_group_id": &hcldec.AttrSpec{Name: "security_group_id", Type: cty.String, Required: false},
|
||||||
"security_group_name": &hcldec.AttrSpec{Name: "security_group_name", Type: cty.String, Required: false},
|
"security_group_name": &hcldec.AttrSpec{Name: "security_group_name", Type: cty.String, Required: false},
|
||||||
"user_data": &hcldec.AttrSpec{Name: "user_data", Type: cty.String, Required: false},
|
"user_data": &hcldec.AttrSpec{Name: "user_data", Type: cty.String, Required: false},
|
||||||
|
|
|
@ -24,6 +24,8 @@
|
||||||
E.g., Sysprep a windows which may shutdown the instance within its command.
|
E.g., Sysprep a windows which may shutdown the instance within its command.
|
||||||
The default value is false.
|
The default value is false.
|
||||||
|
|
||||||
|
- `ram_role_name` (string) - Ram Role to apply when launching the instance.
|
||||||
|
|
||||||
- `security_group_id` (string) - ID of the security group to which a newly
|
- `security_group_id` (string) - ID of the security group to which a newly
|
||||||
created instance belongs. Mutual access is allowed between instances in one
|
created instance belongs. Mutual access is allowed between instances in one
|
||||||
security group. If not specified, the newly created instance will be added
|
security group. If not specified, the newly created instance will be added
|
||||||
|
|
Loading…
Reference in New Issue