From 6b6ba45c801972f13e9d96522cb2f992baaa904a Mon Sep 17 00:00:00 2001 From: powervs-ibm <137309855+powervs-ibm@users.noreply.github.com> Date: Thu, 30 Jan 2025 13:24:46 -0600 Subject: [PATCH] [U] AuxiliaryVolumeForOnboarding: name validation, PVMInstanceCreate: Replicants float64 to *float64 from SB commit 96aad14c803c9bdb0c57ca1ae5f67f4fbfe943c9 (#546) [U] AuxiliaryVolumeForOnboarding: name validation, PVMInstanceCreate: Replicants float64 to *float64 --- .../models/auxiliary_volume_for_onboarding.go | 22 +++++++++++++++++++ power/models/p_vm_instance_create.go | 19 +++++++++++++++- 2 files changed, 40 insertions(+), 1 deletion(-) diff --git a/power/models/auxiliary_volume_for_onboarding.go b/power/models/auxiliary_volume_for_onboarding.go index b8ac18d7..72eb6dbd 100644 --- a/power/models/auxiliary_volume_for_onboarding.go +++ b/power/models/auxiliary_volume_for_onboarding.go @@ -24,6 +24,8 @@ type AuxiliaryVolumeForOnboarding struct { AuxVolumeName *string `json:"auxVolumeName"` // display name of auxVolumeName once onboarded,auxVolumeName will be set to display name if not provided. + // Max Length: 120 + // Pattern: ^[\s]*[A-Za-z0-9:_.\-][A-Za-z0-9\s:_.\-]*$ Name string `json:"name,omitempty"` } @@ -35,6 +37,10 @@ func (m *AuxiliaryVolumeForOnboarding) Validate(formats strfmt.Registry) error { res = append(res, err) } + if err := m.validateName(formats); err != nil { + res = append(res, err) + } + if len(res) > 0 { return errors.CompositeValidationError(res...) } @@ -50,6 +56,22 @@ func (m *AuxiliaryVolumeForOnboarding) validateAuxVolumeName(formats strfmt.Regi return nil } +func (m *AuxiliaryVolumeForOnboarding) validateName(formats strfmt.Registry) error { + if swag.IsZero(m.Name) { // not required + return nil + } + + if err := validate.MaxLength("name", "body", m.Name, 120); err != nil { + return err + } + + if err := validate.Pattern("name", "body", m.Name, `^[\s]*[A-Za-z0-9:_.\-][A-Za-z0-9\s:_.\-]*$`); err != nil { + return err + } + + return nil +} + // ContextValidate validates this auxiliary volume for onboarding based on context it is used func (m *AuxiliaryVolumeForOnboarding) ContextValidate(ctx context.Context, formats strfmt.Registry) error { return nil diff --git a/power/models/p_vm_instance_create.go b/power/models/p_vm_instance_create.go index 06711a8d..49ca9395 100644 --- a/power/models/p_vm_instance_create.go +++ b/power/models/p_vm_instance_create.go @@ -77,7 +77,8 @@ type PVMInstanceCreate struct { ReplicantNamingScheme *string `json:"replicantNamingScheme,omitempty"` // Number of duplicate instances to create in this request - Replicants float64 `json:"replicants,omitempty"` + // Minimum: 1 + Replicants *float64 `json:"replicants,omitempty"` // Indicates the replication site of the boot volume ReplicationSites []string `json:"replicationSites"` @@ -171,6 +172,10 @@ func (m *PVMInstanceCreate) Validate(formats strfmt.Registry) error { res = append(res, err) } + if err := m.validateReplicants(formats); err != nil { + res = append(res, err) + } + if err := m.validateServerName(formats); err != nil { res = append(res, err) } @@ -431,6 +436,18 @@ func (m *PVMInstanceCreate) validateReplicantNamingScheme(formats strfmt.Registr return nil } +func (m *PVMInstanceCreate) validateReplicants(formats strfmt.Registry) error { + if swag.IsZero(m.Replicants) { // not required + return nil + } + + if err := validate.Minimum("replicants", "body", *m.Replicants, 1, false); err != nil { + return err + } + + return nil +} + func (m *PVMInstanceCreate) validateServerName(formats strfmt.Registry) error { if err := validate.Required("serverName", "body", m.ServerName); err != nil {