jkawamoto/roadie

View on GitHub
cloud/azure/compute/models/caching.go

Summary

Maintainability
B
4 hrs
Test Coverage
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"

    strfmt "github.com/go-openapi/strfmt"

    "github.com/go-openapi/errors"
    "github.com/go-openapi/validate"
)

// Caching The caching type.
// swagger:model Caching
type Caching string

const (
    // CachingNone captures enum value "None"
    CachingNone Caching = "None"
    // CachingReadOnly captures enum value "ReadOnly"
    CachingReadOnly Caching = "ReadOnly"
    // CachingReadWrite captures enum value "ReadWrite"
    CachingReadWrite Caching = "ReadWrite"
)

// for schema
var cachingEnum []interface{}

func init() {
    var res []Caching
    if err := json.Unmarshal([]byte(`["None","ReadOnly","ReadWrite"]`), &res); err != nil {
        panic(err)
    }
    for _, v := range res {
        cachingEnum = append(cachingEnum, v)
    }
}

func (m Caching) validateCachingEnum(path, location string, value Caching) error {
    if err := validate.Enum(path, location, value, cachingEnum); err != nil {
        return err
    }
    return nil
}

// Validate validates this caching
func (m Caching) Validate(formats strfmt.Registry) error {
    var res []error

    // value enum
    if err := m.validateCachingEnum("", "body", m); err != nil {
        return err
    }

    if len(res) > 0 {
        return errors.CompositeValidationError(res...)
    }
    return nil
}