Skip to content

Commit 77240b9

Browse files
committed
handle new diskSizeGB location
1 parent ae9a419 commit 77240b9

File tree

1 file changed

+27
-7
lines changed

1 file changed

+27
-7
lines changed

internal/translation/deployment/conversion.go

Lines changed: 27 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -547,7 +547,7 @@ func clusterFromAtlas(clusterDesc *admin.ClusterDescription20240805) *Cluster {
547547
MongoDBMajorVersion: clusterDesc.GetMongoDBMajorVersion(),
548548
MongoDBVersion: clusterDesc.GetMongoDBVersion(),
549549
VersionReleaseSystem: clusterDesc.GetVersionReleaseSystem(),
550-
DiskSizeGB: diskSizeFromAtlas(clusterDesc.GetDiskSizeGB()),
550+
DiskSizeGB: diskSizeFromAtlas(clusterDesc),
551551
BackupEnabled: clusterDesc.BackupEnabled,
552552
BiConnector: biConnectFromAtlas(clusterDesc.BiConnector),
553553
EncryptionAtRestProvider: clusterDesc.GetEncryptionAtRestProvider(),
@@ -575,14 +575,13 @@ func clusterCreateToAtlas(cluster *Cluster) *admin.ClusterDescription20240805 {
575575
ClusterType: pointer.MakePtrOrNil(cluster.ClusterType),
576576
MongoDBMajorVersion: pointer.MakePtrOrNil(cluster.MongoDBMajorVersion),
577577
VersionReleaseSystem: pointer.MakePtrOrNil(cluster.VersionReleaseSystem),
578-
DiskSizeGB: diskSizeToAtlas(cluster.DiskSizeGB),
579578
BackupEnabled: cluster.BackupEnabled,
580579
BiConnector: biConnectToAtlas(cluster.BiConnector),
581580
EncryptionAtRestProvider: pointer.MakePtrOrNil(cluster.EncryptionAtRestProvider),
582581
Labels: labelsToAtlas(cluster.Labels),
583582
Paused: cluster.Paused,
584583
PitEnabled: cluster.PitEnabled,
585-
ReplicationSpecs: replicationSpecToAtlas(cluster.ReplicationSpecs),
584+
ReplicationSpecs: replicationSpecToAtlas(cluster.ReplicationSpecs, cluster.DiskSizeGB),
586585
RootCertType: pointer.MakePtrOrNil(cluster.RootCertType),
587586
Tags: tag.ToAtlas(cluster.Tags),
588587
TerminationProtectionEnabled: pointer.MakePtrOrNil(cluster.TerminationProtectionEnabled),
@@ -594,14 +593,13 @@ func clusterUpdateToAtlas(cluster *Cluster) *admin.ClusterDescription20240805 {
594593
ClusterType: pointer.MakePtrOrNil(cluster.ClusterType),
595594
MongoDBMajorVersion: pointer.MakePtrOrNil(cluster.MongoDBMajorVersion),
596595
VersionReleaseSystem: pointer.MakePtrOrNil(cluster.VersionReleaseSystem),
597-
DiskSizeGB: diskSizeToAtlas(cluster.DiskSizeGB),
598596
BackupEnabled: cluster.BackupEnabled,
599597
BiConnector: biConnectToAtlas(cluster.BiConnector),
600598
EncryptionAtRestProvider: pointer.MakePtrOrNil(cluster.EncryptionAtRestProvider),
601599
Labels: labelsToAtlas(cluster.Labels),
602600
Paused: cluster.Paused,
603601
PitEnabled: cluster.PitEnabled,
604-
ReplicationSpecs: replicationSpecToAtlas(cluster.ReplicationSpecs),
602+
ReplicationSpecs: replicationSpecToAtlas(cluster.ReplicationSpecs, cluster.DiskSizeGB),
605603
RootCertType: pointer.MakePtrOrNil(cluster.RootCertType),
606604
Tags: tag.ToAtlas(cluster.Tags),
607605
TerminationProtectionEnabled: pointer.MakePtrOrNil(cluster.TerminationProtectionEnabled),
@@ -623,7 +621,22 @@ func replicaSetFromAtlas(replicationSpecs []admin.ReplicationSpec20240805) []sta
623621
return replicaSet
624622
}
625623

626-
func diskSizeFromAtlas(value float64) *int {
624+
func diskSizeFromAtlas(cluster *admin.ClusterDescription20240805) *int {
625+
626+
var value float64
627+
628+
if specs := cluster.GetReplicationSpecs(); len(specs) > 0 {
629+
if configs := specs[0].GetRegionConfigs(); len(configs) > 0 {
630+
if e, ok := configs[0].GetElectableSpecsOk(); ok {
631+
value = e.GetDiskSizeGB()
632+
} else if r, ok := configs[0].GetReadOnlySpecsOk(); ok {
633+
value = r.GetDiskSizeGB()
634+
} else if a, ok := configs[0].GetAnalyticsSpecsOk(); ok {
635+
value = a.GetDiskSizeGB()
636+
}
637+
}
638+
}
639+
627640
if value >= 1 {
628641
return pointer.MakePtr(int(value))
629642
}
@@ -804,11 +817,16 @@ func labelsToAtlas(labels []common.LabelSpec) *[]admin.ComponentLabel {
804817
return &cLabels
805818
}
806819

807-
func replicationSpecToAtlas(replicationSpecs []*akov2.AdvancedReplicationSpec) *[]admin.ReplicationSpec20240805 {
820+
func replicationSpecToAtlas(replicationSpecs []*akov2.AdvancedReplicationSpec, diskSize *int) *[]admin.ReplicationSpec20240805 {
808821
if len(replicationSpecs) == 0 {
809822
return nil
810823
}
811824

825+
var diskSizeGB *float64
826+
if diskSize != nil {
827+
diskSizeGB = pointer.MakePtr(float64(*diskSize))
828+
}
829+
812830
hSpecOrDefault := func(spec *akov2.Specs) *admin.HardwareSpec20240805 {
813831
if spec == nil {
814832
return nil
@@ -824,6 +842,7 @@ func replicationSpecToAtlas(replicationSpecs []*akov2.AdvancedReplicationSpec) *
824842
NodeCount: spec.NodeCount,
825843
EbsVolumeType: pointer.NonZeroOrDefault(spec.EbsVolumeType, "STANDARD"),
826844
DiskIOPS: diskIOPs,
845+
DiskSizeGB: diskSizeGB,
827846
}
828847
}
829848
dHSpecOrDefault := func(spec *akov2.Specs) *admin.DedicatedHardwareSpec20240805 {
@@ -841,6 +860,7 @@ func replicationSpecToAtlas(replicationSpecs []*akov2.AdvancedReplicationSpec) *
841860
NodeCount: spec.NodeCount,
842861
EbsVolumeType: pointer.NonZeroOrDefault(spec.EbsVolumeType, "STANDARD"),
843862
DiskIOPS: diskIOPs,
863+
DiskSizeGB: diskSizeGB,
844864
}
845865
}
846866
autoScalingOrDefault := func(spec *akov2.AdvancedAutoScalingSpec) *admin.AdvancedAutoScalingSettings {

0 commit comments

Comments
 (0)