1/**
2 * Copyright 2016 IBM Corp.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *    http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17/**
18 * AUTOMATICALLY GENERATED CODE - DO NOT MODIFY
19 */
20
21package datatypes
22
23// The SoftLayer_Dns_Domain data type represents a single DNS domain record hosted on the SoftLayer nameservers. Domains contain general information about the domain name such as name and serial. Individual records such as A, AAAA, CTYPE, and MX records are stored in the domain's associated [[SoftLayer_Dns_Domain_ResourceRecord (type)|SoftLayer_Dns_Domain_ResourceRecord]] records.
24type Dns_Domain struct {
25	Entity
26
27	// The SoftLayer customer account that owns a domain.
28	Account *Account `json:"account,omitempty" xmlrpc:"account,omitempty"`
29
30	// A domain record's internal identifier.
31	Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"`
32
33	// A flag indicating that the dns domain record is a managed resource.
34	ManagedResourceFlag *bool `json:"managedResourceFlag,omitempty" xmlrpc:"managedResourceFlag,omitempty"`
35
36	// A domain's name including top-level domain, for example "example.com".
37	Name *string `json:"name,omitempty" xmlrpc:"name,omitempty"`
38
39	// A count of the individual records contained within a domain record. These include but are not limited to A, AAAA, MX, CTYPE, SPF and TXT records.
40	ResourceRecordCount *uint `json:"resourceRecordCount,omitempty" xmlrpc:"resourceRecordCount,omitempty"`
41
42	// The individual records contained within a domain record. These include but are not limited to A, AAAA, MX, CTYPE, SPF and TXT records.
43	ResourceRecords []Dns_Domain_ResourceRecord `json:"resourceRecords" xmlrpc:"resourceRecords"`
44
45	// The secondary DNS record that defines this domain as being managed through zone transfers.
46	Secondary *Dns_Secondary `json:"secondary,omitempty" xmlrpc:"secondary,omitempty"`
47
48	// A unique number denoting the latest revision of a domain. Whenever a domain is changed its corresponding serial number is also changed. Serial numbers typically follow the format yyyymmdd## where yyyy is the current year, mm is the current month, dd is the current day of the month, and ## is the number of the revision for that day. A domain's serial number is automatically updated when edited via the API.
49	Serial *int `json:"serial,omitempty" xmlrpc:"serial,omitempty"`
50
51	// The start of authority (SOA) record contains authoritative and propagation details for a DNS zone. This property is not considered in requests to createObject and editObject.
52	SoaResourceRecord *Dns_Domain_ResourceRecord_SoaType `json:"soaResourceRecord,omitempty" xmlrpc:"soaResourceRecord,omitempty"`
53
54	// The date that this domain record was last updated.
55	UpdateDate *Time `json:"updateDate,omitempty" xmlrpc:"updateDate,omitempty"`
56}
57
58// The SoftLayer_Dns_Domain_Forward data type represents a single DNS domain record hosted on the SoftLayer nameservers. Domains contain general information about the domain name such as name and serial. Individual records such as A, AAAA, CTYPE, and MX records are stored in the domain's associated [[SoftLayer_Dns_Domain_ResourceRecord (type)|SoftLayer_Dns_Domain_ResourceRecord]] records.
59type Dns_Domain_Forward struct {
60	Dns_Domain
61}
62
63// The SoftLayer_Dns_Domain_Registration data type represents a domain registration record.
64type Dns_Domain_Registration struct {
65	Entity
66
67	// The SoftLayer customer account that the domain is registered to.
68	Account *Account `json:"account,omitempty" xmlrpc:"account,omitempty"`
69
70	// no documentation yet
71	CreateDate *Time `json:"createDate,omitempty" xmlrpc:"createDate,omitempty"`
72
73	// The domain registration status.
74	DomainRegistrationStatus *Dns_Domain_Registration_Status `json:"domainRegistrationStatus,omitempty" xmlrpc:"domainRegistrationStatus,omitempty"`
75
76	// no documentation yet
77	DomainRegistrationStatusId *int `json:"domainRegistrationStatusId,omitempty" xmlrpc:"domainRegistrationStatusId,omitempty"`
78
79	// The date that the domain registration will expire.
80	ExpireDate *Time `json:"expireDate,omitempty" xmlrpc:"expireDate,omitempty"`
81
82	// A domain record's internal identifier.
83	Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"`
84
85	// Indicates whether a domain is locked or unlocked.
86	LockedFlag *int `json:"lockedFlag,omitempty" xmlrpc:"lockedFlag,omitempty"`
87
88	// no documentation yet
89	ModifyDate *Time `json:"modifyDate,omitempty" xmlrpc:"modifyDate,omitempty"`
90
91	// A domain's name, for example "example.com".
92	Name *string `json:"name,omitempty" xmlrpc:"name,omitempty"`
93
94	// The registrant verification status.
95	RegistrantVerificationStatus *Dns_Domain_Registration_Registrant_Verification_Status `json:"registrantVerificationStatus,omitempty" xmlrpc:"registrantVerificationStatus,omitempty"`
96
97	// no documentation yet
98	RegistrantVerificationStatusId *int `json:"registrantVerificationStatusId,omitempty" xmlrpc:"registrantVerificationStatusId,omitempty"`
99
100	// no documentation yet
101	ServiceProvider *Service_Provider `json:"serviceProvider,omitempty" xmlrpc:"serviceProvider,omitempty"`
102
103	// no documentation yet
104	ServiceProviderId *int `json:"serviceProviderId,omitempty" xmlrpc:"serviceProviderId,omitempty"`
105}
106
107// SoftLayer_Dns_Domain_Registration_Registrant_Verification_Status models the state of the registrant. Here are the following status codes:
108//
109//
110// *'''Admin Reviewing''': The registrant data has been submitted and being reviewed by compliance team.
111// *'''Pending''': The verification process has been inititated, and verification email will be sent.
112// *'''Suspended''': The registrant has failed verification and the domain has been suspended.
113// *'''Verified''': The registrant has been validated.
114// *'''Verifying''': The verification process has been initiated and is waiting for registrant response.
115// *'''Unverified''': The verification process has not been inititated.
116//
117//
118type Dns_Domain_Registration_Registrant_Verification_Status struct {
119	Entity
120
121	// The description of the registrant verification status.
122	Description *string `json:"description,omitempty" xmlrpc:"description,omitempty"`
123
124	// The unique identifier of the registrant verification status
125	Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"`
126
127	// The unique keyname of the registrant verification status.
128	KeyName *string `json:"keyName,omitempty" xmlrpc:"keyName,omitempty"`
129
130	// The name of the registrant verification status.
131	Name *string `json:"name,omitempty" xmlrpc:"name,omitempty"`
132}
133
134// SoftLayer_Dns_Domain_Registration_Status models the state of domain name. Here are the following status codes:
135//
136//
137// *'''Active''': This domain name is active.
138// *'''Pending Owner Approval''': Pending owner approval for completion of transfer.
139// *'''Pending Admin Review''': Pending admin review for transfer.
140// *'''Pending Registry''': Pending registry for transfer.
141// *'''Expired''': Domain name has expired.
142//
143//
144type Dns_Domain_Registration_Status struct {
145	Entity
146
147	// The description of the domain registration status names.
148	Description *string `json:"description,omitempty" xmlrpc:"description,omitempty"`
149
150	// The unique identifier of the domain registration status
151	Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"`
152
153	// The unique keyname of the domain registration status.
154	KeyName *string `json:"keyName,omitempty" xmlrpc:"keyName,omitempty"`
155
156	// The name of the domain registration status.
157	Name *string `json:"name,omitempty" xmlrpc:"name,omitempty"`
158}
159
160// The SoftLayer_Dns_Domain_ResourceRecord data type represents a single resource record entry in a SoftLayer hosted domain. Each resource record contains a ''host'' and ''data'' property, defining a resource's name and it's target data. Domains contain multiple types of resource records. The ''type'' property separates out resource records by type. ''Type'' can take one of the following values:
161// * '''"a"''' for [[SoftLayer_Dns_Domain_ResourceRecord_AType|address]] records
162// * '''"aaaa"''' for [[SoftLayer_Dns_Domain_ResourceRecord_AaaaType|address]] records
163// * '''"cname"''' for [[SoftLayer_Dns_Domain_ResourceRecord_CnameType|canonical name]] records
164// * '''"mx"''' for [[SoftLayer_Dns_Domain_ResourceRecord_MxType|mail exchanger]] records
165// * '''"ns"''' for [[SoftLayer_Dns_Domain_ResourceRecord_NsType|name server]] records
166// * '''"ptr"''' for [[SoftLayer_Dns_Domain_ResourceRecord_PtrType|pointer]] records in reverse domains
167// * '''"soa"''' for a domain's [[SoftLayer_Dns_Domain_ResourceRecord_SoaType|start of authority]] record
168// * '''"spf"''' for [[SoftLayer_Dns_Domain_ResourceRecord_SpfType|sender policy framework]] records
169// * '''"srv"''' for [[SoftLayer_Dns_Domain_ResourceRecord_SrvType|service]] records
170// * '''"txt"''' for [[SoftLayer_Dns_Domain_ResourceRecord_TxtType|text]] records
171//
172//
173// As ''SoftLayer_Dns_Domain_ResourceRecord'' objects are created and loaded, the API verifies the ''type'' property and casts the object as the appropriate type.
174type Dns_Domain_ResourceRecord struct {
175	Entity
176
177	// The value of a domain's resource record. This can be an IP address or a hostname. Fully qualified host and domain name data must end with the "." character.
178	Data *string `json:"data,omitempty" xmlrpc:"data,omitempty"`
179
180	// The domain that a resource record belongs to.
181	Domain *Dns_Domain `json:"domain,omitempty" xmlrpc:"domain,omitempty"`
182
183	// An identifier belonging to the domain that a resource record is associated with.
184	DomainId *int `json:"domainId,omitempty" xmlrpc:"domainId,omitempty"`
185
186	// The amount of time in seconds that a secondary name server (or servers) will hold a zone before it is no longer considered authoritative.
187	Expire *int `json:"expire,omitempty" xmlrpc:"expire,omitempty"`
188
189	// The host defined by a resource record. A value of "@" denotes a wildcard.
190	Host *string `json:"host,omitempty" xmlrpc:"host,omitempty"`
191
192	// A domain resource record's internal identifier.
193	Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"`
194
195	// Whether the address associated with a PTR record is the gateway address of a subnet.
196	IsGatewayAddress *bool `json:"isGatewayAddress,omitempty" xmlrpc:"isGatewayAddress,omitempty"`
197
198	// The amount of time in seconds that a domain's resource records are valid. This is also known as a minimum TTL, and can be overridden by an individual resource record's TTL.
199	Minimum *int `json:"minimum,omitempty" xmlrpc:"minimum,omitempty"`
200
201	// Useful in cases where a domain has more than one mail exchanger, the priority property is the priority of the MTA that delivers mail for a domain. A lower number denotes a higher priority, and mail will attempt to deliver through that MTA before moving to lower priority mail servers. Priority is defaulted to 10 upon resource record creation.
202	MxPriority *int `json:"mxPriority,omitempty" xmlrpc:"mxPriority,omitempty"`
203
204	// The TCP or UDP port on which the service is to be found.
205	Port *int `json:"port,omitempty" xmlrpc:"port,omitempty"`
206
207	// The priority of the target host, lower value means more preferred.
208	Priority *int `json:"priority,omitempty" xmlrpc:"priority,omitempty"`
209
210	// The protocol of the desired service; this is usually either TCP or UDP.
211	Protocol *string `json:"protocol,omitempty" xmlrpc:"protocol,omitempty"`
212
213	// The amount of time in seconds that a secondary name server should wait to check for a new copy of a DNS zone from the domain's primary name server. If a zone file has changed then the secondary DNS server will update it's copy of the zone to match the primary DNS server's zone.
214	Refresh *int `json:"refresh,omitempty" xmlrpc:"refresh,omitempty"`
215
216	// The email address of the person responsible for a domain, with the "@" replaced with a ".". For instance, if root@example.org is responsible for example.org, then example.org's SOA responsibility is "root.example.org.".
217	ResponsiblePerson *string `json:"responsiblePerson,omitempty" xmlrpc:"responsiblePerson,omitempty"`
218
219	// The amount of time in seconds that a domain's primary name server (or servers) should wait if an attempt to refresh by a secondary name server failed before attempting to refresh a domain's zone with that secondary name server again.
220	Retry *int `json:"retry,omitempty" xmlrpc:"retry,omitempty"`
221
222	// The symbolic name of the desired service
223	Service *string `json:"service,omitempty" xmlrpc:"service,omitempty"`
224
225	// The Time To Live value of a resource record, measured in seconds. TTL is used by a name server to determine how long to cache a resource record. An SOA record's TTL value defines the domain's overall TTL.
226	Ttl *int `json:"ttl,omitempty" xmlrpc:"ttl,omitempty"`
227
228	// A domain resource record's type. A value of "a" denotes an A (address) record, "aaaa" denotes an AAAA (IPv6 address) record, "cname" denotes a CNAME (canonical name) record, "mx" denotes an MX (mail exchanger) record, "ns" denotes an NS (nameserver) record, "ptr" denotes a PTR (pointer/reverse) record, "soa" denotes the SOA (start of authority) record, "spf" denotes a SPF (sender policy framework) record, and "txt" denotes a TXT (text) record. A domain record's type also denotes which class in the SoftLayer API is a best match for extending a resource record.
229	Type *string `json:"type,omitempty" xmlrpc:"type,omitempty"`
230
231	// A relative weight for records with the same priority.
232	Weight *int `json:"weight,omitempty" xmlrpc:"weight,omitempty"`
233}
234
235// SoftLayer_Dns_Domain_ResourceRecord_AType is a SoftLayer_Dns_Domain_ResourceRecord object whose ''type'' property is set to "a" and defines a DNS A record on a SoftLayer hosted domain. An A record directs a host name to an IP address. For instance if the A record for "host.example.org" points to the IP address 10.0.0.1 then the ''host'' property for the A record equals "host" and the ''data'' property equals "10.0.0.1".
236type Dns_Domain_ResourceRecord_AType struct {
237	Dns_Domain_ResourceRecord
238}
239
240// SoftLayer_Dns_Domain_ResourceRecord_AaaaType is a SoftLayer_Dns_Domain_ResourceRecord object whose ''type'' property is set to "aaaa" and defines a DNS AAAA record on a SoftLayer hosted domain. An AAAA record directs a host name to an IPv6 address. For instance if the AAAA record for "host.example.org" points to the IPv6 address "fe80:0:0:0:0:0:a00:0" then the ''host'' property for the AAAA record equals "host" and the ''data'' property equals "fe80:0:0:0:0:0:a00:0".
241type Dns_Domain_ResourceRecord_AaaaType struct {
242	Dns_Domain_ResourceRecord
243}
244
245// SoftLayer_Dns_Domain_ResourceRecord_CnameType is a SoftLayer_Dns_Domain_ResourceRecord object whose ''type'' property is set to "cname" and defines a DNS CNAME record on a SoftLayer hosted domain. A CNAME record directs a host name to another host. For instance, if the CNAME record for "alias.example.org" points to the host "host.example.org" then the ''host'' property equals "alias" and the ''data'' property equals "host.example.org.".
246//
247// DNS entries defined by CNAME should not be used as the data field for an MX record.
248type Dns_Domain_ResourceRecord_CnameType struct {
249	Dns_Domain_ResourceRecord
250}
251
252// SoftLayer_Dns_Domain_ResourceRecord_MxType is a SoftLayer_Dns_Domain_ResourceRecord object whose ''type'' property is set to "mx" and used to describe MX resource records. MX records control which hosts are responsible as mail exchangers for a domain. For instance, in the domain example.org, an MX record whose host is "@" and data is "mail" says that the host "mail.example.org" is responsible for handling mail for example.org. That means mail sent to users @example.org are delivered to mail.example.org.
253//
254// Domains can have more than one MX record if it uses more than one server to send mail through. Multiple MX records are denoted by their priority, defined by the mxPriority property.
255//
256// MX records must be defined for hosts with accompanying A or AAAA resource records. They may not point mail towards a host defined by a CNAME record.
257type Dns_Domain_ResourceRecord_MxType struct {
258	Dns_Domain_ResourceRecord
259}
260
261// SoftLayer_Dns_Domain_ResourceRecord_NsType is a SoftLayer_Dns_Domain_ResourceRecord object whose ''type'' property is set to "ns" and defines a DNS NS record on a SoftLayer hosted domain. An NS record defines the authoritative name server for a domain. All SoftLayer hosted domains contain NS records for "ns1.softlayer.com" and "ns2.softlayer.com" . For instance, if example.org is hosted on ns1.softlayer.com, then example.org contains an NS record whose ''host'' property equals "@" and whose ''data'' property equals "ns1.example.org".
262//
263// NS resource records pointing to ns1.softlayer.com or ns2.softlayer.com many not be removed from a SoftLayer hosted domain.
264type Dns_Domain_ResourceRecord_NsType struct {
265	Dns_Domain_ResourceRecord
266}
267
268// SoftLayer_Dns_Domain_ResourceRecord_PtrType is a SoftLayer_Dns_Domain_ResourceRecord object whose ''type'' property is set to "ptr" and defines a reverse DNS PTR record on the SoftLayer name servers.
269//
270// The format for a reverse DNS PTR record varies based on whether it is for an IPv4 or IPv6 address.
271//
272// For an IPv4 address the ''host'' property for every PTR record is the last octet of the IP address that the PTR record belongs to, while the ''data'' property is the canonical name of the host that the reverse lookup resolves to. Every PTR record belongs to a domain on the SoftLayer name servers named by the first three octets of an IP address in reverse order followed by ".in-addr.arpa".
273//
274// For instance, if the reverse DNS record for 10.0.0.1 is "host.example.org" then it's corresponding SoftLayer_Dns_Domain_ResourceRecord_PtrType host is "1", while it's data property equals "host.example.org". The full name of the reverse record for host.example.org including the domain name is "1.0.0.10.in-addr.arpa".
275//
276// For an IPv6 address the ''host'' property for every PTR record is the last four octets of the IP address that the PTR record belongs to.  The last four octets need to be in reversed order and each digit separated by a period.  The ''data'' property is the canonical name of the host that the reverse lookup resolves to.  Every PTR record belongs to a domain on the SoftLayer name servers named by the first four octets of an IP address in reverse order, split up by digit with a period, and followed by ".ip6.arpa".
277//
278// For instance, if the reverse DNS record for fe80:0000:0000:0000:0000:0000:0a00:0001 is "host.example.org" then it's corresponding SoftLayer_Dns_Domain_ResourceRecord_PtrType host is "1.0.0.0.0.0.a.0.0.0.0.0.0.0.0.0", while it's data property equals "host.example.org". The full name of the reverse record for host.example.org including the domain name is "1.0.0.0.0.0.a.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f.ip6.arpa".
279//
280// PTR record host names may not be changed by [[SoftLayer_Dns_Domain_ResourceRecord::editObject]] or [[SoftLayer_Dns_Domain_ResourceRecord::editObjects]].
281type Dns_Domain_ResourceRecord_PtrType struct {
282	Dns_Domain_ResourceRecord
283
284	// Whether the address associated with a PTR record is the gateway address of a subnet.
285	IsGatewayAddress *bool `json:"isGatewayAddress,omitempty" xmlrpc:"isGatewayAddress,omitempty"`
286}
287
288// SoftLayer_Dns_Domain_ResourceRecord_SoaType defines a domains' Start of Authority (or SOA) resource record. A domain's SOA record contains a domain's general and propagation information. Every domain must have one SOA record, and it is not possible to remove a domain's SOA record.
289//
290// SOA records typically contain a domain's serial number, but the SoftLayer API associates a domain's serial number directly with it's SoftLayer_Dns_Domain record.
291type Dns_Domain_ResourceRecord_SoaType struct {
292	Dns_Domain_ResourceRecord
293}
294
295// SoftLayer_Dns_Domain_ResourceRecord_SpfType is a SoftLayer_Dns_Domain_ResourceRecord object whose ''type'' property is set to "spf" and defines a DNS SPF record on a SoftLayer hosted domain. An SPF record provides sender policy framework data for a host. For instance, if defining the SPF record "v=spf1 mx:mail.example.org ~all" for "host.example.org". then the ''host'' property equals "host" and the ''data'' property equals "v=spf1 mx:mail.example.org ~all".
296//
297// SPF records are commonly used in email verification methods such as Sender Policy Framework.
298type Dns_Domain_ResourceRecord_SpfType struct {
299	Dns_Domain_ResourceRecord_TxtType
300}
301
302// SoftLayer_Dns_Domain_ResourceRecord_SrvType is a SoftLayer_Dns_Domain_ResourceRecord object whose ''type'' property is set to "srv" and defines a DNS SRV record on a SoftLayer hosted domain.
303type Dns_Domain_ResourceRecord_SrvType struct {
304	Dns_Domain_ResourceRecord
305
306	// The TCP or UDP port on which the service is to be found.
307	Port *int `json:"port,omitempty" xmlrpc:"port,omitempty"`
308
309	// The priority of the target host, lower value means more preferred.
310	Priority *int `json:"priority,omitempty" xmlrpc:"priority,omitempty"`
311
312	// The protocol of the desired service; this is usually either TCP or UDP.
313	Protocol *string `json:"protocol,omitempty" xmlrpc:"protocol,omitempty"`
314
315	// The symbolic name of the desired service
316	Service *string `json:"service,omitempty" xmlrpc:"service,omitempty"`
317
318	// A relative weight for records with the same priority.
319	Weight *int `json:"weight,omitempty" xmlrpc:"weight,omitempty"`
320}
321
322// SoftLayer_Dns_Domain_ResourceRecord_TxtType is a SoftLayer_Dns_Domain_ResourceRecord object whose ''type'' property is set to "txt" and defines a DNS TXT record on a SoftLayer hosted domain. A TXT record provides a text description for a host. For instance, if defining the TXT record "My test host" for "host.example.org". then the ''host'' property equals "host" and the ''data'' property equals "My test host".
323//
324// TXT records are commonly used in email verification methods such as Sender Policy Framework.
325type Dns_Domain_ResourceRecord_TxtType struct {
326	Dns_Domain_ResourceRecord
327}
328
329// The SoftLayer_Dns_Domain_Reverse data type represents a reverse IP address record.
330type Dns_Domain_Reverse struct {
331	Dns_Domain
332
333	// Network address the domain is associated with.
334	NetworkAddress *string `json:"networkAddress,omitempty" xmlrpc:"networkAddress,omitempty"`
335}
336
337// The SoftLayer_Dns_Domain_Reverse_Version4 data type represents a reverse IPv4 address record.
338type Dns_Domain_Reverse_Version4 struct {
339	Dns_Domain_Reverse
340}
341
342// The SoftLayer_Dns_Domain_Reverse_Version6 data type represents a reverse IPv6 address record.
343type Dns_Domain_Reverse_Version6 struct {
344	Dns_Domain_Reverse
345}
346
347// The SoftLayer_Dns_Message data type contains information for a single message generated by the SoftLayer DNS system. SoftLayer_Dns_Messages are typically created during the secondary DNS transfer process.
348type Dns_Message struct {
349	Entity
350
351	// The date the message was created.
352	CreateDate *Time `json:"createDate,omitempty" xmlrpc:"createDate,omitempty"`
353
354	// The domain that is associated with a message.
355	Domain *Dns_Domain `json:"domain,omitempty" xmlrpc:"domain,omitempty"`
356
357	// The internal identifier for a DNS message.
358	Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"`
359
360	// The message text.
361	Message *string `json:"message,omitempty" xmlrpc:"message,omitempty"`
362
363	// The priority level for a DNS message.  The possible levels are 'notice' and 'error'.
364	Priority *string `json:"priority,omitempty" xmlrpc:"priority,omitempty"`
365
366	// The resource record that is associated with a message.
367	ResourceRecord *Dns_Domain_ResourceRecord `json:"resourceRecord,omitempty" xmlrpc:"resourceRecord,omitempty"`
368
369	// The secondary DNS record that a message belongs to.
370	Secondary *Dns_Secondary `json:"secondary,omitempty" xmlrpc:"secondary,omitempty"`
371}
372
373// The SoftLayer_Dns_Secondary data type contains information on a single secondary DNS zone which is managed through SoftLayer's zone transfer service. Domains created via zone transfer may not be modified by the SoftLayer portal or API.
374type Dns_Secondary struct {
375	Entity
376
377	// The SoftLayer account that owns a secondary DNS record.
378	Account *Account `json:"account,omitempty" xmlrpc:"account,omitempty"`
379
380	// The date a secondary DNS record was created.
381	CreateDate *Time `json:"createDate,omitempty" xmlrpc:"createDate,omitempty"`
382
383	// The domain record created by zone transfer from a secondary DNS record.
384	Domain *Dns_Domain `json:"domain,omitempty" xmlrpc:"domain,omitempty"`
385
386	// A count of the error messages created during secondary DNS record transfer.
387	ErrorMessageCount *uint `json:"errorMessageCount,omitempty" xmlrpc:"errorMessageCount,omitempty"`
388
389	// The error messages created during secondary DNS record transfer.
390	ErrorMessages []Dns_Message `json:"errorMessages,omitempty" xmlrpc:"errorMessages,omitempty"`
391
392	// The internal identifier for a secondary DNS record.
393	Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"`
394
395	// The date when the most recent secondary DNS zone transfer took place.
396	LastUpdate *Time `json:"lastUpdate,omitempty" xmlrpc:"lastUpdate,omitempty"`
397
398	// The IP address of the master name server where a secondary DNS zone is transferred from.
399	MasterIpAddress *string `json:"masterIpAddress,omitempty" xmlrpc:"masterIpAddress,omitempty"`
400
401	// The current status of the secondary DNS zone.
402	Status *Dns_Status `json:"status,omitempty" xmlrpc:"status,omitempty"`
403
404	// The current status of a secondary DNS record.  The status may be one of the following:
405	// :*'''0''': Disabled
406	// :*'''1''': Active
407	// :*'''2''': Transfer Now
408	// :*'''3''': An error occurred that prevented the zone transfer from being completed.
409	StatusId *int `json:"statusId,omitempty" xmlrpc:"statusId,omitempty"`
410
411	// The textual representation of a secondary DNS zone's status.
412	StatusText *string `json:"statusText,omitempty" xmlrpc:"statusText,omitempty"`
413
414	// How often a secondary DNS zone should be transferred in minutes.
415	TransferFrequency *int `json:"transferFrequency,omitempty" xmlrpc:"transferFrequency,omitempty"`
416
417	// The name of the zone that is transferred.
418	ZoneName *string `json:"zoneName,omitempty" xmlrpc:"zoneName,omitempty"`
419}
420
421// The SoftLayer_Dns_Status data type contains information for a DNS status
422type Dns_Status struct {
423	Entity
424
425	// Internal identifier of a DNS status
426	Id *int `json:"id,omitempty" xmlrpc:"id,omitempty"`
427
428	// Monitoring DNS status name
429	Name *string `json:"name,omitempty" xmlrpc:"name,omitempty"`
430}
431