forked from kubernetes/kops
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathblock_device_mappings.go
72 lines (61 loc) · 2.05 KB
/
block_device_mappings.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
package awstasks
import (
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/service/autoscaling"
"github.com/aws/aws-sdk-go/service/ec2"
"k8s.io/kops/upup/pkg/fi"
)
type BlockDeviceMapping struct {
VirtualName *string
EbsDeleteOnTermination *bool
EbsVolumeSize *int64
EbsVolumeType *string
}
func BlockDeviceMappingFromEC2(i *ec2.BlockDeviceMapping) (string, *BlockDeviceMapping) {
o := &BlockDeviceMapping{}
o.VirtualName = i.VirtualName
if i.Ebs != nil {
o.EbsDeleteOnTermination = i.Ebs.DeleteOnTermination
o.EbsVolumeSize = i.Ebs.VolumeSize
o.EbsVolumeType = i.Ebs.VolumeType
}
return aws.StringValue(i.DeviceName), o
}
func (i *BlockDeviceMapping) ToEC2(deviceName string) *ec2.BlockDeviceMapping {
o := &ec2.BlockDeviceMapping{}
o.DeviceName = aws.String(deviceName)
o.VirtualName = i.VirtualName
if i.EbsDeleteOnTermination != nil || i.EbsVolumeSize != nil || i.EbsVolumeType != nil {
o.Ebs = &ec2.EbsBlockDevice{}
o.Ebs.DeleteOnTermination = i.EbsDeleteOnTermination
o.Ebs.VolumeSize = i.EbsVolumeSize
o.Ebs.VolumeType = i.EbsVolumeType
}
return o
}
func BlockDeviceMappingFromAutoscaling(i *autoscaling.BlockDeviceMapping) (string, *BlockDeviceMapping) {
o := &BlockDeviceMapping{}
o.VirtualName = i.VirtualName
if i.Ebs != nil {
o.EbsDeleteOnTermination = i.Ebs.DeleteOnTermination
o.EbsVolumeSize = i.Ebs.VolumeSize
o.EbsVolumeType = i.Ebs.VolumeType
}
return aws.StringValue(i.DeviceName), o
}
func (i *BlockDeviceMapping) ToAutoscaling(deviceName string) *autoscaling.BlockDeviceMapping {
o := &autoscaling.BlockDeviceMapping{}
o.DeviceName = aws.String(deviceName)
o.VirtualName = i.VirtualName
if i.EbsDeleteOnTermination != nil || i.EbsVolumeSize != nil || i.EbsVolumeType != nil {
o.Ebs = &autoscaling.Ebs{}
o.Ebs.DeleteOnTermination = i.EbsDeleteOnTermination
o.Ebs.VolumeSize = i.EbsVolumeSize
o.Ebs.VolumeType = i.EbsVolumeType
}
return o
}
var _ fi.HasDependencies = &BlockDeviceMapping{}
func (f *BlockDeviceMapping) GetDependencies(tasks map[string]fi.Task) []fi.Task {
return nil
}