[oracle-oci] Add support for E3/E4.Flex shapes
This addes an optional shape_config stanza which allows you to specify how many ocpus and memory the Flex instance should be allocated. This required an upgrade of the OCI Go SDK version. Signed-off-by: Avi Miller <avi.miller@oracle.com>
This commit is contained in:
parent
a915ec8e05
commit
e6596a0a1d
|
@ -46,6 +46,11 @@ type ListImagesRequest struct {
|
|||
Shape *string `mapstructure:"shape"`
|
||||
}
|
||||
|
||||
type FlexShapeConfig struct {
|
||||
Ocpus *float32 `mapstructure:"ocpus" required:"false"`
|
||||
MemoryInGBs *float32 `mapstructure:"ocpus" required:"false"`
|
||||
}
|
||||
|
||||
type Config struct {
|
||||
common.PackerConfig `mapstructure:",squash"`
|
||||
Comm communicator.Config `mapstructure:",squash"`
|
||||
|
@ -91,6 +96,7 @@ type Config struct {
|
|||
InstanceTags map[string]string `mapstructure:"instance_tags"`
|
||||
InstanceDefinedTags map[string]map[string]interface{} `mapstructure:"instance_defined_tags"`
|
||||
Shape string `mapstructure:"shape"`
|
||||
ShapeConfig FlexShapeConfig `mapstructure:"shape_config"`
|
||||
BootVolumeSizeInGBs int64 `mapstructure:"disk_size"`
|
||||
|
||||
// Metadata optionally contains custom metadata key/value pairs provided in the
|
||||
|
|
|
@ -95,6 +95,11 @@ func (d *driverOCI) CreateInstance(ctx context.Context, publicKey string) (strin
|
|||
FreeformTags: d.cfg.CreateVnicDetails.FreeformTags,
|
||||
}
|
||||
|
||||
LaunchInstanceShapeConfigDetails := core.LaunchInstanceShapeConfigDetails{
|
||||
Ocpus: d.cfg.ShapeConfig.Ocpus,
|
||||
MemoryInGBs: d.cfg.ShapeConfig.MemoryInGBs,
|
||||
}
|
||||
|
||||
// Determine base image ID
|
||||
var imageId *string
|
||||
if d.cfg.BaseImageID != "" {
|
||||
|
@ -154,6 +159,7 @@ func (d *driverOCI) CreateInstance(ctx context.Context, publicKey string) (strin
|
|||
DisplayName: d.cfg.InstanceName,
|
||||
FreeformTags: d.cfg.InstanceTags,
|
||||
Shape: &d.cfg.Shape,
|
||||
ShapeConfig: &LaunchInstanceShapeConfigDetails,
|
||||
SourceDetails: InstanceSourceDetails,
|
||||
Metadata: metadata,
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue