Replace ValuePointer function with custom conversion (#121)

This commit is contained in:
Vicente Pinto 2023-11-02 15:28:06 +00:00 committed by GitHub
parent b10302c6de
commit b6100ec8d5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
21 changed files with 221 additions and 191 deletions

View file

@ -7,6 +7,7 @@ import (
"strings"
"github.com/hashicorp/terraform-plugin-framework/diag"
"github.com/hashicorp/terraform-plugin-framework/types/basetypes"
"github.com/hashicorp/terraform-plugin-log/tflog"
)
@ -64,3 +65,33 @@ func LogAndAddWarning(ctx context.Context, diags *diag.Diagnostics, summary, det
tflog.Warn(ctx, fmt.Sprintf("%s | %s", summary, detail))
diags.AddWarning(summary, detail)
}
// StringValueToPointer converts basetypes.StringValue to a pointer to string.
// It returns nil if the value is null or unknown.
func StringValueToPointer(s basetypes.StringValue) *string {
if s.IsNull() || s.IsUnknown() {
return nil
}
value := s.ValueString()
return &value
}
// Int64ValueToPointer converts basetypes.Int64Value to a pointer to int64.
// It returns nil if the value is null or unknown.
func Int64ValueToPointer(s basetypes.Int64Value) *int64 {
if s.IsNull() || s.IsUnknown() {
return nil
}
value := s.ValueInt64()
return &value
}
// BoolValueToPointer converts basetypes.BoolValue to a pointer to bool.
// It returns nil if the value is null or unknown.
func BoolValueToPointer(s basetypes.BoolValue) *bool {
if s.IsNull() || s.IsUnknown() {
return nil
}
value := s.ValueBool()
return &value
}

View file

@ -515,8 +515,8 @@ func toCreatePayload(model *Model) (*argus.CreateInstancePayload, error) {
pa[k] = elements[k].String()
}
return &argus.CreateInstancePayload{
Name: model.Name.ValueStringPointer(),
PlanId: model.PlanId.ValueStringPointer(),
Name: core.StringValueToPointer(model.Name),
PlanId: core.StringValueToPointer(model.PlanId),
Parameter: &pa,
}, nil
}
@ -531,8 +531,8 @@ func toUpdatePayload(model *Model) (*argus.UpdateInstancePayload, error) {
pa[k] = v.String()
}
return &argus.UpdateInstancePayload{
Name: model.Name.ValueStringPointer(),
PlanId: model.PlanId.ValueStringPointer(),
Name: core.StringValueToPointer(model.Name),
PlanId: core.StringValueToPointer(model.PlanId),
Parameter: &pa,
}, nil
}

View file

@ -548,11 +548,11 @@ func toCreatePayload(ctx context.Context, model *Model) (*argus.CreateScrapeConf
}
sc := argus.CreateScrapeConfigPayload{
JobName: model.Name.ValueStringPointer(),
MetricsPath: model.MetricsPath.ValueStringPointer(),
ScrapeInterval: model.ScrapeInterval.ValueStringPointer(),
ScrapeTimeout: model.ScrapeTimeout.ValueStringPointer(),
Scheme: model.Scheme.ValueStringPointer(),
JobName: core.StringValueToPointer(model.Name),
MetricsPath: core.StringValueToPointer(model.MetricsPath),
ScrapeInterval: core.StringValueToPointer(model.ScrapeInterval),
ScrapeTimeout: core.StringValueToPointer(model.ScrapeTimeout),
Scheme: core.StringValueToPointer(model.Scheme),
}
setDefaultsCreateScrapeConfig(&sc, model)
@ -568,8 +568,8 @@ func toCreatePayload(ctx context.Context, model *Model) (*argus.CreateScrapeConf
if model.BasicAuth != nil {
if sc.BasicAuth == nil {
sc.BasicAuth = &argus.CreateScrapeConfigPayloadBasicAuth{
Username: model.BasicAuth.Username.ValueStringPointer(),
Password: model.BasicAuth.Password.ValueStringPointer(),
Username: core.StringValueToPointer(model.BasicAuth.Username),
Password: core.StringValueToPointer(model.BasicAuth.Password),
}
}
}
@ -628,10 +628,10 @@ func toUpdatePayload(ctx context.Context, model *Model) (*argus.UpdateScrapeConf
}
sc := argus.UpdateScrapeConfigPayload{
MetricsPath: model.MetricsPath.ValueStringPointer(),
ScrapeInterval: model.ScrapeInterval.ValueStringPointer(),
ScrapeTimeout: model.ScrapeTimeout.ValueStringPointer(),
Scheme: model.Scheme.ValueStringPointer(),
MetricsPath: core.StringValueToPointer(model.MetricsPath),
ScrapeInterval: core.StringValueToPointer(model.ScrapeInterval),
ScrapeTimeout: core.StringValueToPointer(model.ScrapeTimeout),
Scheme: core.StringValueToPointer(model.Scheme),
}
setDefaultsUpdateScrapeConfig(&sc, model)
@ -647,8 +647,8 @@ func toUpdatePayload(ctx context.Context, model *Model) (*argus.UpdateScrapeConf
if model.BasicAuth != nil {
if sc.BasicAuth == nil {
sc.BasicAuth = &argus.CreateScrapeConfigPayloadBasicAuth{
Username: model.BasicAuth.Username.ValueStringPointer(),
Password: model.BasicAuth.Password.ValueStringPointer(),
Username: core.StringValueToPointer(model.BasicAuth.Username),
Password: core.StringValueToPointer(model.BasicAuth.Password),
}
}
}

View file

@ -451,16 +451,16 @@ func toCreatePayload(model *Model) (*dns.CreateRecordSetPayload, error) {
return nil, fmt.Errorf("expected record at index %d to be of type %T, got %T", i, types.String{}, record)
}
records = append(records, dns.RecordPayload{
Content: recordString.ValueStringPointer(),
Content: core.StringValueToPointer(recordString),
})
}
return &dns.CreateRecordSetPayload{
Comment: model.Comment.ValueStringPointer(),
Name: model.Name.ValueStringPointer(),
Comment: core.StringValueToPointer(model.Comment),
Name: core.StringValueToPointer(model.Name),
Records: &records,
Ttl: model.TTL.ValueInt64Pointer(),
Type: model.Type.ValueStringPointer(),
Ttl: core.Int64ValueToPointer(model.TTL),
Type: core.StringValueToPointer(model.Type),
}, nil
}
@ -476,14 +476,14 @@ func toUpdatePayload(model *Model) (*dns.UpdateRecordSetPayload, error) {
return nil, fmt.Errorf("expected record at index %d to be of type %T, got %T", i, types.String{}, record)
}
records = append(records, dns.RecordPayload{
Content: recordString.ValueStringPointer(),
Content: core.StringValueToPointer(recordString),
})
}
return &dns.UpdateRecordSetPayload{
Comment: model.Comment.ValueStringPointer(),
Name: model.Name.ValueStringPointer(),
Comment: core.StringValueToPointer(model.Comment),
Name: core.StringValueToPointer(model.Name),
Records: &records,
Ttl: model.TTL.ValueInt64Pointer(),
Ttl: core.Int64ValueToPointer(model.TTL),
}, nil
}

View file

@ -556,18 +556,18 @@ func toCreatePayload(model *Model) (*dns.CreateZonePayload, error) {
modelPrimaries = append(modelPrimaries, primaryString.ValueString())
}
return &dns.CreateZonePayload{
Name: model.Name.ValueStringPointer(),
DnsName: model.DnsName.ValueStringPointer(),
ContactEmail: model.ContactEmail.ValueStringPointer(),
Description: model.Description.ValueStringPointer(),
Acl: model.Acl.ValueStringPointer(),
Type: model.Type.ValueStringPointer(),
DefaultTTL: model.DefaultTTL.ValueInt64Pointer(),
ExpireTime: model.ExpireTime.ValueInt64Pointer(),
RefreshTime: model.RefreshTime.ValueInt64Pointer(),
RetryTime: model.RetryTime.ValueInt64Pointer(),
NegativeCache: model.NegativeCache.ValueInt64Pointer(),
IsReverseZone: model.IsReverseZone.ValueBoolPointer(),
Name: core.StringValueToPointer(model.Name),
DnsName: core.StringValueToPointer(model.DnsName),
ContactEmail: core.StringValueToPointer(model.ContactEmail),
Description: core.StringValueToPointer(model.Description),
Acl: core.StringValueToPointer(model.Acl),
Type: core.StringValueToPointer(model.Type),
DefaultTTL: core.Int64ValueToPointer(model.DefaultTTL),
ExpireTime: core.Int64ValueToPointer(model.ExpireTime),
RefreshTime: core.Int64ValueToPointer(model.RefreshTime),
RetryTime: core.Int64ValueToPointer(model.RetryTime),
NegativeCache: core.Int64ValueToPointer(model.NegativeCache),
IsReverseZone: core.BoolValueToPointer(model.IsReverseZone),
Primaries: &modelPrimaries,
}, nil
}
@ -578,15 +578,15 @@ func toUpdatePayload(model *Model) (*dns.UpdateZonePayload, error) {
}
return &dns.UpdateZonePayload{
Name: model.Name.ValueStringPointer(),
ContactEmail: model.ContactEmail.ValueStringPointer(),
Description: model.Description.ValueStringPointer(),
Acl: model.Acl.ValueStringPointer(),
DefaultTTL: model.DefaultTTL.ValueInt64Pointer(),
ExpireTime: model.ExpireTime.ValueInt64Pointer(),
RefreshTime: model.RefreshTime.ValueInt64Pointer(),
RetryTime: model.RetryTime.ValueInt64Pointer(),
NegativeCache: model.NegativeCache.ValueInt64Pointer(),
Name: core.StringValueToPointer(model.Name),
ContactEmail: core.StringValueToPointer(model.ContactEmail),
Description: core.StringValueToPointer(model.Description),
Acl: core.StringValueToPointer(model.Acl),
DefaultTTL: core.Int64ValueToPointer(model.DefaultTTL),
ExpireTime: core.Int64ValueToPointer(model.ExpireTime),
RefreshTime: core.Int64ValueToPointer(model.RefreshTime),
RetryTime: core.Int64ValueToPointer(model.RetryTime),
NegativeCache: core.Int64ValueToPointer(model.NegativeCache),
Primaries: nil, // API returns error if this field is set, even if nothing changes
}, nil
}

View file

@ -687,9 +687,9 @@ func toCreatePayload(ctx context.Context, model *Model) (*loadbalancer.CreateLoa
}
return &loadbalancer.CreateLoadBalancerPayload{
ExternalAddress: model.ExternalAddress.ValueStringPointer(),
ExternalAddress: core.StringValueToPointer(model.ExternalAddress),
Listeners: listeners,
Name: model.Name.ValueStringPointer(),
Name: core.StringValueToPointer(model.Name),
Networks: networks,
Options: options,
TargetPools: targetPools,
@ -704,10 +704,10 @@ func toListenersPayload(model *Model) *[]loadbalancer.Listener {
listeners := []loadbalancer.Listener{}
for _, listener := range model.Listeners {
listeners = append(listeners, loadbalancer.Listener{
DisplayName: listener.DisplayName.ValueStringPointer(),
Port: listener.Port.ValueInt64Pointer(),
Protocol: listener.Protocol.ValueStringPointer(),
TargetPool: listener.TargetPool.ValueStringPointer(),
DisplayName: core.StringValueToPointer(listener.DisplayName),
Port: core.Int64ValueToPointer(listener.Port),
Protocol: core.StringValueToPointer(listener.Protocol),
TargetPool: core.StringValueToPointer(listener.TargetPool),
})
}
@ -722,8 +722,8 @@ func toNetworksPayload(model *Model) *[]loadbalancer.Network {
networks := []loadbalancer.Network{}
for _, network := range model.Networks {
networks = append(networks, loadbalancer.Network{
NetworkId: network.NetworkId.ValueStringPointer(),
Role: network.Role.ValueStringPointer(),
NetworkId: core.StringValueToPointer(network.NetworkId),
Role: core.StringValueToPointer(network.Role),
})
}
@ -751,7 +751,7 @@ func toOptionsPayload(ctx context.Context, model *Model) (*loadbalancer.LoadBala
options := &loadbalancer.LoadBalancerOptions{
AccessControl: accessControl,
PrivateNetworkOnly: optionsModel.PrivateNetworkOnly.ValueBoolPointer(),
PrivateNetworkOnly: core.BoolValueToPointer(optionsModel.PrivateNetworkOnly),
}
return options, nil
@ -776,8 +776,8 @@ func toTargetPoolsPayload(ctx context.Context, model *Model) (*[]loadbalancer.Ta
targetPools = append(targetPools, loadbalancer.TargetPool{
ActiveHealthCheck: activeHealthCheck,
Name: targetPool.Name.ValueStringPointer(),
TargetPort: targetPool.TargetPort.ValueInt64Pointer(),
Name: core.StringValueToPointer(targetPool.Name),
TargetPort: core.Int64ValueToPointer(targetPool.TargetPort),
Targets: targets,
})
}
@ -799,8 +799,8 @@ func toTargetPoolUpdatePayload(ctx context.Context, targetPool *TargetPool) (*lo
return &loadbalancer.UpdateTargetPoolPayload{
ActiveHealthCheck: activeHealthCheck,
Name: targetPool.Name.ValueStringPointer(),
TargetPort: targetPool.TargetPort.ValueInt64Pointer(),
Name: core.StringValueToPointer(targetPool.Name),
TargetPort: core.Int64ValueToPointer(targetPool.TargetPort),
Targets: targets,
}, nil
}
@ -817,11 +817,11 @@ func toActiveHealthCheckPayload(ctx context.Context, targetPool *TargetPool) (*l
}
return &loadbalancer.ActiveHealthCheck{
HealthyThreshold: activeHealthCheckModel.HealthyThreshold.ValueInt64Pointer(),
Interval: activeHealthCheckModel.Interval.ValueStringPointer(),
IntervalJitter: activeHealthCheckModel.IntervalJitter.ValueStringPointer(),
Timeout: activeHealthCheckModel.Timeout.ValueStringPointer(),
UnhealthyThreshold: activeHealthCheckModel.UnhealthyThreshold.ValueInt64Pointer(),
HealthyThreshold: core.Int64ValueToPointer(activeHealthCheckModel.HealthyThreshold),
Interval: core.StringValueToPointer(activeHealthCheckModel.Interval),
IntervalJitter: core.StringValueToPointer(activeHealthCheckModel.IntervalJitter),
Timeout: core.StringValueToPointer(activeHealthCheckModel.Timeout),
UnhealthyThreshold: core.Int64ValueToPointer(activeHealthCheckModel.UnhealthyThreshold),
}, nil
}
@ -833,8 +833,8 @@ func toTargetsPayload(targetPool *TargetPool) *[]loadbalancer.Target {
var targets []loadbalancer.Target
for _, target := range targetPool.Targets {
targets = append(targets, loadbalancer.Target{
DisplayName: target.DisplayName.ValueStringPointer(),
Ip: target.Ip.ValueStringPointer(),
DisplayName: core.StringValueToPointer(target.DisplayName),
Ip: core.StringValueToPointer(target.Ip),
})
}

View file

@ -578,18 +578,18 @@ func toCreatePayload(model *Model, parameters *parametersModel) (*logme.CreateIn
}
if parameters == nil {
return &logme.CreateInstancePayload{
InstanceName: model.Name.ValueStringPointer(),
PlanId: model.PlanId.ValueStringPointer(),
InstanceName: core.StringValueToPointer(model.Name),
PlanId: core.StringValueToPointer(model.PlanId),
}, nil
}
payloadParams := &logme.InstanceParameters{}
if parameters.SgwAcl.ValueString() != "" {
payloadParams.SgwAcl = parameters.SgwAcl.ValueStringPointer()
payloadParams.SgwAcl = core.StringValueToPointer(parameters.SgwAcl)
}
return &logme.CreateInstancePayload{
InstanceName: model.Name.ValueStringPointer(),
InstanceName: core.StringValueToPointer(model.Name),
Parameters: payloadParams,
PlanId: model.PlanId.ValueStringPointer(),
PlanId: core.StringValueToPointer(model.PlanId),
}, nil
}
@ -600,14 +600,14 @@ func toUpdatePayload(model *Model, parameters *parametersModel) (*logme.UpdateIn
if parameters == nil {
return &logme.UpdateInstancePayload{
PlanId: model.PlanId.ValueStringPointer(),
PlanId: core.StringValueToPointer(model.PlanId),
}, nil
}
return &logme.UpdateInstancePayload{
Parameters: &logme.InstanceParameters{
SgwAcl: parameters.SgwAcl.ValueStringPointer(),
SgwAcl: core.StringValueToPointer(parameters.SgwAcl),
},
PlanId: model.PlanId.ValueStringPointer(),
PlanId: core.StringValueToPointer(model.PlanId),
}, nil
}

View file

@ -578,18 +578,18 @@ func toCreatePayload(model *Model, parameters *parametersModel) (*mariadb.Create
}
if parameters == nil {
return &mariadb.CreateInstancePayload{
InstanceName: model.Name.ValueStringPointer(),
PlanId: model.PlanId.ValueStringPointer(),
InstanceName: core.StringValueToPointer(model.Name),
PlanId: core.StringValueToPointer(model.PlanId),
}, nil
}
payloadParams := &mariadb.InstanceParameters{}
if parameters.SgwAcl.ValueString() != "" {
payloadParams.SgwAcl = parameters.SgwAcl.ValueStringPointer()
payloadParams.SgwAcl = core.StringValueToPointer(parameters.SgwAcl)
}
return &mariadb.CreateInstancePayload{
InstanceName: model.Name.ValueStringPointer(),
InstanceName: core.StringValueToPointer(model.Name),
Parameters: payloadParams,
PlanId: model.PlanId.ValueStringPointer(),
PlanId: core.StringValueToPointer(model.PlanId),
}, nil
}
@ -600,14 +600,14 @@ func toUpdatePayload(model *Model, parameters *parametersModel) (*mariadb.Update
if parameters == nil {
return &mariadb.UpdateInstancePayload{
PlanId: model.PlanId.ValueStringPointer(),
PlanId: core.StringValueToPointer(model.PlanId),
}, nil
}
return &mariadb.UpdateInstancePayload{
Parameters: &mariadb.InstanceParameters{
SgwAcl: parameters.SgwAcl.ValueStringPointer(),
SgwAcl: core.StringValueToPointer(parameters.SgwAcl),
},
PlanId: model.PlanId.ValueStringPointer(),
PlanId: core.StringValueToPointer(model.PlanId),
}, nil
}

View file

@ -671,15 +671,15 @@ func toCreatePayload(model *Model, acl []string, flavor *flavorModel, storage *s
Acl: &mongodbflex.InstanceAcl{
Items: &acl,
},
BackupSchedule: model.BackupSchedule.ValueStringPointer(),
FlavorId: flavor.Id.ValueStringPointer(),
Name: model.Name.ValueStringPointer(),
Replicas: model.Replicas.ValueInt64Pointer(),
BackupSchedule: core.StringValueToPointer(model.BackupSchedule),
FlavorId: core.StringValueToPointer(flavor.Id),
Name: core.StringValueToPointer(model.Name),
Replicas: core.Int64ValueToPointer(model.Replicas),
Storage: &mongodbflex.InstanceStorage{
Class: storage.Class.ValueStringPointer(),
Size: storage.Size.ValueInt64Pointer(),
Class: core.StringValueToPointer(storage.Class),
Size: core.Int64ValueToPointer(storage.Size),
},
Version: model.Version.ValueStringPointer(),
Version: core.StringValueToPointer(model.Version),
Options: &payloadOptions,
}, nil
}
@ -710,15 +710,15 @@ func toUpdatePayload(model *Model, acl []string, flavor *flavorModel, storage *s
Acl: &mongodbflex.InstanceAcl{
Items: &acl,
},
BackupSchedule: model.BackupSchedule.ValueStringPointer(),
FlavorId: flavor.Id.ValueStringPointer(),
Name: model.Name.ValueStringPointer(),
Replicas: model.Replicas.ValueInt64Pointer(),
BackupSchedule: core.StringValueToPointer(model.BackupSchedule),
FlavorId: core.StringValueToPointer(flavor.Id),
Name: core.StringValueToPointer(model.Name),
Replicas: core.Int64ValueToPointer(model.Replicas),
Storage: &mongodbflex.InstanceStorage{
Class: storage.Class.ValueStringPointer(),
Size: storage.Size.ValueInt64Pointer(),
Class: core.StringValueToPointer(storage.Class),
Size: core.Int64ValueToPointer(storage.Size),
},
Version: model.Version.ValueStringPointer(),
Version: core.StringValueToPointer(model.Version),
Options: &payloadOptions,
}, nil
}
@ -734,11 +734,11 @@ func loadFlavorId(ctx context.Context, client mongoDBFlexClient, model *Model, f
if flavor == nil {
return fmt.Errorf("nil flavor")
}
cpu := flavor.CPU.ValueInt64Pointer()
cpu := core.Int64ValueToPointer(flavor.CPU)
if cpu == nil {
return fmt.Errorf("nil CPU")
}
ram := flavor.RAM.ValueInt64Pointer()
ram := core.Int64ValueToPointer(flavor.RAM)
if ram == nil {
return fmt.Errorf("nil RAM")
}

View file

@ -438,7 +438,7 @@ func toCreatePayload(model *Model, roles []string) (*mongodbflex.CreateUserPaylo
return &mongodbflex.CreateUserPayload{
Roles: &roles,
Username: model.Username.ValueStringPointer(),
Database: model.Database.ValueStringPointer(),
Username: core.StringValueToPointer(model.Username),
Database: core.StringValueToPointer(model.Database),
}, nil
}

View file

@ -328,7 +328,7 @@ func toCreatePayload(model *Model) (*objectstorage.CreateAccessKeyPayload, error
return &objectstorage.CreateAccessKeyPayload{}, nil
}
expirationTimestampValue := model.ExpirationTimestamp.ValueStringPointer()
expirationTimestampValue := core.StringValueToPointer(model.ExpirationTimestamp)
if expirationTimestampValue == nil {
return &objectstorage.CreateAccessKeyPayload{}, nil
}

View file

@ -578,18 +578,18 @@ func toCreatePayload(model *Model, parameters *parametersModel) (*opensearch.Cre
}
if parameters == nil {
return &opensearch.CreateInstancePayload{
InstanceName: model.Name.ValueStringPointer(),
PlanId: model.PlanId.ValueStringPointer(),
InstanceName: core.StringValueToPointer(model.Name),
PlanId: core.StringValueToPointer(model.PlanId),
}, nil
}
payloadParams := &opensearch.InstanceParameters{}
if parameters.SgwAcl.ValueString() != "" {
payloadParams.SgwAcl = parameters.SgwAcl.ValueStringPointer()
payloadParams.SgwAcl = core.StringValueToPointer(parameters.SgwAcl)
}
return &opensearch.CreateInstancePayload{
InstanceName: model.Name.ValueStringPointer(),
InstanceName: core.StringValueToPointer(model.Name),
Parameters: payloadParams,
PlanId: model.PlanId.ValueStringPointer(),
PlanId: core.StringValueToPointer(model.PlanId),
}, nil
}
@ -600,14 +600,14 @@ func toUpdatePayload(model *Model, parameters *parametersModel) (*opensearch.Upd
if parameters == nil {
return &opensearch.UpdateInstancePayload{
PlanId: model.PlanId.ValueStringPointer(),
PlanId: core.StringValueToPointer(model.PlanId),
}, nil
}
return &opensearch.UpdateInstancePayload{
Parameters: &opensearch.InstanceParameters{
SgwAcl: parameters.SgwAcl.ValueStringPointer(),
SgwAcl: core.StringValueToPointer(parameters.SgwAcl),
},
PlanId: model.PlanId.ValueStringPointer(),
PlanId: core.StringValueToPointer(model.PlanId),
}, nil
}

View file

@ -592,15 +592,15 @@ func toCreatePayload(model *Model, acl []string, flavor *flavorModel, storage *s
Acl: &postgresflex.InstanceAcl{
Items: &acl,
},
BackupSchedule: model.BackupSchedule.ValueStringPointer(),
FlavorId: flavor.Id.ValueStringPointer(),
Name: model.Name.ValueStringPointer(),
Replicas: model.Replicas.ValueInt64Pointer(),
BackupSchedule: core.StringValueToPointer(model.BackupSchedule),
FlavorId: core.StringValueToPointer(flavor.Id),
Name: core.StringValueToPointer(model.Name),
Replicas: core.Int64ValueToPointer(model.Replicas),
Storage: &postgresflex.InstanceStorage{
Class: storage.Class.ValueStringPointer(),
Size: storage.Size.ValueInt64Pointer(),
Class: core.StringValueToPointer(storage.Class),
Size: core.Int64ValueToPointer(storage.Size),
},
Version: model.Version.ValueStringPointer(),
Version: core.StringValueToPointer(model.Version),
}, nil
}
@ -622,15 +622,15 @@ func toUpdatePayload(model *Model, acl []string, flavor *flavorModel, storage *s
Acl: &postgresflex.InstanceAcl{
Items: &acl,
},
BackupSchedule: model.BackupSchedule.ValueStringPointer(),
FlavorId: flavor.Id.ValueStringPointer(),
Name: model.Name.ValueStringPointer(),
Replicas: model.Replicas.ValueInt64Pointer(),
BackupSchedule: core.StringValueToPointer(model.BackupSchedule),
FlavorId: core.StringValueToPointer(flavor.Id),
Name: core.StringValueToPointer(model.Name),
Replicas: core.Int64ValueToPointer(model.Replicas),
Storage: &postgresflex.InstanceStorage{
Class: storage.Class.ValueStringPointer(),
Size: storage.Size.ValueInt64Pointer(),
Class: core.StringValueToPointer(storage.Class),
Size: core.Int64ValueToPointer(storage.Size),
},
Version: model.Version.ValueStringPointer(),
Version: core.StringValueToPointer(model.Version),
}, nil
}
@ -645,11 +645,11 @@ func loadFlavorId(ctx context.Context, client postgresFlexClient, model *Model,
if flavor == nil {
return fmt.Errorf("nil flavor")
}
cpu := flavor.CPU.ValueInt64Pointer()
cpu := core.Int64ValueToPointer(flavor.CPU)
if cpu == nil {
return fmt.Errorf("nil CPU")
}
ram := flavor.RAM.ValueInt64Pointer()
ram := core.Int64ValueToPointer(flavor.RAM)
if ram == nil {
return fmt.Errorf("nil RAM")
}

View file

@ -435,6 +435,6 @@ func toCreatePayload(model *Model, roles []string) (*postgresflex.CreateUserPayl
return &postgresflex.CreateUserPayload{
Roles: &roles,
Username: model.Username.ValueStringPointer(),
Username: core.StringValueToPointer(model.Username),
}, nil
}

View file

@ -330,21 +330,21 @@ func toCreatePayload(model *Model, parameters *parametersModel, parametersPlugin
if parameters == nil {
return &postgresql.CreateInstancePayload{
InstanceName: model.Name.ValueStringPointer(),
PlanId: model.PlanId.ValueStringPointer(),
InstanceName: core.StringValueToPointer(model.Name),
PlanId: core.StringValueToPointer(model.PlanId),
}, nil
}
return &postgresql.CreateInstancePayload{
InstanceName: model.Name.ValueStringPointer(),
InstanceName: core.StringValueToPointer(model.Name),
Parameters: &postgresql.InstanceParameters{
EnableMonitoring: parameters.EnableMonitoring.ValueBoolPointer(),
MetricsFrequency: parameters.MetricsFrequency.ValueInt64Pointer(),
MetricsPrefix: parameters.MetricsPrefix.ValueStringPointer(),
MonitoringInstanceId: parameters.MonitoringInstanceId.ValueStringPointer(),
EnableMonitoring: core.BoolValueToPointer(parameters.EnableMonitoring),
MetricsFrequency: core.Int64ValueToPointer(parameters.MetricsFrequency),
MetricsPrefix: core.StringValueToPointer(parameters.MetricsPrefix),
MonitoringInstanceId: core.StringValueToPointer(parameters.MonitoringInstanceId),
Plugins: parametersPlugins,
SgwAcl: parameters.SgwAcl.ValueStringPointer(),
SgwAcl: core.StringValueToPointer(parameters.SgwAcl),
},
PlanId: model.PlanId.ValueStringPointer(),
PlanId: core.StringValueToPointer(model.PlanId),
}, nil
}
@ -469,19 +469,19 @@ func toUpdatePayload(model *Model, parameters *parametersModel, parametersPlugin
if parameters == nil {
return &postgresql.UpdateInstancePayload{
PlanId: model.PlanId.ValueStringPointer(),
PlanId: core.StringValueToPointer(model.PlanId),
}, nil
}
return &postgresql.UpdateInstancePayload{
Parameters: &postgresql.InstanceParameters{
EnableMonitoring: parameters.EnableMonitoring.ValueBoolPointer(),
MetricsFrequency: parameters.MetricsFrequency.ValueInt64Pointer(),
MetricsPrefix: parameters.MetricsPrefix.ValueStringPointer(),
MonitoringInstanceId: parameters.MonitoringInstanceId.ValueStringPointer(),
EnableMonitoring: core.BoolValueToPointer(parameters.EnableMonitoring),
MetricsFrequency: core.Int64ValueToPointer(parameters.MetricsFrequency),
MetricsPrefix: core.StringValueToPointer(parameters.MetricsPrefix),
MonitoringInstanceId: core.StringValueToPointer(parameters.MonitoringInstanceId),
Plugins: parametersPlugins,
SgwAcl: parameters.SgwAcl.ValueStringPointer(),
SgwAcl: core.StringValueToPointer(parameters.SgwAcl),
},
PlanId: model.PlanId.ValueStringPointer(),
PlanId: core.StringValueToPointer(model.PlanId),
}, nil
}

View file

@ -578,18 +578,18 @@ func toCreatePayload(model *Model, parameters *parametersModel) (*rabbitmq.Creat
}
if parameters == nil {
return &rabbitmq.CreateInstancePayload{
InstanceName: model.Name.ValueStringPointer(),
PlanId: model.PlanId.ValueStringPointer(),
InstanceName: core.StringValueToPointer(model.Name),
PlanId: core.StringValueToPointer(model.PlanId),
}, nil
}
payloadParams := &rabbitmq.InstanceParameters{}
if parameters.SgwAcl.ValueString() != "" {
payloadParams.SgwAcl = parameters.SgwAcl.ValueStringPointer()
payloadParams.SgwAcl = core.StringValueToPointer(parameters.SgwAcl)
}
return &rabbitmq.CreateInstancePayload{
InstanceName: model.Name.ValueStringPointer(),
InstanceName: core.StringValueToPointer(model.Name),
Parameters: payloadParams,
PlanId: model.PlanId.ValueStringPointer(),
PlanId: core.StringValueToPointer(model.PlanId),
}, nil
}
@ -600,14 +600,14 @@ func toUpdatePayload(model *Model, parameters *parametersModel) (*rabbitmq.Updat
if parameters == nil {
return &rabbitmq.UpdateInstancePayload{
PlanId: model.PlanId.ValueStringPointer(),
PlanId: core.StringValueToPointer(model.PlanId),
}, nil
}
return &rabbitmq.UpdateInstancePayload{
Parameters: &rabbitmq.InstanceParameters{
SgwAcl: parameters.SgwAcl.ValueStringPointer(),
SgwAcl: core.StringValueToPointer(parameters.SgwAcl),
},
PlanId: model.PlanId.ValueStringPointer(),
PlanId: core.StringValueToPointer(model.PlanId),
}, nil
}

View file

@ -578,18 +578,18 @@ func toCreatePayload(model *Model, parameters *parametersModel) (*redis.CreateIn
}
if parameters == nil {
return &redis.CreateInstancePayload{
InstanceName: model.Name.ValueStringPointer(),
PlanId: model.PlanId.ValueStringPointer(),
InstanceName: core.StringValueToPointer(model.Name),
PlanId: core.StringValueToPointer(model.PlanId),
}, nil
}
payloadParams := &redis.InstanceParameters{}
if parameters.SgwAcl.ValueString() != "" {
payloadParams.SgwAcl = parameters.SgwAcl.ValueStringPointer()
payloadParams.SgwAcl = core.StringValueToPointer(parameters.SgwAcl)
}
return &redis.CreateInstancePayload{
InstanceName: model.Name.ValueStringPointer(),
InstanceName: core.StringValueToPointer(model.Name),
Parameters: payloadParams,
PlanId: model.PlanId.ValueStringPointer(),
PlanId: core.StringValueToPointer(model.PlanId),
}, nil
}
@ -600,14 +600,14 @@ func toUpdatePayload(model *Model, parameters *parametersModel) (*redis.UpdateIn
if parameters == nil {
return &redis.UpdateInstancePayload{
PlanId: model.PlanId.ValueStringPointer(),
PlanId: core.StringValueToPointer(model.PlanId),
}, nil
}
return &redis.UpdateInstancePayload{
Parameters: &redis.InstanceParameters{
SgwAcl: parameters.SgwAcl.ValueStringPointer(),
SgwAcl: core.StringValueToPointer(parameters.SgwAcl),
},
PlanId: model.PlanId.ValueStringPointer(),
PlanId: core.StringValueToPointer(model.PlanId),
}, nil
}

View file

@ -418,10 +418,10 @@ func toCreatePayload(model *Model, serviceAccountEmail string) (*resourcemanager
}
return &resourcemanager.CreateProjectPayload{
ContainerParentId: model.ContainerParentId.ValueStringPointer(),
ContainerParentId: core.StringValueToPointer(model.ContainerParentId),
Labels: labels,
Members: &members,
Name: model.Name.ValueStringPointer(),
Name: core.StringValueToPointer(model.Name),
}, nil
}
@ -437,8 +437,8 @@ func toUpdatePayload(model *Model) (*resourcemanager.UpdateProjectPayload, error
}
return &resourcemanager.UpdateProjectPayload{
ContainerParentId: model.ContainerParentId.ValueStringPointer(),
Name: model.Name.ValueStringPointer(),
ContainerParentId: core.StringValueToPointer(model.ContainerParentId),
Name: core.StringValueToPointer(model.Name),
Labels: labels,
}, nil
}

View file

@ -417,7 +417,7 @@ func toCreatePayload(model *Model) (*secretsmanager.CreateInstancePayload, error
return nil, fmt.Errorf("nil model")
}
return &secretsmanager.CreateInstancePayload{
Name: model.Name.ValueStringPointer(),
Name: core.StringValueToPointer(model.Name),
}, nil
}

View file

@ -359,8 +359,8 @@ func toCreatePayload(model *Model) (*secretsmanager.CreateUserPayload, error) {
return nil, fmt.Errorf("nil model")
}
return &secretsmanager.CreateUserPayload{
Description: model.Description.ValueStringPointer(),
Write: model.WriteEnabled.ValueBoolPointer(),
Description: core.StringValueToPointer(model.Description),
Write: core.BoolValueToPointer(model.WriteEnabled),
}, nil
}
@ -369,7 +369,7 @@ func toUpdatePayload(model *Model) (*secretsmanager.UpdateUserPayload, error) {
return nil, fmt.Errorf("nil model")
}
return &secretsmanager.UpdateUserPayload{
Write: model.WriteEnabled.ValueBoolPointer(),
Write: core.BoolValueToPointer(model.WriteEnabled),
}, nil
}

View file

@ -674,9 +674,9 @@ func toNodepoolsPayload(ctx context.Context, m *Cluster) ([]ske.Nodepool, error)
ts := []ske.Taint{}
for _, v := range taintsModel {
t := ske.Taint{
Effect: v.Effect.ValueStringPointer(),
Key: v.Key.ValueStringPointer(),
Value: v.Value.ValueStringPointer(),
Effect: core.StringValueToPointer(v.Effect),
Key: core.StringValueToPointer(v.Key),
Value: core.StringValueToPointer(v.Value),
}
ts = append(ts, t)
}
@ -712,24 +712,24 @@ func toNodepoolsPayload(ctx context.Context, m *Cluster) ([]ske.Nodepool, error)
}
cn := ske.CRI{
Name: nodePool.CRI.ValueStringPointer(),
Name: core.StringValueToPointer(nodePool.CRI),
}
cnp := ske.Nodepool{
Name: nodePool.Name.ValueStringPointer(),
Minimum: nodePool.Minimum.ValueInt64Pointer(),
Maximum: nodePool.Maximum.ValueInt64Pointer(),
MaxSurge: nodePool.MaxSurge.ValueInt64Pointer(),
MaxUnavailable: nodePool.MaxUnavailable.ValueInt64Pointer(),
Name: core.StringValueToPointer(nodePool.Name),
Minimum: core.Int64ValueToPointer(nodePool.Minimum),
Maximum: core.Int64ValueToPointer(nodePool.Maximum),
MaxSurge: core.Int64ValueToPointer(nodePool.MaxSurge),
MaxUnavailable: core.Int64ValueToPointer(nodePool.MaxUnavailable),
Machine: &ske.Machine{
Type: nodePool.MachineType.ValueStringPointer(),
Type: core.StringValueToPointer(nodePool.MachineType),
Image: &ske.Image{
Name: nodePool.OSName.ValueStringPointer(),
Version: nodePool.OSVersion.ValueStringPointer(),
Name: core.StringValueToPointer(nodePool.OSName),
Version: core.StringValueToPointer(nodePool.OSVersion),
},
},
Volume: &ske.Volume{
Type: nodePool.VolumeType.ValueStringPointer(),
Size: nodePool.VolumeSize.ValueInt64Pointer(),
Type: core.StringValueToPointer(nodePool.VolumeType),
Size: core.Int64ValueToPointer(nodePool.VolumeSize),
},
Taints: &ts,
Cri: &cn,
@ -755,8 +755,8 @@ func toHibernationsPayload(ctx context.Context, m *Cluster) (*ske.Hibernation, e
scs := []ske.HibernationSchedule{}
for _, h := range hibernation {
sc := ske.HibernationSchedule{
Start: h.Start.ValueStringPointer(),
End: h.End.ValueStringPointer(),
Start: core.StringValueToPointer(h.Start),
End: core.StringValueToPointer(h.End),
}
if !h.Timezone.IsNull() && !h.Timezone.IsUnknown() {
tz := h.Timezone.ValueString()
@ -777,8 +777,8 @@ func toExtensionsPayload(ctx context.Context, m *Cluster) (*ske.Extension, error
ex := &ske.Extension{}
if m.Extensions.Argus != nil {
ex.Argus = &ske.Argus{
Enabled: m.Extensions.Argus.Enabled.ValueBoolPointer(),
ArgusInstanceId: m.Extensions.Argus.ArgusInstanceId.ValueStringPointer(),
Enabled: core.BoolValueToPointer(m.Extensions.Argus.Enabled),
ArgusInstanceId: core.StringValueToPointer(m.Extensions.Argus.ArgusInstanceId),
}
}
if m.Extensions.ACL != nil {
@ -788,7 +788,7 @@ func toExtensionsPayload(ctx context.Context, m *Cluster) (*ske.Extension, error
return nil, fmt.Errorf("error in extension object converion %v", diags.Errors())
}
ex.Acl = &ske.ACL{
Enabled: m.Extensions.ACL.Enabled.ValueBoolPointer(),
Enabled: core.BoolValueToPointer(m.Extensions.ACL.Enabled),
AllowedCidrs: &cidrs,
}
}
@ -824,8 +824,8 @@ func toMaintenancePayload(ctx context.Context, m *Cluster) (*ske.Maintenance, er
return &ske.Maintenance{
AutoUpdate: &ske.MaintenanceAutoUpdate{
KubernetesVersion: maintenance.EnableKubernetesVersionUpdates.ValueBoolPointer(),
MachineImageVersion: maintenance.EnableMachineImageVersionUpdates.ValueBoolPointer(),
KubernetesVersion: core.BoolValueToPointer(maintenance.EnableKubernetesVersionUpdates),
MachineImageVersion: core.BoolValueToPointer(maintenance.EnableMachineImageVersionUpdates),
},
TimeWindow: &ske.TimeWindow{
Start: timeWindowStart,
@ -874,7 +874,6 @@ func mapFields(ctx context.Context, cl *ske.ClusterResponse, m *Cluster) error {
if err != nil {
return fmt.Errorf("mapping node_pools: %w", err)
}
err = mapMaintenance(ctx, cl, m)
if err != nil {
return fmt.Errorf("mapping maintenance: %w", err)
@ -1136,14 +1135,14 @@ func mapExtensions(cl *ske.ClusterResponse, m *Cluster) {
}
func toKubernetesPayload(m *Cluster, availableVersions []ske.KubernetesVersion) (kubernetesPayload *ske.Kubernetes, hasDeprecatedVersion bool, err error) {
versionUsed, hasDeprecatedVersion, err := latestMatchingVersion(availableVersions, m.KubernetesVersion.ValueStringPointer())
versionUsed, hasDeprecatedVersion, err := latestMatchingVersion(availableVersions, core.StringValueToPointer(m.KubernetesVersion))
if err != nil {
return nil, false, fmt.Errorf("getting latest matching kubernetes version: %w", err)
}
k := &ske.Kubernetes{
Version: versionUsed,
AllowPrivilegedContainers: m.AllowPrivilegedContainers.ValueBoolPointer(),
AllowPrivilegedContainers: core.BoolValueToPointer(m.AllowPrivilegedContainers),
}
return k, hasDeprecatedVersion, nil
}