1// Copyright (c) 2016, 2018, 2020, Oracle and/or its affiliates. All rights reserved. 2// This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. 3// Code generated. DO NOT EDIT. 4 5// LogAnalytics API 6// 7// The LogAnalytics API for the LogAnalytics service. 8// 9 10package loganalytics 11 12import ( 13 "encoding/json" 14 "github.com/oracle/oci-go-sdk/common" 15) 16 17// EvalCommandDescriptor Command descriptor for querylanguage EVAL command. 18type EvalCommandDescriptor struct { 19 20 // Command fragment display string from user specified query string formatted by query builder. 21 DisplayQueryString *string `mandatory:"true" json:"displayQueryString"` 22 23 // Command fragment internal string from user specified query string formatted by query builder. 24 InternalQueryString *string `mandatory:"true" json:"internalQueryString"` 25 26 // querylanguage command designation for example; reporting vs filtering 27 Category *string `mandatory:"false" json:"category"` 28 29 // Fields referenced in command fragment from user specified query string. 30 ReferencedFields []AbstractField `mandatory:"false" json:"referencedFields"` 31 32 // Fields declared in command fragment from user specified query string. 33 DeclaredFields []AbstractField `mandatory:"false" json:"declaredFields"` 34} 35 36//GetDisplayQueryString returns DisplayQueryString 37func (m EvalCommandDescriptor) GetDisplayQueryString() *string { 38 return m.DisplayQueryString 39} 40 41//GetInternalQueryString returns InternalQueryString 42func (m EvalCommandDescriptor) GetInternalQueryString() *string { 43 return m.InternalQueryString 44} 45 46//GetCategory returns Category 47func (m EvalCommandDescriptor) GetCategory() *string { 48 return m.Category 49} 50 51//GetReferencedFields returns ReferencedFields 52func (m EvalCommandDescriptor) GetReferencedFields() []AbstractField { 53 return m.ReferencedFields 54} 55 56//GetDeclaredFields returns DeclaredFields 57func (m EvalCommandDescriptor) GetDeclaredFields() []AbstractField { 58 return m.DeclaredFields 59} 60 61func (m EvalCommandDescriptor) String() string { 62 return common.PointerString(m) 63} 64 65// MarshalJSON marshals to json representation 66func (m EvalCommandDescriptor) MarshalJSON() (buff []byte, e error) { 67 type MarshalTypeEvalCommandDescriptor EvalCommandDescriptor 68 s := struct { 69 DiscriminatorParam string `json:"name"` 70 MarshalTypeEvalCommandDescriptor 71 }{ 72 "EVAL", 73 (MarshalTypeEvalCommandDescriptor)(m), 74 } 75 76 return json.Marshal(&s) 77} 78 79// UnmarshalJSON unmarshals from json 80func (m *EvalCommandDescriptor) UnmarshalJSON(data []byte) (e error) { 81 model := struct { 82 Category *string `json:"category"` 83 ReferencedFields []abstractfield `json:"referencedFields"` 84 DeclaredFields []abstractfield `json:"declaredFields"` 85 DisplayQueryString *string `json:"displayQueryString"` 86 InternalQueryString *string `json:"internalQueryString"` 87 }{} 88 89 e = json.Unmarshal(data, &model) 90 if e != nil { 91 return 92 } 93 var nn interface{} 94 m.Category = model.Category 95 96 m.ReferencedFields = make([]AbstractField, len(model.ReferencedFields)) 97 for i, n := range model.ReferencedFields { 98 nn, e = n.UnmarshalPolymorphicJSON(n.JsonData) 99 if e != nil { 100 return e 101 } 102 if nn != nil { 103 m.ReferencedFields[i] = nn.(AbstractField) 104 } else { 105 m.ReferencedFields[i] = nil 106 } 107 } 108 109 m.DeclaredFields = make([]AbstractField, len(model.DeclaredFields)) 110 for i, n := range model.DeclaredFields { 111 nn, e = n.UnmarshalPolymorphicJSON(n.JsonData) 112 if e != nil { 113 return e 114 } 115 if nn != nil { 116 m.DeclaredFields[i] = nn.(AbstractField) 117 } else { 118 m.DeclaredFields[i] = nil 119 } 120 } 121 122 m.DisplayQueryString = model.DisplayQueryString 123 124 m.InternalQueryString = model.InternalQueryString 125 126 return 127} 128