You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
253 lines
6.6 KiB
253 lines
6.6 KiB
// Code generated by go-swagger; DO NOT EDIT.
|
|
|
|
package models
|
|
|
|
// This file was generated by the swagger tool.
|
|
// Editing this file might prove futile when you re-run the swagger generate command
|
|
|
|
import (
|
|
"encoding/json"
|
|
|
|
"github.com/go-openapi/errors"
|
|
"github.com/go-openapi/strfmt"
|
|
"github.com/go-openapi/swag"
|
|
"github.com/go-openapi/validate"
|
|
)
|
|
|
|
// HPCResource h p c resource
|
|
//
|
|
// swagger:model HPCResource
|
|
type HPCResource struct {
|
|
|
|
// approval status
|
|
// Enum: [ACCEPTED REJECTED PENDING]
|
|
ApprovalStatus string `json:"ApprovalStatus,omitempty" gorm:"column:approvalstatus"`
|
|
|
|
// associated h p c project
|
|
AssociatedHPCProject string `json:"AssociatedHPCProject,omitempty" gorm:"column:associatedhpcproject"`
|
|
|
|
// associated l e x i s project
|
|
// Format: uuid
|
|
AssociatedLEXISProject strfmt.UUID `json:"AssociatedLEXISProject,omitempty" gorm:"column:associatedlexisproject;type:uuid"`
|
|
|
|
// cloud network name
|
|
CloudNetworkName string `json:"CloudNetworkName,omitempty" gorm:"column:cloudnetworkname"`
|
|
|
|
// h e app e endpoint
|
|
HEAppEEndpoint string `json:"HEAppEEndpoint,omitempty" gorm:"column:heappeendpoint"`
|
|
|
|
// h p c provider
|
|
// Enum: [IT4I LRZ ICHEC]
|
|
HPCProvider string `json:"HPCProvider,omitempty" gorm:"column:hpcprovider"`
|
|
|
|
// h p c resource ID
|
|
HPCResourceID string `json:"HPCResourceID,omitempty" gorm:"column:hpcresourceid;primary_key;unique;default:md5(random()::text || clock_timestamp()::text)::uuid"`
|
|
|
|
// open stack endpoint
|
|
OpenStackEndpoint string `json:"OpenStackEndpoint,omitempty" gorm:"column:openstackendpoint"`
|
|
|
|
// open stack project ID
|
|
OpenStackProjectID string `json:"OpenStackProjectID,omitempty" gorm:"column:openstackprojectid"`
|
|
|
|
// project network name
|
|
ProjectNetworkName string `json:"ProjectNetworkName,omitempty" gorm:"column:projectnetworkname"`
|
|
|
|
// resource type
|
|
// Enum: [CLOUD HPC]
|
|
ResourceType string `json:"ResourceType,omitempty" gorm:"column:resourcetype"`
|
|
|
|
// terms consent
|
|
TermsConsent bool `json:"TermsConsent,omitempty" gorm:"column:termsconsent;type:bool"`
|
|
}
|
|
|
|
// Validate validates this h p c resource
|
|
func (m *HPCResource) Validate(formats strfmt.Registry) error {
|
|
var res []error
|
|
|
|
if err := m.validateApprovalStatus(formats); err != nil {
|
|
res = append(res, err)
|
|
}
|
|
|
|
if err := m.validateAssociatedLEXISProject(formats); err != nil {
|
|
res = append(res, err)
|
|
}
|
|
|
|
if err := m.validateHPCProvider(formats); err != nil {
|
|
res = append(res, err)
|
|
}
|
|
|
|
if err := m.validateResourceType(formats); err != nil {
|
|
res = append(res, err)
|
|
}
|
|
|
|
if len(res) > 0 {
|
|
return errors.CompositeValidationError(res...)
|
|
}
|
|
return nil
|
|
}
|
|
|
|
var hPCResourceTypeApprovalStatusPropEnum []interface{}
|
|
|
|
func init() {
|
|
var res []string
|
|
if err := json.Unmarshal([]byte(`["ACCEPTED","REJECTED","PENDING"]`), &res); err != nil {
|
|
panic(err)
|
|
}
|
|
for _, v := range res {
|
|
hPCResourceTypeApprovalStatusPropEnum = append(hPCResourceTypeApprovalStatusPropEnum, v)
|
|
}
|
|
}
|
|
|
|
const (
|
|
|
|
// HPCResourceApprovalStatusACCEPTED captures enum value "ACCEPTED"
|
|
HPCResourceApprovalStatusACCEPTED string = "ACCEPTED"
|
|
|
|
// HPCResourceApprovalStatusREJECTED captures enum value "REJECTED"
|
|
HPCResourceApprovalStatusREJECTED string = "REJECTED"
|
|
|
|
// HPCResourceApprovalStatusPENDING captures enum value "PENDING"
|
|
HPCResourceApprovalStatusPENDING string = "PENDING"
|
|
)
|
|
|
|
// prop value enum
|
|
func (m *HPCResource) validateApprovalStatusEnum(path, location string, value string) error {
|
|
if err := validate.EnumCase(path, location, value, hPCResourceTypeApprovalStatusPropEnum, true); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (m *HPCResource) validateApprovalStatus(formats strfmt.Registry) error {
|
|
|
|
if swag.IsZero(m.ApprovalStatus) { // not required
|
|
return nil
|
|
}
|
|
|
|
// value enum
|
|
if err := m.validateApprovalStatusEnum("ApprovalStatus", "body", m.ApprovalStatus); err != nil {
|
|
return err
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
func (m *HPCResource) validateAssociatedLEXISProject(formats strfmt.Registry) error {
|
|
|
|
if swag.IsZero(m.AssociatedLEXISProject) { // not required
|
|
return nil
|
|
}
|
|
|
|
if err := validate.FormatOf("AssociatedLEXISProject", "body", "uuid", m.AssociatedLEXISProject.String(), formats); err != nil {
|
|
return err
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
var hPCResourceTypeHPCProviderPropEnum []interface{}
|
|
|
|
func init() {
|
|
var res []string
|
|
if err := json.Unmarshal([]byte(`["IT4I","LRZ","ICHEC"]`), &res); err != nil {
|
|
panic(err)
|
|
}
|
|
for _, v := range res {
|
|
hPCResourceTypeHPCProviderPropEnum = append(hPCResourceTypeHPCProviderPropEnum, v)
|
|
}
|
|
}
|
|
|
|
const (
|
|
|
|
// HPCResourceHPCProviderIT4I captures enum value "IT4I"
|
|
HPCResourceHPCProviderIT4I string = "IT4I"
|
|
|
|
// HPCResourceHPCProviderLRZ captures enum value "LRZ"
|
|
HPCResourceHPCProviderLRZ string = "LRZ"
|
|
|
|
// HPCResourceHPCProviderICHEC captures enum value "ICHEC"
|
|
HPCResourceHPCProviderICHEC string = "ICHEC"
|
|
)
|
|
|
|
// prop value enum
|
|
func (m *HPCResource) validateHPCProviderEnum(path, location string, value string) error {
|
|
if err := validate.EnumCase(path, location, value, hPCResourceTypeHPCProviderPropEnum, true); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (m *HPCResource) validateHPCProvider(formats strfmt.Registry) error {
|
|
|
|
if swag.IsZero(m.HPCProvider) { // not required
|
|
return nil
|
|
}
|
|
|
|
// value enum
|
|
if err := m.validateHPCProviderEnum("HPCProvider", "body", m.HPCProvider); err != nil {
|
|
return err
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
var hPCResourceTypeResourceTypePropEnum []interface{}
|
|
|
|
func init() {
|
|
var res []string
|
|
if err := json.Unmarshal([]byte(`["CLOUD","HPC"]`), &res); err != nil {
|
|
panic(err)
|
|
}
|
|
for _, v := range res {
|
|
hPCResourceTypeResourceTypePropEnum = append(hPCResourceTypeResourceTypePropEnum, v)
|
|
}
|
|
}
|
|
|
|
const (
|
|
|
|
// HPCResourceResourceTypeCLOUD captures enum value "CLOUD"
|
|
HPCResourceResourceTypeCLOUD string = "CLOUD"
|
|
|
|
// HPCResourceResourceTypeHPC captures enum value "HPC"
|
|
HPCResourceResourceTypeHPC string = "HPC"
|
|
)
|
|
|
|
// prop value enum
|
|
func (m *HPCResource) validateResourceTypeEnum(path, location string, value string) error {
|
|
if err := validate.EnumCase(path, location, value, hPCResourceTypeResourceTypePropEnum, true); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (m *HPCResource) validateResourceType(formats strfmt.Registry) error {
|
|
|
|
if swag.IsZero(m.ResourceType) { // not required
|
|
return nil
|
|
}
|
|
|
|
// value enum
|
|
if err := m.validateResourceTypeEnum("ResourceType", "body", m.ResourceType); err != nil {
|
|
return err
|
|
}
|
|
|
|
return nil
|
|
}
|
|
|
|
// MarshalBinary interface implementation
|
|
func (m *HPCResource) MarshalBinary() ([]byte, error) {
|
|
if m == nil {
|
|
return nil, nil
|
|
}
|
|
return swag.WriteJSON(m)
|
|
}
|
|
|
|
// UnmarshalBinary interface implementation
|
|
func (m *HPCResource) UnmarshalBinary(b []byte) error {
|
|
var res HPCResource
|
|
if err := swag.ReadJSON(b, &res); err != nil {
|
|
return err
|
|
}
|
|
*m = res
|
|
return nil
|
|
}
|
|
|