diff --git a/pkg/compute/models/dbinstances.go b/pkg/compute/models/dbinstances.go index 3988c52ac6..99e57cc474 100644 --- a/pkg/compute/models/dbinstances.go +++ b/pkg/compute/models/dbinstances.go @@ -1556,7 +1556,9 @@ func (self *SDBInstance) SyncWithCloudDBInstance(ctx context.Context, userCred m if factory.IsSupportPrepaidResources() { self.BillingType = extInstance.GetBillingType() - self.ExpiredAt = extInstance.GetExpiredAt() + if expired := extInstance.GetExpiredAt(); !expired.IsZero() { + self.ExpiredAt = expired + } self.AutoRenew = extInstance.IsAutoRenew() } @@ -1646,7 +1648,9 @@ func (manager *SDBInstanceManager) newFromCloudDBInstance(ctx context.Context, u if factory.IsSupportPrepaidResources() { instance.BillingType = extInstance.GetBillingType() - instance.ExpiredAt = extInstance.GetExpiredAt() + if expired := extInstance.GetExpiredAt(); !expired.IsZero() { + instance.ExpiredAt = expired + } instance.AutoRenew = extInstance.IsAutoRenew() } diff --git a/pkg/compute/models/disks.go b/pkg/compute/models/disks.go index 23d1f66c5e..4140ccda81 100644 --- a/pkg/compute/models/disks.go +++ b/pkg/compute/models/disks.go @@ -1546,7 +1546,9 @@ func (manager *SDiskManager) newFromCloudDisk(ctx context.Context, userCred mccl if provider.GetFactory().IsSupportPrepaidResources() { disk.BillingType = extDisk.GetBillingType() - disk.ExpiredAt = extDisk.GetExpiredAt() + if expired := extDisk.GetExpiredAt(); !expired.IsZero() { + disk.ExpiredAt = expired + } disk.AutoRenew = extDisk.IsAutoRenew() } diff --git a/pkg/compute/models/elasticcache_instances.go b/pkg/compute/models/elasticcache_instances.go index 8bdedfc10b..615248eec4 100644 --- a/pkg/compute/models/elasticcache_instances.go +++ b/pkg/compute/models/elasticcache_instances.go @@ -649,7 +649,9 @@ func (manager *SElasticcacheManager) newFromCloudElasticcache(ctx context.Contex if factory.IsSupportPrepaidResources() { instance.BillingType = extInstance.GetBillingType() - instance.ExpiredAt = extInstance.GetExpiredAt() + if expired := extInstance.GetExpiredAt(); !expired.IsZero() { + instance.ExpiredAt = expired + } instance.AutoRenew = extInstance.IsAutoRenew() } diff --git a/pkg/compute/models/elasticips.go b/pkg/compute/models/elasticips.go index 6cfa6ce71b..33b4c38551 100644 --- a/pkg/compute/models/elasticips.go +++ b/pkg/compute/models/elasticips.go @@ -478,7 +478,9 @@ func (self *SElasticip) SyncWithCloudEip(ctx context.Context, userCred mcclient. factory, _ := provider.GetProviderFactory() if factory != nil && factory.IsSupportPrepaidResources() { self.BillingType = ext.GetBillingType() - self.ExpiredAt = ext.GetExpiredAt() + if expired := ext.GetExpiredAt(); !expired.IsZero() { + self.ExpiredAt = expired + } self.AutoRenew = ext.IsAutoRenew() } diff --git a/pkg/compute/models/guests.go b/pkg/compute/models/guests.go index 06632ce41e..a978070ed6 100644 --- a/pkg/compute/models/guests.go +++ b/pkg/compute/models/guests.go @@ -2586,7 +2586,9 @@ func (manager *SGuestManager) newCloudVM(ctx context.Context, userCred mcclient. if provider.GetFactory().IsSupportPrepaidResources() { guest.BillingType = extVM.GetBillingType() - guest.ExpiredAt = extVM.GetExpiredAt() + if expired := extVM.GetExpiredAt(); !expired.IsZero() { + guest.ExpiredAt = expired + } if guest.GetDriver().IsSupportSetAutoRenew() { guest.AutoRenew = extVM.IsAutoRenew() } diff --git a/pkg/compute/models/natgateways.go b/pkg/compute/models/natgateways.go index 04b1930a3f..71800de6b5 100644 --- a/pkg/compute/models/natgateways.go +++ b/pkg/compute/models/natgateways.go @@ -363,7 +363,9 @@ func (self *SNatGateway) SyncWithCloudNatGateway(ctx context.Context, userCred m factory, _ := provider.GetProviderFactory() if factory.IsSupportPrepaidResources() { self.BillingType = extNat.GetBillingType() - self.ExpiredAt = extNat.GetExpiredAt() + if expired := extNat.GetExpiredAt(); !expired.IsZero() { + self.ExpiredAt = expired + } self.AutoRenew = extNat.IsAutoRenew() } @@ -407,7 +409,9 @@ func (manager *SNatGatewayManager) newFromCloudNatGateway(ctx context.Context, u factory, _ := provider.GetProviderFactory() if factory.IsSupportPrepaidResources() { nat.BillingType = extNat.GetBillingType() - nat.ExpiredAt = extNat.GetExpiredAt() + if expired := extNat.GetExpiredAt(); !expired.IsZero() { + nat.ExpiredAt = expired + } nat.AutoRenew = extNat.IsAutoRenew() }