1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115
|
/*
* CLOUD API
*
* IONOS Enterprise-grade Infrastructure as a Service (IaaS) solutions can be managed through the Cloud API, in addition or as an alternative to the \"Data Center Designer\" (DCD) browser-based tool. Both methods employ consistent concepts and features, deliver similar power and flexibility, and can be used to perform a multitude of management tasks, including adding servers, volumes, configuring networks, and so on.
*
* API version: 6.0
*/
// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
package ionoscloud
import (
"encoding/json"
"fmt"
)
// Type the model 'Type'
type Type string
// List of Type
const (
DATACENTER Type = "datacenter"
SERVER Type = "server"
VOLUME Type = "volume"
NIC Type = "nic"
LOADBALANCER Type = "loadbalancer"
LOCATION Type = "location"
FIREWALL_RULE Type = "firewall-rule"
FLOW_LOG Type = "flow-log"
IMAGE Type = "image"
SNAPSHOT Type = "snapshot"
LAN Type = "lan"
IPBLOCK Type = "ipblock"
PCC Type = "pcc"
CONTRACT Type = "contract"
USER Type = "user"
GROUP Type = "group"
COLLECTION Type = "collection"
RESOURCE Type = "resource"
REQUEST Type = "request"
REQUEST_STATUS Type = "request-status"
S3KEY Type = "s3key"
BACKUPUNIT Type = "backupunit"
LABEL Type = "label"
K8S Type = "k8s"
NODEPOOL Type = "nodepool"
TEMPLATE Type = "template"
NETWORKLOADBALANCER Type = "networkloadbalancer"
FORWARDING_RULE Type = "forwarding-rule"
NATGATEWAY Type = "natgateway"
NATGATEWAY_RULE Type = "natgateway-rule"
NODE Type = "node"
APPLICATIONLOADBALANCER Type = "applicationloadbalancer"
TARGET_GROUP Type = "target-group"
SECURITY_GROUP Type = "security-group"
)
func (v *Type) UnmarshalJSON(src []byte) error {
var value string
err := json.Unmarshal(src, &value)
if err != nil {
return err
}
enumTypeValue := Type(value)
for _, existing := range []Type{"datacenter", "server", "volume", "nic", "loadbalancer", "location", "firewall-rule", "flow-log", "image", "snapshot", "lan", "ipblock", "pcc", "contract", "user", "group", "collection", "resource", "request", "request-status", "s3key", "backupunit", "label", "k8s", "nodepool", "template", "networkloadbalancer", "forwarding-rule", "natgateway", "natgateway-rule", "node", "applicationloadbalancer", "target-group", "security-group"} {
if existing == enumTypeValue {
*v = enumTypeValue
return nil
}
}
return fmt.Errorf("%+v is not a valid Type", value)
}
// Ptr returns reference to Type value
func (v Type) Ptr() *Type {
return &v
}
type NullableType struct {
value *Type
isSet bool
}
func (v NullableType) Get() *Type {
return v.value
}
func (v *NullableType) Set(val *Type) {
v.value = val
v.isSet = true
}
func (v NullableType) IsSet() bool {
return v.isSet
}
func (v *NullableType) Unset() {
v.value = nil
v.isSet = false
}
func NewNullableType(val *Type) *NullableType {
return &NullableType{value: val, isSet: true}
}
func (v NullableType) MarshalJSON() ([]byte, error) {
return json.Marshal(v.value)
}
func (v *NullableType) UnmarshalJSON(src []byte) error {
v.isSet = true
return json.Unmarshal(src, &v.value)
}
|