bunnyshell.com/sdk@v0.16.0/model_component_config_item_config.go (about) 1 /* 2 API Bunnyshell Environments 3 4 Interact with Bunnyshell Platform 5 6 API version: 1.1.0 7 Contact: osi+support@bunnyshell.com 8 */ 9 10 // Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. 11 12 package sdk 13 14 import ( 15 "encoding/json" 16 "fmt" 17 ) 18 19 // ComponentConfigItemConfig - A list of container configs. 20 type ComponentConfigItemConfig struct { 21 ArrayOfExtendedResourceConfigItem *[]ExtendedResourceConfigItem 22 ArrayOfSimpleResourceConfigItem *[]SimpleResourceConfigItem 23 } 24 25 // []ExtendedResourceConfigItemAsComponentConfigItemConfig is a convenience function that returns []ExtendedResourceConfigItem wrapped in ComponentConfigItemConfig 26 func ArrayOfExtendedResourceConfigItemAsComponentConfigItemConfig(v *[]ExtendedResourceConfigItem) ComponentConfigItemConfig { 27 return ComponentConfigItemConfig{ 28 ArrayOfExtendedResourceConfigItem: v, 29 } 30 } 31 32 // []SimpleResourceConfigItemAsComponentConfigItemConfig is a convenience function that returns []SimpleResourceConfigItem wrapped in ComponentConfigItemConfig 33 func ArrayOfSimpleResourceConfigItemAsComponentConfigItemConfig(v *[]SimpleResourceConfigItem) ComponentConfigItemConfig { 34 return ComponentConfigItemConfig{ 35 ArrayOfSimpleResourceConfigItem: v, 36 } 37 } 38 39 // Unmarshal JSON data into one of the pointers in the struct 40 func (dst *ComponentConfigItemConfig) UnmarshalJSON(data []byte) error { 41 var err error 42 match := 0 43 // try to unmarshal data into ArrayOfExtendedResourceConfigItem 44 err = json.Unmarshal(data, &dst.ArrayOfExtendedResourceConfigItem) 45 if err == nil { 46 jsonArrayOfExtendedResourceConfigItem, _ := json.Marshal(dst.ArrayOfExtendedResourceConfigItem) 47 if string(jsonArrayOfExtendedResourceConfigItem) == "{}" { // empty struct 48 dst.ArrayOfExtendedResourceConfigItem = nil 49 } else { 50 match++ 51 } 52 } else { 53 dst.ArrayOfExtendedResourceConfigItem = nil 54 } 55 56 // try to unmarshal data into ArrayOfSimpleResourceConfigItem 57 err = json.Unmarshal(data, &dst.ArrayOfSimpleResourceConfigItem) 58 if err == nil { 59 jsonArrayOfSimpleResourceConfigItem, _ := json.Marshal(dst.ArrayOfSimpleResourceConfigItem) 60 if string(jsonArrayOfSimpleResourceConfigItem) == "{}" { // empty struct 61 dst.ArrayOfSimpleResourceConfigItem = nil 62 } else { 63 match++ 64 } 65 } else { 66 dst.ArrayOfSimpleResourceConfigItem = nil 67 } 68 69 if match > 1 { // more than 1 match 70 // reset to nil 71 dst.ArrayOfExtendedResourceConfigItem = nil 72 dst.ArrayOfSimpleResourceConfigItem = nil 73 74 return fmt.Errorf("data matches more than one schema in oneOf(ComponentConfigItemConfig)") 75 } else if match == 1 { 76 return nil // exactly one match 77 } else { // no match 78 return fmt.Errorf("data failed to match schemas in oneOf(ComponentConfigItemConfig)") 79 } 80 } 81 82 // Marshal data from the first non-nil pointers in the struct to JSON 83 func (src ComponentConfigItemConfig) MarshalJSON() ([]byte, error) { 84 if src.ArrayOfExtendedResourceConfigItem != nil { 85 return json.Marshal(&src.ArrayOfExtendedResourceConfigItem) 86 } 87 88 if src.ArrayOfSimpleResourceConfigItem != nil { 89 return json.Marshal(&src.ArrayOfSimpleResourceConfigItem) 90 } 91 92 return nil, nil // no data in oneOf schemas 93 } 94 95 // Get the actual instance 96 func (obj *ComponentConfigItemConfig) GetActualInstance() interface{} { 97 if obj == nil { 98 return nil 99 } 100 if obj.ArrayOfExtendedResourceConfigItem != nil { 101 return obj.ArrayOfExtendedResourceConfigItem 102 } 103 104 if obj.ArrayOfSimpleResourceConfigItem != nil { 105 return obj.ArrayOfSimpleResourceConfigItem 106 } 107 108 // all schemas are nil 109 return nil 110 } 111 112 type NullableComponentConfigItemConfig struct { 113 value *ComponentConfigItemConfig 114 isSet bool 115 } 116 117 func (v NullableComponentConfigItemConfig) Get() *ComponentConfigItemConfig { 118 return v.value 119 } 120 121 func (v *NullableComponentConfigItemConfig) Set(val *ComponentConfigItemConfig) { 122 v.value = val 123 v.isSet = true 124 } 125 126 func (v NullableComponentConfigItemConfig) IsSet() bool { 127 return v.isSet 128 } 129 130 func (v *NullableComponentConfigItemConfig) Unset() { 131 v.value = nil 132 v.isSet = false 133 } 134 135 func NewNullableComponentConfigItemConfig(val *ComponentConfigItemConfig) *NullableComponentConfigItemConfig { 136 return &NullableComponentConfigItemConfig{value: val, isSet: true} 137 } 138 139 func (v NullableComponentConfigItemConfig) MarshalJSON() ([]byte, error) { 140 return json.Marshal(v.value) 141 } 142 143 func (v *NullableComponentConfigItemConfig) UnmarshalJSON(src []byte) error { 144 v.isSet = true 145 return json.Unmarshal(src, &v.value) 146 }