blob: 43b07817577aa2dd02807054c01e7ad0139d8237 [file] [log] [blame]
// Copyright 2017 Google Inc. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// THIS FILE IS AUTOMATICALLY GENERATED.
package discovery_v1
import (
"fmt"
"github.com/googleapis/gnostic/compiler"
"gopkg.in/yaml.v2"
"regexp"
"strings"
)
// Version returns the package name (and OpenAPI version).
func Version() string {
return "discovery_v1"
}
// NewAnnotations creates an object of type Annotations if possible, returning an error if not.
func NewAnnotations(in interface{}, context *compiler.Context) (*Annotations, error) {
errors := make([]error, 0)
x := &Annotations{}
m, ok := compiler.UnpackMap(in)
if !ok {
message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
errors = append(errors, compiler.NewError(context, message))
} else {
allowedKeys := []string{"required"}
var allowedPatterns []*regexp.Regexp
invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
if len(invalidKeys) > 0 {
message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
errors = append(errors, compiler.NewError(context, message))
}
// repeated string required = 1;
v1 := compiler.MapValueForKey(m, "required")
if v1 != nil {
v, ok := v1.([]interface{})
if ok {
x.Required = compiler.ConvertInterfaceArrayToStringArray(v)
} else {
message := fmt.Sprintf("has unexpected value for required: %+v (%T)", v1, v1)
errors = append(errors, compiler.NewError(context, message))
}
}
}
return x, compiler.NewErrorGroupOrNil(errors)
}
// NewAny creates an object of type Any if possible, returning an error if not.
func NewAny(in interface{}, context *compiler.Context) (*Any, error) {
errors := make([]error, 0)
x := &Any{}
bytes, _ := yaml.Marshal(in)
x.Yaml = string(bytes)
return x, compiler.NewErrorGroupOrNil(errors)
}
// NewAuth creates an object of type Auth if possible, returning an error if not.
func NewAuth(in interface{}, context *compiler.Context) (*Auth, error) {
errors := make([]error, 0)
x := &Auth{}
m, ok := compiler.UnpackMap(in)
if !ok {
message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
errors = append(errors, compiler.NewError(context, message))
} else {
allowedKeys := []string{"oauth2"}
var allowedPatterns []*regexp.Regexp
invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
if len(invalidKeys) > 0 {
message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
errors = append(errors, compiler.NewError(context, message))
}
// Oauth2 oauth2 = 1;
v1 := compiler.MapValueForKey(m, "oauth2")
if v1 != nil {
var err error
x.Oauth2, err = NewOauth2(v1, compiler.NewContext("oauth2", context))
if err != nil {
errors = append(errors, err)
}
}
}
return x, compiler.NewErrorGroupOrNil(errors)
}
// NewDocument creates an object of type Document if possible, returning an error if not.
func NewDocument(in interface{}, context *compiler.Context) (*Document, error) {
errors := make([]error, 0)
x := &Document{}
m, ok := compiler.UnpackMap(in)
if !ok {
message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
errors = append(errors, compiler.NewError(context, message))
} else {
requiredKeys := []string{"discoveryVersion", "kind"}
missingKeys := compiler.MissingKeysInMap(m, requiredKeys)
if len(missingKeys) > 0 {
message := fmt.Sprintf("is missing required %s: %+v", compiler.PluralProperties(len(missingKeys)), strings.Join(missingKeys, ", "))
errors = append(errors, compiler.NewError(context, message))
}
allowedKeys := []string{"auth", "basePath", "baseUrl", "batchPath", "canonicalName", "description", "discoveryVersion", "documentationLink", "etag", "features", "fullyEncodeReservedExpansion", "icons", "id", "kind", "labels", "methods", "name", "ownerDomain", "ownerName", "packagePath", "parameters", "protocol", "resources", "revision", "rootUrl", "schemas", "servicePath", "title", "version", "version_module"}
var allowedPatterns []*regexp.Regexp
invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
if len(invalidKeys) > 0 {
message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
errors = append(errors, compiler.NewError(context, message))
}
// string kind = 1;
v1 := compiler.MapValueForKey(m, "kind")
if v1 != nil {
x.Kind, ok = v1.(string)
if !ok {
message := fmt.Sprintf("has unexpected value for kind: %+v (%T)", v1, v1)
errors = append(errors, compiler.NewError(context, message))
}
}
// string discovery_version = 2;
v2 := compiler.MapValueForKey(m, "discoveryVersion")
if v2 != nil {
x.DiscoveryVersion, ok = v2.(string)
if !ok {
message := fmt.Sprintf("has unexpected value for discoveryVersion: %+v (%T)", v2, v2)
errors = append(errors, compiler.NewError(context, message))
}
}
// string id = 3;
v3 := compiler.MapValueForKey(m, "id")
if v3 != nil {
x.Id, ok = v3.(string)
if !ok {
message := fmt.Sprintf("has unexpected value for id: %+v (%T)", v3, v3)
errors = append(errors, compiler.NewError(context, message))
}
}
// string name = 4;
v4 := compiler.MapValueForKey(m, "name")
if v4 != nil {
x.Name, ok = v4.(string)
if !ok {
message := fmt.Sprintf("has unexpected value for name: %+v (%T)", v4, v4)
errors = append(errors, compiler.NewError(context, message))
}
}
// string version = 5;
v5 := compiler.MapValueForKey(m, "version")
if v5 != nil {
x.Version, ok = v5.(string)
if !ok {
message := fmt.Sprintf("has unexpected value for version: %+v (%T)", v5, v5)
errors = append(errors, compiler.NewError(context, message))
}
}
// string revision = 6;
v6 := compiler.MapValueForKey(m, "revision")
if v6 != nil {
x.Revision, ok = v6.(string)
if !ok {
message := fmt.Sprintf("has unexpected value for revision: %+v (%T)", v6, v6)
errors = append(errors, compiler.NewError(context, message))
}
}
// string title = 7;
v7 := compiler.MapValueForKey(m, "title")
if v7 != nil {
x.Title, ok = v7.(string)
if !ok {
message := fmt.Sprintf("has unexpected value for title: %+v (%T)", v7, v7)
errors = append(errors, compiler.NewError(context, message))
}
}
// string description = 8;
v8 := compiler.MapValueForKey(m, "description")
if v8 != nil {
x.Description, ok = v8.(string)
if !ok {
message := fmt.Sprintf("has unexpected value for description: %+v (%T)", v8, v8)
errors = append(errors, compiler.NewError(context, message))
}
}
// Icons icons = 9;
v9 := compiler.MapValueForKey(m, "icons")
if v9 != nil {
var err error
x.Icons, err = NewIcons(v9, compiler.NewContext("icons", context))
if err != nil {
errors = append(errors, err)
}
}
// string documentation_link = 10;
v10 := compiler.MapValueForKey(m, "documentationLink")
if v10 != nil {
x.DocumentationLink, ok = v10.(string)
if !ok {
message := fmt.Sprintf("has unexpected value for documentationLink: %+v (%T)", v10, v10)
errors = append(errors, compiler.NewError(context, message))
}
}
// repeated string labels = 11;
v11 := compiler.MapValueForKey(m, "labels")
if v11 != nil {
v, ok := v11.([]interface{})
if ok {
x.Labels = compiler.ConvertInterfaceArrayToStringArray(v)
} else {
message := fmt.Sprintf("has unexpected value for labels: %+v (%T)", v11, v11)
errors = append(errors, compiler.NewError(context, message))
}
}
// string protocol = 12;
v12 := compiler.MapValueForKey(m, "protocol")
if v12 != nil {
x.Protocol, ok = v12.(string)
if !ok {
message := fmt.Sprintf("has unexpected value for protocol: %+v (%T)", v12, v12)
errors = append(errors, compiler.NewError(context, message))
}
}
// string base_url = 13;
v13 := compiler.MapValueForKey(m, "baseUrl")
if v13 != nil {
x.BaseUrl, ok = v13.(string)
if !ok {
message := fmt.Sprintf("has unexpected value for baseUrl: %+v (%T)", v13, v13)
errors = append(errors, compiler.NewError(context, message))
}
}
// string base_path = 14;
v14 := compiler.MapValueForKey(m, "basePath")
if v14 != nil {
x.BasePath, ok = v14.(string)
if !ok {
message := fmt.Sprintf("has unexpected value for basePath: %+v (%T)", v14, v14)
errors = append(errors, compiler.NewError(context, message))
}
}
// string root_url = 15;
v15 := compiler.MapValueForKey(m, "rootUrl")
if v15 != nil {
x.RootUrl, ok = v15.(string)
if !ok {
message := fmt.Sprintf("has unexpected value for rootUrl: %+v (%T)", v15, v15)
errors = append(errors, compiler.NewError(context, message))
}
}
// string service_path = 16;
v16 := compiler.MapValueForKey(m, "servicePath")
if v16 != nil {
x.ServicePath, ok = v16.(string)
if !ok {
message := fmt.Sprintf("has unexpected value for servicePath: %+v (%T)", v16, v16)
errors = append(errors, compiler.NewError(context, message))
}
}
// string batch_path = 17;
v17 := compiler.MapValueForKey(m, "batchPath")
if v17 != nil {
x.BatchPath, ok = v17.(string)
if !ok {
message := fmt.Sprintf("has unexpected value for batchPath: %+v (%T)", v17, v17)
errors = append(errors, compiler.NewError(context, message))
}
}
// Parameters parameters = 18;
v18 := compiler.MapValueForKey(m, "parameters")
if v18 != nil {
var err error
x.Parameters, err = NewParameters(v18, compiler.NewContext("parameters", context))
if err != nil {
errors = append(errors, err)
}
}
// Auth auth = 19;
v19 := compiler.MapValueForKey(m, "auth")
if v19 != nil {
var err error
x.Auth, err = NewAuth(v19, compiler.NewContext("auth", context))
if err != nil {
errors = append(errors, err)
}
}
// repeated string features = 20;
v20 := compiler.MapValueForKey(m, "features")
if v20 != nil {
v, ok := v20.([]interface{})
if ok {
x.Features = compiler.ConvertInterfaceArrayToStringArray(v)
} else {
message := fmt.Sprintf("has unexpected value for features: %+v (%T)", v20, v20)
errors = append(errors, compiler.NewError(context, message))
}
}
// Schemas schemas = 21;
v21 := compiler.MapValueForKey(m, "schemas")
if v21 != nil {
var err error
x.Schemas, err = NewSchemas(v21, compiler.NewContext("schemas", context))
if err != nil {
errors = append(errors, err)
}
}
// Methods methods = 22;
v22 := compiler.MapValueForKey(m, "methods")
if v22 != nil {
var err error
x.Methods, err = NewMethods(v22, compiler.NewContext("methods", context))
if err != nil {
errors = append(errors, err)
}
}
// Resources resources = 23;
v23 := compiler.MapValueForKey(m, "resources")
if v23 != nil {
var err error
x.Resources, err = NewResources(v23, compiler.NewContext("resources", context))
if err != nil {
errors = append(errors, err)
}
}
// string etag = 24;
v24 := compiler.MapValueForKey(m, "etag")
if v24 != nil {
x.Etag, ok = v24.(string)
if !ok {
message := fmt.Sprintf("has unexpected value for etag: %+v (%T)", v24, v24)
errors = append(errors, compiler.NewError(context, message))
}
}
// string owner_domain = 25;
v25 := compiler.MapValueForKey(m, "ownerDomain")
if v25 != nil {
x.OwnerDomain, ok = v25.(string)
if !ok {
message := fmt.Sprintf("has unexpected value for ownerDomain: %+v (%T)", v25, v25)
errors = append(errors, compiler.NewError(context, message))
}
}
// string owner_name = 26;
v26 := compiler.MapValueForKey(m, "ownerName")
if v26 != nil {
x.OwnerName, ok = v26.(string)
if !ok {
message := fmt.Sprintf("has unexpected value for ownerName: %+v (%T)", v26, v26)
errors = append(errors, compiler.NewError(context, message))
}
}
// bool version_module = 27;
v27 := compiler.MapValueForKey(m, "version_module")
if v27 != nil {
x.VersionModule, ok = v27.(bool)
if !ok {
message := fmt.Sprintf("has unexpected value for version_module: %+v (%T)", v27, v27)
errors = append(errors, compiler.NewError(context, message))
}
}
// string canonical_name = 28;
v28 := compiler.MapValueForKey(m, "canonicalName")
if v28 != nil {
x.CanonicalName, ok = v28.(string)
if !ok {
message := fmt.Sprintf("has unexpected value for canonicalName: %+v (%T)", v28, v28)
errors = append(errors, compiler.NewError(context, message))
}
}
// bool fully_encode_reserved_expansion = 29;
v29 := compiler.MapValueForKey(m, "fullyEncodeReservedExpansion")
if v29 != nil {
x.FullyEncodeReservedExpansion, ok = v29.(bool)
if !ok {
message := fmt.Sprintf("has unexpected value for fullyEncodeReservedExpansion: %+v (%T)", v29, v29)
errors = append(errors, compiler.NewError(context, message))
}
}
// string package_path = 30;
v30 := compiler.MapValueForKey(m, "packagePath")
if v30 != nil {
x.PackagePath, ok = v30.(string)
if !ok {
message := fmt.Sprintf("has unexpected value for packagePath: %+v (%T)", v30, v30)
errors = append(errors, compiler.NewError(context, message))
}
}
}
return x, compiler.NewErrorGroupOrNil(errors)
}
// NewIcons creates an object of type Icons if possible, returning an error if not.
func NewIcons(in interface{}, context *compiler.Context) (*Icons, error) {
errors := make([]error, 0)
x := &Icons{}
m, ok := compiler.UnpackMap(in)
if !ok {
message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
errors = append(errors, compiler.NewError(context, message))
} else {
requiredKeys := []string{"x16", "x32"}
missingKeys := compiler.MissingKeysInMap(m, requiredKeys)
if len(missingKeys) > 0 {
message := fmt.Sprintf("is missing required %s: %+v", compiler.PluralProperties(len(missingKeys)), strings.Join(missingKeys, ", "))
errors = append(errors, compiler.NewError(context, message))
}
allowedKeys := []string{"x16", "x32"}
var allowedPatterns []*regexp.Regexp
invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
if len(invalidKeys) > 0 {
message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
errors = append(errors, compiler.NewError(context, message))
}
// string x16 = 1;
v1 := compiler.MapValueForKey(m, "x16")
if v1 != nil {
x.X16, ok = v1.(string)
if !ok {
message := fmt.Sprintf("has unexpected value for x16: %+v (%T)", v1, v1)
errors = append(errors, compiler.NewError(context, message))
}
}
// string x32 = 2;
v2 := compiler.MapValueForKey(m, "x32")
if v2 != nil {
x.X32, ok = v2.(string)
if !ok {
message := fmt.Sprintf("has unexpected value for x32: %+v (%T)", v2, v2)
errors = append(errors, compiler.NewError(context, message))
}
}
}
return x, compiler.NewErrorGroupOrNil(errors)
}
// NewMediaUpload creates an object of type MediaUpload if possible, returning an error if not.
func NewMediaUpload(in interface{}, context *compiler.Context) (*MediaUpload, error) {
errors := make([]error, 0)
x := &MediaUpload{}
m, ok := compiler.UnpackMap(in)
if !ok {
message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
errors = append(errors, compiler.NewError(context, message))
} else {
allowedKeys := []string{"accept", "maxSize", "protocols", "supportsSubscription"}
var allowedPatterns []*regexp.Regexp
invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
if len(invalidKeys) > 0 {
message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
errors = append(errors, compiler.NewError(context, message))
}
// repeated string accept = 1;
v1 := compiler.MapValueForKey(m, "accept")
if v1 != nil {
v, ok := v1.([]interface{})
if ok {
x.Accept = compiler.ConvertInterfaceArrayToStringArray(v)
} else {
message := fmt.Sprintf("has unexpected value for accept: %+v (%T)", v1, v1)
errors = append(errors, compiler.NewError(context, message))
}
}
// string max_size = 2;
v2 := compiler.MapValueForKey(m, "maxSize")
if v2 != nil {
x.MaxSize, ok = v2.(string)
if !ok {
message := fmt.Sprintf("has unexpected value for maxSize: %+v (%T)", v2, v2)
errors = append(errors, compiler.NewError(context, message))
}
}
// Protocols protocols = 3;
v3 := compiler.MapValueForKey(m, "protocols")
if v3 != nil {
var err error
x.Protocols, err = NewProtocols(v3, compiler.NewContext("protocols", context))
if err != nil {
errors = append(errors, err)
}
}
// bool supports_subscription = 4;
v4 := compiler.MapValueForKey(m, "supportsSubscription")
if v4 != nil {
x.SupportsSubscription, ok = v4.(bool)
if !ok {
message := fmt.Sprintf("has unexpected value for supportsSubscription: %+v (%T)", v4, v4)
errors = append(errors, compiler.NewError(context, message))
}
}
}
return x, compiler.NewErrorGroupOrNil(errors)
}
// NewMethod creates an object of type Method if possible, returning an error if not.
func NewMethod(in interface{}, context *compiler.Context) (*Method, error) {
errors := make([]error, 0)
x := &Method{}
m, ok := compiler.UnpackMap(in)
if !ok {
message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
errors = append(errors, compiler.NewError(context, message))
} else {
allowedKeys := []string{"description", "etagRequired", "flatPath", "httpMethod", "id", "mediaUpload", "parameterOrder", "parameters", "path", "request", "response", "scopes", "supportsMediaDownload", "supportsMediaUpload", "supportsSubscription", "useMediaDownloadService"}
var allowedPatterns []*regexp.Regexp
invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
if len(invalidKeys) > 0 {
message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
errors = append(errors, compiler.NewError(context, message))
}
// string id = 1;
v1 := compiler.MapValueForKey(m, "id")
if v1 != nil {
x.Id, ok = v1.(string)
if !ok {
message := fmt.Sprintf("has unexpected value for id: %+v (%T)", v1, v1)
errors = append(errors, compiler.NewError(context, message))
}
}
// string path = 2;
v2 := compiler.MapValueForKey(m, "path")
if v2 != nil {
x.Path, ok = v2.(string)
if !ok {
message := fmt.Sprintf("has unexpected value for path: %+v (%T)", v2, v2)
errors = append(errors, compiler.NewError(context, message))
}
}
// string http_method = 3;
v3 := compiler.MapValueForKey(m, "httpMethod")
if v3 != nil {
x.HttpMethod, ok = v3.(string)
if !ok {
message := fmt.Sprintf("has unexpected value for httpMethod: %+v (%T)", v3, v3)
errors = append(errors, compiler.NewError(context, message))
}
}
// string description = 4;
v4 := compiler.MapValueForKey(m, "description")
if v4 != nil {
x.Description, ok = v4.(string)
if !ok {
message := fmt.Sprintf("has unexpected value for description: %+v (%T)", v4, v4)
errors = append(errors, compiler.NewError(context, message))
}
}
// Parameters parameters = 5;
v5 := compiler.MapValueForKey(m, "parameters")
if v5 != nil {
var err error
x.Parameters, err = NewParameters(v5, compiler.NewContext("parameters", context))
if err != nil {
errors = append(errors, err)
}
}
// repeated string parameter_order = 6;
v6 := compiler.MapValueForKey(m, "parameterOrder")
if v6 != nil {
v, ok := v6.([]interface{})
if ok {
x.ParameterOrder = compiler.ConvertInterfaceArrayToStringArray(v)
} else {
message := fmt.Sprintf("has unexpected value for parameterOrder: %+v (%T)", v6, v6)
errors = append(errors, compiler.NewError(context, message))
}
}
// Request request = 7;
v7 := compiler.MapValueForKey(m, "request")
if v7 != nil {
var err error
x.Request, err = NewRequest(v7, compiler.NewContext("request", context))
if err != nil {
errors = append(errors, err)
}
}
// Response response = 8;
v8 := compiler.MapValueForKey(m, "response")
if v8 != nil {
var err error
x.Response, err = NewResponse(v8, compiler.NewContext("response", context))
if err != nil {
errors = append(errors, err)
}
}
// repeated string scopes = 9;
v9 := compiler.MapValueForKey(m, "scopes")
if v9 != nil {
v, ok := v9.([]interface{})
if ok {
x.Scopes = compiler.ConvertInterfaceArrayToStringArray(v)
} else {
message := fmt.Sprintf("has unexpected value for scopes: %+v (%T)", v9, v9)
errors = append(errors, compiler.NewError(context, message))
}
}
// bool supports_media_download = 10;
v10 := compiler.MapValueForKey(m, "supportsMediaDownload")
if v10 != nil {
x.SupportsMediaDownload, ok = v10.(bool)
if !ok {
message := fmt.Sprintf("has unexpected value for supportsMediaDownload: %+v (%T)", v10, v10)
errors = append(errors, compiler.NewError(context, message))
}
}
// bool supports_media_upload = 11;
v11 := compiler.MapValueForKey(m, "supportsMediaUpload")
if v11 != nil {
x.SupportsMediaUpload, ok = v11.(bool)
if !ok {
message := fmt.Sprintf("has unexpected value for supportsMediaUpload: %+v (%T)", v11, v11)
errors = append(errors, compiler.NewError(context, message))
}
}
// bool use_media_download_service = 12;
v12 := compiler.MapValueForKey(m, "useMediaDownloadService")
if v12 != nil {
x.UseMediaDownloadService, ok = v12.(bool)
if !ok {
message := fmt.Sprintf("has unexpected value for useMediaDownloadService: %+v (%T)", v12, v12)
errors = append(errors, compiler.NewError(context, message))
}
}
// MediaUpload media_upload = 13;
v13 := compiler.MapValueForKey(m, "mediaUpload")
if v13 != nil {
var err error
x.MediaUpload, err = NewMediaUpload(v13, compiler.NewContext("mediaUpload", context))
if err != nil {
errors = append(errors, err)
}
}
// bool supports_subscription = 14;
v14 := compiler.MapValueForKey(m, "supportsSubscription")
if v14 != nil {
x.SupportsSubscription, ok = v14.(bool)
if !ok {
message := fmt.Sprintf("has unexpected value for supportsSubscription: %+v (%T)", v14, v14)
errors = append(errors, compiler.NewError(context, message))
}
}
// string flat_path = 15;
v15 := compiler.MapValueForKey(m, "flatPath")
if v15 != nil {
x.FlatPath, ok = v15.(string)
if !ok {
message := fmt.Sprintf("has unexpected value for flatPath: %+v (%T)", v15, v15)
errors = append(errors, compiler.NewError(context, message))
}
}
// bool etag_required = 16;
v16 := compiler.MapValueForKey(m, "etagRequired")
if v16 != nil {
x.EtagRequired, ok = v16.(bool)
if !ok {
message := fmt.Sprintf("has unexpected value for etagRequired: %+v (%T)", v16, v16)
errors = append(errors, compiler.NewError(context, message))
}
}
}
return x, compiler.NewErrorGroupOrNil(errors)
}
// NewMethods creates an object of type Methods if possible, returning an error if not.
func NewMethods(in interface{}, context *compiler.Context) (*Methods, error) {
errors := make([]error, 0)
x := &Methods{}
m, ok := compiler.UnpackMap(in)
if !ok {
message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
errors = append(errors, compiler.NewError(context, message))
} else {
// repeated NamedMethod additional_properties = 1;
// MAP: Method
x.AdditionalProperties = make([]*NamedMethod, 0)
for _, item := range m {
k, ok := compiler.StringValue(item.Key)
if ok {
v := item.Value
pair := &NamedMethod{}
pair.Name = k
var err error
pair.Value, err = NewMethod(v, compiler.NewContext(k, context))
if err != nil {
errors = append(errors, err)
}
x.AdditionalProperties = append(x.AdditionalProperties, pair)
}
}
}
return x, compiler.NewErrorGroupOrNil(errors)
}
// NewNamedMethod creates an object of type NamedMethod if possible, returning an error if not.
func NewNamedMethod(in interface{}, context *compiler.Context) (*NamedMethod, error) {
errors := make([]error, 0)
x := &NamedMethod{}
m, ok := compiler.UnpackMap(in)
if !ok {
message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
errors = append(errors, compiler.NewError(context, message))
} else {
allowedKeys := []string{"name", "value"}
var allowedPatterns []*regexp.Regexp
invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
if len(invalidKeys) > 0 {
message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
errors = append(errors, compiler.NewError(context, message))
}
// string name = 1;
v1 := compiler.MapValueForKey(m, "name")
if v1 != nil {
x.Name, ok = v1.(string)
if !ok {
message := fmt.Sprintf("has unexpected value for name: %+v (%T)", v1, v1)
errors = append(errors, compiler.NewError(context, message))
}
}
// Method value = 2;
v2 := compiler.MapValueForKey(m, "value")
if v2 != nil {
var err error
x.Value, err = NewMethod(v2, compiler.NewContext("value", context))
if err != nil {
errors = append(errors, err)
}
}
}
return x, compiler.NewErrorGroupOrNil(errors)
}
// NewNamedParameter creates an object of type NamedParameter if possible, returning an error if not.
func NewNamedParameter(in interface{}, context *compiler.Context) (*NamedParameter, error) {
errors := make([]error, 0)
x := &NamedParameter{}
m, ok := compiler.UnpackMap(in)
if !ok {
message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
errors = append(errors, compiler.NewError(context, message))
} else {
allowedKeys := []string{"name", "value"}
var allowedPatterns []*regexp.Regexp
invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
if len(invalidKeys) > 0 {
message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
errors = append(errors, compiler.NewError(context, message))
}
// string name = 1;
v1 := compiler.MapValueForKey(m, "name")
if v1 != nil {
x.Name, ok = v1.(string)
if !ok {
message := fmt.Sprintf("has unexpected value for name: %+v (%T)", v1, v1)
errors = append(errors, compiler.NewError(context, message))
}
}
// Parameter value = 2;
v2 := compiler.MapValueForKey(m, "value")
if v2 != nil {
var err error
x.Value, err = NewParameter(v2, compiler.NewContext("value", context))
if err != nil {
errors = append(errors, err)
}
}
}
return x, compiler.NewErrorGroupOrNil(errors)
}
// NewNamedResource creates an object of type NamedResource if possible, returning an error if not.
func NewNamedResource(in interface{}, context *compiler.Context) (*NamedResource, error) {
errors := make([]error, 0)
x := &NamedResource{}
m, ok := compiler.UnpackMap(in)
if !ok {
message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
errors = append(errors, compiler.NewError(context, message))
} else {
allowedKeys := []string{"name", "value"}
var allowedPatterns []*regexp.Regexp
invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
if len(invalidKeys) > 0 {
message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
errors = append(errors, compiler.NewError(context, message))
}
// string name = 1;
v1 := compiler.MapValueForKey(m, "name")
if v1 != nil {
x.Name, ok = v1.(string)
if !ok {
message := fmt.Sprintf("has unexpected value for name: %+v (%T)", v1, v1)
errors = append(errors, compiler.NewError(context, message))
}
}
// Resource value = 2;
v2 := compiler.MapValueForKey(m, "value")
if v2 != nil {
var err error
x.Value, err = NewResource(v2, compiler.NewContext("value", context))
if err != nil {
errors = append(errors, err)
}
}
}
return x, compiler.NewErrorGroupOrNil(errors)
}
// NewNamedSchema creates an object of type NamedSchema if possible, returning an error if not.
func NewNamedSchema(in interface{}, context *compiler.Context) (*NamedSchema, error) {
errors := make([]error, 0)
x := &NamedSchema{}
m, ok := compiler.UnpackMap(in)
if !ok {
message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
errors = append(errors, compiler.NewError(context, message))
} else {
allowedKeys := []string{"name", "value"}
var allowedPatterns []*regexp.Regexp
invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
if len(invalidKeys) > 0 {
message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
errors = append(errors, compiler.NewError(context, message))
}
// string name = 1;
v1 := compiler.MapValueForKey(m, "name")
if v1 != nil {
x.Name, ok = v1.(string)
if !ok {
message := fmt.Sprintf("has unexpected value for name: %+v (%T)", v1, v1)
errors = append(errors, compiler.NewError(context, message))
}
}
// Schema value = 2;
v2 := compiler.MapValueForKey(m, "value")
if v2 != nil {
var err error
x.Value, err = NewSchema(v2, compiler.NewContext("value", context))
if err != nil {
errors = append(errors, err)
}
}
}
return x, compiler.NewErrorGroupOrNil(errors)
}
// NewNamedScope creates an object of type NamedScope if possible, returning an error if not.
func NewNamedScope(in interface{}, context *compiler.Context) (*NamedScope, error) {
errors := make([]error, 0)
x := &NamedScope{}
m, ok := compiler.UnpackMap(in)
if !ok {
message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
errors = append(errors, compiler.NewError(context, message))
} else {
allowedKeys := []string{"name", "value"}
var allowedPatterns []*regexp.Regexp
invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
if len(invalidKeys) > 0 {
message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
errors = append(errors, compiler.NewError(context, message))
}
// string name = 1;
v1 := compiler.MapValueForKey(m, "name")
if v1 != nil {
x.Name, ok = v1.(string)
if !ok {
message := fmt.Sprintf("has unexpected value for name: %+v (%T)", v1, v1)
errors = append(errors, compiler.NewError(context, message))
}
}
// Scope value = 2;
v2 := compiler.MapValueForKey(m, "value")
if v2 != nil {
var err error
x.Value, err = NewScope(v2, compiler.NewContext("value", context))
if err != nil {
errors = append(errors, err)
}
}
}
return x, compiler.NewErrorGroupOrNil(errors)
}
// NewOauth2 creates an object of type Oauth2 if possible, returning an error if not.
func NewOauth2(in interface{}, context *compiler.Context) (*Oauth2, error) {
errors := make([]error, 0)
x := &Oauth2{}
m, ok := compiler.UnpackMap(in)
if !ok {
message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
errors = append(errors, compiler.NewError(context, message))
} else {
allowedKeys := []string{"scopes"}
var allowedPatterns []*regexp.Regexp
invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
if len(invalidKeys) > 0 {
message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
errors = append(errors, compiler.NewError(context, message))
}
// Scopes scopes = 1;
v1 := compiler.MapValueForKey(m, "scopes")
if v1 != nil {
var err error
x.Scopes, err = NewScopes(v1, compiler.NewContext("scopes", context))
if err != nil {
errors = append(errors, err)
}
}
}
return x, compiler.NewErrorGroupOrNil(errors)
}
// NewParameter creates an object of type Parameter if possible, returning an error if not.
func NewParameter(in interface{}, context *compiler.Context) (*Parameter, error) {
errors := make([]error, 0)
x := &Parameter{}
m, ok := compiler.UnpackMap(in)
if !ok {
message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
errors = append(errors, compiler.NewError(context, message))
} else {
allowedKeys := []string{"$ref", "additionalProperties", "annotations", "default", "description", "enum", "enumDescriptions", "format", "id", "items", "location", "maximum", "minimum", "pattern", "properties", "repeated", "required", "type"}
var allowedPatterns []*regexp.Regexp
invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
if len(invalidKeys) > 0 {
message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
errors = append(errors, compiler.NewError(context, message))
}
// string id = 1;
v1 := compiler.MapValueForKey(m, "id")
if v1 != nil {
x.Id, ok = v1.(string)
if !ok {
message := fmt.Sprintf("has unexpected value for id: %+v (%T)", v1, v1)
errors = append(errors, compiler.NewError(context, message))
}
}
// string type = 2;
v2 := compiler.MapValueForKey(m, "type")
if v2 != nil {
x.Type, ok = v2.(string)
if !ok {
message := fmt.Sprintf("has unexpected value for type: %+v (%T)", v2, v2)
errors = append(errors, compiler.NewError(context, message))
}
}
// string _ref = 3;
v3 := compiler.MapValueForKey(m, "$ref")
if v3 != nil {
x.XRef, ok = v3.(string)
if !ok {
message := fmt.Sprintf("has unexpected value for $ref: %+v (%T)", v3, v3)
errors = append(errors, compiler.NewError(context, message))
}
}
// string description = 4;
v4 := compiler.MapValueForKey(m, "description")
if v4 != nil {
x.Description, ok = v4.(string)
if !ok {
message := fmt.Sprintf("has unexpected value for description: %+v (%T)", v4, v4)
errors = append(errors, compiler.NewError(context, message))
}
}
// string default = 5;
v5 := compiler.MapValueForKey(m, "default")
if v5 != nil {
x.Default, ok = v5.(string)
if !ok {
message := fmt.Sprintf("has unexpected value for default: %+v (%T)", v5, v5)
errors = append(errors, compiler.NewError(context, message))
}
}
// bool required = 6;
v6 := compiler.MapValueForKey(m, "required")
if v6 != nil {
x.Required, ok = v6.(bool)
if !ok {
message := fmt.Sprintf("has unexpected value for required: %+v (%T)", v6, v6)
errors = append(errors, compiler.NewError(context, message))
}
}
// string format = 7;
v7 := compiler.MapValueForKey(m, "format")
if v7 != nil {
x.Format, ok = v7.(string)
if !ok {
message := fmt.Sprintf("has unexpected value for format: %+v (%T)", v7, v7)
errors = append(errors, compiler.NewError(context, message))
}
}
// string pattern = 8;
v8 := compiler.MapValueForKey(m, "pattern")
if v8 != nil {
x.Pattern, ok = v8.(string)
if !ok {
message := fmt.Sprintf("has unexpected value for pattern: %+v (%T)", v8, v8)
errors = append(errors, compiler.NewError(context, message))
}
}
// string minimum = 9;
v9 := compiler.MapValueForKey(m, "minimum")
if v9 != nil {
x.Minimum, ok = v9.(string)
if !ok {
message := fmt.Sprintf("has unexpected value for minimum: %+v (%T)", v9, v9)
errors = append(errors, compiler.NewError(context, message))
}
}
// string maximum = 10;
v10 := compiler.MapValueForKey(m, "maximum")
if v10 != nil {
x.Maximum, ok = v10.(string)
if !ok {
message := fmt.Sprintf("has unexpected value for maximum: %+v (%T)", v10, v10)
errors = append(errors, compiler.NewError(context, message))
}
}
// repeated string enum = 11;
v11 := compiler.MapValueForKey(m, "enum")
if v11 != nil {
v, ok := v11.([]interface{})
if ok {
x.Enum = compiler.ConvertInterfaceArrayToStringArray(v)
} else {
message := fmt.Sprintf("has unexpected value for enum: %+v (%T)", v11, v11)
errors = append(errors, compiler.NewError(context, message))
}
}
// repeated string enum_descriptions = 12;
v12 := compiler.MapValueForKey(m, "enumDescriptions")
if v12 != nil {
v, ok := v12.([]interface{})
if ok {
x.EnumDescriptions = compiler.ConvertInterfaceArrayToStringArray(v)
} else {
message := fmt.Sprintf("has unexpected value for enumDescriptions: %+v (%T)", v12, v12)
errors = append(errors, compiler.NewError(context, message))
}
}
// bool repeated = 13;
v13 := compiler.MapValueForKey(m, "repeated")
if v13 != nil {
x.Repeated, ok = v13.(bool)
if !ok {
message := fmt.Sprintf("has unexpected value for repeated: %+v (%T)", v13, v13)
errors = append(errors, compiler.NewError(context, message))
}
}
// string location = 14;
v14 := compiler.MapValueForKey(m, "location")
if v14 != nil {
x.Location, ok = v14.(string)
if !ok {
message := fmt.Sprintf("has unexpected value for location: %+v (%T)", v14, v14)
errors = append(errors, compiler.NewError(context, message))
}
}
// Schemas properties = 15;
v15 := compiler.MapValueForKey(m, "properties")
if v15 != nil {
var err error
x.Properties, err = NewSchemas(v15, compiler.NewContext("properties", context))
if err != nil {
errors = append(errors, err)
}
}
// Schema additional_properties = 16;
v16 := compiler.MapValueForKey(m, "additionalProperties")
if v16 != nil {
var err error
x.AdditionalProperties, err = NewSchema(v16, compiler.NewContext("additionalProperties", context))
if err != nil {
errors = append(errors, err)
}
}
// Schema items = 17;
v17 := compiler.MapValueForKey(m, "items")
if v17 != nil {
var err error
x.Items, err = NewSchema(v17, compiler.NewContext("items", context))
if err != nil {
errors = append(errors, err)
}
}
// Annotations annotations = 18;
v18 := compiler.MapValueForKey(m, "annotations")
if v18 != nil {
var err error
x.Annotations, err = NewAnnotations(v18, compiler.NewContext("annotations", context))
if err != nil {
errors = append(errors, err)
}
}
}
return x, compiler.NewErrorGroupOrNil(errors)
}
// NewParameters creates an object of type Parameters if possible, returning an error if not.
func NewParameters(in interface{}, context *compiler.Context) (*Parameters, error) {
errors := make([]error, 0)
x := &Parameters{}
m, ok := compiler.UnpackMap(in)
if !ok {
message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
errors = append(errors, compiler.NewError(context, message))
} else {
// repeated NamedParameter additional_properties = 1;
// MAP: Parameter
x.AdditionalProperties = make([]*NamedParameter, 0)
for _, item := range m {
k, ok := compiler.StringValue(item.Key)
if ok {
v := item.Value
pair := &NamedParameter{}
pair.Name = k
var err error
pair.Value, err = NewParameter(v, compiler.NewContext(k, context))
if err != nil {
errors = append(errors, err)
}
x.AdditionalProperties = append(x.AdditionalProperties, pair)
}
}
}
return x, compiler.NewErrorGroupOrNil(errors)
}
// NewProtocols creates an object of type Protocols if possible, returning an error if not.
func NewProtocols(in interface{}, context *compiler.Context) (*Protocols, error) {
errors := make([]error, 0)
x := &Protocols{}
m, ok := compiler.UnpackMap(in)
if !ok {
message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
errors = append(errors, compiler.NewError(context, message))
} else {
allowedKeys := []string{"resumable", "simple"}
var allowedPatterns []*regexp.Regexp
invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
if len(invalidKeys) > 0 {
message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
errors = append(errors, compiler.NewError(context, message))
}
// Simple simple = 1;
v1 := compiler.MapValueForKey(m, "simple")
if v1 != nil {
var err error
x.Simple, err = NewSimple(v1, compiler.NewContext("simple", context))
if err != nil {
errors = append(errors, err)
}
}
// Resumable resumable = 2;
v2 := compiler.MapValueForKey(m, "resumable")
if v2 != nil {
var err error
x.Resumable, err = NewResumable(v2, compiler.NewContext("resumable", context))
if err != nil {
errors = append(errors, err)
}
}
}
return x, compiler.NewErrorGroupOrNil(errors)
}
// NewRequest creates an object of type Request if possible, returning an error if not.
func NewRequest(in interface{}, context *compiler.Context) (*Request, error) {
errors := make([]error, 0)
x := &Request{}
m, ok := compiler.UnpackMap(in)
if !ok {
message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
errors = append(errors, compiler.NewError(context, message))
} else {
allowedKeys := []string{"$ref", "parameterName"}
var allowedPatterns []*regexp.Regexp
invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
if len(invalidKeys) > 0 {
message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
errors = append(errors, compiler.NewError(context, message))
}
// string _ref = 1;
v1 := compiler.MapValueForKey(m, "$ref")
if v1 != nil {
x.XRef, ok = v1.(string)
if !ok {
message := fmt.Sprintf("has unexpected value for $ref: %+v (%T)", v1, v1)
errors = append(errors, compiler.NewError(context, message))
}
}
// string parameter_name = 2;
v2 := compiler.MapValueForKey(m, "parameterName")
if v2 != nil {
x.ParameterName, ok = v2.(string)
if !ok {
message := fmt.Sprintf("has unexpected value for parameterName: %+v (%T)", v2, v2)
errors = append(errors, compiler.NewError(context, message))
}
}
}
return x, compiler.NewErrorGroupOrNil(errors)
}
// NewResource creates an object of type Resource if possible, returning an error if not.
func NewResource(in interface{}, context *compiler.Context) (*Resource, error) {
errors := make([]error, 0)
x := &Resource{}
m, ok := compiler.UnpackMap(in)
if !ok {
message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
errors = append(errors, compiler.NewError(context, message))
} else {
allowedKeys := []string{"methods", "resources"}
var allowedPatterns []*regexp.Regexp
invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
if len(invalidKeys) > 0 {
message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
errors = append(errors, compiler.NewError(context, message))
}
// Methods methods = 1;
v1 := compiler.MapValueForKey(m, "methods")
if v1 != nil {
var err error
x.Methods, err = NewMethods(v1, compiler.NewContext("methods", context))
if err != nil {
errors = append(errors, err)
}
}
// Resources resources = 2;
v2 := compiler.MapValueForKey(m, "resources")
if v2 != nil {
var err error
x.Resources, err = NewResources(v2, compiler.NewContext("resources", context))
if err != nil {
errors = append(errors, err)
}
}
}
return x, compiler.NewErrorGroupOrNil(errors)
}
// NewResources creates an object of type Resources if possible, returning an error if not.
func NewResources(in interface{}, context *compiler.Context) (*Resources, error) {
errors := make([]error, 0)
x := &Resources{}
m, ok := compiler.UnpackMap(in)
if !ok {
message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
errors = append(errors, compiler.NewError(context, message))
} else {
// repeated NamedResource additional_properties = 1;
// MAP: Resource
x.AdditionalProperties = make([]*NamedResource, 0)
for _, item := range m {
k, ok := compiler.StringValue(item.Key)
if ok {
v := item.Value
pair := &NamedResource{}
pair.Name = k
var err error
pair.Value, err = NewResource(v, compiler.NewContext(k, context))
if err != nil {
errors = append(errors, err)
}
x.AdditionalProperties = append(x.AdditionalProperties, pair)
}
}
}
return x, compiler.NewErrorGroupOrNil(errors)
}
// NewResponse creates an object of type Response if possible, returning an error if not.
func NewResponse(in interface{}, context *compiler.Context) (*Response, error) {
errors := make([]error, 0)
x := &Response{}
m, ok := compiler.UnpackMap(in)
if !ok {
message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
errors = append(errors, compiler.NewError(context, message))
} else {
allowedKeys := []string{"$ref"}
var allowedPatterns []*regexp.Regexp
invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
if len(invalidKeys) > 0 {
message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
errors = append(errors, compiler.NewError(context, message))
}
// string _ref = 1;
v1 := compiler.MapValueForKey(m, "$ref")
if v1 != nil {
x.XRef, ok = v1.(string)
if !ok {
message := fmt.Sprintf("has unexpected value for $ref: %+v (%T)", v1, v1)
errors = append(errors, compiler.NewError(context, message))
}
}
}
return x, compiler.NewErrorGroupOrNil(errors)
}
// NewResumable creates an object of type Resumable if possible, returning an error if not.
func NewResumable(in interface{}, context *compiler.Context) (*Resumable, error) {
errors := make([]error, 0)
x := &Resumable{}
m, ok := compiler.UnpackMap(in)
if !ok {
message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
errors = append(errors, compiler.NewError(context, message))
} else {
allowedKeys := []string{"multipart", "path"}
var allowedPatterns []*regexp.Regexp
invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
if len(invalidKeys) > 0 {
message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
errors = append(errors, compiler.NewError(context, message))
}
// bool multipart = 1;
v1 := compiler.MapValueForKey(m, "multipart")
if v1 != nil {
x.Multipart, ok = v1.(bool)
if !ok {
message := fmt.Sprintf("has unexpected value for multipart: %+v (%T)", v1, v1)
errors = append(errors, compiler.NewError(context, message))
}
}
// string path = 2;
v2 := compiler.MapValueForKey(m, "path")
if v2 != nil {
x.Path, ok = v2.(string)
if !ok {
message := fmt.Sprintf("has unexpected value for path: %+v (%T)", v2, v2)
errors = append(errors, compiler.NewError(context, message))
}
}
}
return x, compiler.NewErrorGroupOrNil(errors)
}
// NewSchema creates an object of type Schema if possible, returning an error if not.
func NewSchema(in interface{}, context *compiler.Context) (*Schema, error) {
errors := make([]error, 0)
x := &Schema{}
m, ok := compiler.UnpackMap(in)
if !ok {
message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
errors = append(errors, compiler.NewError(context, message))
} else {
allowedKeys := []string{"$ref", "additionalProperties", "annotations", "default", "description", "enum", "enumDescriptions", "format", "id", "items", "location", "maximum", "minimum", "pattern", "properties", "readOnly", "repeated", "required", "type"}
var allowedPatterns []*regexp.Regexp
invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
if len(invalidKeys) > 0 {
message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
errors = append(errors, compiler.NewError(context, message))
}
// string id = 1;
v1 := compiler.MapValueForKey(m, "id")
if v1 != nil {
x.Id, ok = v1.(string)
if !ok {
message := fmt.Sprintf("has unexpected value for id: %+v (%T)", v1, v1)
errors = append(errors, compiler.NewError(context, message))
}
}
// string type = 2;
v2 := compiler.MapValueForKey(m, "type")
if v2 != nil {
x.Type, ok = v2.(string)
if !ok {
message := fmt.Sprintf("has unexpected value for type: %+v (%T)", v2, v2)
errors = append(errors, compiler.NewError(context, message))
}
}
// string description = 3;
v3 := compiler.MapValueForKey(m, "description")
if v3 != nil {
x.Description, ok = v3.(string)
if !ok {
message := fmt.Sprintf("has unexpected value for description: %+v (%T)", v3, v3)
errors = append(errors, compiler.NewError(context, message))
}
}
// string default = 4;
v4 := compiler.MapValueForKey(m, "default")
if v4 != nil {
x.Default, ok = v4.(string)
if !ok {
message := fmt.Sprintf("has unexpected value for default: %+v (%T)", v4, v4)
errors = append(errors, compiler.NewError(context, message))
}
}
// bool required = 5;
v5 := compiler.MapValueForKey(m, "required")
if v5 != nil {
x.Required, ok = v5.(bool)
if !ok {
message := fmt.Sprintf("has unexpected value for required: %+v (%T)", v5, v5)
errors = append(errors, compiler.NewError(context, message))
}
}
// string format = 6;
v6 := compiler.MapValueForKey(m, "format")
if v6 != nil {
x.Format, ok = v6.(string)
if !ok {
message := fmt.Sprintf("has unexpected value for format: %+v (%T)", v6, v6)
errors = append(errors, compiler.NewError(context, message))
}
}
// string pattern = 7;
v7 := compiler.MapValueForKey(m, "pattern")
if v7 != nil {
x.Pattern, ok = v7.(string)
if !ok {
message := fmt.Sprintf("has unexpected value for pattern: %+v (%T)", v7, v7)
errors = append(errors, compiler.NewError(context, message))
}
}
// string minimum = 8;
v8 := compiler.MapValueForKey(m, "minimum")
if v8 != nil {
x.Minimum, ok = v8.(string)
if !ok {
message := fmt.Sprintf("has unexpected value for minimum: %+v (%T)", v8, v8)
errors = append(errors, compiler.NewError(context, message))
}
}
// string maximum = 9;
v9 := compiler.MapValueForKey(m, "maximum")
if v9 != nil {
x.Maximum, ok = v9.(string)
if !ok {
message := fmt.Sprintf("has unexpected value for maximum: %+v (%T)", v9, v9)
errors = append(errors, compiler.NewError(context, message))
}
}
// repeated string enum = 10;
v10 := compiler.MapValueForKey(m, "enum")
if v10 != nil {
v, ok := v10.([]interface{})
if ok {
x.Enum = compiler.ConvertInterfaceArrayToStringArray(v)
} else {
message := fmt.Sprintf("has unexpected value for enum: %+v (%T)", v10, v10)
errors = append(errors, compiler.NewError(context, message))
}
}
// repeated string enum_descriptions = 11;
v11 := compiler.MapValueForKey(m, "enumDescriptions")
if v11 != nil {
v, ok := v11.([]interface{})
if ok {
x.EnumDescriptions = compiler.ConvertInterfaceArrayToStringArray(v)
} else {
message := fmt.Sprintf("has unexpected value for enumDescriptions: %+v (%T)", v11, v11)
errors = append(errors, compiler.NewError(context, message))
}
}
// bool repeated = 12;
v12 := compiler.MapValueForKey(m, "repeated")
if v12 != nil {
x.Repeated, ok = v12.(bool)
if !ok {
message := fmt.Sprintf("has unexpected value for repeated: %+v (%T)", v12, v12)
errors = append(errors, compiler.NewError(context, message))
}
}
// string location = 13;
v13 := compiler.MapValueForKey(m, "location")
if v13 != nil {
x.Location, ok = v13.(string)
if !ok {
message := fmt.Sprintf("has unexpected value for location: %+v (%T)", v13, v13)
errors = append(errors, compiler.NewError(context, message))
}
}
// Schemas properties = 14;
v14 := compiler.MapValueForKey(m, "properties")
if v14 != nil {
var err error
x.Properties, err = NewSchemas(v14, compiler.NewContext("properties", context))
if err != nil {
errors = append(errors, err)
}
}
// Schema additional_properties = 15;
v15 := compiler.MapValueForKey(m, "additionalProperties")
if v15 != nil {
var err error
x.AdditionalProperties, err = NewSchema(v15, compiler.NewContext("additionalProperties", context))
if err != nil {
errors = append(errors, err)
}
}
// Schema items = 16;
v16 := compiler.MapValueForKey(m, "items")
if v16 != nil {
var err error
x.Items, err = NewSchema(v16, compiler.NewContext("items", context))
if err != nil {
errors = append(errors, err)
}
}
// string _ref = 17;
v17 := compiler.MapValueForKey(m, "$ref")
if v17 != nil {
x.XRef, ok = v17.(string)
if !ok {
message := fmt.Sprintf("has unexpected value for $ref: %+v (%T)", v17, v17)
errors = append(errors, compiler.NewError(context, message))
}
}
// Annotations annotations = 18;
v18 := compiler.MapValueForKey(m, "annotations")
if v18 != nil {
var err error
x.Annotations, err = NewAnnotations(v18, compiler.NewContext("annotations", context))
if err != nil {
errors = append(errors, err)
}
}
// bool read_only = 19;
v19 := compiler.MapValueForKey(m, "readOnly")
if v19 != nil {
x.ReadOnly, ok = v19.(bool)
if !ok {
message := fmt.Sprintf("has unexpected value for readOnly: %+v (%T)", v19, v19)
errors = append(errors, compiler.NewError(context, message))
}
}
}
return x, compiler.NewErrorGroupOrNil(errors)
}
// NewSchemas creates an object of type Schemas if possible, returning an error if not.
func NewSchemas(in interface{}, context *compiler.Context) (*Schemas, error) {
errors := make([]error, 0)
x := &Schemas{}
m, ok := compiler.UnpackMap(in)
if !ok {
message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
errors = append(errors, compiler.NewError(context, message))
} else {
// repeated NamedSchema additional_properties = 1;
// MAP: Schema
x.AdditionalProperties = make([]*NamedSchema, 0)
for _, item := range m {
k, ok := compiler.StringValue(item.Key)
if ok {
v := item.Value
pair := &NamedSchema{}
pair.Name = k
var err error
pair.Value, err = NewSchema(v, compiler.NewContext(k, context))
if err != nil {
errors = append(errors, err)
}
x.AdditionalProperties = append(x.AdditionalProperties, pair)
}
}
}
return x, compiler.NewErrorGroupOrNil(errors)
}
// NewScope creates an object of type Scope if possible, returning an error if not.
func NewScope(in interface{}, context *compiler.Context) (*Scope, error) {
errors := make([]error, 0)
x := &Scope{}
m, ok := compiler.UnpackMap(in)
if !ok {
message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
errors = append(errors, compiler.NewError(context, message))
} else {
allowedKeys := []string{"description"}
var allowedPatterns []*regexp.Regexp
invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
if len(invalidKeys) > 0 {
message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
errors = append(errors, compiler.NewError(context, message))
}
// string description = 1;
v1 := compiler.MapValueForKey(m, "description")
if v1 != nil {
x.Description, ok = v1.(string)
if !ok {
message := fmt.Sprintf("has unexpected value for description: %+v (%T)", v1, v1)
errors = append(errors, compiler.NewError(context, message))
}
}
}
return x, compiler.NewErrorGroupOrNil(errors)
}
// NewScopes creates an object of type Scopes if possible, returning an error if not.
func NewScopes(in interface{}, context *compiler.Context) (*Scopes, error) {
errors := make([]error, 0)
x := &Scopes{}
m, ok := compiler.UnpackMap(in)
if !ok {
message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
errors = append(errors, compiler.NewError(context, message))
} else {
// repeated NamedScope additional_properties = 1;
// MAP: Scope
x.AdditionalProperties = make([]*NamedScope, 0)
for _, item := range m {
k, ok := compiler.StringValue(item.Key)
if ok {
v := item.Value
pair := &NamedScope{}
pair.Name = k
var err error
pair.Value, err = NewScope(v, compiler.NewContext(k, context))
if err != nil {
errors = append(errors, err)
}
x.AdditionalProperties = append(x.AdditionalProperties, pair)
}
}
}
return x, compiler.NewErrorGroupOrNil(errors)
}
// NewSimple creates an object of type Simple if possible, returning an error if not.
func NewSimple(in interface{}, context *compiler.Context) (*Simple, error) {
errors := make([]error, 0)
x := &Simple{}
m, ok := compiler.UnpackMap(in)
if !ok {
message := fmt.Sprintf("has unexpected value: %+v (%T)", in, in)
errors = append(errors, compiler.NewError(context, message))
} else {
allowedKeys := []string{"multipart", "path"}
var allowedPatterns []*regexp.Regexp
invalidKeys := compiler.InvalidKeysInMap(m, allowedKeys, allowedPatterns)
if len(invalidKeys) > 0 {
message := fmt.Sprintf("has invalid %s: %+v", compiler.PluralProperties(len(invalidKeys)), strings.Join(invalidKeys, ", "))
errors = append(errors, compiler.NewError(context, message))
}
// bool multipart = 1;
v1 := compiler.MapValueForKey(m, "multipart")
if v1 != nil {
x.Multipart, ok = v1.(bool)
if !ok {
message := fmt.Sprintf("has unexpected value for multipart: %+v (%T)", v1, v1)
errors = append(errors, compiler.NewError(context, message))
}
}
// string path = 2;
v2 := compiler.MapValueForKey(m, "path")
if v2 != nil {
x.Path, ok = v2.(string)
if !ok {
message := fmt.Sprintf("has unexpected value for path: %+v (%T)", v2, v2)
errors = append(errors, compiler.NewError(context, message))
}
}
}
return x, compiler.NewErrorGroupOrNil(errors)
}
// NewStringArray creates an object of type StringArray if possible, returning an error if not.
func NewStringArray(in interface{}, context *compiler.Context) (*StringArray, error) {
errors := make([]error, 0)
x := &StringArray{}
a, ok := in.([]interface{})
if !ok {
message := fmt.Sprintf("has unexpected value for StringArray: %+v (%T)", in, in)
errors = append(errors, compiler.NewError(context, message))
} else {
x.Value = make([]string, 0)
for _, s := range a {
x.Value = append(x.Value, s.(string))
}
}
return x, compiler.NewErrorGroupOrNil(errors)
}
// ResolveReferences resolves references found inside Annotations objects.
func (m *Annotations) ResolveReferences(root string) (interface{}, error) {
errors := make([]error, 0)
return nil, compiler.NewErrorGroupOrNil(errors)
}
// ResolveReferences resolves references found inside Any objects.
func (m *Any) ResolveReferences(root string) (interface{}, error) {
errors := make([]error, 0)
return nil, compiler.NewErrorGroupOrNil(errors)
}
// ResolveReferences resolves references found inside Auth objects.
func (m *Auth) ResolveReferences(root string) (interface{}, error) {
errors := make([]error, 0)
if m.Oauth2 != nil {
_, err := m.Oauth2.ResolveReferences(root)
if err != nil {
errors = append(errors, err)
}
}
return nil, compiler.NewErrorGroupOrNil(errors)
}
// ResolveReferences resolves references found inside Document objects.
func (m *Document) ResolveReferences(root string) (interface{}, error) {
errors := make([]error, 0)
if m.Icons != nil {
_, err := m.Icons.ResolveReferences(root)
if err != nil {
errors = append(errors, err)
}
}
if m.Parameters != nil {
_, err := m.Parameters.ResolveReferences(root)
if err != nil {
errors = append(errors, err)
}
}
if m.Auth != nil {
_, err := m.Auth.ResolveReferences(root)
if err != nil {
errors = append(errors, err)
}
}
if m.Schemas != nil {
_, err := m.Schemas.ResolveReferences(root)
if err != nil {
errors = append(errors, err)
}
}
if m.Methods != nil {
_, err := m.Methods.ResolveReferences(root)
if err != nil {
errors = append(errors, err)
}
}
if m.Resources != nil {
_, err := m.Resources.ResolveReferences(root)
if err != nil {
errors = append(errors, err)
}
}
return nil, compiler.NewErrorGroupOrNil(errors)
}
// ResolveReferences resolves references found inside Icons objects.
func (m *Icons) ResolveReferences(root string) (interface{}, error) {
errors := make([]error, 0)
return nil, compiler.NewErrorGroupOrNil(errors)
}
// ResolveReferences resolves references found inside MediaUpload objects.
func (m *MediaUpload) ResolveReferences(root string) (interface{}, error) {
errors := make([]error, 0)
if m.Protocols != nil {
_, err := m.Protocols.ResolveReferences(root)
if err != nil {
errors = append(errors, err)
}
}
return nil, compiler.NewErrorGroupOrNil(errors)
}
// ResolveReferences resolves references found inside Method objects.
func (m *Method) ResolveReferences(root string) (interface{}, error) {
errors := make([]error, 0)
if m.Parameters != nil {
_, err := m.Parameters.ResolveReferences(root)
if err != nil {
errors = append(errors, err)
}
}
if m.Request != nil {
_, err := m.Request.ResolveReferences(root)
if err != nil {
errors = append(errors, err)
}
}
if m.Response != nil {
_, err := m.Response.ResolveReferences(root)
if err != nil {
errors = append(errors, err)
}
}
if m.MediaUpload != nil {
_, err := m.MediaUpload.ResolveReferences(root)
if err != nil {
errors = append(errors, err)
}
}
return nil, compiler.NewErrorGroupOrNil(errors)
}
// ResolveReferences resolves references found inside Methods objects.
func (m *Methods) ResolveReferences(root string) (interface{}, error) {
errors := make([]error, 0)
for _, item := range m.AdditionalProperties {
if item != nil {
_, err := item.ResolveReferences(root)
if err != nil {
errors = append(errors, err)
}
}
}
return nil, compiler.NewErrorGroupOrNil(errors)
}
// ResolveReferences resolves references found inside NamedMethod objects.
func (m *NamedMethod) ResolveReferences(root string) (interface{}, error) {
errors := make([]error, 0)
if m.Value != nil {
_, err := m.Value.ResolveReferences(root)
if err != nil {
errors = append(errors, err)
}
}
return nil, compiler.NewErrorGroupOrNil(errors)
}
// ResolveReferences resolves references found inside NamedParameter objects.
func (m *NamedParameter) ResolveReferences(root string) (interface{}, error) {
errors := make([]error, 0)
if m.Value != nil {
_, err := m.Value.ResolveReferences(root)
if err != nil {
errors = append(errors, err)
}
}
return nil, compiler.NewErrorGroupOrNil(errors)
}
// ResolveReferences resolves references found inside NamedResource objects.
func (m *NamedResource) ResolveReferences(root string) (interface{}, error) {
errors := make([]error, 0)
if m.Value != nil {
_, err := m.Value.ResolveReferences(root)
if err != nil {
errors = append(errors, err)
}
}
return nil, compiler.NewErrorGroupOrNil(errors)
}
// ResolveReferences resolves references found inside NamedSchema objects.
func (m *NamedSchema) ResolveReferences(root string) (interface{}, error) {
errors := make([]error, 0)
if m.Value != nil {
_, err := m.Value.ResolveReferences(root)
if err != nil {
errors = append(errors, err)
}
}
return nil, compiler.NewErrorGroupOrNil(errors)
}
// ResolveReferences resolves references found inside NamedScope objects.
func (m *NamedScope) ResolveReferences(root string) (interface{}, error) {
errors := make([]error, 0)
if m.Value != nil {
_, err := m.Value.ResolveReferences(root)
if err != nil {
errors = append(errors, err)
}
}
return nil, compiler.NewErrorGroupOrNil(errors)
}
// ResolveReferences resolves references found inside Oauth2 objects.
func (m *Oauth2) ResolveReferences(root string) (interface{}, error) {
errors := make([]error, 0)
if m.Scopes != nil {
_, err := m.Scopes.ResolveReferences(root)
if err != nil {
errors = append(errors, err)
}
}
return nil, compiler.NewErrorGroupOrNil(errors)
}
// ResolveReferences resolves references found inside Parameter objects.
func (m *Parameter) ResolveReferences(root string) (interface{}, error) {
errors := make([]error, 0)
if m.XRef != "" {
info, err := compiler.ReadInfoForRef(root, m.XRef)
if err != nil {
return nil, err
}
if info != nil {
replacement, err := NewParameter(info, nil)
if err == nil {
*m = *replacement
return m.ResolveReferences(root)
}
}
return info, nil
}
if m.Properties != nil {
_, err := m.Properties.ResolveReferences(root)
if err != nil {
errors = append(errors, err)
}
}
if m.AdditionalProperties != nil {
_, err := m.AdditionalProperties.ResolveReferences(root)
if err != nil {
errors = append(errors, err)
}
}
if m.Items != nil {
_, err := m.Items.ResolveReferences(root)
if err != nil {
errors = append(errors, err)
}
}
if m.Annotations != nil {
_, err := m.Annotations.ResolveReferences(root)
if err != nil {
errors = append(errors, err)
}
}
return nil, compiler.NewErrorGroupOrNil(errors)
}
// ResolveReferences resolves references found inside Parameters objects.
func (m *Parameters) ResolveReferences(root string) (interface{}, error) {
errors := make([]error, 0)
for _, item := range m.AdditionalProperties {
if item != nil {
_, err := item.ResolveReferences(root)
if err != nil {
errors = append(errors, err)
}
}
}
return nil, compiler.NewErrorGroupOrNil(errors)
}
// ResolveReferences resolves references found inside Protocols objects.
func (m *Protocols) ResolveReferences(root string) (interface{}, error) {
errors := make([]error, 0)
if m.Simple != nil {
_, err := m.Simple.ResolveReferences(root)
if err != nil {
errors = append(errors, err)
}
}
if m.Resumable != nil {
_, err := m.Resumable.ResolveReferences(root)
if err != nil {
errors = append(errors, err)
}
}
return nil, compiler.NewErrorGroupOrNil(errors)
}
// ResolveReferences resolves references found inside Request objects.
func (m *Request) ResolveReferences(root string) (interface{}, error) {
errors := make([]error, 0)
if m.XRef != "" {
info, err := compiler.ReadInfoForRef(root, m.XRef)
if err != nil {
return nil, err
}
if info != nil {
replacement, err := NewRequest(info, nil)
if err == nil {
*m = *replacement
return m.ResolveReferences(root)
}
}
return info, nil
}
return nil, compiler.NewErrorGroupOrNil(errors)
}
// ResolveReferences resolves references found inside Resource objects.
func (m *Resource) ResolveReferences(root string) (interface{}, error) {
errors := make([]error, 0)
if m.Methods != nil {
_, err := m.Methods.ResolveReferences(root)
if err != nil {
errors = append(errors, err)
}
}
if m.Resources != nil {
_, err := m.Resources.ResolveReferences(root)
if err != nil {
errors = append(errors, err)
}
}
return nil, compiler.NewErrorGroupOrNil(errors)
}
// ResolveReferences resolves references found inside Resources objects.
func (m *Resources) ResolveReferences(root string) (interface{}, error) {
errors := make([]error, 0)
for _, item := range m.AdditionalProperties {
if item != nil {
_, err := item.ResolveReferences(root)
if err != nil {
errors = append(errors, err)
}
}
}
return nil, compiler.NewErrorGroupOrNil(errors)
}
// ResolveReferences resolves references found inside Response objects.
func (m *Response) ResolveReferences(root string) (interface{}, error) {
errors := make([]error, 0)
if m.XRef != "" {
info, err := compiler.ReadInfoForRef(root, m.XRef)
if err != nil {
return nil, err
}
return info, nil
}
return nil, compiler.NewErrorGroupOrNil(errors)
}
// ResolveReferences resolves references found inside Resumable objects.
func (m *Resumable) ResolveReferences(root string) (interface{}, error) {
errors := make([]error, 0)
return nil, compiler.NewErrorGroupOrNil(errors)
}
// ResolveReferences resolves references found inside Schema objects.
func (m *Schema) ResolveReferences(root string) (interface{}, error) {
errors := make([]error, 0)
if m.Properties != nil {
_, err := m.Properties.ResolveReferences(root)
if err != nil {
errors = append(errors, err)
}
}
if m.AdditionalProperties != nil {
_, err := m.AdditionalProperties.ResolveReferences(root)
if err != nil {
errors = append(errors, err)
}
}
if m.Items != nil {
_, err := m.Items.ResolveReferences(root)
if err != nil {
errors = append(errors, err)
}
}
if m.XRef != "" {
info, err := compiler.ReadInfoForRef(root, m.XRef)
if err != nil {
return nil, err
}
if info != nil {
replacement, err := NewSchema(info, nil)
if err == nil {
*m = *replacement
return m.ResolveReferences(root)
}
}
return info, nil
}
if m.Annotations != nil {
_, err := m.Annotations.ResolveReferences(root)
if err != nil {
errors = append(errors, err)
}
}
return nil, compiler.NewErrorGroupOrNil(errors)
}
// ResolveReferences resolves references found inside Schemas objects.
func (m *Schemas) ResolveReferences(root string) (interface{}, error) {
errors := make([]error, 0)
for _, item := range m.AdditionalProperties {
if item != nil {
_, err := item.ResolveReferences(root)
if err != nil {
errors = append(errors, err)
}
}
}
return nil, compiler.NewErrorGroupOrNil(errors)
}
// ResolveReferences resolves references found inside Scope objects.
func (m *Scope) ResolveReferences(root string) (interface{}, error) {
errors := make([]error, 0)
return nil, compiler.NewErrorGroupOrNil(errors)
}
// ResolveReferences resolves references found inside Scopes objects.
func (m *Scopes) ResolveReferences(root string) (interface{}, error) {
errors := make([]error, 0)
for _, item := range m.AdditionalProperties {
if item != nil {
_, err := item.ResolveReferences(root)
if err != nil {
errors = append(errors, err)
}
}
}
return nil, compiler.NewErrorGroupOrNil(errors)
}
// ResolveReferences resolves references found inside Simple objects.
func (m *Simple) ResolveReferences(root string) (interface{}, error) {
errors := make([]error, 0)
return nil, compiler.NewErrorGroupOrNil(errors)
}
// ResolveReferences resolves references found inside StringArray objects.
func (m *StringArray) ResolveReferences(root string) (interface{}, error) {
errors := make([]error, 0)
return nil, compiler.NewErrorGroupOrNil(errors)
}
// ToRawInfo returns a description of Annotations suitable for JSON or YAML export.
func (m *Annotations) ToRawInfo() interface{} {
info := yaml.MapSlice{}
if len(m.Required) != 0 {
info = append(info, yaml.MapItem{Key: "required", Value: m.Required})
}
return info
}
// ToRawInfo returns a description of Any suitable for JSON or YAML export.
func (m *Any) ToRawInfo() interface{} {
var err error
var info1 []yaml.MapSlice
err = yaml.Unmarshal([]byte(m.Yaml), &info1)
if err == nil {
return info1
}
var info2 yaml.MapSlice
err = yaml.Unmarshal([]byte(m.Yaml), &info2)
if err == nil {
return info2
}
var info3 interface{}
err = yaml.Unmarshal([]byte(m.Yaml), &info3)
if err == nil {
return info3
}
return nil
}
// ToRawInfo returns a description of Auth suitable for JSON or YAML export.
func (m *Auth) ToRawInfo() interface{} {
info := yaml.MapSlice{}
if m.Oauth2 != nil {
info = append(info, yaml.MapItem{Key: "oauth2", Value: m.Oauth2.ToRawInfo()})
}
// &{Name:oauth2 Type:Oauth2 StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
return info
}
// ToRawInfo returns a description of Document suitable for JSON or YAML export.
func (m *Document) ToRawInfo() interface{} {
info := yaml.MapSlice{}
if m.Kind != "" {
info = append(info, yaml.MapItem{Key: "kind", Value: m.Kind})
}
if m.DiscoveryVersion != "" {
info = append(info, yaml.MapItem{Key: "discoveryVersion", Value: m.DiscoveryVersion})
}
if m.Id != "" {
info = append(info, yaml.MapItem{Key: "id", Value: m.Id})
}
if m.Name != "" {
info = append(info, yaml.MapItem{Key: "name", Value: m.Name})
}
if m.Version != "" {
info = append(info, yaml.MapItem{Key: "version", Value: m.Version})
}
if m.Revision != "" {
info = append(info, yaml.MapItem{Key: "revision", Value: m.Revision})
}
if m.Title != "" {
info = append(info, yaml.MapItem{Key: "title", Value: m.Title})
}
if m.Description != "" {
info = append(info, yaml.MapItem{Key: "description", Value: m.Description})
}
if m.Icons != nil {
info = append(info, yaml.MapItem{Key: "icons", Value: m.Icons.ToRawInfo()})
}
// &{Name:icons Type:Icons StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
if m.DocumentationLink != "" {
info = append(info, yaml.MapItem{Key: "documentationLink", Value: m.DocumentationLink})
}
if len(m.Labels) != 0 {
info = append(info, yaml.MapItem{Key: "labels", Value: m.Labels})
}
if m.Protocol != "" {
info = append(info, yaml.MapItem{Key: "protocol", Value: m.Protocol})
}
if m.BaseUrl != "" {
info = append(info, yaml.MapItem{Key: "baseUrl", Value: m.BaseUrl})
}
if m.BasePath != "" {
info = append(info, yaml.MapItem{Key: "basePath", Value: m.BasePath})
}
if m.RootUrl != "" {
info = append(info, yaml.MapItem{Key: "rootUrl", Value: m.RootUrl})
}
if m.ServicePath != "" {
info = append(info, yaml.MapItem{Key: "servicePath", Value: m.ServicePath})
}
if m.BatchPath != "" {
info = append(info, yaml.MapItem{Key: "batchPath", Value: m.BatchPath})
}
if m.Parameters != nil {
info = append(info, yaml.MapItem{Key: "parameters", Value: m.Parameters.ToRawInfo()})
}
// &{Name:parameters Type:Parameters StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
if m.Auth != nil {
info = append(info, yaml.MapItem{Key: "auth", Value: m.Auth.ToRawInfo()})
}
// &{Name:auth Type:Auth StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
if len(m.Features) != 0 {
info = append(info, yaml.MapItem{Key: "features", Value: m.Features})
}
if m.Schemas != nil {
info = append(info, yaml.MapItem{Key: "schemas", Value: m.Schemas.ToRawInfo()})
}
// &{Name:schemas Type:Schemas StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
if m.Methods != nil {
info = append(info, yaml.MapItem{Key: "methods", Value: m.Methods.ToRawInfo()})
}
// &{Name:methods Type:Methods StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
if m.Resources != nil {
info = append(info, yaml.MapItem{Key: "resources", Value: m.Resources.ToRawInfo()})
}
// &{Name:resources Type:Resources StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
if m.Etag != "" {
info = append(info, yaml.MapItem{Key: "etag", Value: m.Etag})
}
if m.OwnerDomain != "" {
info = append(info, yaml.MapItem{Key: "ownerDomain", Value: m.OwnerDomain})
}
if m.OwnerName != "" {
info = append(info, yaml.MapItem{Key: "ownerName", Value: m.OwnerName})
}
if m.VersionModule != false {
info = append(info, yaml.MapItem{Key: "version_module", Value: m.VersionModule})
}
if m.CanonicalName != "" {
info = append(info, yaml.MapItem{Key: "canonicalName", Value: m.CanonicalName})
}
if m.FullyEncodeReservedExpansion != false {
info = append(info, yaml.MapItem{Key: "fullyEncodeReservedExpansion", Value: m.FullyEncodeReservedExpansion})
}
if m.PackagePath != "" {
info = append(info, yaml.MapItem{Key: "packagePath", Value: m.PackagePath})
}
return info
}
// ToRawInfo returns a description of Icons suitable for JSON or YAML export.
func (m *Icons) ToRawInfo() interface{} {
info := yaml.MapSlice{}
if m.X16 != "" {
info = append(info, yaml.MapItem{Key: "x16", Value: m.X16})
}
if m.X32 != "" {
info = append(info, yaml.MapItem{Key: "x32", Value: m.X32})
}
return info
}
// ToRawInfo returns a description of MediaUpload suitable for JSON or YAML export.
func (m *MediaUpload) ToRawInfo() interface{} {
info := yaml.MapSlice{}
if len(m.Accept) != 0 {
info = append(info, yaml.MapItem{Key: "accept", Value: m.Accept})
}
if m.MaxSize != "" {
info = append(info, yaml.MapItem{Key: "maxSize", Value: m.MaxSize})
}
if m.Protocols != nil {
info = append(info, yaml.MapItem{Key: "protocols", Value: m.Protocols.ToRawInfo()})
}
// &{Name:protocols Type:Protocols StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
if m.SupportsSubscription != false {
info = append(info, yaml.MapItem{Key: "supportsSubscription", Value: m.SupportsSubscription})
}
return info
}
// ToRawInfo returns a description of Method suitable for JSON or YAML export.
func (m *Method) ToRawInfo() interface{} {
info := yaml.MapSlice{}
if m.Id != "" {
info = append(info, yaml.MapItem{Key: "id", Value: m.Id})
}
if m.Path != "" {
info = append(info, yaml.MapItem{Key: "path", Value: m.Path})
}
if m.HttpMethod != "" {
info = append(info, yaml.MapItem{Key: "httpMethod", Value: m.HttpMethod})
}
if m.Description != "" {
info = append(info, yaml.MapItem{Key: "description", Value: m.Description})
}
if m.Parameters != nil {
info = append(info, yaml.MapItem{Key: "parameters", Value: m.Parameters.ToRawInfo()})
}
// &{Name:parameters Type:Parameters StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
if len(m.ParameterOrder) != 0 {
info = append(info, yaml.MapItem{Key: "parameterOrder", Value: m.ParameterOrder})
}
if m.Request != nil {
info = append(info, yaml.MapItem{Key: "request", Value: m.Request.ToRawInfo()})
}
// &{Name:request Type:Request StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
if m.Response != nil {
info = append(info, yaml.MapItem{Key: "response", Value: m.Response.ToRawInfo()})
}
// &{Name:response Type:Response StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
if len(m.Scopes) != 0 {
info = append(info, yaml.MapItem{Key: "scopes", Value: m.Scopes})
}
if m.SupportsMediaDownload != false {
info = append(info, yaml.MapItem{Key: "supportsMediaDownload", Value: m.SupportsMediaDownload})
}
if m.SupportsMediaUpload != false {
info = append(info, yaml.MapItem{Key: "supportsMediaUpload", Value: m.SupportsMediaUpload})
}
if m.UseMediaDownloadService != false {
info = append(info, yaml.MapItem{Key: "useMediaDownloadService", Value: m.UseMediaDownloadService})
}
if m.MediaUpload != nil {
info = append(info, yaml.MapItem{Key: "mediaUpload", Value: m.MediaUpload.ToRawInfo()})
}
// &{Name:mediaUpload Type:MediaUpload StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
if m.SupportsSubscription != false {
info = append(info, yaml.MapItem{Key: "supportsSubscription", Value: m.SupportsSubscription})
}
if m.FlatPath != "" {
info = append(info, yaml.MapItem{Key: "flatPath", Value: m.FlatPath})
}
if m.EtagRequired != false {
info = append(info, yaml.MapItem{Key: "etagRequired", Value: m.EtagRequired})
}
return info
}
// ToRawInfo returns a description of Methods suitable for JSON or YAML export.
func (m *Methods) ToRawInfo() interface{} {
info := yaml.MapSlice{}
if m.AdditionalProperties != nil {
for _, item := range m.AdditionalProperties {
info = append(info, yaml.MapItem{Key: item.Name, Value: item.Value.ToRawInfo()})
}
}
// &{Name:additionalProperties Type:NamedMethod StringEnumValues:[] MapType:Method Repeated:true Pattern: Implicit:true Description:}
return info
}
// ToRawInfo returns a description of NamedMethod suitable for JSON or YAML export.
func (m *NamedMethod) ToRawInfo() interface{} {
info := yaml.MapSlice{}
if m.Name != "" {
info = append(info, yaml.MapItem{Key: "name", Value: m.Name})
}
// &{Name:value Type:Method StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:Mapped value}
return info
}
// ToRawInfo returns a description of NamedParameter suitable for JSON or YAML export.
func (m *NamedParameter) ToRawInfo() interface{} {
info := yaml.MapSlice{}
if m.Name != "" {
info = append(info, yaml.MapItem{Key: "name", Value: m.Name})
}
// &{Name:value Type:Parameter StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:Mapped value}
return info
}
// ToRawInfo returns a description of NamedResource suitable for JSON or YAML export.
func (m *NamedResource) ToRawInfo() interface{} {
info := yaml.MapSlice{}
if m.Name != "" {
info = append(info, yaml.MapItem{Key: "name", Value: m.Name})
}
// &{Name:value Type:Resource StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:Mapped value}
return info
}
// ToRawInfo returns a description of NamedSchema suitable for JSON or YAML export.
func (m *NamedSchema) ToRawInfo() interface{} {
info := yaml.MapSlice{}
if m.Name != "" {
info = append(info, yaml.MapItem{Key: "name", Value: m.Name})
}
// &{Name:value Type:Schema StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:Mapped value}
return info
}
// ToRawInfo returns a description of NamedScope suitable for JSON or YAML export.
func (m *NamedScope) ToRawInfo() interface{} {
info := yaml.MapSlice{}
if m.Name != "" {
info = append(info, yaml.MapItem{Key: "name", Value: m.Name})
}
// &{Name:value Type:Scope StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:Mapped value}
return info
}
// ToRawInfo returns a description of Oauth2 suitable for JSON or YAML export.
func (m *Oauth2) ToRawInfo() interface{} {
info := yaml.MapSlice{}
if m.Scopes != nil {
info = append(info, yaml.MapItem{Key: "scopes", Value: m.Scopes.ToRawInfo()})
}
// &{Name:scopes Type:Scopes StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
return info
}
// ToRawInfo returns a description of Parameter suitable for JSON or YAML export.
func (m *Parameter) ToRawInfo() interface{} {
info := yaml.MapSlice{}
if m.Id != "" {
info = append(info, yaml.MapItem{Key: "id", Value: m.Id})
}
if m.Type != "" {
info = append(info, yaml.MapItem{Key: "type", Value: m.Type})
}
if m.XRef != "" {
info = append(info, yaml.MapItem{Key: "$ref", Value: m.XRef})
}
if m.Description != "" {
info = append(info, yaml.MapItem{Key: "description", Value: m.Description})
}
if m.Default != "" {
info = append(info, yaml.MapItem{Key: "default", Value: m.Default})
}
if m.Required != false {
info = append(info, yaml.MapItem{Key: "required", Value: m.Required})
}
if m.Format != "" {
info = append(info, yaml.MapItem{Key: "format", Value: m.Format})
}
if m.Pattern != "" {
info = append(info, yaml.MapItem{Key: "pattern", Value: m.Pattern})
}
if m.Minimum != "" {
info = append(info, yaml.MapItem{Key: "minimum", Value: m.Minimum})
}
if m.Maximum != "" {
info = append(info, yaml.MapItem{Key: "maximum", Value: m.Maximum})
}
if len(m.Enum) != 0 {
info = append(info, yaml.MapItem{Key: "enum", Value: m.Enum})
}
if len(m.EnumDescriptions) != 0 {
info = append(info, yaml.MapItem{Key: "enumDescriptions", Value: m.EnumDescriptions})
}
if m.Repeated != false {
info = append(info, yaml.MapItem{Key: "repeated", Value: m.Repeated})
}
if m.Location != "" {
info = append(info, yaml.MapItem{Key: "location", Value: m.Location})
}
if m.Properties != nil {
info = append(info, yaml.MapItem{Key: "properties", Value: m.Properties.ToRawInfo()})
}
// &{Name:properties Type:Schemas StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
if m.AdditionalProperties != nil {
info = append(info, yaml.MapItem{Key: "additionalProperties", Value: m.AdditionalProperties.ToRawInfo()})
}
// &{Name:additionalProperties Type:Schema StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
if m.Items != nil {
info = append(info, yaml.MapItem{Key: "items", Value: m.Items.ToRawInfo()})
}
// &{Name:items Type:Schema StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
if m.Annotations != nil {
info = append(info, yaml.MapItem{Key: "annotations", Value: m.Annotations.ToRawInfo()})
}
// &{Name:annotations Type:Annotations StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
return info
}
// ToRawInfo returns a description of Parameters suitable for JSON or YAML export.
func (m *Parameters) ToRawInfo() interface{} {
info := yaml.MapSlice{}
if m.AdditionalProperties != nil {
for _, item := range m.AdditionalProperties {
info = append(info, yaml.MapItem{Key: item.Name, Value: item.Value.ToRawInfo()})
}
}
// &{Name:additionalProperties Type:NamedParameter StringEnumValues:[] MapType:Parameter Repeated:true Pattern: Implicit:true Description:}
return info
}
// ToRawInfo returns a description of Protocols suitable for JSON or YAML export.
func (m *Protocols) ToRawInfo() interface{} {
info := yaml.MapSlice{}
if m.Simple != nil {
info = append(info, yaml.MapItem{Key: "simple", Value: m.Simple.ToRawInfo()})
}
// &{Name:simple Type:Simple StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
if m.Resumable != nil {
info = append(info, yaml.MapItem{Key: "resumable", Value: m.Resumable.ToRawInfo()})
}
// &{Name:resumable Type:Resumable StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
return info
}
// ToRawInfo returns a description of Request suitable for JSON or YAML export.
func (m *Request) ToRawInfo() interface{} {
info := yaml.MapSlice{}
if m.XRef != "" {
info = append(info, yaml.MapItem{Key: "$ref", Value: m.XRef})
}
if m.ParameterName != "" {
info = append(info, yaml.MapItem{Key: "parameterName", Value: m.ParameterName})
}
return info
}
// ToRawInfo returns a description of Resource suitable for JSON or YAML export.
func (m *Resource) ToRawInfo() interface{} {
info := yaml.MapSlice{}
if m.Methods != nil {
info = append(info, yaml.MapItem{Key: "methods", Value: m.Methods.ToRawInfo()})
}
// &{Name:methods Type:Methods StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
if m.Resources != nil {
info = append(info, yaml.MapItem{Key: "resources", Value: m.Resources.ToRawInfo()})
}
// &{Name:resources Type:Resources StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
return info
}
// ToRawInfo returns a description of Resources suitable for JSON or YAML export.
func (m *Resources) ToRawInfo() interface{} {
info := yaml.MapSlice{}
if m.AdditionalProperties != nil {
for _, item := range m.AdditionalProperties {
info = append(info, yaml.MapItem{Key: item.Name, Value: item.Value.ToRawInfo()})
}
}
// &{Name:additionalProperties Type:NamedResource StringEnumValues:[] MapType:Resource Repeated:true Pattern: Implicit:true Description:}
return info
}
// ToRawInfo returns a description of Response suitable for JSON or YAML export.
func (m *Response) ToRawInfo() interface{} {
info := yaml.MapSlice{}
if m.XRef != "" {
info = append(info, yaml.MapItem{Key: "$ref", Value: m.XRef})
}
return info
}
// ToRawInfo returns a description of Resumable suitable for JSON or YAML export.
func (m *Resumable) ToRawInfo() interface{} {
info := yaml.MapSlice{}
if m.Multipart != false {
info = append(info, yaml.MapItem{Key: "multipart", Value: m.Multipart})
}
if m.Path != "" {
info = append(info, yaml.MapItem{Key: "path", Value: m.Path})
}
return info
}
// ToRawInfo returns a description of Schema suitable for JSON or YAML export.
func (m *Schema) ToRawInfo() interface{} {
info := yaml.MapSlice{}
if m.Id != "" {
info = append(info, yaml.MapItem{Key: "id", Value: m.Id})
}
if m.Type != "" {
info = append(info, yaml.MapItem{Key: "type", Value: m.Type})
}
if m.Description != "" {
info = append(info, yaml.MapItem{Key: "description", Value: m.Description})
}
if m.Default != "" {
info = append(info, yaml.MapItem{Key: "default", Value: m.Default})
}
if m.Required != false {
info = append(info, yaml.MapItem{Key: "required", Value: m.Required})
}
if m.Format != "" {
info = append(info, yaml.MapItem{Key: "format", Value: m.Format})
}
if m.Pattern != "" {
info = append(info, yaml.MapItem{Key: "pattern", Value: m.Pattern})
}
if m.Minimum != "" {
info = append(info, yaml.MapItem{Key: "minimum", Value: m.Minimum})
}
if m.Maximum != "" {
info = append(info, yaml.MapItem{Key: "maximum", Value: m.Maximum})
}
if len(m.Enum) != 0 {
info = append(info, yaml.MapItem{Key: "enum", Value: m.Enum})
}
if len(m.EnumDescriptions) != 0 {
info = append(info, yaml.MapItem{Key: "enumDescriptions", Value: m.EnumDescriptions})
}
if m.Repeated != false {
info = append(info, yaml.MapItem{Key: "repeated", Value: m.Repeated})
}
if m.Location != "" {
info = append(info, yaml.MapItem{Key: "location", Value: m.Location})
}
if m.Properties != nil {
info = append(info, yaml.MapItem{Key: "properties", Value: m.Properties.ToRawInfo()})
}
// &{Name:properties Type:Schemas StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
if m.AdditionalProperties != nil {
info = append(info, yaml.MapItem{Key: "additionalProperties", Value: m.AdditionalProperties.ToRawInfo()})
}
// &{Name:additionalProperties Type:Schema StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
if m.Items != nil {
info = append(info, yaml.MapItem{Key: "items", Value: m.Items.ToRawInfo()})
}
// &{Name:items Type:Schema StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
if m.XRef != "" {
info = append(info, yaml.MapItem{Key: "$ref", Value: m.XRef})
}
if m.Annotations != nil {
info = append(info, yaml.MapItem{Key: "annotations", Value: m.Annotations.ToRawInfo()})
}
// &{Name:annotations Type:Annotations StringEnumValues:[] MapType: Repeated:false Pattern: Implicit:false Description:}
if m.ReadOnly != false {
info = append(info, yaml.MapItem{Key: "readOnly", Value: m.ReadOnly})
}
return info
}
// ToRawInfo returns a description of Schemas suitable for JSON or YAML export.
func (m *Schemas) ToRawInfo() interface{} {
info := yaml.MapSlice{}
if m.AdditionalProperties != nil {
for _, item := range m.AdditionalProperties {
info = append(info, yaml.MapItem{Key: item.Name, Value: item.Value.ToRawInfo()})
}
}
// &{Name:additionalProperties Type:NamedSchema StringEnumValues:[] MapType:Schema Repeated:true Pattern: Implicit:true Description:}
return info
}
// ToRawInfo returns a description of Scope suitable for JSON or YAML export.
func (m *Scope) ToRawInfo() interface{} {
info := yaml.MapSlice{}
if m.Description != "" {
info = append(info, yaml.MapItem{Key: "description", Value: m.Description})
}
return info
}
// ToRawInfo returns a description of Scopes suitable for JSON or YAML export.
func (m *Scopes) ToRawInfo() interface{} {
info := yaml.MapSlice{}
if m.AdditionalProperties != nil {
for _, item := range m.AdditionalProperties {
info = append(info, yaml.MapItem{Key: item.Name, Value: item.Value.ToRawInfo()})
}
}
// &{Name:additionalProperties Type:NamedScope StringEnumValues:[] MapType:Scope Repeated:true Pattern: Implicit:true Description:}
return info
}
// ToRawInfo returns a description of Simple suitable for JSON or YAML export.
func (m *Simple) ToRawInfo() interface{} {
info := yaml.MapSlice{}
if m.Multipart != false {
info = append(info, yaml.MapItem{Key: "multipart", Value: m.Multipart})
}
if m.Path != "" {
info = append(info, yaml.MapItem{Key: "path", Value: m.Path})
}
return info
}
// ToRawInfo returns a description of StringArray suitable for JSON or YAML export.
func (m *StringArray) ToRawInfo() interface{} {
return m.Value
}
var ()