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// BucketCommandDescriptor Command descriptor for querylanguage BUCKET command. 18type BucketCommandDescriptor 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 // number of auto calculated ranges to compute if specified. 36 MaxBuckets *int `mandatory:"false" json:"maxBuckets"` 37 38 // Size of each numeric range if specified. Data type should match numeric field data type specified in the query string. 39 Span *float32 `mandatory:"false" json:"span"` 40 41 // List of the specified numeric ranges. 42 Ranges []BucketRange `mandatory:"false" json:"ranges"` 43 44 // Default value to use in place of null if a result does not fit into any of the specified / calculated ranges. 45 DefaultValue *string `mandatory:"false" json:"defaultValue"` 46} 47 48//GetDisplayQueryString returns DisplayQueryString 49func (m BucketCommandDescriptor) GetDisplayQueryString() *string { 50 return m.DisplayQueryString 51} 52 53//GetInternalQueryString returns InternalQueryString 54func (m BucketCommandDescriptor) GetInternalQueryString() *string { 55 return m.InternalQueryString 56} 57 58//GetCategory returns Category 59func (m BucketCommandDescriptor) GetCategory() *string { 60 return m.Category 61} 62 63//GetReferencedFields returns ReferencedFields 64func (m BucketCommandDescriptor) GetReferencedFields() []AbstractField { 65 return m.ReferencedFields 66} 67 68//GetDeclaredFields returns DeclaredFields 69func (m BucketCommandDescriptor) GetDeclaredFields() []AbstractField { 70 return m.DeclaredFields 71} 72 73func (m BucketCommandDescriptor) String() string { 74 return common.PointerString(m) 75} 76 77// MarshalJSON marshals to json representation 78func (m BucketCommandDescriptor) MarshalJSON() (buff []byte, e error) { 79 type MarshalTypeBucketCommandDescriptor BucketCommandDescriptor 80 s := struct { 81 DiscriminatorParam string `json:"name"` 82 MarshalTypeBucketCommandDescriptor 83 }{ 84 "BUCKET", 85 (MarshalTypeBucketCommandDescriptor)(m), 86 } 87 88 return json.Marshal(&s) 89} 90 91// UnmarshalJSON unmarshals from json 92func (m *BucketCommandDescriptor) UnmarshalJSON(data []byte) (e error) { 93 model := struct { 94 Category *string `json:"category"` 95 ReferencedFields []abstractfield `json:"referencedFields"` 96 DeclaredFields []abstractfield `json:"declaredFields"` 97 MaxBuckets *int `json:"maxBuckets"` 98 Span *float32 `json:"span"` 99 Ranges []BucketRange `json:"ranges"` 100 DefaultValue *string `json:"defaultValue"` 101 DisplayQueryString *string `json:"displayQueryString"` 102 InternalQueryString *string `json:"internalQueryString"` 103 }{} 104 105 e = json.Unmarshal(data, &model) 106 if e != nil { 107 return 108 } 109 var nn interface{} 110 m.Category = model.Category 111 112 m.ReferencedFields = make([]AbstractField, len(model.ReferencedFields)) 113 for i, n := range model.ReferencedFields { 114 nn, e = n.UnmarshalPolymorphicJSON(n.JsonData) 115 if e != nil { 116 return e 117 } 118 if nn != nil { 119 m.ReferencedFields[i] = nn.(AbstractField) 120 } else { 121 m.ReferencedFields[i] = nil 122 } 123 } 124 125 m.DeclaredFields = make([]AbstractField, len(model.DeclaredFields)) 126 for i, n := range model.DeclaredFields { 127 nn, e = n.UnmarshalPolymorphicJSON(n.JsonData) 128 if e != nil { 129 return e 130 } 131 if nn != nil { 132 m.DeclaredFields[i] = nn.(AbstractField) 133 } else { 134 m.DeclaredFields[i] = nil 135 } 136 } 137 138 m.MaxBuckets = model.MaxBuckets 139 140 m.Span = model.Span 141 142 m.Ranges = make([]BucketRange, len(model.Ranges)) 143 for i, n := range model.Ranges { 144 m.Ranges[i] = n 145 } 146 147 m.DefaultValue = model.DefaultValue 148 149 m.DisplayQueryString = model.DisplayQueryString 150 151 m.InternalQueryString = model.InternalQueryString 152 153 return 154} 155