-
Notifications
You must be signed in to change notification settings - Fork 0
/
model_dhcp_deployment_role_post_request_body.go
145 lines (113 loc) · 6.18 KB
/
model_dhcp_deployment_role_post_request_body.go
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
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
/*
BlueCat Address Manager 9.5 RESTful v2 API
The **BlueCat Address Manager 9.5 RESTful v2 API** is a new RESTful API for Address Manager that presents Address Manager objects as resources. Each resource has a unique endpoint, and related resources are grouped in collections. To fetch an individual resource, a `GET` request is sent to the resource's endpoint. To fetch all resources in a collection, a `GET` request is sent to the collection's endpoint. The RESTful v2 API is [hypermedia driven](https://en.wikipedia.org/wiki/HATEOAS) and uses the [HAL](https://en.wikipedia.org/wiki/Hypertext_Application_Language) format for representing links. When navigating through the API, you can use those links to navigate to related resources or child resources of the requested endpoint. The API supports the following media types for most endpoints: `application/hal+json`, `application/json`, and `text/csv`. For authentication, the API supports both `Basic` and `Bearer` HTTP authentication schemes. To get started, create a session and receive credentials for `Basic` authentication by sending a `POST` request to the [/sessions](#/Admin%20Resources/postSession) endpoint, with a message body containing the user's credentials: ```{\"username\":\"apiuser\", \"password\":\"apipass\"}``` The response will contain an `apiToken` field that can be entered with the username in the Swagger UI **Authorize** dialog. The response will also contain a `basicAuthenticationCredentials` field containing a base64 encoding of the requester's username and API token delimited by a colon. This string can be injected directly into request `Authorization` headers in the following format: ```Authorization: Basic YXBpOlQ0OExOT3VIRGhDcnVBNEo1bGFES3JuS3hTZC9QK3pjczZXTzBJMDY=``` For full details on API format and authentication methods, refer to the Address Manager RESTful v2 API Guide on the BlueCat Documentation Portal.
API version: 9.5.0
*/
// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
package gobam2
import (
"encoding/json"
"bytes"
"fmt"
)
// checks if the DHCPDeploymentRolePostRequestBody type satisfies the MappedNullable interface at compile time
var _ MappedNullable = &DHCPDeploymentRolePostRequestBody{}
// DHCPDeploymentRolePostRequestBody struct for DHCPDeploymentRolePostRequestBody
type DHCPDeploymentRolePostRequestBody struct {
DHCPDeploymentRole
}
type _DHCPDeploymentRolePostRequestBody DHCPDeploymentRolePostRequestBody
// NewDHCPDeploymentRolePostRequestBody instantiates a new DHCPDeploymentRolePostRequestBody object
// This constructor will assign default values to properties that have it defined,
// and makes sure properties required by API are set, but the set of arguments
// will change when the set of required properties is changed
func NewDHCPDeploymentRolePostRequestBody(type_ string, roleType string, interfaces []InlinedDhcpRoleServerInterface) *DHCPDeploymentRolePostRequestBody {
this := DHCPDeploymentRolePostRequestBody{}
this.Type = type_
this.RoleType = roleType
this.Interfaces = interfaces
return &this
}
// NewDHCPDeploymentRolePostRequestBodyWithDefaults instantiates a new DHCPDeploymentRolePostRequestBody object
// This constructor will only assign default values to properties that have it defined,
// but it doesn't guarantee that properties required by API are set
func NewDHCPDeploymentRolePostRequestBodyWithDefaults() *DHCPDeploymentRolePostRequestBody {
this := DHCPDeploymentRolePostRequestBody{}
return &this
}
func (o DHCPDeploymentRolePostRequestBody) MarshalJSON() ([]byte, error) {
toSerialize,err := o.ToMap()
if err != nil {
return []byte{}, err
}
return json.Marshal(toSerialize)
}
func (o DHCPDeploymentRolePostRequestBody) ToMap() (map[string]interface{}, error) {
toSerialize := map[string]interface{}{}
serializedDHCPDeploymentRole, errDHCPDeploymentRole := json.Marshal(o.DHCPDeploymentRole)
if errDHCPDeploymentRole != nil {
return map[string]interface{}{}, errDHCPDeploymentRole
}
errDHCPDeploymentRole = json.Unmarshal([]byte(serializedDHCPDeploymentRole), &toSerialize)
if errDHCPDeploymentRole != nil {
return map[string]interface{}{}, errDHCPDeploymentRole
}
return toSerialize, nil
}
func (o *DHCPDeploymentRolePostRequestBody) UnmarshalJSON(data []byte) (err error) {
// This validates that all required properties are included in the JSON object
// by unmarshalling the object into a generic map with string keys and checking
// that every required field exists as a key in the generic map.
requiredProperties := []string{
"type",
"roleType",
"interfaces",
}
allProperties := make(map[string]interface{})
err = json.Unmarshal(data, &allProperties)
if err != nil {
return err;
}
for _, requiredProperty := range(requiredProperties) {
if _, exists := allProperties[requiredProperty]; !exists {
return fmt.Errorf("no value given for required property %v", requiredProperty)
}
}
varDHCPDeploymentRolePostRequestBody := _DHCPDeploymentRolePostRequestBody{}
decoder := json.NewDecoder(bytes.NewReader(data))
decoder.DisallowUnknownFields()
err = decoder.Decode(&varDHCPDeploymentRolePostRequestBody)
if err != nil {
return err
}
*o = DHCPDeploymentRolePostRequestBody(varDHCPDeploymentRolePostRequestBody)
return err
}
type NullableDHCPDeploymentRolePostRequestBody struct {
value *DHCPDeploymentRolePostRequestBody
isSet bool
}
func (v NullableDHCPDeploymentRolePostRequestBody) Get() *DHCPDeploymentRolePostRequestBody {
return v.value
}
func (v *NullableDHCPDeploymentRolePostRequestBody) Set(val *DHCPDeploymentRolePostRequestBody) {
v.value = val
v.isSet = true
}
func (v NullableDHCPDeploymentRolePostRequestBody) IsSet() bool {
return v.isSet
}
func (v *NullableDHCPDeploymentRolePostRequestBody) Unset() {
v.value = nil
v.isSet = false
}
func NewNullableDHCPDeploymentRolePostRequestBody(val *DHCPDeploymentRolePostRequestBody) *NullableDHCPDeploymentRolePostRequestBody {
return &NullableDHCPDeploymentRolePostRequestBody{value: val, isSet: true}
}
func (v NullableDHCPDeploymentRolePostRequestBody) MarshalJSON() ([]byte, error) {
return json.Marshal(v.value)
}
func (v *NullableDHCPDeploymentRolePostRequestBody) UnmarshalJSON(src []byte) error {
v.isSet = true
return json.Unmarshal(src, &v.value)
}