1 // Code generated by "infoblox-go-client-generator"; DO NOT EDIT.
2 3 package ibclient
4 5 // WAPI_VERSION is a version of WAPI, which was used to generate infoblox-go-client.
6 const WAPI_VERSION = "2.12.1"
7 8 // AdAuthService represents Infoblox object ad_auth_service.
9 // This object allows you to specify an Active Directory (AD) authentication
10 // method and the AD authentication servers that Infoblox uses to authenticate
11 // administrators.
12 type AdAuthService struct {
13 IBBase `json:"-"`
14 15 Ref string `json:"_ref,omitempty"`
16 17 // The Active Directory domain to which this server belongs.
18 AdDomain *string `json:"ad_domain,omitempty"`
19 20 // The unordered list of additional search paths for nested group querying.
21 AdditionalSearchPaths []string `json:"additional_search_paths,omitempty"`
22 23 // The descriptive comment for the AD authentication service.
24 Comment *string `json:"comment,omitempty"`
25 26 // Determines whether the default search path for nested group querying is
27 // used.
28 DisableDefaultSearchPath *bool `json:"disable_default_search_path,omitempty"`
29 30 // Determines if Active Directory Authentication Service is disabled.
31 Disabled *bool `json:"disabled,omitempty"`
32 33 // The AD authentication server list.
34 DomainControllers []*AdAuthServer `json:"domain_controllers,omitempty"`
35 36 // The AD authentication service name.
37 Name *string `json:"name,omitempty"`
38 39 // Determines whether the nested group querying is enabled.
40 NestedGroupQuerying *bool `json:"nested_group_querying,omitempty"`
41 42 // The number of seconds that the appliance waits for a response from the AD
43 // server.
44 Timeout *uint32 `json:"timeout,omitempty"`
45 }
46 47 func (AdAuthService) ObjectType() string {
48 return "ad_auth_service"
49 }
50 51 func (obj AdAuthService) ReturnFields() []string {
52 if obj.returnFields == nil {
53 obj.returnFields = []string{"name"}
54 }
55 return obj.returnFields
56 }
57 58 // Admingroup represents Infoblox object admingroup.
59 // An Admin Group object creates and manages a local admin group on the
60 // Infoblox appliance. The privileges and properties that are set for the group
61 // apply to all the admin accounts that are assigned to the group.
62 type Admingroup struct {
63 IBBase `json:"-"`
64 65 Ref string `json:"_ref,omitempty"`
66 67 // Access methods specify whether an admin group can use the GUI and the API to
68 // access the appliance or to send Taxii messages to the appliance. Note that
69 // API includes both the Perl API and RESTful API.
70 AccessMethod []string `json:"access_method,omitempty"`
71 72 // Admin set commands for the admin command group.
73 AdminSetCommands *AdmingroupAdminsetcommands `json:"admin_set_commands,omitempty"`
74 75 // Admin show commands for the admin command group.
76 AdminShowCommands *AdmingroupAdminshowcommands `json:"admin_show_commands,omitempty"`
77 78 // Admin_toplevel commands for the admin command group
79 AdminToplevelCommands *AdmingroupAdmintoplevelcommands `json:"admin_toplevel_commands,omitempty"`
80 81 // Cloud set commands for the cloud command group.
82 CloudSetCommands *AdmingroupCloudsetcommands `json:"cloud_set_commands,omitempty"`
83 84 // Cloud show commands for admin group
85 CloudShowCommands *AdmingroupCloudshowcommands `json:"cloud_show_commands,omitempty"`
86 87 // Comment for the Admin Group; maximum 256 characters.
88 Comment *string `json:"comment,omitempty"`
89 90 // Database show commands for admin group.
91 DatabaseSetCommands *AdmingroupDatabasesetcommands `json:"database_set_commands,omitempty"`
92 93 // Database show commands for the database command
94 DatabaseShowCommands *AdmingroupDatabaseshowcommands `json:"database_show_commands,omitempty"`
95 96 // Dhcp set commands for the dhcp command group.
97 DhcpSetCommands *AdmingroupDhcpsetcommands `json:"dhcp_set_commands,omitempty"`
98 99 // Dhcp show commands for the dhcp command group.
100 DhcpShowCommands *AdmingroupDhcpshowcommands `json:"dhcp_show_commands,omitempty"`
101 102 // Determines whether the Admin Group is disabled or not. When this is set to
103 // False, the Admin Group is enabled.
104 Disable *bool `json:"disable,omitempty"`
105 106 // Disable concurrent login feature
107 DisableConcurrentLogin *bool `json:"disable_concurrent_login,omitempty"`
108 109 // Dns set commands for the dns command group.
110 DnsSetCommands *AdmingroupDnssetcommands `json:"dns_set_commands,omitempty"`
111 112 // Dns show commands for the dns command group.
113 DnsShowCommands *AdmingroupDnsshowcommands `json:"dns_show_commands,omitempty"`
114 115 // Dns toplevel commands for the dns command group.
116 DnsToplevelCommands *AdmingroupDnstoplevelcommands `json:"dns_toplevel_commands,omitempty"`
117 118 // Docker set commands for the dcoker command group.
119 DockerSetCommands *AdmingroupDockersetcommands `json:"docker_set_commands,omitempty"`
120 121 // Docker show commands for the dcoker command group.
122 DockerShowCommands *AdmingroupDockershowcommands `json:"docker_show_commands,omitempty"`
123 124 // The e-mail addresses for the Admin Group.
125 EmailAddresses []string `json:"email_addresses,omitempty"`
126 127 // Determines whether the restrictions will be applied to the admin connector
128 // level for users of this Admin Group.
129 EnableRestrictedUserAccess *bool `json:"enable_restricted_user_access,omitempty"`
130 131 // Extensible attributes associated with the object. For valid values for
132 // extensible attributes, see {extattrs:values}.
133 Ea EA `json:"extattrs"`
134 135 // Grid set commands for the grid command group.
136 GridSetCommands *AdmingroupGridsetcommands `json:"grid_set_commands,omitempty"`
137 138 // Show commands for the grid command group.
139 GridShowCommands *AdmingroupGridshowcommands `json:"grid_show_commands,omitempty"`
140 141 // The Admin group inactivity lockout settings.
142 InactivityLockoutSetting *SettingInactivelockout `json:"inactivity_lockout_setting,omitempty"`
143 144 // Set commands for the licensing command group.
145 LicensingSetCommands *AdmingroupLicensingsetcommands `json:"licensing_set_commands,omitempty"`
146 147 // Show commands for the licensing command group.
148 LicensingShowCommands *AdmingroupLicensingshowcommands `json:"licensing_show_commands,omitempty"`
149 150 // This struct specifies security policy settings in admin group.
151 LockoutSetting *AdmingroupLockoutsetting `json:"lockout_setting,omitempty"`
152 153 // Machine control toplevel commands for the machine control command group.
154 MachineControlToplevelCommands *AdmingroupMachinecontroltoplevelcommands `json:"machine_control_toplevel_commands,omitempty"`
155 156 // The name of the Admin Group.
157 Name *string `json:"name,omitempty"`
158 159 // Set commands for the networking command group.
160 NetworkingSetCommands *AdmingroupNetworkingsetcommands `json:"networking_set_commands,omitempty"`
161 162 // Show commands for the networking command group.
163 NetworkingShowCommands *AdmingroupNetworkingshowcommands `json:"networking_show_commands,omitempty"`
164 165 // The Admin Group password settings.
166 PasswordSetting *AdmingroupPasswordsetting `json:"password_setting,omitempty"`
167 168 // The names of roles this Admin Group applies to.
169 Roles []string `json:"roles,omitempty"`
170 171 // The Admin Group SAML settings.
172 SamlSetting *AdmingroupSamlsetting `json:"saml_setting,omitempty"`
173 174 // Set commands for the security command group.
175 SecuritySetCommands *AdmingroupSecuritysetcommands `json:"security_set_commands,omitempty"`
176 177 // Show commands for the security command group.
178 SecurityShowCommands *AdmingroupSecurityshowcommands `json:"security_show_commands,omitempty"`
179 180 // Determines whether this Admin Group is a superuser group. A superuser group
181 // can perform all operations on the appliance, and can view and configure all
182 // types of data.
183 Superuser *bool `json:"superuser,omitempty"`
184 185 // Toplevel commands for the troubleshooting command group.
186 TroubleShootingToplevelCommands *AdmingroupTroubleshootingtoplevelcommands `json:"trouble_shooting_toplevel_commands,omitempty"`
187 188 // This is the use flag for account inactivity lockout settings.
189 UseAccountInactivityLockoutEnable *bool `json:"use_account_inactivity_lockout_enable,omitempty"`
190 191 // Whether to override grid concurrent login
192 UseDisableConcurrentLogin *bool `json:"use_disable_concurrent_login,omitempty"`
193 194 // Whether to override grid sequential lockout setting
195 UseLockoutSetting *bool `json:"use_lockout_setting,omitempty"`
196 197 // Whether grid password expiry setting should be override.
198 UsePasswordSetting *bool `json:"use_password_setting,omitempty"`
199 200 // The access control items for this Admin Group.
201 UserAccess []*Addressac `json:"user_access,omitempty"`
202 }
203 204 func (Admingroup) ObjectType() string {
205 return "admingroup"
206 }
207 208 func (obj Admingroup) ReturnFields() []string {
209 if obj.returnFields == nil {
210 obj.returnFields = []string{"comment", "name"}
211 }
212 return obj.returnFields
213 }
214 215 // Adminrole represents Infoblox object adminrole.
216 // An Admin Role object creates and manages a local admin role on the Infoblox
217 // appliance. A Role object is used to aggregate a set of permissions
218 // (represented by Permission objects).
219 type Adminrole struct {
220 IBBase `json:"-"`
221 222 Ref string `json:"_ref,omitempty"`
223 224 // The descriptive comment of the Admin Role object.
225 Comment *string `json:"comment,omitempty"`
226 227 // The disable flag.
228 Disable *bool `json:"disable,omitempty"`
229 230 // Extensible attributes associated with the object. For valid values for
231 // extensible attributes, see {extattrs:values}.
232 Ea EA `json:"extattrs"`
233 234 // The name of an admin role.
235 Name *string `json:"name,omitempty"`
236 }
237 238 func (Adminrole) ObjectType() string {
239 return "adminrole"
240 }
241 242 func (obj Adminrole) ReturnFields() []string {
243 if obj.returnFields == nil {
244 obj.returnFields = []string{"comment", "name"}
245 }
246 return obj.returnFields
247 }
248 249 // Adminuser represents Infoblox object adminuser.
250 // An admin account provides access to the Infoblox appliance. An admin account
251 // inherits the privileges and properties of the group to which it belongs.
252 type Adminuser struct {
253 IBBase `json:"-"`
254 255 Ref string `json:"_ref,omitempty"`
256 257 // The names of the Admin Groups to which this Admin User belongs. Currently,
258 // this is limited to only one Admin Group.
259 AdminGroups []string `json:"admin_groups,omitempty"`
260 261 // Determines the way of authentication
262 AuthMethod string `json:"auth_method,omitempty"`
263 264 // The authentication type for the admin user.
265 AuthType string `json:"auth_type,omitempty"`
266 267 // The CA certificate that is used for user lookup during authentication.
268 CaCertificateIssuer *string `json:"ca_certificate_issuer,omitempty"`
269 270 // The serial number of the client certificate.
271 ClientCertificateSerialNumber *string `json:"client_certificate_serial_number,omitempty"`
272 273 // Comment for the admin user; maximum 256 characters.
274 Comment *string `json:"comment,omitempty"`
275 276 // Determines whether the admin user is disabled or not. When this is set to
277 // False, the admin user is enabled.
278 Disable *bool `json:"disable,omitempty"`
279 280 // The e-mail address for the admin user.
281 Email *string `json:"email,omitempty"`
282 283 // Determines whether the user is allowed to log in only with the certificate.
284 // Regular username/password authentication will be disabled for this user.
285 EnableCertificateAuthentication *bool `json:"enable_certificate_authentication,omitempty"`
286 287 // Extensible attributes associated with the object. For valid values for
288 // extensible attributes, see {extattrs:values}.
289 Ea EA `json:"extattrs"`
290 291 // The name of the admin user.
292 Name *string `json:"name,omitempty"`
293 294 // The password for the administrator to use when logging in.
295 Password *string `json:"password,omitempty"`
296 297 // List of ssh keys for a particular user.
298 SshKeys []*SshKey `json:"ssh_keys,omitempty"`
299 300 // Status of the user account.
301 Status string `json:"status,omitempty"`
302 303 // The time zone for this admin user.
304 TimeZone string `json:"time_zone,omitempty"`
305 306 // \, Enable/disable the ssh keypair authentication.
307 UseSshKeys *bool `json:"use_ssh_keys,omitempty"`
308 309 // Use flag for: time_zone
310 UseTimeZone *bool `json:"use_time_zone,omitempty"`
311 }
312 313 func (Adminuser) ObjectType() string {
314 return "adminuser"
315 }
316 317 func (obj Adminuser) ReturnFields() []string {
318 if obj.returnFields == nil {
319 obj.returnFields = []string{"admin_groups", "comment", "name"}
320 }
321 return obj.returnFields
322 }
323 324 // Allendpoints represents Infoblox object allendpoints.
325 // The object provides information about all thrid-party servers configured on
326 // the Grid.
327 type Allendpoints struct {
328 IBBase `json:"-"`
329 330 Ref string `json:"_ref,omitempty"`
331 332 // The Grid endpoint IPv4 Address or IPv6 Address or Fully-Qualified Domain
333 // Name (FQDN).
334 Address string `json:"address,omitempty"`
335 336 // The Grid endpoint descriptive comment.
337 Comment string `json:"comment,omitempty"`
338 339 // Determines whether a Grid endpoint is disabled or not. When this is set to
340 // False, the Grid endpoint is enabled.
341 Disable bool `json:"disable,omitempty"`
342 343 // The name of the Grid Member object that is serving Grid endpoint.
344 SubscribingMember string `json:"subscribing_member,omitempty"`
345 346 // The Grid endpoint type.
347 Type string `json:"type,omitempty"`
348 349 // The Grid endpoint version.
350 Version string `json:"version,omitempty"`
351 }
352 353 func (Allendpoints) ObjectType() string {
354 return "allendpoints"
355 }
356 357 func (obj Allendpoints) ReturnFields() []string {
358 if obj.returnFields == nil {
359 obj.returnFields = []string{}
360 }
361 return obj.returnFields
362 }
363 364 // Allnsgroup represents Infoblox object allnsgroup.
365 // The All NS Groups object is a generic name server group object that provides
366 // information about all name server groups.
367 type Allnsgroup struct {
368 IBBase `json:"-"`
369 370 Ref string `json:"_ref,omitempty"`
371 372 // The comment for the name server group.
373 Comment string `json:"comment,omitempty"`
374 375 // The name of the name server group.
376 Name string `json:"name,omitempty"`
377 378 // The type of the name server group.
379 Type string `json:"type,omitempty"`
380 }
381 382 func (Allnsgroup) ObjectType() string {
383 return "allnsgroup"
384 }
385 386 func (obj Allnsgroup) ReturnFields() []string {
387 if obj.returnFields == nil {
388 obj.returnFields = []string{"name", "type"}
389 }
390 return obj.returnFields
391 }
392 393 // Allrecords represents Infoblox object allrecords.
394 // The allrecords object is a read-only synthetic object used to retrieve
395 // records that belong to a particular zone.
396 type Allrecords struct {
397 IBBase `json:"-"`
398 399 Ref string `json:"_ref,omitempty"`
400 401 // The record address.
402 Address string `json:"address,omitempty"`
403 404 // The record comment.
405 Comment string `json:"comment,omitempty"`
406 407 // The record creator.
408 Creator string `json:"creator,omitempty"`
409 410 // The GSS-TSIG principal that owns this record.
411 DdnsPrincipal string `json:"ddns_principal,omitempty"`
412 413 // Determines if the DDNS updates for this record are allowed or not.
414 DdnsProtected bool `json:"ddns_protected,omitempty"`
415 416 // The disable value determines if the record is disabled or not. "False" means
417 // the record is enabled.
418 Disable bool `json:"disable,omitempty"`
419 420 // The specific LBDN record.
421 DtcObscured string `json:"dtc_obscured,omitempty"`
422 423 // The name of the record.
424 Name string `json:"name,omitempty"`
425 426 // Determines if the record is reclaimable or not.
427 Reclaimable bool `json:"reclaimable,omitempty"`
428 429 // The record object, if supported by the WAPI. Otherwise, the value is "None".
430 Record string `json:"record,omitempty"`
431 432 // The Time To Live (TTL) value for which the record is valid or being cached.
433 // The 32-bit unsigned integer represents the duration in seconds. Zero
434 // indicates that the record should not be cached.
435 Ttl uint32 `json:"ttl,omitempty"`
436 437 // The record type. When searching for an unspecified record type, the search
438 // is performed for all records. On retrieval, the appliance returns
439 // "UNSUPPORTED" for unsupported records.
440 Type string `json:"type,omitempty"`
441 442 // Name of the DNS View in which the record resides.
443 View string `json:"view,omitempty"`
444 445 // Name of the zone in which the record resides.
446 Zone string `json:"zone,omitempty"`
447 }
448 449 func (Allrecords) ObjectType() string {
450 return "allrecords"
451 }
452 453 func (obj Allrecords) ReturnFields() []string {
454 if obj.returnFields == nil {
455 obj.returnFields = []string{"comment", "name", "type", "view", "zone"}
456 }
457 return obj.returnFields
458 }
459 460 // Allrpzrecords represents Infoblox object allrpzrecords.
461 // A synthetic object used to return record object types that belong to a
462 // Response Policy Zone.
463 type Allrpzrecords struct {
464 IBBase `json:"-"`
465 466 Ref string `json:"_ref,omitempty"`
467 468 // The alert type of the record associated with the allrpzrecords object.
469 AlertType string `json:"alert_type,omitempty"`
470 471 // The descriptive comment of the record associated with the allrpzrecords
472 // object.
473 Comment string `json:"comment,omitempty"`
474 475 // The disable flag of the record associated with the allrpzrecords object (if
476 // present).
477 Disable bool `json:"disable,omitempty"`
478 479 // The expiration time of the record associated with the allrpzrecords object.
480 ExpirationTime uint32 `json:"expiration_time,omitempty"`
481 482 // The time when the record associated with the allrpzrecords object was last
483 // updated.
484 LastUpdated uint32 `json:"last_updated,omitempty"`
485 486 // The name of the record associated with the allrpzrecords object. Note that
487 // this value might be different than the value of the name field for the
488 // associated record.
489 Name string `json:"name,omitempty"`
490 491 // The record object associated with the allrpzrecords object.
492 Record string `json:"record,omitempty"`
493 494 // The RPZ rule type of the record associated with the allrpzrecrods object.
495 RpzRule string `json:"rpz_rule,omitempty"`
496 497 // The TTL value of the record associated with the allrpzrecords object (if
498 // present).
499 Ttl uint32 `json:"ttl,omitempty"`
500 501 // The type of record associated with the allrpzrecords object. This is a
502 // descriptive string that identifies the record to which this allrpzrecords
503 // object refers. (Examples: 'record:rpz:a', 'record:rpz:mx', etc.)
504 Type string `json:"type,omitempty"`
505 506 // The DNS view name of the record associated with the allrpzrecords object.
507 View string `json:"view,omitempty"`
508 509 // The Response Policy Zone name of the record associated with the
510 // allrpzrecords object.
511 Zone string `json:"zone,omitempty"`
512 }
513 514 func (Allrpzrecords) ObjectType() string {
515 return "allrpzrecords"
516 }
517 518 func (obj Allrpzrecords) ReturnFields() []string {
519 if obj.returnFields == nil {
520 obj.returnFields = []string{"comment", "name", "type", "view", "zone"}
521 }
522 return obj.returnFields
523 }
524 525 // Approvalworkflow represents Infoblox object approvalworkflow.
526 // The approval workflow object supports routing certain core network service
527 // tasks submitted by an admin group to another approval. You can add an admin
528 // group to an approval workflow and define the group as a submitter or an
529 // approver group. You can also define when and to whom e-mail notifications
530 // must be sent, and configure options such as whether the submitters or
531 // approvers must enter a comment or a ticket number when they submit tasks for
532 // approval. Approval workflows are useful when you want to control tasks that
533 // require reviews.
534 type Approvalworkflow struct {
535 IBBase `json:"-"`
536 537 Ref string `json:"_ref,omitempty"`
538 539 // The approval administration group.
540 ApprovalGroup *string `json:"approval_group,omitempty"`
541 542 // The destination for approval task notifications.
543 ApprovalNotifyTo string `json:"approval_notify_to,omitempty"`
544 545 // The destination for approved task notifications.
546 ApprovedNotifyTo string `json:"approved_notify_to,omitempty"`
547 548 // The requirement for the comment when an approver approves a submitted task.
549 ApproverComment string `json:"approver_comment,omitempty"`
550 551 // Determines whether approval task notifications are enabled.
552 EnableApprovalNotify *bool `json:"enable_approval_notify,omitempty"`
553 554 // Determines whether approved task notifications are enabled.
555 EnableApprovedNotify *bool `json:"enable_approved_notify,omitempty"`
556 557 // Determines whether failed task notifications are enabled.
558 EnableFailedNotify *bool `json:"enable_failed_notify,omitempty"`
559 560 // Determines whether e-mail notifications to admin group's e-mail address are
561 // enabled.
562 EnableNotifyGroup *bool `json:"enable_notify_group,omitempty"`
563 564 // Determines whether e-mail notifications to an admin member's e-mail address
565 // are enabled.
566 EnableNotifyUser *bool `json:"enable_notify_user,omitempty"`
567 568 // Determines whether rejected task notifications are enabled.
569 EnableRejectedNotify *bool `json:"enable_rejected_notify,omitempty"`
570 571 // Determines whether rescheduled task notifications are enabled.
572 EnableRescheduledNotify *bool `json:"enable_rescheduled_notify,omitempty"`
573 574 // Determines whether succeeded task notifications are enabled.
575 EnableSucceededNotify *bool `json:"enable_succeeded_notify,omitempty"`
576 577 // Extensible attributes associated with the object. For valid values for
578 // extensible attributes, see {extattrs:values}.
579 Ea EA `json:"extattrs"`
580 581 // The destination for failed task notifications.
582 FailedNotifyTo string `json:"failed_notify_to,omitempty"`
583 584 // The destination for rejected task notifications.
585 RejectedNotifyTo string `json:"rejected_notify_to,omitempty"`
586 587 // The destination for rescheduled task notifications.
588 RescheduledNotifyTo string `json:"rescheduled_notify_to,omitempty"`
589 590 // The requirement for the comment when a submitter submits a task for
591 // approval.
592 SubmitterComment string `json:"submitter_comment,omitempty"`
593 594 // The submitter admininstration group.
595 SubmitterGroup string `json:"submitter_group,omitempty"`
596 597 // The destination for succeeded task notifications.
598 SucceededNotifyTo string `json:"succeeded_notify_to,omitempty"`
599 600 // The requirement for the ticket number when a submitter submits a task for
601 // approval.
602 TicketNumber string `json:"ticket_number,omitempty"`
603 }
604 605 func (Approvalworkflow) ObjectType() string {
606 return "approvalworkflow"
607 }
608 609 func (obj Approvalworkflow) ReturnFields() []string {
610 if obj.returnFields == nil {
611 obj.returnFields = []string{"approval_group", "submitter_group"}
612 }
613 return obj.returnFields
614 }
615 616 // Authpolicy represents Infoblox object authpolicy.
617 // The authentication policy defines which authentication server groups the
618 // appliance uses to authenticate admins and lists the local admin groups that
619 // map to the remote admin groups.
620 type Authpolicy struct {
621 IBBase `json:"-"`
622 623 Ref string `json:"_ref,omitempty"`
624 625 // List of names of local administration groups that are mapped to remote
626 // administration groups.
627 AdminGroups []string `json:"admin_groups,omitempty"`
628 629 // The array that contains an ordered list of refs to
630 // :doc:`localuser:authservice object </objects/localuser.authservice>`,
631 // ldap_auth_service object ldap_auth_service, :doc:`radius:authservice object
632 // </objects/radius.authservice>`, :doc:`tacacsplus:authservice object
633 // </objects/tacacsplus.authservice>`, ad_auth_service object ad_auth_service,
634 // :doc:`certificate:authservice object </objects/certificate.authservice>`.
635 // :doc:`saml:authservice object </objects/saml.authservice>`,
636 AuthServices []*LocaluserAuthservice `json:"auth_services,omitempty"`
637 638 // The default admin group that provides authentication in case no valid group
639 // is found.
640 DefaultGroup *string `json:"default_group,omitempty"`
641 642 // Remote policies usage.
643 UsageType string `json:"usage_type,omitempty"`
644 }
645 646 func (Authpolicy) ObjectType() string {
647 return "authpolicy"
648 }
649 650 func (obj Authpolicy) ReturnFields() []string {
651 if obj.returnFields == nil {
652 obj.returnFields = []string{"default_group", "usage_type"}
653 }
654 return obj.returnFields
655 }
656 657 // Awsrte53taskgroup represents Infoblox object awsrte53taskgroup.
658 // An AWS Route53 task group is a collection of one or more tasks allowing you
659 // to specify various zone filters to retrieve DNS zone data from AWS Route53
660 // service using specified AWS user credentials. Grouping these tasks together
661 // helps organize related groups of sync data, enable/disable these and manage
662 // the grid member these run on.
663 type Awsrte53taskgroup struct {
664 IBBase `json:"-"`
665 666 Ref string `json:"_ref,omitempty"`
667 668 // The AWS Account ID associated with this task group.
669 AccountId string `json:"account_id,omitempty"`
670 671 // Comment for the task group; maximum 256 characters.
672 Comment *string `json:"comment,omitempty"`
673 674 // Indicates if all zones need to be saved into a single view.
675 ConsolidateZones bool `json:"consolidate_zones,omitempty"`
676 677 // The name of the DNS view for consolidating zones.
678 ConsolidatedView string `json:"consolidated_view,omitempty"`
679 680 // Indicates if the task group is enabled or disabled.
681 Disabled *bool `json:"disabled,omitempty"`
682 683 // Member on which the tasks in this task group will be run.
684 GridMember *string `json:"grid_member,omitempty"`
685 686 // The name of this AWS Route53 sync task group.
687 Name *string `json:"name,omitempty"`
688 689 // The name of the tenant's network view.
690 NetworkView string `json:"network_view,omitempty"`
691 692 // The network view mapping policy.
693 NetworkViewMappingPolicy string `json:"network_view_mapping_policy,omitempty"`
694 695 // Indicate the overall sync status of this task group.
696 SyncStatus string `json:"sync_status,omitempty"`
697 698 // List of AWS Route53 tasks in this group.
699 TaskList []*Awsrte53task `json:"task_list,omitempty"`
700 }
701 702 func (Awsrte53taskgroup) ObjectType() string {
703 return "awsrte53taskgroup"
704 }
705 706 func (obj Awsrte53taskgroup) ReturnFields() []string {
707 if obj.returnFields == nil {
708 obj.returnFields = []string{"account_id", "comment", "disabled", "name", "sync_status"}
709 }
710 return obj.returnFields
711 }
712 713 // Awsuser represents Infoblox object awsuser.
714 // An AWS user object represents a specific access key and secret key pair
715 // credentials of an AWS user.
716 type Awsuser struct {
717 IBBase `json:"-"`
718 719 Ref string `json:"_ref,omitempty"`
720 721 // The unique Access Key ID of this AWS user. Maximum 255 characters.
722 AccessKeyId *string `json:"access_key_id,omitempty"`
723 724 // The AWS Account ID of this AWS user. Maximum 64 characters.
725 AccountId *string `json:"account_id,omitempty"`
726 727 // The timestamp when this AWS user credentials was last used.
728 LastUsed *UnixTime `json:"last_used,omitempty"`
729 730 // The AWS user name. Maximum 64 characters.
731 Name *string `json:"name,omitempty"`
732 733 // The NIOS user name mapped to this AWS user. Maximum 64 characters.
734 NiosUserName *string `json:"nios_user_name,omitempty"`
735 736 // The Secret Access Key for the Access Key ID of this user. Maximum 255
737 // characters.
738 SecretAccessKey *string `json:"secret_access_key,omitempty"`
739 740 // Indicate the validity status of this AWS user.
741 Status string `json:"status,omitempty"`
742 }
743 744 func (Awsuser) ObjectType() string {
745 return "awsuser"
746 }
747 748 func (obj Awsuser) ReturnFields() []string {
749 if obj.returnFields == nil {
750 obj.returnFields = []string{"access_key_id", "account_id", "name"}
751 }
752 return obj.returnFields
753 }
754 755 // Bfdtemplate represents Infoblox object bfdtemplate.
756 // The Bidirectional Forwarding Detection (BFD) template contains a
757 // configuration of advanced BFD settings such as authentication and timer
758 // intervals.
759 type Bfdtemplate struct {
760 IBBase `json:"-"`
761 762 Ref string `json:"_ref,omitempty"`
763 764 // The authentication key for BFD protocol message-digest authentication.
765 AuthenticationKey *string `json:"authentication_key,omitempty"`
766 767 // The authentication key identifier for BFD protocol authentication. Valid
768 // values are between 1 and 255.
769 AuthenticationKeyId *uint32 `json:"authentication_key_id,omitempty"`
770 771 // The authentication type for BFD protocol.
772 AuthenticationType string `json:"authentication_type,omitempty"`
773 774 // The detection time multiplier value for BFD protocol. The negotiated
775 // transmit interval, multiplied by this value, provides the detection time for
776 // the receiving system in asynchronous BFD mode. Valid values are between 3
777 // and 50.
778 DetectionMultiplier *uint32 `json:"detection_multiplier,omitempty"`
779 780 // The minimum receive time (in seconds) for BFD protocol. Valid values are
781 // between 50 and 9999.
782 MinRxInterval *uint32 `json:"min_rx_interval,omitempty"`
783 784 // The minimum transmission time (in seconds) for BFD protocol. Valid values
785 // are between 50 and 9999.
786 MinTxInterval *uint32 `json:"min_tx_interval,omitempty"`
787 788 // The name of the BFD template object.
789 Name *string `json:"name,omitempty"`
790 }
791 792 func (Bfdtemplate) ObjectType() string {
793 return "bfdtemplate"
794 }
795 796 func (obj Bfdtemplate) ReturnFields() []string {
797 if obj.returnFields == nil {
798 obj.returnFields = []string{"name"}
799 }
800 return obj.returnFields
801 }
802 803 // Bulkhost represents Infoblox object bulkhost.
804 // If you need to add a large number of hosts, you can have the Infoblox
805 // appliance add them as a group and automatically assign host names based on a
806 // range of IP addresses and name format applied to it. This group of hosts is
807 // referred to as a BulkHost. The Infoblox appliance uses the name space
808 // bulk-xx-xx-xx-xx for bulk host, so this name should not be used for CNAMEs
809 // and host aliases because doing so causes conflicts. Before adding a bulk
810 // host, make sure that no CNAMEs or host aliases uses this name.
811 type Bulkhost struct {
812 IBBase `json:"-"`
813 814 Ref string `json:"_ref,omitempty"`
815 816 // The cloud API related information.
817 CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`
818 819 // The descriptive comment.
820 Comment *string `json:"comment,omitempty"`
821 822 // The disable flag of a DNS BulkHost record.
823 Disable *bool `json:"disable,omitempty"`
824 825 // The prefix, in punycode format, for the bulk host.
826 DnsPrefix string `json:"dns_prefix,omitempty"`
827 828 // The last IP address in the address range for the bulk host.
829 EndAddr *string `json:"end_addr,omitempty"`
830 831 // Extensible attributes associated with the object. For valid values for
832 // extensible attributes, see {extattrs:values}.
833 Ea EA `json:"extattrs"`
834 835 // The time of the last DNS query in Epoch seconds format.
836 LastQueried *UnixTime `json:"last_queried,omitempty"`
837 838 // The bulk host name template.
839 NameTemplate *string `json:"name_template,omitempty"`
840 841 // The network view associated with the bulk host view.
842 NetworkView string `json:"network_view,omitempty"`
843 844 // The hostname policy for records under the bulk host parent zone.
845 Policy string `json:"policy,omitempty"`
846 847 // The prefix for the bulk host. The prefix is the name (or a series of
848 // characters) inserted at the beginning of each host name.
849 Prefix *string `json:"prefix,omitempty"`
850 851 // The reverse flag of the BulkHost record.
852 Reverse *bool `json:"reverse,omitempty"`
853 854 // The first IP address in the address range for the bulk host.
855 StartAddr *string `json:"start_addr,omitempty"`
856 857 // The bulk host name template format.
858 TemplateFormat string `json:"template_format,omitempty"`
859 860 // The Time to Live (TTL) value.
861 Ttl *uint32 `json:"ttl,omitempty"`
862 863 // Use flag for: name_template
864 UseNameTemplate *bool `json:"use_name_template,omitempty"`
865 866 // Use flag for: ttl
867 UseTtl *bool `json:"use_ttl,omitempty"`
868 869 // The view for the bulk host.
870 View *string `json:"view,omitempty"`
871 872 // The zone name.
873 Zone *string `json:"zone,omitempty"`
874 }
875 876 func (Bulkhost) ObjectType() string {
877 return "bulkhost"
878 }
879 880 func (obj Bulkhost) ReturnFields() []string {
881 if obj.returnFields == nil {
882 obj.returnFields = []string{"comment", "prefix"}
883 }
884 return obj.returnFields
885 }
886 887 // Bulkhostnametemplate represents Infoblox object bulkhostnametemplate.
888 // The object manages the DNS bulk host name formats defined at the Grid level.
889 type Bulkhostnametemplate struct {
890 IBBase `json:"-"`
891 892 Ref string `json:"_ref,omitempty"`
893 894 // True if this template is Grid default.
895 IsGridDefault bool `json:"is_grid_default,omitempty"`
896 897 // True if this is a pre-defined template, False otherwise.
898 PreDefined bool `json:"pre_defined,omitempty"`
899 900 // The format of bulk host name template. It should follow certain rules
901 // (please use Administration Guide as reference).
902 TemplateFormat *string `json:"template_format,omitempty"`
903 904 // The name of bulk host name template.
905 TemplateName *string `json:"template_name,omitempty"`
906 }
907 908 func (Bulkhostnametemplate) ObjectType() string {
909 return "bulkhostnametemplate"
910 }
911 912 func (obj Bulkhostnametemplate) ReturnFields() []string {
913 if obj.returnFields == nil {
914 obj.returnFields = []string{"is_grid_default", "template_format", "template_name"}
915 }
916 return obj.returnFields
917 }
918 919 // Cacertificate represents Infoblox object cacertificate.
920 // An CA Certificate object represents a CA certificate description.
921 type Cacertificate struct {
922 IBBase `json:"-"`
923 924 Ref string `json:"_ref,omitempty"`
925 926 // The certificate subject name.
927 DistinguishedName string `json:"distinguished_name,omitempty"`
928 929 // The certificate issuer subject name.
930 Issuer string `json:"issuer,omitempty"`
931 932 // The certificate serial number in hex format.
933 Serial string `json:"serial,omitempty"`
934 935 // Information about the CA certificate usage.
936 UsedBy string `json:"used_by,omitempty"`
937 938 // The date after which the certificate becomes invalid.
939 ValidNotAfter *UnixTime `json:"valid_not_after,omitempty"`
940 941 // The date before which the certificate is not valid.
942 ValidNotBefore *UnixTime `json:"valid_not_before,omitempty"`
943 }
944 945 func (Cacertificate) ObjectType() string {
946 return "cacertificate"
947 }
948 949 func (obj Cacertificate) ReturnFields() []string {
950 if obj.returnFields == nil {
951 obj.returnFields = []string{"distinguished_name", "issuer", "serial", "used_by", "valid_not_after", "valid_not_before"}
952 }
953 return obj.returnFields
954 }
955 956 // CapacityReport represents Infoblox object capacityreport.
957 // The capacity report object provides information about the object count,
958 // interface count, and other memory usage statistics for a Grid member.
959 type CapacityReport struct {
960 IBBase `json:"-"`
961 962 Ref string `json:"_ref,omitempty"`
963 964 // Hardware type of a Grid member.
965 HardwareType string `json:"hardware_type,omitempty"`
966 967 // The maximum amount of capacity available for the Grid member.
968 MaxCapacity uint32 `json:"max_capacity,omitempty"`
969 970 // The Grid member name.
971 Name string `json:"name,omitempty"`
972 973 // A list of instance counts for object types created on the Grid member.
974 ObjectCounts []*CapacityreportObjectcount `json:"object_counts,omitempty"`
975 976 // The percentage of the capacity in use by the Grid member.
977 PercentUsed uint32 `json:"percent_used,omitempty"`
978 979 // The Grid member role.
980 Role string `json:"role,omitempty"`
981 982 // The total number of objects created by the Grid member.
983 TotalObjects uint32 `json:"total_objects,omitempty"`
984 }
985 986 func (CapacityReport) ObjectType() string {
987 return "capacityreport"
988 }
989 990 func (obj CapacityReport) ReturnFields() []string {
991 if obj.returnFields == nil {
992 obj.returnFields = []string{"name", "percent_used", "role"}
993 }
994 return obj.returnFields
995 }
996 997 func NewCapcityReport(capReport CapacityReport) *CapacityReport {
998 res := capReport
999 returnFields := []string{"name", "hardware_type", "max_capacity", "object_counts", "percent_used", "role", "total_objects"}
1000 res.returnFields = returnFields
1001 return &res
1002 }
1003 1004 // Captiveportal represents Infoblox object captiveportal.
1005 // This object represents the captive portal configuration.
1006 type Captiveportal struct {
1007 IBBase `json:"-"`
1008 1009 Ref string `json:"_ref,omitempty"`
1010 1011 // The authentication server group assigned to this captive portal.
1012 AuthnServerGroup *string `json:"authn_server_group,omitempty"`
1013 1014 // The company name that appears in the guest registration page.
1015 CompanyName *string `json:"company_name,omitempty"`
1016 1017 // Determines if authentication failures are logged to syslog or not.
1018 EnableSyslogAuthFailure *bool `json:"enable_syslog_auth_failure,omitempty"`
1019 1020 // Determines if successful authentications are logged to syslog or not.
1021 EnableSyslogAuthSuccess *bool `json:"enable_syslog_auth_success,omitempty"`
1022 1023 // The type of user to be enabled for the captive portal.
1024 EnableUserType string `json:"enable_user_type,omitempty"`
1025 1026 // The encryption the captive portal uses.
1027 Encryption string `json:"encryption,omitempty"`
1028 1029 // The list of files associated with the captive portal.
1030 Files []*CaptiveportalFile `json:"files,omitempty"`
1031 1032 // The name of the custom field that you are adding to the guest registration
1033 // page.
1034 GuestCustomField1Name *string `json:"guest_custom_field1_name,omitempty"`
1035 1036 // Determines if the custom field is required or not.
1037 GuestCustomField1Required *bool `json:"guest_custom_field1_required,omitempty"`
1038 1039 // The name of the custom field that you are adding to the guest registration
1040 // page.
1041 GuestCustomField2Name *string `json:"guest_custom_field2_name,omitempty"`
1042 1043 // Determines if the custom field is required or not.
1044 GuestCustomField2Required *bool `json:"guest_custom_field2_required,omitempty"`
1045 1046 // The name of the custom field that you are adding to the guest registration
1047 // page.
1048 GuestCustomField3Name *string `json:"guest_custom_field3_name,omitempty"`
1049 1050 // Determines if the custom field is required or not.
1051 GuestCustomField3Required *bool `json:"guest_custom_field3_required,omitempty"`
1052 1053 // The name of the custom field that you are adding to the guest registration
1054 // page.
1055 GuestCustomField4Name *string `json:"guest_custom_field4_name,omitempty"`
1056 1057 // Determines if the custom field is required or not.
1058 GuestCustomField4Required *bool `json:"guest_custom_field4_required,omitempty"`
1059 1060 // Determines if the email address of the guest is required or not.
1061 GuestEmailRequired *bool `json:"guest_email_required,omitempty"`
1062 1063 // Determines if the first name of the guest is required or not.
1064 GuestFirstNameRequired *bool `json:"guest_first_name_required,omitempty"`
1065 1066 // Determines if the last name of the guest is required or not.
1067 GuestLastNameRequired *bool `json:"guest_last_name_required,omitempty"`
1068 1069 // Determines if the middle name of the guest is required or not.
1070 GuestMiddleNameRequired *bool `json:"guest_middle_name_required,omitempty"`
1071 1072 // Determines if the phone number of the guest is required or not.
1073 GuestPhoneRequired *bool `json:"guest_phone_required,omitempty"`
1074 1075 // The helpdesk message that appears in the guest registration page.
1076 HelpdeskMessage *string `json:"helpdesk_message,omitempty"`
1077 1078 // Determines the IP address on which the captive portal listens. Valid if
1079 // listen address type is 'IP'.
1080 ListenAddressIp *string `json:"listen_address_ip,omitempty"`
1081 1082 // Determines the type of the IP address on which the captive portal listens.
1083 ListenAddressType string `json:"listen_address_type,omitempty"`
1084 1085 // The hostname of the Grid member that hosts the captive portal.
1086 Name string `json:"name,omitempty"`
1087 1088 // The network view of the captive portal.
1089 NetworkView *string `json:"network_view,omitempty"`
1090 1091 // The TCP port used by the Captive Portal service. The port is required when
1092 // the Captive Portal service is enabled. Valid values are between 1 and 63999.
1093 // Please note that setting the port number to 80 or 443 might impact
1094 // performance.
1095 Port *uint32 `json:"port,omitempty"`
1096 1097 // Determines if the captive portal service is enabled or not.
1098 ServiceEnabled *bool `json:"service_enabled,omitempty"`
1099 1100 // The syslog level at which authentication failures are logged.
1101 SyslogAuthFailureLevel string `json:"syslog_auth_failure_level,omitempty"`
1102 1103 // The syslog level at which successful authentications are logged.
1104 SyslogAuthSuccessLevel string `json:"syslog_auth_success_level,omitempty"`
1105 1106 // The welcome message that appears in the guest registration page.
1107 WelcomeMessage *string `json:"welcome_message,omitempty"`
1108 }
1109 1110 func (Captiveportal) ObjectType() string {
1111 return "captiveportal"
1112 }
1113 1114 func (obj Captiveportal) ReturnFields() []string {
1115 if obj.returnFields == nil {
1116 obj.returnFields = []string{"name"}
1117 }
1118 return obj.returnFields
1119 }
1120 1121 // CertificateAuthservice represents Infoblox object certificate:authservice.
1122 // This object represents an certificate authentication service.
1123 type CertificateAuthservice struct {
1124 IBBase `json:"-"`
1125 1126 Ref string `json:"_ref,omitempty"`
1127 1128 // Specifies the value of the client certificate for automatically populating
1129 // the NIOS login name.
1130 AutoPopulateLogin string `json:"auto_populate_login,omitempty"`
1131 1132 // The list of CA certificates.
1133 CaCertificates []*Cacertificate `json:"ca_certificates,omitempty"`
1134 1135 // The descriptive comment for the certificate authentication service.
1136 Comment *string `json:"comment,omitempty"`
1137 1138 // Determines if this certificate authentication service is enabled or
1139 // disabled.
1140 Disabled *bool `json:"disabled,omitempty"`
1141 1142 // Determines if username/password authentication together with client
1143 // certificate authentication is enabled or disabled.
1144 EnablePasswordRequest *bool `json:"enable_password_request,omitempty"`
1145 1146 // Determines if the lookup for user group membership information on remote
1147 // services is enabled or disabled.
1148 EnableRemoteLookup *bool `json:"enable_remote_lookup,omitempty"`
1149 1150 // The number of validation attempts before the appliance contacts the next
1151 // responder.
1152 MaxRetries *uint32 `json:"max_retries,omitempty"`
1153 1154 // The name of the certificate authentication service.
1155 Name *string `json:"name,omitempty"`
1156 1157 // Specifies the source of OCSP settings.
1158 OcspCheck string `json:"ocsp_check,omitempty"`
1159 1160 // An ordered list of OCSP responders that are part of the certificate
1161 // authentication service.
1162 OcspResponders []*OcspResponder `json:"ocsp_responders,omitempty"`
1163 1164 // The period of time the appliance waits before it attempts to contact a
1165 // responder that is out of service again. The value must be between 1 and 600
1166 // seconds.
1167 RecoveryInterval *uint32 `json:"recovery_interval,omitempty"`
1168 1169 // The password for the service account.
1170 RemoteLookupPassword *string `json:"remote_lookup_password,omitempty"`
1171 1172 // The service that will be used for remote lookup.
1173 RemoteLookupService *string `json:"remote_lookup_service,omitempty"`
1174 1175 // The username for the service account.
1176 RemoteLookupUsername *string `json:"remote_lookup_username,omitempty"`
1177 1178 // The validation timeout period in milliseconds.
1179 ResponseTimeout *uint32 `json:"response_timeout,omitempty"`
1180 1181 // The OCSP trust model.
1182 TrustModel string `json:"trust_model,omitempty"`
1183 1184 // Specifies how to search for a user.
1185 UserMatchType string `json:"user_match_type,omitempty"`
1186 }
1187 1188 func (CertificateAuthservice) ObjectType() string {
1189 return "certificate:authservice"
1190 }
1191 1192 func (obj CertificateAuthservice) ReturnFields() []string {
1193 if obj.returnFields == nil {
1194 obj.returnFields = []string{"name"}
1195 }
1196 return obj.returnFields
1197 }
1198 1199 // CiscoiseEndpoint represents Infoblox object ciscoise:endpoint.
1200 // The object contains information and configuration for third-party Cisco ISE
1201 // servers integration, configuration for Cisco ISE publishing and
1202 // subscription.
1203 type CiscoiseEndpoint struct {
1204 IBBase `json:"-"`
1205 1206 Ref string `json:"_ref,omitempty"`
1207 1208 // The Cisco ISE endpoint IPv4 Address or IPv6 Address or Fully-Qualified
1209 // Domain Name (FQDN)
1210 Address *string `json:"address,omitempty"`
1211 1212 // The Cisco ISE bulk download certificate subject.
1213 BulkDownloadCertificateSubject string `json:"bulk_download_certificate_subject,omitempty"`
1214 1215 // The token returned by the uploadinit function call in object fileop for
1216 // Cisco ISE bulk download certificate.
1217 BulkDownloadCertificateToken *string `json:"bulk_download_certificate_token,omitempty"`
1218 1219 // The Cisco ISE bulk download certificate valid from.
1220 BulkDownloadCertificateValidFrom *UnixTime `json:"bulk_download_certificate_valid_from,omitempty"`
1221 1222 // The Cisco ISE bulk download certificate valid to.
1223 BulkDownloadCertificateValidTo *UnixTime `json:"bulk_download_certificate_valid_to,omitempty"`
1224 1225 // The Cisco ISE client certificate subject.
1226 ClientCertificateSubject string `json:"client_certificate_subject,omitempty"`
1227 1228 // The token returned by the uploadinit function call in object fileop for
1229 // Cisco ISE client certificate.
1230 ClientCertificateToken *string `json:"client_certificate_token,omitempty"`
1231 1232 // The Cisco ISE client certificate valid from.
1233 ClientCertificateValidFrom *UnixTime `json:"client_certificate_valid_from,omitempty"`
1234 1235 // The Cisco ISE client certificate valid to.
1236 ClientCertificateValidTo *UnixTime `json:"client_certificate_valid_to,omitempty"`
1237 1238 // The Cisco ISE endpoint descriptive comment.
1239 Comment *string `json:"comment,omitempty"`
1240 1241 // The Cisco ISE connection status.
1242 ConnectionStatus string `json:"connection_status,omitempty"`
1243 1244 // The Cisco ISE connection timeout.
1245 ConnectionTimeout *uint32 `json:"connection_timeout,omitempty"`
1246 1247 // Determines whether a Cisco ISE endpoint is disabled or not. When this is set
1248 // to False, the Cisco ISE endpoint is enabled.
1249 Disable *bool `json:"disable,omitempty"`
1250 1251 // Extensible attributes associated with the object. For valid values for
1252 // extensible attributes, see {extattrs:values}.
1253 Ea EA `json:"extattrs"`
1254 1255 // The Cisco ISE network view name.
1256 NetworkView *string `json:"network_view,omitempty"`
1257 1258 // The Cisco ISE publish settings.
1259 PublishSettings *CiscoisePublishsetting `json:"publish_settings,omitempty"`
1260 1261 // The resolved IPv4 Address or IPv6 Address of the Cisco ISE endpoint.
1262 ResolvedAddress string `json:"resolved_address,omitempty"`
1263 1264 // The resolved IPv4 Address or IPv6 Address of the Cisco ISE endpoint.
1265 ResolvedSecondaryAddress string `json:"resolved_secondary_address,omitempty"`
1266 1267 // The Cisco ISE endpoint secondary IPv4 Address or IPv6 Address or
1268 // Fully-Qualified Domain Name (FQDN)
1269 SecondaryAddress *string `json:"secondary_address,omitempty"`
1270 1271 // The Cisco ISE subscribe settings.
1272 SubscribeSettings *CiscoiseSubscribesetting `json:"subscribe_settings,omitempty"`
1273 1274 // The name of the Grid Member object that is serving Cisco ISE endpoint.
1275 SubscribingMember *string `json:"subscribing_member,omitempty"`
1276 1277 // The Cisco ISE endpoint type.
1278 Type string `json:"type,omitempty"`
1279 1280 // The Cisco ISE endpoint version.
1281 Version string `json:"version,omitempty"`
1282 }
1283 1284 func (CiscoiseEndpoint) ObjectType() string {
1285 return "ciscoise:endpoint"
1286 }
1287 1288 func (obj CiscoiseEndpoint) ReturnFields() []string {
1289 if obj.returnFields == nil {
1290 obj.returnFields = []string{"address", "disable", "resolved_address", "type", "version"}
1291 }
1292 return obj.returnFields
1293 }
1294 1295 // Csvimporttask represents Infoblox object csvimporttask.
1296 // This object represents a CSV import task, if the task was created but not
1297 // started by an import operation, it can be started by modifying it and
1298 // assigning the value ‘START’ to the ‘action’ field.
1299 type Csvimporttask struct {
1300 IBBase `json:"-"`
1301 1302 Ref string `json:"_ref,omitempty"`
1303 1304 // The action to execute.
1305 Action string `json:"action,omitempty"`
1306 1307 // The login name of the administrator.
1308 AdminName string `json:"admin_name,omitempty"`
1309 1310 // The end time of this import operation.
1311 EndTime *UnixTime `json:"end_time,omitempty"`
1312 1313 // The name of the file used for the import operation.
1314 FileName string `json:"file_name,omitempty"`
1315 1316 // The size of the file used for the import operation.
1317 FileSize uint32 `json:"file_size,omitempty"`
1318 1319 // The ID of the current import task.
1320 ImportId uint32 `json:"import_id,omitempty"`
1321 1322 // The number of lines that encountered an error.
1323 LinesFailed uint32 `json:"lines_failed,omitempty"`
1324 1325 // The number of lines that have been processed.
1326 LinesProcessed uint32 `json:"lines_processed,omitempty"`
1327 1328 // The number of lines that encountered a warning.
1329 LinesWarning uint32 `json:"lines_warning,omitempty"`
1330 1331 // The action to take when an error is encountered.
1332 OnError string `json:"on_error,omitempty"`
1333 1334 // The operation to execute.
1335 Operation string `json:"operation,omitempty"`
1336 1337 // The separator to be used for the data in the CSV file.
1338 Separator string `json:"separator,omitempty"`
1339 1340 // The start time of the import operation.
1341 StartTime *UnixTime `json:"start_time,omitempty"`
1342 1343 // The status of the import operation
1344 Status string `json:"status,omitempty"`
1345 1346 // The update method to be used for the operation.
1347 UpdateMethod string `json:"update_method,omitempty"`
1348 }
1349 1350 func (Csvimporttask) ObjectType() string {
1351 return "csvimporttask"
1352 }
1353 1354 func (obj Csvimporttask) ReturnFields() []string {
1355 if obj.returnFields == nil {
1356 obj.returnFields = []string{"action", "admin_name", "end_time", "file_name", "file_size", "import_id", "lines_failed", "lines_processed", "lines_warning", "on_error", "operation", "separator", "start_time", "status", "update_method"}
1357 }
1358 return obj.returnFields
1359 }
1360 1361 // DbObjects represents Infoblox object db_objects.
1362 // The DB Objects object is used to search for changes in objects of the
1363 // Infoblox Grid.
1364 type DbObjects struct {
1365 IBBase `json:"-"`
1366 1367 Ref string `json:"_ref,omitempty"`
1368 1369 // The last returned sequence ID.
1370 LastSequenceId string `json:"last_sequence_id,omitempty"`
1371 1372 // The record object when supported by WAPI. Otherwise, the value is "None".
1373 Object string `json:"object,omitempty"`
1374 1375 // The object type. This is undefined if the object is not supported.
1376 ObjectTypeField string `json:"object_type,omitempty"`
1377 1378 // The unique ID of the requested object.
1379 UniqueId string `json:"unique_id,omitempty"`
1380 }
1381 1382 func (DbObjects) ObjectType() string {
1383 return "db_objects"
1384 }
1385 1386 func (obj DbObjects) ReturnFields() []string {
1387 if obj.returnFields == nil {
1388 obj.returnFields = []string{"last_sequence_id", "object", "object_type", "unique_id"}
1389 }
1390 return obj.returnFields
1391 }
1392 1393 // Dbsnapshot represents Infoblox object dbsnapshot.
1394 // The object provides information about the OneDB snapshot, the last time it
1395 // was taken and the descriptive comment.
1396 type Dbsnapshot struct {
1397 IBBase `json:"-"`
1398 1399 Ref string `json:"_ref,omitempty"`
1400 1401 // The descriptive comment.
1402 Comment string `json:"comment,omitempty"`
1403 1404 // The time when the latest OneDB snapshot was taken in Epoch seconds format.
1405 Timestamp *UnixTime `json:"timestamp,omitempty"`
1406 }
1407 1408 func (Dbsnapshot) ObjectType() string {
1409 return "dbsnapshot"
1410 }
1411 1412 func (obj Dbsnapshot) ReturnFields() []string {
1413 if obj.returnFields == nil {
1414 obj.returnFields = []string{"comment", "timestamp"}
1415 }
1416 return obj.returnFields
1417 }
1418 1419 // DdnsPrincipalcluster represents Infoblox object ddns:principalcluster.
1420 // The DDNS Principal Cluster object represents a set of principals such that
1421 // any principal in a DDNS Principal Cluster can update records created by any
1422 // other principal in the same cluster.
1423 type DdnsPrincipalcluster struct {
1424 IBBase `json:"-"`
1425 1426 Ref string `json:"_ref,omitempty"`
1427 1428 // Comment for the DDNS Principal Cluster.
1429 Comment *string `json:"comment,omitempty"`
1430 1431 // The DDNS Principal cluster group name.
1432 Group *string `json:"group,omitempty"`
1433 1434 // The name of this DDNS Principal Cluster.
1435 Name *string `json:"name,omitempty"`
1436 1437 // The list of equivalent principals.
1438 Principals []string `json:"principals,omitempty"`
1439 }
1440 1441 func (DdnsPrincipalcluster) ObjectType() string {
1442 return "ddns:principalcluster"
1443 }
1444 1445 func (obj DdnsPrincipalcluster) ReturnFields() []string {
1446 if obj.returnFields == nil {
1447 obj.returnFields = []string{"comment", "group", "name", "principals"}
1448 }
1449 return obj.returnFields
1450 }
1451 1452 // DdnsPrincipalclusterGroup represents Infoblox object ddns:principalcluster:group.
1453 // The DDNS Principal Cluster Group object represents a set of DDNS Principal
1454 // Clusters. A single group can be active at any time.
1455 type DdnsPrincipalclusterGroup struct {
1456 IBBase `json:"-"`
1457 1458 Ref string `json:"_ref,omitempty"`
1459 1460 // The list of equivalent DDNS principal clusters.
1461 Clusters []*DdnsPrincipalcluster `json:"clusters,omitempty"`
1462 1463 // Comment for the DDNS Principal Cluster Group.
1464 Comment *string `json:"comment,omitempty"`
1465 1466 // The name of this DDNS Principal Cluster Group.
1467 Name *string `json:"name,omitempty"`
1468 }
1469 1470 func (DdnsPrincipalclusterGroup) ObjectType() string {
1471 return "ddns:principalcluster:group"
1472 }
1473 1474 func (obj DdnsPrincipalclusterGroup) ReturnFields() []string {
1475 if obj.returnFields == nil {
1476 obj.returnFields = []string{"comment", "name"}
1477 }
1478 return obj.returnFields
1479 }
1480 1481 // DeletedObjects represents Infoblox object deleted_objects.
1482 // The Deleted Objects object is used to display information about deleted
1483 // objects. You can retrieve it from the appliance only as a part of DB Objects
1484 // response.
1485 type DeletedObjects struct {
1486 IBBase `json:"-"`
1487 1488 Ref string `json:"_ref,omitempty"`
1489 1490 // The object type of the deleted object. This is undefined if the object is
1491 // not supported.
1492 ObjectTypeField string `json:"object_type,omitempty"`
1493 }
1494 1495 func (DeletedObjects) ObjectType() string {
1496 return "deleted_objects"
1497 }
1498 1499 func (obj DeletedObjects) ReturnFields() []string {
1500 if obj.returnFields == nil {
1501 obj.returnFields = []string{"object_type"}
1502 }
1503 return obj.returnFields
1504 }
1505 1506 // DhcpStatistics represents Infoblox object dhcp:statistics.
1507 // DHCP Statistics object is used to display information about DHCP utilization
1508 // status, number of static and dynamic hosts, overall DHCP utilization in
1509 // percentage. DHCP Statistics object supports references on following objects:
1510 // network, range, sharednetwork, msserver:dhcp, member:dhcpproperties.
1511 type DhcpStatistics struct {
1512 IBBase `json:"-"`
1513 1514 Ref string `json:"_ref,omitempty"`
1515 1516 // The percentage of the total DHCP utilization of DHCP objects multiplied by
1517 // 1000. This is the percentage of the total number of available IP addresses
1518 // belonging to the object versus the total number of all IP addresses in
1519 // object.
1520 DhcpUtilization uint32 `json:"dhcp_utilization,omitempty"`
1521 1522 // A string describing the utilization level of the DHCP object.
1523 DhcpUtilizationStatus string `json:"dhcp_utilization_status,omitempty"`
1524 1525 // The total number of DHCP leases issued for the DHCP object.
1526 DynamicHosts uint32 `json:"dynamic_hosts,omitempty"`
1527 1528 // The number of static DHCP addresses configured in the DHCP object.
1529 StaticHosts uint32 `json:"static_hosts,omitempty"`
1530 1531 // The total number of DHCP addresses configured in the DHCP object.
1532 TotalHosts uint32 `json:"total_hosts,omitempty"`
1533 }
1534 1535 func (DhcpStatistics) ObjectType() string {
1536 return "dhcp:statistics"
1537 }
1538 1539 func (obj DhcpStatistics) ReturnFields() []string {
1540 if obj.returnFields == nil {
1541 obj.returnFields = []string{"dhcp_utilization", "dhcp_utilization_status", "dynamic_hosts", "static_hosts", "total_hosts"}
1542 }
1543 return obj.returnFields
1544 }
1545 1546 // Dhcpfailover represents Infoblox object dhcpfailover.
1547 // DHCP failover is a protocol designed to allow a backup DHCP server to take
1548 // over for a main server if the main server is taken off the network for any
1549 // reason. DHCP failover can be used to configure two DHCP servers to operate
1550 // as a redundant pair.
1551 type Dhcpfailover struct {
1552 IBBase `json:"-"`
1553 1554 Ref string `json:"_ref,omitempty"`
1555 1556 // The value indicating whether the failover assoctaion is Microsoft or Grid
1557 // based. This is a read-only attribute.
1558 AssociationType string `json:"association_type,omitempty"`
1559 1560 // A descriptive comment about a DHCP failover object.
1561 Comment *string `json:"comment,omitempty"`
1562 1563 // Extensible attributes associated with the object. For valid values for
1564 // extensible attributes, see {extattrs:values}.
1565 Ea EA `json:"extattrs"`
1566 1567 // Determines the TCP port on which the server should listen for connections
1568 // from its failover peer. Valid values are between 1 and 63999.
1569 FailoverPort *uint32 `json:"failover_port,omitempty"`
1570 1571 // A load balancing split value of a DHCP failover object. Specify the value of
1572 // the maximum load balancing delay in a 8-bit integer format (range from 0 to
1573 // 256).
1574 LoadBalanceSplit *uint32 `json:"load_balance_split,omitempty"`
1575 1576 // The maximum client lead time value of a DHCP failover object. Specify the
1577 // value of the maximum client lead time in a 32-bit integer format (range from
1578 // 0 to 4294967295) that represents the duration in seconds. Valid values are
1579 // between 1 and 4294967295.
1580 MaxClientLeadTime *uint32 `json:"max_client_lead_time,omitempty"`
1581 1582 // The maximum load balancing delay value of a DHCP failover object. Specify
1583 // the value of the maximum load balancing delay in a 32-bit integer format
1584 // (range from 0 to 4294967295) that represents the duration in seconds. Valid
1585 // values are between 1 and 4294967295.
1586 MaxLoadBalanceDelay *uint32 `json:"max_load_balance_delay,omitempty"`
1587 1588 // The maximum response delay value of a DHCP failover object. Specify the
1589 // value of the maximum response delay in a 32-bit integer format (range from 0
1590 // to 4294967295) that represents the duration in seconds. Valid values are
1591 // between 1 and 4294967295.
1592 MaxResponseDelay *uint32 `json:"max_response_delay,omitempty"`
1593 1594 // The maximum number of unacked updates value of a DHCP failover object.
1595 // Specify the value of the maximum number of unacked updates in a 32-bit
1596 // integer format (range from 0 to 4294967295) that represents the number of
1597 // messages. Valid values are between 1 and 4294967295.
1598 MaxUnackedUpdates *uint32 `json:"max_unacked_updates,omitempty"`
1599 1600 // The value that indicates whether the failover association is read-write or
1601 // read-only. This is a read-only attribute.
1602 MsAssociationMode string `json:"ms_association_mode,omitempty"`
1603 1604 // Determines if the authentication for the failover association is enabled or
1605 // not.
1606 MsEnableAuthentication *bool `json:"ms_enable_authentication,omitempty"`
1607 1608 // Determines if the switchover interval is enabled or not.
1609 MsEnableSwitchoverInterval *bool `json:"ms_enable_switchover_interval,omitempty"`
1610 1611 // The mode for the failover association.
1612 MsFailoverMode string `json:"ms_failover_mode,omitempty"`
1613 1614 // Failover partner defined in the association with the Microsoft Server.
1615 MsFailoverPartner string `json:"ms_failover_partner,omitempty"`
1616 1617 // The partner role in the case of HotStandby.
1618 MsHotstandbyPartnerRole string `json:"ms_hotstandby_partner_role,omitempty"`
1619 1620 // Determines if the matching Microsfot failover association (if any) is in
1621 // synchronization (False) or not (True). If there is no matching failover
1622 // association the returned values is False. This is a read-only attribute.
1623 MsIsConflict bool `json:"ms_is_conflict,omitempty"`
1624 1625 // The previous failover association state. This is a read-only attribute.
1626 MsPreviousState string `json:"ms_previous_state,omitempty"`
1627 1628 // The primary Microsoft Server.
1629 MsServer string `json:"ms_server,omitempty"`
1630 1631 // The failover association authentication. This is a write-only attribute.
1632 MsSharedSecret *string `json:"ms_shared_secret,omitempty"`
1633 1634 // The failover association state. This is a read-only attribute.
1635 MsState string `json:"ms_state,omitempty"`
1636 1637 // The time (in seconds) that DHCPv4 server will wait before transitioning the
1638 // server from the COMMUNICATION-INT state to PARTNER-DOWN state.
1639 MsSwitchoverInterval *uint32 `json:"ms_switchover_interval,omitempty"`
1640 1641 // The name of a DHCP failover object.
1642 Name *string `json:"name,omitempty"`
1643 1644 // The primary server of a DHCP failover object.
1645 Primary *string `json:"primary,omitempty"`
1646 1647 // The type of the primary server of DHCP Failover association object.
1648 PrimaryServerType string `json:"primary_server_type,omitempty"`
1649 1650 // The primary server status of a DHCP failover object.
1651 PrimaryState string `json:"primary_state,omitempty"`
1652 1653 // Determines if the leases are kept in recycle bin until one week after
1654 // expiration or not.
1655 RecycleLeases *bool `json:"recycle_leases,omitempty"`
1656 1657 // The secondary server of a DHCP failover object.
1658 Secondary *string `json:"secondary,omitempty"`
1659 1660 // The type of the secondary server of DHCP Failover association object.
1661 SecondaryServerType string `json:"secondary_server_type,omitempty"`
1662 1663 // The secondary server status of a DHCP failover object.
1664 SecondaryState string `json:"secondary_state,omitempty"`
1665 1666 // Use flag for: failover_port
1667 UseFailoverPort *bool `json:"use_failover_port,omitempty"`
1668 1669 // Use flag for: ms_switchover_interval
1670 UseMsSwitchoverInterval *bool `json:"use_ms_switchover_interval,omitempty"`
1671 1672 // Use flag for: recycle_leases
1673 UseRecycleLeases *bool `json:"use_recycle_leases,omitempty"`
1674 }
1675 1676 func (Dhcpfailover) ObjectType() string {
1677 return "dhcpfailover"
1678 }
1679 1680 func (obj Dhcpfailover) ReturnFields() []string {
1681 if obj.returnFields == nil {
1682 obj.returnFields = []string{"name"}
1683 }
1684 return obj.returnFields
1685 }
1686 1687 // Dhcpoptiondefinition represents Infoblox object dhcpoptiondefinition.
1688 // An option definition defines a DHCP option within a specific option space. A
1689 // custom option can be defined in the predefined DHCP option space or in the
1690 // user-defined vendor option space. To define an option, add the option
1691 // definition to the required option space.
1692 type Dhcpoptiondefinition struct {
1693 IBBase `json:"-"`
1694 1695 Ref string `json:"_ref,omitempty"`
1696 1697 // The code of a DHCP option definition object. An option code number is used
1698 // to identify the DHCP option.
1699 Code *uint32 `json:"code,omitempty"`
1700 1701 // The name of a DHCP option definition object.
1702 Name *string `json:"name,omitempty"`
1703 1704 // The space of a DHCP option definition object.
1705 Space *string `json:"space,omitempty"`
1706 1707 // The data type of the Grid DHCP option.
1708 Type string `json:"type,omitempty"`
1709 }
1710 1711 func (Dhcpoptiondefinition) ObjectType() string {
1712 return "dhcpoptiondefinition"
1713 }
1714 1715 func (obj Dhcpoptiondefinition) ReturnFields() []string {
1716 if obj.returnFields == nil {
1717 obj.returnFields = []string{"code", "name", "type"}
1718 }
1719 return obj.returnFields
1720 }
1721 1722 // Dhcpoptionspace represents Infoblox object dhcpoptionspace.
1723 // An Option Space defines a namespace in which vendor options can be defined.
1724 // To define a specific vendor option space, add an option space to DHCP.
1725 type Dhcpoptionspace struct {
1726 IBBase `json:"-"`
1727 1728 Ref string `json:"_ref,omitempty"`
1729 1730 // A descriptive comment of a DHCP option space object.
1731 Comment *string `json:"comment,omitempty"`
1732 1733 // The name of a DHCP option space object.
1734 Name *string `json:"name,omitempty"`
1735 1736 // The list of DHCP option definition objects.
1737 OptionDefinitions []string `json:"option_definitions,omitempty"`
1738 1739 // The type of a DHCP option space object.
1740 SpaceType string `json:"space_type,omitempty"`
1741 }
1742 1743 func (Dhcpoptionspace) ObjectType() string {
1744 return "dhcpoptionspace"
1745 }
1746 1747 func (obj Dhcpoptionspace) ReturnFields() []string {
1748 if obj.returnFields == nil {
1749 obj.returnFields = []string{"comment", "name"}
1750 }
1751 return obj.returnFields
1752 }
1753 1754 // Discovery represents Infoblox object discovery.
1755 // This object can be used to control the Network Insight functionality of the
1756 // appliance.
1757 type Discovery struct {
1758 IBBase `json:"-"`
1759 1760 Ref string `json:"_ref,omitempty"`
1761 }
1762 1763 func (Discovery) ObjectType() string {
1764 return "discovery"
1765 }
1766 1767 func (obj Discovery) ReturnFields() []string {
1768 if obj.returnFields == nil {
1769 obj.returnFields = []string{}
1770 }
1771 return obj.returnFields
1772 }
1773 1774 // DiscoveryCredentialgroup represents Infoblox object discovery:credentialgroup.
1775 // This object provides information about the Credential group.
1776 type DiscoveryCredentialgroup struct {
1777 IBBase `json:"-"`
1778 1779 Ref string `json:"_ref,omitempty"`
1780 1781 // The name of the Credential group.
1782 Name *string `json:"name,omitempty"`
1783 }
1784 1785 func (DiscoveryCredentialgroup) ObjectType() string {
1786 return "discovery:credentialgroup"
1787 }
1788 1789 func (obj DiscoveryCredentialgroup) ReturnFields() []string {
1790 if obj.returnFields == nil {
1791 obj.returnFields = []string{"name"}
1792 }
1793 return obj.returnFields
1794 }
1795 1796 // DiscoveryDevice represents Infoblox object discovery:device.
1797 // The devices discovered by Network Automation
1798 type DiscoveryDevice struct {
1799 IBBase `json:"-"`
1800 1801 Ref string `json:"_ref,omitempty"`
1802 1803 // The IPv4 Address or IPv6 Address of the device.
1804 Address string `json:"address,omitempty"`
1805 1806 // The ref to management IP address of the device.
1807 AddressRef string `json:"address_ref,omitempty"`
1808 1809 // The list of available management IPs for the device.
1810 AvailableMgmtIps []string `json:"available_mgmt_ips,omitempty"`
1811 1812 // Determines whether to modify the admin status of an interface of the device.
1813 CapAdminStatusInd bool `json:"cap_admin_status_ind,omitempty"`
1814 1815 // The reason that the edit admin status action is not available.
1816 CapAdminStatusNaReason string `json:"cap_admin_status_na_reason,omitempty"`
1817 1818 // Determines whether to modify the description of an interface on the device.
1819 CapDescriptionInd bool `json:"cap_description_ind,omitempty"`
1820 1821 // The reason that the edit description action is not available.
1822 CapDescriptionNaReason string `json:"cap_description_na_reason,omitempty"`
1823 1824 // Determines whether to deprovision a network from interfaces of the device.
1825 CapNetDeprovisioningInd bool `json:"cap_net_deprovisioning_ind,omitempty"`
1826 1827 // The reason that the deprovision a network from interfaces of this device is
1828 // not available.
1829 CapNetDeprovisioningNaReason string `json:"cap_net_deprovisioning_na_reason,omitempty"`
1830 1831 // Determines whether to modify the network associated to an interface of the
1832 // device.
1833 CapNetProvisioningInd bool `json:"cap_net_provisioning_ind,omitempty"`
1834 1835 // The reason that network provisioning is not available.
1836 CapNetProvisioningNaReason string `json:"cap_net_provisioning_na_reason,omitempty"`
1837 1838 // Determines whether to create a VLAN and then provision a network to the
1839 // interface of the device.
1840 CapNetVlanProvisioningInd bool `json:"cap_net_vlan_provisioning_ind,omitempty"`
1841 1842 // The reason that network provisioning on VLAN is not available.
1843 CapNetVlanProvisioningNaReason string `json:"cap_net_vlan_provisioning_na_reason,omitempty"`
1844 1845 // Determines whether to modify the VLAN assignement of an interface of the
1846 // device.
1847 CapVlanAssignmentInd bool `json:"cap_vlan_assignment_ind,omitempty"`
1848 1849 // The reason that VLAN assignment action is not available.
1850 CapVlanAssignmentNaReason string `json:"cap_vlan_assignment_na_reason,omitempty"`
1851 1852 // Determines whether to modify the voice VLAN assignment of an interface of
1853 // the device.
1854 CapVoiceVlanInd bool `json:"cap_voice_vlan_ind,omitempty"`
1855 1856 // The reason that voice VLAN assignment action is not available.
1857 CapVoiceVlanNaReason string `json:"cap_voice_vlan_na_reason,omitempty"`
1858 1859 // The device chassis serial number.
1860 ChassisSerialNumber string `json:"chassis_serial_number,omitempty"`
1861 1862 // The description of the device.
1863 Description string `json:"description,omitempty"`
1864 1865 // Extensible attributes associated with the object. For valid values for
1866 // extensible attributes, see {extattrs:values}.
1867 Ea EA `json:"extattrs"`
1868 1869 // List of the device interfaces.
1870 Interfaces []*DiscoveryDeviceinterface `json:"interfaces,omitempty"`
1871 1872 // The location of the device.
1873 Location string `json:"location,omitempty"`
1874 1875 // The model name of the device.
1876 Model string `json:"model,omitempty"`
1877 1878 // The Microsoft Active Directory user related information.
1879 MsAdUserData *MsserverAduserData `json:"ms_ad_user_data,omitempty"`
1880 1881 // The name of the device.
1882 Name string `json:"name,omitempty"`
1883 1884 // List of the device neighbors.
1885 Neighbors []*DiscoveryDeviceneighbor `json:"neighbors,omitempty"`
1886 1887 // The ref to the network to which belongs the management IP address belongs.
1888 Network string `json:"network,omitempty"`
1889 1890 // The list of networks to which the device interfaces belong.
1891 NetworkInfos []*DiscoveryNetworkinfo `json:"network_infos,omitempty"`
1892 1893 // The name of the network view in which this device resides.
1894 NetworkView string `json:"network_view,omitempty"`
1895 1896 // The list of networks to which the device interfaces belong.
1897 Networks []*Ipv4Network `json:"networks,omitempty"`
1898 1899 // The Operating System version running on the device.
1900 OsVersion string `json:"os_version,omitempty"`
1901 1902 // The port statistics of the device.
1903 PortStats *DiscoveryDevicePortstatistics `json:"port_stats,omitempty"`
1904 1905 // A flag indicated that NI should send enable command when interacting with
1906 // device.
1907 PrivilegedPolling *bool `json:"privileged_polling,omitempty"`
1908 1909 // The type of the device.
1910 Type string `json:"type,omitempty"`
1911 1912 // User-defined management IP address of the device.
1913 UserDefinedMgmtIp *string `json:"user_defined_mgmt_ip,omitempty"`
1914 1915 // The vendor name of the device.
1916 Vendor string `json:"vendor,omitempty"`
1917 1918 // The list of VLAN information associated with the device.
1919 VlanInfos []*DiscoveryVlaninfo `json:"vlan_infos,omitempty"`
1920 }
1921 1922 func (DiscoveryDevice) ObjectType() string {
1923 return "discovery:device"
1924 }
1925 1926 func (obj DiscoveryDevice) ReturnFields() []string {
1927 if obj.returnFields == nil {
1928 obj.returnFields = []string{"address", "name", "network_view"}
1929 }
1930 return obj.returnFields
1931 }
1932 1933 // DiscoveryDevicecomponent represents Infoblox object discovery:devicecomponent.
1934 // The device components discovered by Network Automation.
1935 type DiscoveryDevicecomponent struct {
1936 IBBase `json:"-"`
1937 1938 Ref string `json:"_ref,omitempty"`
1939 1940 // The component name.
1941 ComponentName string `json:"component_name,omitempty"`
1942 1943 // The description of the device component.
1944 Description string `json:"description,omitempty"`
1945 1946 // A reference to a device, to which this component belongs to.
1947 Device string `json:"device,omitempty"`
1948 1949 // The model of the device component.
1950 Model string `json:"model,omitempty"`
1951 1952 // The serial number of the device component.
1953 Serial string `json:"serial,omitempty"`
1954 1955 // The type of device component.
1956 Type string `json:"type,omitempty"`
1957 }
1958 1959 func (DiscoveryDevicecomponent) ObjectType() string {
1960 return "discovery:devicecomponent"
1961 }
1962 1963 func (obj DiscoveryDevicecomponent) ReturnFields() []string {
1964 if obj.returnFields == nil {
1965 obj.returnFields = []string{"component_name", "description", "model", "serial", "type"}
1966 }
1967 return obj.returnFields
1968 }
1969 1970 // DiscoveryDeviceinterface represents Infoblox object discovery:deviceinterface.
1971 // Interfaces on devices discovered by Network Automation
1972 type DiscoveryDeviceinterface struct {
1973 IBBase `json:"-"`
1974 1975 Ref string `json:"_ref,omitempty"`
1976 1977 // Administrative state of the interface.
1978 AdminStatus string `json:"admin_status,omitempty"`
1979 1980 // The configured admin status task info of the interface.
1981 AdminStatusTaskInfo *DiscoveryPortConfigAdminstatus `json:"admin_status_task_info,omitempty"`
1982 1983 // Name of the port channel current interface belongs to.
1984 AggrInterfaceName string `json:"aggr_interface_name,omitempty"`
1985 1986 // Determines whether to modify the admin status of the interface.
1987 CapIfAdminStatusInd bool `json:"cap_if_admin_status_ind,omitempty"`
1988 1989 // The reason that the edit admin status action is not available.
1990 CapIfAdminStatusNaReason string `json:"cap_if_admin_status_na_reason,omitempty"`
1991 1992 // Determines whether to modify the description of the interface.
1993 CapIfDescriptionInd bool `json:"cap_if_description_ind,omitempty"`
1994 1995 // The reason that the edit description action is not available.
1996 CapIfDescriptionNaReason string `json:"cap_if_description_na_reason,omitempty"`
1997 1998 // Determines whether to deprovision a IPv4 network from the interfaces.
1999 CapIfNetDeprovisioningIpv4Ind bool `json:"cap_if_net_deprovisioning_ipv4_ind,omitempty"`
2000 2001 // The reason that the deprovision a IPv4 network from the interface.
2002 CapIfNetDeprovisioningIpv4NaReason string `json:"cap_if_net_deprovisioning_ipv4_na_reason,omitempty"`
2003 2004 // Determines whether to deprovision a IPv6 network from the interfaces.
2005 CapIfNetDeprovisioningIpv6Ind bool `json:"cap_if_net_deprovisioning_ipv6_ind,omitempty"`
2006 2007 // The reason that the deprovision a IPv6 network from the interface.
2008 CapIfNetDeprovisioningIpv6NaReason string `json:"cap_if_net_deprovisioning_ipv6_na_reason,omitempty"`
2009 2010 // Determines whether to modify the IPv4 network associated to the interface.
2011 CapIfNetProvisioningIpv4Ind bool `json:"cap_if_net_provisioning_ipv4_ind,omitempty"`
2012 2013 // The reason that IPv4 network provisioning is not available.
2014 CapIfNetProvisioningIpv4NaReason string `json:"cap_if_net_provisioning_ipv4_na_reason,omitempty"`
2015 2016 // Determines whether to modify the IPv6 network associated to the interface.
2017 CapIfNetProvisioningIpv6Ind bool `json:"cap_if_net_provisioning_ipv6_ind,omitempty"`
2018 2019 // The reason that IPv6 network provisioning is not available.
2020 CapIfNetProvisioningIpv6NaReason string `json:"cap_if_net_provisioning_ipv6_na_reason,omitempty"`
2021 2022 // Determines whether to modify the VLAN assignement of the interface.
2023 CapIfVlanAssignmentInd bool `json:"cap_if_vlan_assignment_ind,omitempty"`
2024 2025 // The reason that VLAN assignment action is not available.
2026 CapIfVlanAssignmentNaReason string `json:"cap_if_vlan_assignment_na_reason,omitempty"`
2027 2028 // Determines whether to modify the voice VLAN assignement of the interface.
2029 CapIfVoiceVlanInd bool `json:"cap_if_voice_vlan_ind,omitempty"`
2030 2031 // The reason that voice VLAN assignment action is not available.
2032 CapIfVoiceVlanNaReason string `json:"cap_if_voice_vlan_na_reason,omitempty"`
2033 2034 // The description of the interface.
2035 Description string `json:"description,omitempty"`
2036 2037 // The configured description task info of the interface.
2038 DescriptionTaskInfo *DiscoveryPortConfigDescription `json:"description_task_info,omitempty"`
2039 2040 // The ref to the device to which the interface belongs.
2041 Device string `json:"device,omitempty"`
2042 2043 // The duplex state of the interface.
2044 Duplex string `json:"duplex,omitempty"`
2045 2046 // Extensible attributes associated with the object. For valid values for
2047 // extensible attributes, see {extattrs:values}.
2048 Ea EA `json:"extattrs"`
2049 2050 // List of IFaddr information associated with the interface.
2051 IfaddrInfos []*DiscoveryIfaddrinfo `json:"ifaddr_infos,omitempty"`
2052 2053 // The interface index number, as reported by SNMP.
2054 Index int `json:"index,omitempty"`
2055 2056 // Timestamp of the last interface property change detected.
2057 LastChange *UnixTime `json:"last_change,omitempty"`
2058 2059 // This field indicates if this is a link aggregation interface.
2060 LinkAggregation bool `json:"link_aggregation,omitempty"`
2061 2062 // The MAC address of the interface.
2063 Mac string `json:"mac,omitempty"`
2064 2065 // The Microsoft Active Directory user related information.
2066 MsAdUserData *MsserverAduserData `json:"ms_ad_user_data,omitempty"`
2067 2068 // The interface system name.
2069 Name string `json:"name,omitempty"`
2070 2071 // Th name of the network view.
2072 NetworkView string `json:"network_view,omitempty"`
2073 2074 // Operating state of the interface.
2075 OperStatus string `json:"oper_status,omitempty"`
2076 2077 // The Port Fast status of the interface.
2078 PortFast string `json:"port_fast,omitempty"`
2079 2080 // The reference to object(Host/FixedAddress/GridMember) to which this port is
2081 // reserved.
2082 ReservedObject string `json:"reserved_object,omitempty"`
2083 2084 // The interface speed in bps.
2085 Speed uint32 `json:"speed,omitempty"`
2086 2087 // Indicates if the interface is tagged as a VLAN trunk or not.
2088 TrunkStatus string `json:"trunk_status,omitempty"`
2089 2090 // The type of interface.
2091 Type string `json:"type,omitempty"`
2092 2093 // The configured VLAN status task info of the interface.
2094 VlanInfoTaskInfo *DiscoveryPortConfigVlaninfo `json:"vlan_info_task_info,omitempty"`
2095 2096 // The list of VLAN information associated with the interface.
2097 VlanInfos []*DiscoveryVlaninfo `json:"vlan_infos,omitempty"`
2098 2099 // Aggregated interface name of vPC peer device current port is connected to.
2100 VpcPeer string `json:"vpc_peer,omitempty"`
2101 2102 // The reference to vPC peer device.
2103 VpcPeerDevice string `json:"vpc_peer_device,omitempty"`
2104 2105 // The description of the Virtual Routing and Forwarding (VRF) associated with
2106 // the interface.
2107 VrfDescription string `json:"vrf_description,omitempty"`
2108 2109 // The name of the Virtual Routing and Forwarding (VRF) associated with the
2110 // interface.
2111 VrfName string `json:"vrf_name,omitempty"`
2112 2113 // The route distinguisher of the Virtual Routing and Forwarding (VRF)
2114 // associated with the interface.
2115 VrfRd string `json:"vrf_rd,omitempty"`
2116 }
2117 2118 func (DiscoveryDeviceinterface) ObjectType() string {
2119 return "discovery:deviceinterface"
2120 }
2121 2122 func (obj DiscoveryDeviceinterface) ReturnFields() []string {
2123 if obj.returnFields == nil {
2124 obj.returnFields = []string{"name", "type"}
2125 }
2126 return obj.returnFields
2127 }
2128 2129 // DiscoveryDeviceneighbor represents Infoblox object discovery:deviceneighbor.
2130 // The neighbor associated with the device discovered by Network Automation.
2131 type DiscoveryDeviceneighbor struct {
2132 IBBase `json:"-"`
2133 2134 Ref string `json:"_ref,omitempty"`
2135 2136 // The IPv4 Address or IPv6 Address of the device neighbor.
2137 Address string `json:"address,omitempty"`
2138 2139 // The ref to the management IP address of the device neighbor.
2140 AddressRef string `json:"address_ref,omitempty"`
2141 2142 // The ref to the device to which the device neighbor belongs.
2143 Device string `json:"device,omitempty"`
2144 2145 // The ref to the interface to which the device neighbor belongs.
2146 Interface string `json:"interface,omitempty"`
2147 2148 // The MAC address of the device neighbor.
2149 Mac string `json:"mac,omitempty"`
2150 2151 // The name of the device neighbor.
2152 Name string `json:"name,omitempty"`
2153 2154 // The list of VLAN information associated with the device neighbor.
2155 VlanInfos []*DiscoveryVlaninfo `json:"vlan_infos,omitempty"`
2156 }
2157 2158 func (DiscoveryDeviceneighbor) ObjectType() string {
2159 return "discovery:deviceneighbor"
2160 }
2161 2162 func (obj DiscoveryDeviceneighbor) ReturnFields() []string {
2163 if obj.returnFields == nil {
2164 obj.returnFields = []string{"address", "address_ref", "mac", "name"}
2165 }
2166 return obj.returnFields
2167 }
2168 2169 // DiscoveryDevicesupportbundle represents Infoblox object discovery:devicesupportbundle.
2170 // Infoblox frequently provides support files for additional network devices
2171 // that may not have previously been supported by discovery, and updates to
2172 // support new operating system versions of existing devices.
2173 type DiscoveryDevicesupportbundle struct {
2174 IBBase `json:"-"`
2175 2176 Ref string `json:"_ref,omitempty"`
2177 2178 // The developer of the device support bundle.
2179 Author string `json:"author,omitempty"`
2180 2181 // Determines whether the device support bundle is integrated or imported. Note
2182 // that integrated support bundles cannot be removed.
2183 IntegratedInd bool `json:"integrated_ind,omitempty"`
2184 2185 // The descriptive device name for the device support bundle.
2186 Name string `json:"name,omitempty"`
2187 2188 // The version of the currently active device support bundle.
2189 Version string `json:"version,omitempty"`
2190 }
2191 2192 func (DiscoveryDevicesupportbundle) ObjectType() string {
2193 return "discovery:devicesupportbundle"
2194 }
2195 2196 func (obj DiscoveryDevicesupportbundle) ReturnFields() []string {
2197 if obj.returnFields == nil {
2198 obj.returnFields = []string{"author", "integrated_ind", "name", "version"}
2199 }
2200 return obj.returnFields
2201 }
2202 2203 // DiscoveryDiagnostictask represents Infoblox object discovery:diagnostictask.
2204 // The object provides information about the discovery diagnostic task.
2205 type DiscoveryDiagnostictask struct {
2206 IBBase `json:"-"`
2207 2208 Ref string `json:"_ref,omitempty"`
2209 2210 // The SNMP community string of the discovery diagnostic task.
2211 CommunityString *string `json:"community_string,omitempty"`
2212 2213 // The SNMP debug flag of the discovery diagnostic task.
2214 DebugSnmp *bool `json:"debug_snmp,omitempty"`
2215 2216 // The force test flag of the discovery diagnostic task.
2217 ForceTest *bool `json:"force_test,omitempty"`
2218 2219 // The IP address of the discovery diagnostic task.
2220 IpAddress *string `json:"ip_address,omitempty"`
2221 2222 // The network view name of the discovery diagnostic task.
2223 NetworkView *string `json:"network_view,omitempty"`
2224 2225 // The time when the discovery diagnostic task was started.
2226 StartTime *UnixTime `json:"start_time,omitempty"`
2227 2228 // The ID of the discovery diagnostic task.
2229 TaskId *string `json:"task_id,omitempty"`
2230 }
2231 2232 func (DiscoveryDiagnostictask) ObjectType() string {
2233 return "discovery:diagnostictask"
2234 }
2235 2236 func (obj DiscoveryDiagnostictask) ReturnFields() []string {
2237 if obj.returnFields == nil {
2238 obj.returnFields = []string{"ip_address", "network_view", "task_id"}
2239 }
2240 return obj.returnFields
2241 }
2242 2243 // DiscoveryGridproperties represents Infoblox object discovery:gridproperties.
2244 // The object provides information about the Grid discovery properties.
2245 type DiscoveryGridproperties struct {
2246 IBBase `json:"-"`
2247 2248 Ref string `json:"_ref,omitempty"`
2249 2250 // Discovery advanced polling settings.
2251 AdvancedPollingSettings *DiscoveryAdvancedpollsetting `json:"advanced_polling_settings,omitempty"`
2252 2253 // Discovery advanced polling settings.
2254 AdvancedSdnPollingSettings *DiscoveryAdvancedsdnpollsettings `json:"advanced_sdn_polling_settings,omitempty"`
2255 2256 // Advisor settings.
2257 AdvisorSettings *DiscoveryAdvisorsetting `json:"advisor_settings,omitempty"`
2258 2259 // Automatic conversion settings.
2260 AutoConversionSettings []*DiscoveryAutoconversionsetting `json:"auto_conversion_settings,omitempty"`
2261 2262 // Discovery basic polling settings.
2263 BasicPollingSettings *DiscoveryBasicpollsettings `json:"basic_polling_settings,omitempty"`
2264 2265 // Discovery basic polling settings.
2266 BasicSdnPollingSettings *DiscoveryBasicsdnpollsettings `json:"basic_sdn_polling_settings,omitempty"`
2267 2268 // Discovery CLI credentials.
2269 CliCredentials []*DiscoveryClicredential `json:"cli_credentials,omitempty"`
2270 2271 // Discovery blackout setting.
2272 DiscoveryBlackoutSetting *PropertiesBlackoutsetting `json:"discovery_blackout_setting,omitempty"`
2273 2274 // The type of the devices the DNS processor operates on.
2275 DnsLookupOption string `json:"dns_lookup_option,omitempty"`
2276 2277 // The percentage of available capacity the DNS processor operates at. Valid
2278 // values are unsigned integer between 1 and 100, inclusive.
2279 DnsLookupThrottle *uint32 `json:"dns_lookup_throttle,omitempty"`
2280 2281 // Advisor application enabled/disabled.
2282 EnableAdvisor *bool `json:"enable_advisor,omitempty"`
2283 2284 // The flag that enables automatic conversion of discovered data.
2285 EnableAutoConversion *bool `json:"enable_auto_conversion,omitempty"`
2286 2287 // The flag that enables updating discovered data for managed objects.
2288 EnableAutoUpdates *bool `json:"enable_auto_updates,omitempty"`
2289 2290 // The Grid name.
2291 GridName string `json:"grid_name,omitempty"`
2292 2293 // Determines the timeout to ignore the discovery conflict duration (in
2294 // seconds).
2295 IgnoreConflictDuration *uint32 `json:"ignore_conflict_duration,omitempty"`
2296 2297 // Port control blackout setting.
2298 PortControlBlackoutSetting *PropertiesBlackoutsetting `json:"port_control_blackout_setting,omitempty"`
2299 2300 // Ports to scan.
2301 Ports []*DiscoveryPort `json:"ports,omitempty"`
2302 2303 // Determines if the same port control is used for discovery blackout.
2304 SamePortControlDiscoveryBlackout *bool `json:"same_port_control_discovery_blackout,omitempty"`
2305 2306 // Discovery SNMP v1 and v2 credentials.
2307 Snmpv1v2Credentials []*DiscoverySnmpcredential `json:"snmpv1v2_credentials,omitempty"`
2308 2309 // Discovery SNMP v3 credentials.
2310 Snmpv3Credentials []*DiscoverySnmp3credential `json:"snmpv3_credentials,omitempty"`
2311 2312 // Limit of discovered unmanaged IP address which determines how frequently the
2313 // user is notified about the new unmanaged IP address in a particular network.
2314 UnmanagedIpsLimit *uint32 `json:"unmanaged_ips_limit,omitempty"`
2315 2316 // Determines the timeout between two notifications (in seconds) about the new
2317 // unmanaged IP address in a particular network. The value must be between 60
2318 // seconds and the number of seconds remaining to Jan 2038.
2319 UnmanagedIpsTimeout *uint32 `json:"unmanaged_ips_timeout,omitempty"`
2320 2321 // The policy type used to define the behavior of the VRF mapping.
2322 VrfMappingPolicy string `json:"vrf_mapping_policy,omitempty"`
2323 2324 // VRF mapping rules.
2325 VrfMappingRules []*DiscoveryVrfmappingrule `json:"vrf_mapping_rules,omitempty"`
2326 }
2327 2328 func (DiscoveryGridproperties) ObjectType() string {
2329 return "discovery:gridproperties"
2330 }
2331 2332 func (obj DiscoveryGridproperties) ReturnFields() []string {
2333 if obj.returnFields == nil {
2334 obj.returnFields = []string{"grid_name"}
2335 }
2336 return obj.returnFields
2337 }
2338 2339 // DiscoveryMemberproperties represents Infoblox object discovery:memberproperties.
2340 // The object provides information about the Grid member discovery properties.
2341 type DiscoveryMemberproperties struct {
2342 IBBase `json:"-"`
2343 2344 Ref string `json:"_ref,omitempty"`
2345 2346 // The Grid member address IP address.
2347 Address string `json:"address,omitempty"`
2348 2349 // Discovery CLI credentials.
2350 CliCredentials []*DiscoveryClicredential `json:"cli_credentials,omitempty"`
2351 2352 // Default seed routers.
2353 DefaultSeedRouters []*DiscoverySeedrouter `json:"default_seed_routers,omitempty"`
2354 2355 // The name of the network discovery Grid member.
2356 DiscoveryMember string `json:"discovery_member,omitempty"`
2357 2358 // Determines if the discovery service is enabled.
2359 EnableService *bool `json:"enable_service,omitempty"`
2360 2361 // Gateway seed routers.
2362 GatewaySeedRouters []*DiscoverySeedrouter `json:"gateway_seed_routers,omitempty"`
2363 2364 // Determines if the standalone mode for discovery network monitor is enabled
2365 // or not.
2366 IsSa *bool `json:"is_sa,omitempty"`
2367 2368 // Discovery member role.
2369 Role string `json:"role,omitempty"`
2370 2371 // Discovery networks to which the member is assigned.
2372 ScanInterfaces []*DiscoveryScaninterface `json:"scan_interfaces,omitempty"`
2373 2374 // List of SDN/SDWAN controller configurations.
2375 SdnConfigs []*DiscoverySdnconfig `json:"sdn_configs,omitempty"`
2376 2377 // Seed routers.
2378 SeedRouters []*DiscoverySeedrouter `json:"seed_routers,omitempty"`
2379 2380 // Discovery SNMP v1 and v2 credentials.
2381 Snmpv1v2Credentials []*DiscoverySnmpcredential `json:"snmpv1v2_credentials,omitempty"`
2382 2383 // Discovery SNMP v3 credentials.
2384 Snmpv3Credentials []*DiscoverySnmp3credential `json:"snmpv3_credentials,omitempty"`
2385 2386 // Use flag for: cli_credentials
2387 UseCliCredentials *bool `json:"use_cli_credentials,omitempty"`
2388 2389 // Use flag for: snmpv1v2_credentials
2390 UseSnmpv1v2Credentials *bool `json:"use_snmpv1v2_credentials,omitempty"`
2391 2392 // Use flag for: snmpv3_credentials
2393 UseSnmpv3Credentials *bool `json:"use_snmpv3_credentials,omitempty"`
2394 }
2395 2396 func (DiscoveryMemberproperties) ObjectType() string {
2397 return "discovery:memberproperties"
2398 }
2399 2400 func (obj DiscoveryMemberproperties) ReturnFields() []string {
2401 if obj.returnFields == nil {
2402 obj.returnFields = []string{"discovery_member"}
2403 }
2404 return obj.returnFields
2405 }
2406 2407 // DiscoverySdnnetwork represents Infoblox object discovery:sdnnetwork.
2408 // This object provides information about the SDN networks. They are the
2409 // elements of address space hierarchy discovered on SDN/SDWAN controllers
2410 type DiscoverySdnnetwork struct {
2411 IBBase `json:"-"`
2412 2413 Ref string `json:"_ref,omitempty"`
2414 2415 // Timestamp when this SDN network was first discovered.
2416 FirstSeen *UnixTime `json:"first_seen,omitempty"`
2417 2418 // The name of the SDN network.
2419 Name string `json:"name,omitempty"`
2420 2421 // The name of the network view assigned to this SDN network.
2422 NetworkView string `json:"network_view,omitempty"`
2423 2424 // Name of SDN configuration this network belongs to.
2425 SourceSdnConfig string `json:"source_sdn_config,omitempty"`
2426 }
2427 2428 func (DiscoverySdnnetwork) ObjectType() string {
2429 return "discovery:sdnnetwork"
2430 }
2431 2432 func (obj DiscoverySdnnetwork) ReturnFields() []string {
2433 if obj.returnFields == nil {
2434 obj.returnFields = []string{"name", "network_view", "source_sdn_config"}
2435 }
2436 return obj.returnFields
2437 }
2438 2439 // DiscoveryStatus represents Infoblox object discovery:status.
2440 // The discovery status of discovered data
2441 type DiscoveryStatus struct {
2442 IBBase `json:"-"`
2443 2444 Ref string `json:"_ref,omitempty"`
2445 2446 // The IPv4 Address or IPv6 Address of the device.
2447 Address string `json:"address,omitempty"`
2448 2449 // Indicates if CLI collection is enabled.
2450 CliCollectionEnabled bool `json:"cli_collection_enabled,omitempty"`
2451 2452 // The CLI credential status information of the device.
2453 CliCredentialInfo *DiscoveryStatusinfo `json:"cli_credential_info,omitempty"`
2454 2455 // The existence status information of the device.
2456 ExistenceInfo *DiscoveryStatusinfo `json:"existence_info,omitempty"`
2457 2458 // Indicates if DHCP finterprinting is enabled.
2459 FingerprintEnabled bool `json:"fingerprint_enabled,omitempty"`
2460 2461 // This DHCP finterprinting status information of the device.
2462 FingerprintInfo *DiscoveryStatusinfo `json:"fingerprint_info,omitempty"`
2463 2464 // The timestamp when the device was first discovered.
2465 FirstSeen *UnixTime `json:"first_seen,omitempty"`
2466 2467 // The timestamp of the last detected interface property change.
2468 LastAction string `json:"last_action,omitempty"`
2469 2470 // The timestamp when the device was last discovered.
2471 LastSeen *UnixTime `json:"last_seen,omitempty"`
2472 2473 // The timestamp of the last executed action for the device.
2474 LastTimestamp *UnixTime `json:"last_timestamp,omitempty"`
2475 2476 // The name of the device.
2477 Name string `json:"name,omitempty"`
2478 2479 // The name of the network view in which this device resides.
2480 NetworkView string `json:"network_view,omitempty"`
2481 2482 // The reachable status information of the device.
2483 ReachableInfo *DiscoveryStatusinfo `json:"reachable_info,omitempty"`
2484 2485 // Indicate whether SDN collection enabled for the device.
2486 SdnCollectionEnabled bool `json:"sdn_collection_enabled,omitempty"`
2487 2488 // Device SDN collection status information.
2489 SdnCollectionInfo *DiscoveryStatusinfo `json:"sdn_collection_info,omitempty"`
2490 2491 // Indicates if SNMP collection is enabled.
2492 SnmpCollectionEnabled bool `json:"snmp_collection_enabled,omitempty"`
2493 2494 // The SNMP collection status information of the device.
2495 SnmpCollectionInfo *DiscoveryStatusinfo `json:"snmp_collection_info,omitempty"`
2496 2497 // The SNMP credential status information of the device.
2498 SnmpCredentialInfo *DiscoveryStatusinfo `json:"snmp_credential_info,omitempty"`
2499 2500 // The overall status of the device.
2501 Status string `json:"status,omitempty"`
2502 2503 // The type of device.
2504 Type string `json:"type,omitempty"`
2505 }
2506 2507 func (DiscoveryStatus) ObjectType() string {
2508 return "discovery:status"
2509 }
2510 2511 func (obj DiscoveryStatus) ReturnFields() []string {
2512 if obj.returnFields == nil {
2513 obj.returnFields = []string{"address", "name", "network_view", "status"}
2514 }
2515 return obj.returnFields
2516 }
2517 2518 // DiscoveryVrf represents Infoblox object discovery:vrf.
2519 // This object provides information about the virtual network membership (VRF).
2520 type DiscoveryVrf struct {
2521 IBBase `json:"-"`
2522 2523 Ref string `json:"_ref,omitempty"`
2524 2525 // Additional information about the VRF.
2526 Description string `json:"description,omitempty"`
2527 2528 // The device to which the VRF belongs.
2529 Device string `json:"device,omitempty"`
2530 2531 // The name of the VRF.
2532 Name string `json:"name,omitempty"`
2533 2534 // The name of the network view in which this VRF resides.
2535 NetworkView string `json:"network_view,omitempty"`
2536 2537 // The route distinguisher associated with the VRF.
2538 RouteDistinguisher string `json:"route_distinguisher,omitempty"`
2539 }
2540 2541 func (DiscoveryVrf) ObjectType() string {
2542 return "discovery:vrf"
2543 }
2544 2545 func (obj DiscoveryVrf) ReturnFields() []string {
2546 if obj.returnFields == nil {
2547 obj.returnFields = []string{"device", "name", "network_view", "route_distinguisher"}
2548 }
2549 return obj.returnFields
2550 }
2551 2552 // Discoverytask represents Infoblox object discoverytask.
2553 // Represents the configuration of network discovery jobs. Configuration
2554 // parameters have control over the behavior of network discovery jobs.
2555 type Discoverytask struct {
2556 IBBase `json:"-"`
2557 2558 Ref string `json:"_ref,omitempty"`
2559 2560 // The network discovery CSV file name.
2561 CsvFileName string `json:"csv_file_name,omitempty"`
2562 2563 // Determines whether IP scanning is disabled.
2564 DisableIpScanning *bool `json:"disable_ip_scanning,omitempty"`
2565 2566 // Determines whether VMWare scanning is disabled.
2567 DisableVmwareScanning *bool `json:"disable_vmware_scanning,omitempty"`
2568 2569 // The discovery task identifier.
2570 DiscoveryTaskOid string `json:"discovery_task_oid,omitempty"`
2571 2572 // The Grid member that runs the discovery.
2573 MemberName *string `json:"member_name,omitempty"`
2574 2575 // Determines whether to replace or merge new data with existing data.
2576 MergeData *bool `json:"merge_data,omitempty"`
2577 2578 // Network discovery scanning mode.
2579 Mode string `json:"mode,omitempty"`
2580 2581 // Name of the network view in which target networks for network discovery
2582 // reside.
2583 NetworkView *string `json:"network_view,omitempty"`
2584 2585 // The list of the networks on which the network discovery will be invoked.
2586 Networks []*Ipv4Network `json:"networks,omitempty"`
2587 2588 // The number of times to perfrom ping for ICMP and FULL modes.
2589 PingRetries *uint32 `json:"ping_retries,omitempty"`
2590 2591 // The ping timeout for ICMP and FULL modes.
2592 PingTimeout *uint32 `json:"ping_timeout,omitempty"`
2593 2594 // The schedule setting for network discovery task.
2595 ScheduledRun *SettingSchedule `json:"scheduled_run,omitempty"`
2596 2597 // The network discovery process state.
2598 State string `json:"state,omitempty"`
2599 2600 // Time when the network discovery process state was last updated.
2601 StateTime *UnixTime `json:"state_time,omitempty"`
2602 2603 // The network discovery process descriptive status.
2604 Status string `json:"status,omitempty"`
2605 2606 // The time when the network discovery process status was last updated.
2607 StatusTime *UnixTime `json:"status_time,omitempty"`
2608 2609 // The ports to scan for FULL and TCP modes.
2610 TcpPorts []*Discoverytaskport `json:"tcp_ports,omitempty"`
2611 2612 // The TCP scan techinque for FULL and TCP modes.
2613 TcpScanTechnique string `json:"tcp_scan_technique,omitempty"`
2614 2615 // Name of the network view in which target networks for VMWare scanning
2616 // reside.
2617 VNetworkView *string `json:"v_network_view,omitempty"`
2618 2619 // The list of VMware vSphere servers for VM discovery.
2620 Vservers []*Discoverytaskvserver `json:"vservers,omitempty"`
2621 2622 // The network discovery process warning.
2623 Warning string `json:"warning,omitempty"`
2624 }
2625 2626 func (Discoverytask) ObjectType() string {
2627 return "discoverytask"
2628 }
2629 2630 func (obj Discoverytask) ReturnFields() []string {
2631 if obj.returnFields == nil {
2632 obj.returnFields = []string{"discovery_task_oid", "member_name"}
2633 }
2634 return obj.returnFields
2635 }
2636 2637 // Distributionschedule represents Infoblox object distributionschedule.
2638 // Distributing the software upgrade files involves unpacking the software
2639 // files and loading the new software. When you distribute the files, the NIOS
2640 // appliance loads the new software code into an alternative disk partition
2641 // that overwrites any previously saved version of existing code. Therefore,
2642 // starting the distribution disables the appliance from reverting to a release
2643 // prior to the current version. The Grid Master distributes the software
2644 // upgrade to each member in the Grid including itself.
2645 type Distributionschedule struct {
2646 IBBase `json:"-"`
2647 2648 Ref string `json:"_ref,omitempty"`
2649 2650 // Determines whether the distribution schedule is active.
2651 Active *bool `json:"active,omitempty"`
2652 2653 // The start time of the distribution.
2654 StartTime *UnixTime `json:"start_time,omitempty"`
2655 2656 // Time zone of the distribution start time.
2657 TimeZone string `json:"time_zone,omitempty"`
2658 2659 // The upgrade groups scheduling settings.
2660 UpgradeGroups []*UpgradegroupSchedule `json:"upgrade_groups,omitempty"`
2661 }
2662 2663 func (Distributionschedule) ObjectType() string {
2664 return "distributionschedule"
2665 }
2666 2667 func (obj Distributionschedule) ReturnFields() []string {
2668 if obj.returnFields == nil {
2669 obj.returnFields = []string{"active", "start_time", "time_zone"}
2670 }
2671 return obj.returnFields
2672 }
2673 2674 // Dns64group represents Infoblox object dns64group.
2675 // To support the increasing number of IPv6 and dual-stack networks, Infoblox
2676 // DNS servers now support DNS64, a mechanism that synthesizes AAAA records
2677 // from A records when no AAAA records exist.
2678 type Dns64group struct {
2679 IBBase `json:"-"`
2680 2681 Ref string `json:"_ref,omitempty"`
2682 2683 // Access Control settings that contain IPv4 and IPv6 DNS clients and networks
2684 // to which the DNS server is allowed to send synthesized AAAA records with the
2685 // specified IPv6 prefix.
2686 Clients []*Addressac `json:"clients,omitempty"`
2687 2688 // The descriptive comment for the DNS64 synthesis group object.
2689 Comment *string `json:"comment,omitempty"`
2690 2691 // Determines whether the DNS64 synthesis group is disabled.
2692 Disable *bool `json:"disable,omitempty"`
2693 2694 // Determines whether the DNS64 synthesis of AAAA records is enabled for DNS64
2695 // synthesis groups that request DNSSEC data.
2696 EnableDnssecDns64 *bool `json:"enable_dnssec_dns64,omitempty"`
2697 2698 // Access Control settings that contain IPv6 addresses or prefix ranges that
2699 // cannot be used by IPv6-only hosts, such as IP addresses in the ::ffff:0:0/96
2700 // network. When DNS server retrieves an AAAA record that contains an IPv6
2701 // address that matches an excluded address, it does not return the AAAA
2702 // record. Instead it synthesizes an AAAA record from the A record.
2703 Exclude []*Addressac `json:"exclude,omitempty"`
2704 2705 // Extensible attributes associated with the object. For valid values for
2706 // extensible attributes, see {extattrs:values}.
2707 Ea EA `json:"extattrs"`
2708 2709 // Access Control settings that contain IPv4 addresses and networks for which
2710 // the DNS server can synthesize AAAA records with the specified prefix.
2711 Mapped []*Addressac `json:"mapped,omitempty"`
2712 2713 // The name of the DNS64 synthesis group object.
2714 Name *string `json:"name,omitempty"`
2715 2716 // The IPv6 prefix used for the synthesized AAAA records. The prefix length
2717 // must be /32, /40, /48, /56, /64 or /96, and all bits beyond the specified
2718 // length must be zero.
2719 Prefix *string `json:"prefix,omitempty"`
2720 }
2721 2722 func (Dns64group) ObjectType() string {
2723 return "dns64group"
2724 }
2725 2726 func (obj Dns64group) ReturnFields() []string {
2727 if obj.returnFields == nil {
2728 obj.returnFields = []string{"comment", "disable", "name"}
2729 }
2730 return obj.returnFields
2731 }
2732 2733 // Dtc represents Infoblox object dtc.
2734 // This object can be used to control the DTC functionality of the appliance.
2735 type Dtc struct {
2736 IBBase `json:"-"`
2737 2738 Ref string `json:"_ref,omitempty"`
2739 }
2740 2741 func (Dtc) ObjectType() string {
2742 return "dtc"
2743 }
2744 2745 func (obj Dtc) ReturnFields() []string {
2746 if obj.returnFields == nil {
2747 obj.returnFields = []string{}
2748 }
2749 return obj.returnFields
2750 }
2751 2752 // DtcAllrecords represents Infoblox object dtc:allrecords.
2753 // The DTC AllRecords object is a read-only synthetic object used to retrieve
2754 // records that belong to a particular DTC server.
2755 type DtcAllrecords struct {
2756 IBBase `json:"-"`
2757 2758 Ref string `json:"_ref,omitempty"`
2759 2760 // The record comment.
2761 Comment string `json:"comment,omitempty"`
2762 2763 // The disable value determines if the record is disabled or not. "False" means
2764 // the record is enabled.
2765 Disable bool `json:"disable,omitempty"`
2766 2767 // The name of the DTC Server object with which the record is associated.
2768 DtcServer string `json:"dtc_server,omitempty"`
2769 2770 // The record object, if supported by the WAPI. Otherwise, the value is "None".
2771 Record string `json:"record,omitempty"`
2772 2773 // The TTL value of the record associated with the DTC AllRecords object.
2774 Ttl *uint32 `json:"ttl,omitempty"`
2775 2776 // The record type. When searching for an unspecified record type, the search
2777 // is performed for all records. On retrieval, the appliance returns
2778 // "UNSUPPORTED" for unsupported records.
2779 Type string `json:"type,omitempty"`
2780 }
2781 2782 func (DtcAllrecords) ObjectType() string {
2783 return "dtc:allrecords"
2784 }
2785 2786 func (obj DtcAllrecords) ReturnFields() []string {
2787 if obj.returnFields == nil {
2788 obj.returnFields = []string{"comment", "dtc_server", "type"}
2789 }
2790 return obj.returnFields
2791 }
2792 2793 // DtcCertificate represents Infoblox object dtc:certificate.
2794 // These are DTC health monitor certificates.
2795 type DtcCertificate struct {
2796 IBBase `json:"-"`
2797 2798 Ref string `json:"_ref,omitempty"`
2799 2800 // Reference to underlying X509Certificate.
2801 Certificate string `json:"certificate,omitempty"`
2802 2803 // Determines whether the certificate is in use or not.
2804 InUse bool `json:"in_use,omitempty"`
2805 }
2806 2807 func (DtcCertificate) ObjectType() string {
2808 return "dtc:certificate"
2809 }
2810 2811 func (obj DtcCertificate) ReturnFields() []string {
2812 if obj.returnFields == nil {
2813 obj.returnFields = []string{}
2814 }
2815 return obj.returnFields
2816 }
2817 2818 // DtcLbdn represents Infoblox object dtc:lbdn.
2819 // Load Balanced Domain Name (LBDN) is a Load balanced domain name record type,
2820 // which is served by Infoblox Name Servers. LBDN is a qualified domain name
2821 // associated with a specific service such as ftp.abc.com or www.abc.com.
2822 type DtcLbdn struct {
2823 IBBase `json:"-"`
2824 2825 Ref string `json:"_ref,omitempty"`
2826 2827 // List of linked auth zones.
2828 AuthZones []*ZoneAuth `json:"auth_zones,omitempty"`
2829 2830 // Flag for enabling auto managing DTC Consolidated Monitors on related DTC
2831 // Pools.
2832 AutoConsolidatedMonitors *bool `json:"auto_consolidated_monitors,omitempty"`
2833 2834 // Comment for the DTC LBDN; maximum 256 characters.
2835 Comment *string `json:"comment,omitempty"`
2836 2837 // Determines whether the DTC LBDN is disabled or not. When this is set to
2838 // False, the fixed address is enabled.
2839 Disable *bool `json:"disable,omitempty"`
2840 2841 // Extensible attributes associated with the object. For valid values for
2842 // extensible attributes, see {extattrs:values}.
2843 Ea EA `json:"extattrs"`
2844 2845 // The LBDN health information.
2846 Health *DtcHealth `json:"health,omitempty"`
2847 2848 // The load balancing method. Used to select pool.
2849 LbMethod string `json:"lb_method,omitempty"`
2850 2851 // The display name of the DTC LBDN, not DNS related.
2852 Name *string `json:"name,omitempty"`
2853 2854 // LBDN wildcards for pattern match.
2855 Patterns []string `json:"patterns,omitempty"`
2856 2857 // Maximum time, in seconds, for which client specific LBDN responses will be
2858 // cached. Zero specifies no caching.
2859 Persistence *uint32 `json:"persistence,omitempty"`
2860 2861 // The maximum time, in seconds, for which client specific LBDN responses will
2862 // be cached. Zero specifies no caching.
2863 Pools []*DtcPoolLink `json:"pools,omitempty"`
2864 2865 // The LBDN pattern match priority for "overlapping" DTC LBDN objects. LBDNs
2866 // are "overlapping" if they are simultaneously assigned to a zone and have
2867 // patterns that can match the same FQDN. The matching LBDN with highest
2868 // priority (lowest ordinal) will be used.
2869 Priority *uint32 `json:"priority,omitempty"`
2870 2871 // The topology rules for TOPOLOGY method.
2872 Topology *string `json:"topology,omitempty"`
2873 2874 // The Time To Live (TTL) value for the DTC LBDN. A 32-bit unsigned integer
2875 // that represents the duration, in seconds, for which the record is valid
2876 // (cached). Zero indicates that the record should not be cached.
2877 Ttl *uint32 `json:"ttl,omitempty"`
2878 2879 // The list of resource record types supported by LBDN.
2880 Types []string `json:"types,omitempty"`
2881 2882 // Use flag for: ttl
2883 UseTtl *bool `json:"use_ttl,omitempty"`
2884 }
2885 2886 func (DtcLbdn) ObjectType() string {
2887 return "dtc:lbdn"
2888 }
2889 2890 func (obj DtcLbdn) ReturnFields() []string {
2891 if obj.returnFields == nil {
2892 obj.returnFields = []string{"comment", "name"}
2893 }
2894 return obj.returnFields
2895 }
2896 2897 // DtcMonitor represents Infoblox object dtc:monitor.
2898 // The DTC Monitor object is used to determine the health of a server by
2899 // evaluating the response to a health request.
2900 type DtcMonitor struct {
2901 IBBase `json:"-"`
2902 2903 Ref string `json:"_ref,omitempty"`
2904 2905 // Comment for this DTC monitor; maximum 256 characters.
2906 Comment *string `json:"comment,omitempty"`
2907 2908 // Extensible attributes associated with the object. For valid values for
2909 // extensible attributes, see {extattrs:values}.
2910 Ea EA `json:"extattrs"`
2911 2912 // The interval for a health check.
2913 Interval *uint32 `json:"interval,omitempty"`
2914 2915 // The actual monitor object.
2916 Monitor *string `json:"monitor,omitempty"`
2917 2918 // The display name for this DTC monitor.
2919 Name *string `json:"name,omitempty"`
2920 2921 // The health monitor port value.
2922 Port *uint32 `json:"port,omitempty"`
2923 2924 // The number of how many times the server should appear as "DOWN" to be
2925 // treated as dead after it was alive.
2926 RetryDown *uint32 `json:"retry_down,omitempty"`
2927 2928 // The number of many times the server should appear as "UP" to be treated as
2929 // alive after it was dead.
2930 RetryUp *uint32 `json:"retry_up,omitempty"`
2931 2932 // The timeout for a health check.
2933 Timeout *uint32 `json:"timeout,omitempty"`
2934 2935 // The request transport type.
2936 Type string `json:"type,omitempty"`
2937 }
2938 2939 func (DtcMonitor) ObjectType() string {
2940 return "dtc:monitor"
2941 }
2942 2943 func (obj DtcMonitor) ReturnFields() []string {
2944 if obj.returnFields == nil {
2945 obj.returnFields = []string{"comment", "name", "type"}
2946 }
2947 return obj.returnFields
2948 }
2949 2950 // DtcMonitorHttp represents Infoblox object dtc:monitor:http.
2951 // The DTC HTTP monitor object is used to determine the health of a HTTP
2952 // service by first sending a specific http message to a server and then
2953 // examining the response received from the server. The validation is
2954 // successful if the received response matches the expected message.
2955 type DtcMonitorHttp struct {
2956 IBBase `json:"-"`
2957 2958 Ref string `json:"_ref,omitempty"`
2959 2960 // An optional cipher list for a secure HTTP/S connection.
2961 Ciphers *string `json:"ciphers,omitempty"`
2962 2963 // An optional client certificate, supplied in a secure HTTP/S mode if present.
2964 ClientCert *string `json:"client_cert,omitempty"`
2965 2966 // Comment for this DTC monitor; maximum 256 characters.
2967 Comment *string `json:"comment,omitempty"`
2968 2969 // The content check type.
2970 ContentCheck string `json:"content_check,omitempty"`
2971 2972 // A portion of response to use as input for content check.
2973 ContentCheckInput string `json:"content_check_input,omitempty"`
2974 2975 // A content check success criteria operator.
2976 ContentCheckOp string `json:"content_check_op,omitempty"`
2977 2978 // A content check regular expression.
2979 ContentCheckRegex *string `json:"content_check_regex,omitempty"`
2980 2981 // A content extraction sub-expression to extract.
2982 ContentExtractGroup *uint32 `json:"content_extract_group,omitempty"`
2983 2984 // A content extraction expected type for the extracted data.
2985 ContentExtractType string `json:"content_extract_type,omitempty"`
2986 2987 // A content extraction value to compare with extracted result.
2988 ContentExtractValue *string `json:"content_extract_value,omitempty"`
2989 2990 // Determines whether the Server Name Indication (SNI) for HTTPS monitor is
2991 // enabled.
2992 EnableSni *bool `json:"enable_sni,omitempty"`
2993 2994 // Extensible attributes associated with the object. For valid values for
2995 // extensible attributes, see {extattrs:values}.
2996 Ea EA `json:"extattrs"`
2997 2998 // The interval for TCP health check.
2999 Interval *uint32 `json:"interval,omitempty"`
3000 3001 // The display name for this DTC monitor.
3002 Name *string `json:"name,omitempty"`
3003 3004 // Port for TCP requests.
3005 Port *uint32 `json:"port,omitempty"`
3006 3007 // An HTTP request to send.
3008 Request *string `json:"request,omitempty"`
3009 3010 // The type of an expected result.
3011 Result string `json:"result,omitempty"`
3012 3013 // The expected return code.
3014 ResultCode *uint32 `json:"result_code,omitempty"`
3015 3016 // The value of how many times the server should appear as down to be treated
3017 // as dead after it was alive.
3018 RetryDown *uint32 `json:"retry_down,omitempty"`
3019 3020 // The value of how many times the server should appear as up to be treated as
3021 // alive after it was dead.
3022 RetryUp *uint32 `json:"retry_up,omitempty"`
3023 3024 // The connection security status.
3025 Secure *bool `json:"secure,omitempty"`
3026 3027 // The timeout for TCP health check in seconds.
3028 Timeout *uint32 `json:"timeout,omitempty"`
3029 3030 // Determines whether the validation of the remote server's certificate is
3031 // enabled.
3032 ValidateCert *bool `json:"validate_cert,omitempty"`
3033 }
3034 3035 func (DtcMonitorHttp) ObjectType() string {
3036 return "dtc:monitor:http"
3037 }
3038 3039 func (obj DtcMonitorHttp) ReturnFields() []string {
3040 if obj.returnFields == nil {
3041 obj.returnFields = []string{"comment", "name"}
3042 }
3043 return obj.returnFields
3044 }
3045 3046 // DtcMonitorIcmp represents Infoblox object dtc:monitor:icmp.
3047 // The DTC ICMP monitor object is used to determine the health of a server by
3048 // monitoring the response to an ICMP ping.
3049 type DtcMonitorIcmp struct {
3050 IBBase `json:"-"`
3051 3052 Ref string `json:"_ref,omitempty"`
3053 3054 // Comment for this DTC monitor; maximum 256 characters.
3055 Comment *string `json:"comment,omitempty"`
3056 3057 // Extensible attributes associated with the object. For valid values for
3058 // extensible attributes, see {extattrs:values}.
3059 Ea EA `json:"extattrs"`
3060 3061 // The interval for TCP health check.
3062 Interval *uint32 `json:"interval,omitempty"`
3063 3064 // The display name for this DTC monitor.
3065 Name *string `json:"name,omitempty"`
3066 3067 // The value of how many times the server should appear as down to be treated
3068 // as dead after it was alive.
3069 RetryDown *uint32 `json:"retry_down,omitempty"`
3070 3071 // The value of how many times the server should appear as up to be treated as
3072 // alive after it was dead.
3073 RetryUp *uint32 `json:"retry_up,omitempty"`
3074 3075 // The timeout for TCP health check in seconds.
3076 Timeout *uint32 `json:"timeout,omitempty"`
3077 }
3078 3079 func (DtcMonitorIcmp) ObjectType() string {
3080 return "dtc:monitor:icmp"
3081 }
3082 3083 func (obj DtcMonitorIcmp) ReturnFields() []string {
3084 if obj.returnFields == nil {
3085 obj.returnFields = []string{"comment", "name"}
3086 }
3087 return obj.returnFields
3088 }
3089 3090 // DtcMonitorPdp represents Infoblox object dtc:monitor:pdp.
3091 // The DTC PDP monitor object is used to determine the health of a server by
3092 // sending a PDP ECHO and considering a valid reply to mean that service is
3093 // available.
3094 type DtcMonitorPdp struct {
3095 IBBase `json:"-"`
3096 3097 Ref string `json:"_ref,omitempty"`
3098 3099 // Comment for this DTC monitor; maximum 256 characters.
3100 Comment *string `json:"comment,omitempty"`
3101 3102 // Extensible attributes associated with the object. For valid values for
3103 // extensible attributes, see {extattrs:values}.
3104 Ea EA `json:"extattrs"`
3105 3106 // The interval for TCP health check.
3107 Interval *uint32 `json:"interval,omitempty"`
3108 3109 // The display name for this DTC monitor.
3110 Name *string `json:"name,omitempty"`
3111 3112 // The port value for PDP requests.
3113 Port *uint32 `json:"port,omitempty"`
3114 3115 // The value of how many times the server should appear as down to be treated
3116 // as dead after it was alive.
3117 RetryDown *uint32 `json:"retry_down,omitempty"`
3118 3119 // The value of how many times the server should appear as up to be treated as
3120 // alive after it was dead.
3121 RetryUp *uint32 `json:"retry_up,omitempty"`
3122 3123 // The timeout for TCP health check in seconds.
3124 Timeout *uint32 `json:"timeout,omitempty"`
3125 }
3126 3127 func (DtcMonitorPdp) ObjectType() string {
3128 return "dtc:monitor:pdp"
3129 }
3130 3131 func (obj DtcMonitorPdp) ReturnFields() []string {
3132 if obj.returnFields == nil {
3133 obj.returnFields = []string{"comment", "name"}
3134 }
3135 return obj.returnFields
3136 }
3137 3138 // DtcMonitorSip represents Infoblox object dtc:monitor:sip.
3139 // The DTC SIP monitor object is used to determine the health of a SIP server
3140 // such as SIP Proxies and Session Border Controllers, and SIP gateways by
3141 // issuing SIP options to a server and examining the response provided by the
3142 // server. The service is considered available If the received response matches
3143 // the expected response.
3144 type DtcMonitorSip struct {
3145 IBBase `json:"-"`
3146 3147 Ref string `json:"_ref,omitempty"`
3148 3149 // An optional cipher list for secure TLS/SIPS connection.
3150 Ciphers *string `json:"ciphers,omitempty"`
3151 3152 // An optional client certificate, supplied in TLS and SIPS mode if present.
3153 ClientCert *string `json:"client_cert,omitempty"`
3154 3155 // Comment for this DTC monitor; maximum 256 characters.
3156 Comment *string `json:"comment,omitempty"`
3157 3158 // Extensible attributes associated with the object. For valid values for
3159 // extensible attributes, see {extattrs:values}.
3160 Ea EA `json:"extattrs"`
3161 3162 // The interval for TCP health check.
3163 Interval *uint32 `json:"interval,omitempty"`
3164 3165 // The display name for this DTC monitor.
3166 Name *string `json:"name,omitempty"`
3167 3168 // The port value for SIP requests.
3169 Port *uint32 `json:"port,omitempty"`
3170 3171 // A SIP request to send
3172 Request *string `json:"request,omitempty"`
3173 3174 // The type of an expected result.
3175 Result string `json:"result,omitempty"`
3176 3177 // The expected return code value.
3178 ResultCode *uint32 `json:"result_code,omitempty"`
3179 3180 // The value of how many times the server should appear as down to be treated
3181 // as dead after it was alive.
3182 RetryDown *uint32 `json:"retry_down,omitempty"`
3183 3184 // The value of how many times the server should appear as up to be treated as
3185 // alive after it was dead.
3186 RetryUp *uint32 `json:"retry_up,omitempty"`
3187 3188 // The timeout for TCP health check in seconds.
3189 Timeout *uint32 `json:"timeout,omitempty"`
3190 3191 // The transport layer protocol to use for SIP check.
3192 Transport string `json:"transport,omitempty"`
3193 3194 // Determines whether the validation of the remote server's certificate is
3195 // enabled.
3196 ValidateCert *bool `json:"validate_cert,omitempty"`
3197 }
3198 3199 func (DtcMonitorSip) ObjectType() string {
3200 return "dtc:monitor:sip"
3201 }
3202 3203 func (obj DtcMonitorSip) ReturnFields() []string {
3204 if obj.returnFields == nil {
3205 obj.returnFields = []string{"comment", "name"}
3206 }
3207 return obj.returnFields
3208 }
3209 3210 // DtcMonitorSnmp represents Infoblox object dtc:monitor:snmp.
3211 // The DTC SNMP Health Monitor determines the health of SNMP servers, such as
3212 // SNMP Proxies and Session Border Controllers, and SNMP gateways by issuing
3213 // SNMP options to a server and examining the response sent by the server. The
3214 // service is considered available if the returned response matches the
3215 // expected response.
3216 type DtcMonitorSnmp struct {
3217 IBBase `json:"-"`
3218 3219 Ref string `json:"_ref,omitempty"`
3220 3221 // Comment for this DTC monitor; maximum 256 characters.
3222 Comment *string `json:"comment,omitempty"`
3223 3224 // The SNMP community string for SNMP authentication.
3225 Community *string `json:"community,omitempty"`
3226 3227 // The SNMPv3 context.
3228 Context *string `json:"context,omitempty"`
3229 3230 // The SNMPv3 engine identifier.
3231 EngineId *string `json:"engine_id,omitempty"`
3232 3233 // Extensible attributes associated with the object. For valid values for
3234 // extensible attributes, see {extattrs:values}.
3235 Ea EA `json:"extattrs"`
3236 3237 // The interval for TCP health check.
3238 Interval *uint32 `json:"interval,omitempty"`
3239 3240 // The display name for this DTC monitor.
3241 Name *string `json:"name,omitempty"`
3242 3243 // A list of OIDs for SNMP monitoring.
3244 Oids []*DtcMonitorSnmpOid `json:"oids,omitempty"`
3245 3246 // The port value for SNMP requests.
3247 Port *uint32 `json:"port,omitempty"`
3248 3249 // The value of how many times the server should appear as down to be treated
3250 // as dead after it was alive.
3251 RetryDown *uint32 `json:"retry_down,omitempty"`
3252 3253 // The value of how many times the server should appear as up to be treated as
3254 // alive after it was dead.
3255 RetryUp *uint32 `json:"retry_up,omitempty"`
3256 3257 // The timeout for TCP health check in seconds.
3258 Timeout *uint32 `json:"timeout,omitempty"`
3259 3260 // The SNMPv3 user setting.
3261 User *string `json:"user,omitempty"`
3262 3263 // The SNMP protocol version for the SNMP health check.
3264 Version string `json:"version,omitempty"`
3265 }
3266 3267 func (DtcMonitorSnmp) ObjectType() string {
3268 return "dtc:monitor:snmp"
3269 }
3270 3271 func (obj DtcMonitorSnmp) ReturnFields() []string {
3272 if obj.returnFields == nil {
3273 obj.returnFields = []string{"comment", "name"}
3274 }
3275 return obj.returnFields
3276 }
3277 3278 // DtcMonitorTcp represents Infoblox object dtc:monitor:tcp.
3279 // The DTC TCP monitor object is used to determine the health of a server by
3280 // evaluating the response to a TCP request.
3281 type DtcMonitorTcp struct {
3282 IBBase `json:"-"`
3283 3284 Ref string `json:"_ref,omitempty"`
3285 3286 // Comment for this DTC monitor; maximum 256 characters.
3287 Comment *string `json:"comment,omitempty"`
3288 3289 // Extensible attributes associated with the object. For valid values for
3290 // extensible attributes, see {extattrs:values}.
3291 Ea EA `json:"extattrs"`
3292 3293 // The interval for TCP health check.
3294 Interval *uint32 `json:"interval,omitempty"`
3295 3296 // The display name for this DTC monitor.
3297 Name *string `json:"name,omitempty"`
3298 3299 // The port value for TCP requests.
3300 Port *uint32 `json:"port,omitempty"`
3301 3302 // The value of how many times the server should appear as down to be treated
3303 // as dead after it was alive.
3304 RetryDown *uint32 `json:"retry_down,omitempty"`
3305 3306 // The value of how many times the server should appear as up to be treated as
3307 // alive after it was dead.
3308 RetryUp *uint32 `json:"retry_up,omitempty"`
3309 3310 // The timeout for TCP health check in seconds.
3311 Timeout *uint32 `json:"timeout,omitempty"`
3312 }
3313 3314 func (DtcMonitorTcp) ObjectType() string {
3315 return "dtc:monitor:tcp"
3316 }
3317 3318 func (obj DtcMonitorTcp) ReturnFields() []string {
3319 if obj.returnFields == nil {
3320 obj.returnFields = []string{"comment", "name"}
3321 }
3322 return obj.returnFields
3323 }
3324 3325 // DtcObject represents Infoblox object dtc:object.
3326 // An object for all load balancer managed DTC objects.
3327 type DtcObject struct {
3328 IBBase `json:"-"`
3329 3330 Ref string `json:"_ref,omitempty"`
3331 3332 // The abstract object type.
3333 AbstractType string `json:"abstract_type,omitempty"`
3334 3335 // The comment for the DTC object; maximum 256 characters.
3336 Comment string `json:"comment,omitempty"`
3337 3338 // The display object type.
3339 DisplayType string `json:"display_type,omitempty"`
3340 3341 // Extensible attributes associated with the object. For valid values for
3342 // extensible attributes, see {extattrs:values}.
3343 Ea EA `json:"extattrs"`
3344 3345 // The list of IPv4 addresses.
3346 Ipv4AddressList []string `json:"ipv4_address_list,omitempty"`
3347 3348 // The list of IPv6 addresses.
3349 Ipv6AddressList []string `json:"ipv6_address_list,omitempty"`
3350 3351 // The display name of the DTC object.
3352 Name string `json:"name,omitempty"`
3353 3354 // The specific DTC object.
3355 Object string `json:"object,omitempty"`
3356 3357 // The availability color status.
3358 Status string `json:"status,omitempty"`
3359 3360 // The timestamp when status or health was last determined.
3361 StatusTime *UnixTime `json:"status_time,omitempty"`
3362 }
3363 3364 func (DtcObject) ObjectType() string {
3365 return "dtc:object"
3366 }
3367 3368 func (obj DtcObject) ReturnFields() []string {
3369 if obj.returnFields == nil {
3370 obj.returnFields = []string{"abstract_type", "comment", "display_type", "name", "status"}
3371 }
3372 return obj.returnFields
3373 }
3374 3375 // DtcPool represents Infoblox object dtc:pool.
3376 // The collection of IDNS resources (virtual servers).
3377 type DtcPool struct {
3378 IBBase `json:"-"`
3379 3380 Ref string `json:"_ref,omitempty"`
3381 3382 // Flag for enabling auto managing DTC Consolidated Monitors in DTC Pool.
3383 AutoConsolidatedMonitors *bool `json:"auto_consolidated_monitors,omitempty"`
3384 3385 // A resource in the pool is available if ANY, at least QUORUM, or ALL monitors
3386 // for the pool say that it is up.
3387 Availability string `json:"availability,omitempty"`
3388 3389 // The comment for the DTC Pool; maximum 256 characters.
3390 Comment *string `json:"comment,omitempty"`
3391 3392 // List of monitors and associated members statuses of which are shared across
3393 // members and consolidated in server availability determination.
3394 ConsolidatedMonitors []*DtcPoolConsolidatedMonitorHealth `json:"consolidated_monitors,omitempty"`
3395 3396 // Determines whether the DTC Pool is disabled or not. When this is set to
3397 // False, the fixed address is enabled.
3398 Disable *bool `json:"disable,omitempty"`
3399 3400 // Extensible attributes associated with the object. For valid values for
3401 // extensible attributes, see {extattrs:values}.
3402 Ea EA `json:"extattrs"`
3403 3404 // The health status.
3405 Health *DtcHealth `json:"health,omitempty"`
3406 3407 // The alternate load balancing method. Use this to select a method type from
3408 // the pool if the preferred method does not return any results.
3409 LbAlternateMethod string `json:"lb_alternate_method,omitempty"`
3410 3411 // The alternate topology for load balancing.
3412 LbAlternateTopology *string `json:"lb_alternate_topology,omitempty"`
3413 3414 // The DTC Pool settings for dynamic ratio when it's selected as alternate
3415 // method.
3416 LbDynamicRatioAlternate *SettingDynamicratio `json:"lb_dynamic_ratio_alternate,omitempty"`
3417 3418 // The DTC Pool settings for dynamic ratio when it's selected as preferred
3419 // method.
3420 LbDynamicRatioPreferred *SettingDynamicratio `json:"lb_dynamic_ratio_preferred,omitempty"`
3421 3422 // The preferred load balancing method. Use this to select a method type from
3423 // the pool.
3424 LbPreferredMethod string `json:"lb_preferred_method,omitempty"`
3425 3426 // The preferred topology for load balancing.
3427 LbPreferredTopology *string `json:"lb_preferred_topology,omitempty"`
3428 3429 // The monitors related to pool.
3430 Monitors []*DtcMonitorHttp `json:"monitors,omitempty"`
3431 3432 // The DTC Pool display name.
3433 Name *string `json:"name,omitempty"`
3434 3435 // For availability mode QUORUM, at least this many monitors must report the
3436 // resource as up for it to be available
3437 Quorum *uint32 `json:"quorum,omitempty"`
3438 3439 // The servers related to the pool.
3440 Servers []*DtcServerLink `json:"servers,omitempty"`
3441 3442 // The Time To Live (TTL) value for the DTC Pool. A 32-bit unsigned integer
3443 // that represents the duration, in seconds, for which the record is valid
3444 // (cached). Zero indicates that the record should not be cached.
3445 Ttl *uint32 `json:"ttl,omitempty"`
3446 3447 // Use flag for: ttl
3448 UseTtl *bool `json:"use_ttl,omitempty"`
3449 }
3450 3451 func (DtcPool) ObjectType() string {
3452 return "dtc:pool"
3453 }
3454 3455 func (obj DtcPool) ReturnFields() []string {
3456 if obj.returnFields == nil {
3457 obj.returnFields = []string{"comment", "name"}
3458 }
3459 return obj.returnFields
3460 }
3461 3462 // DtcRecordA represents Infoblox object dtc:record:a.
3463 // A DTC A object represents a DNS Traffic Control Address (DTC A) resource
3464 // record. This resource record specifies mapping from domain name to IPv4
3465 // address.
3466 type DtcRecordA struct {
3467 IBBase `json:"-"`
3468 3469 Ref string `json:"_ref,omitempty"`
3470 3471 // Flag that indicates whether this record was automatically created by NIOS.
3472 AutoCreated string `json:"auto_created,omitempty"`
3473 3474 // Comment for the record; maximum 256 characters.
3475 Comment *string `json:"comment,omitempty"`
3476 3477 // Determines if the record is disabled or not. False means that the record is
3478 // enabled.
3479 Disable *bool `json:"disable,omitempty"`
3480 3481 // The name of the DTC Server object with which the DTC record is associated.
3482 DtcServer string `json:"dtc_server,omitempty"`
3483 3484 // The IPv4 Address of the domain name.
3485 Ipv4Addr *string `json:"ipv4addr,omitempty"`
3486 3487 // The Time to Live (TTL) value.
3488 Ttl *uint32 `json:"ttl,omitempty"`
3489 3490 // Use flag for: ttl
3491 UseTtl *bool `json:"use_ttl,omitempty"`
3492 }
3493 3494 func (DtcRecordA) ObjectType() string {
3495 return "dtc:record:a"
3496 }
3497 3498 func (obj DtcRecordA) ReturnFields() []string {
3499 if obj.returnFields == nil {
3500 obj.returnFields = []string{"dtc_server", "ipv4addr"}
3501 }
3502 return obj.returnFields
3503 }
3504 3505 // DtcRecordAaaa represents Infoblox object dtc:record:aaaa.
3506 // A DTC AAAA object represents a DNS Traffic Control IPv6 Address (DTC AAAA)
3507 // resource record. This resource record specifies mapping from domain name to
3508 // IPv6 address.
3509 type DtcRecordAaaa struct {
3510 IBBase `json:"-"`
3511 3512 Ref string `json:"_ref,omitempty"`
3513 3514 // Flag that indicates whether this record was automatically created by NIOS.
3515 AutoCreated string `json:"auto_created,omitempty"`
3516 3517 // Comment for the record; maximum 256 characters.
3518 Comment *string `json:"comment,omitempty"`
3519 3520 // Determines if the record is disabled or not. False means that the record is
3521 // enabled.
3522 Disable *bool `json:"disable,omitempty"`
3523 3524 // The name of the DTC Server object with which the DTC record is associated.
3525 DtcServer string `json:"dtc_server,omitempty"`
3526 3527 // The IPv6 Address of the domain name.
3528 Ipv6Addr *string `json:"ipv6addr,omitempty"`
3529 3530 // The Time to Live (TTL) value.
3531 Ttl *uint32 `json:"ttl,omitempty"`
3532 3533 // Use flag for: ttl
3534 UseTtl *bool `json:"use_ttl,omitempty"`
3535 }
3536 3537 func (DtcRecordAaaa) ObjectType() string {
3538 return "dtc:record:aaaa"
3539 }
3540 3541 func (obj DtcRecordAaaa) ReturnFields() []string {
3542 if obj.returnFields == nil {
3543 obj.returnFields = []string{"dtc_server", "ipv6addr"}
3544 }
3545 return obj.returnFields
3546 }
3547 3548 // DtcRecordCname represents Infoblox object dtc:record:cname.
3549 // A DTC CNAME object represents a DNS Traffic Control Canonical name (DTC
3550 // CNAME) resource record. DTC CNAME record maps domain name alias to its
3551 // canonical domain name.
3552 type DtcRecordCname struct {
3553 IBBase `json:"-"`
3554 3555 Ref string `json:"_ref,omitempty"`
3556 3557 // Flag that indicates whether this record was automatically created by NIOS.
3558 AutoCreated string `json:"auto_created,omitempty"`
3559 3560 // The canonical name of the host.
3561 Canonical *string `json:"canonical,omitempty"`
3562 3563 // Comment for the record; maximum 256 characters.
3564 Comment *string `json:"comment,omitempty"`
3565 3566 // Determines if the record is disabled or not. False means that the record is
3567 // enabled.
3568 Disable *bool `json:"disable,omitempty"`
3569 3570 // The canonical name as server by DNS protocol.
3571 DnsCanonical string `json:"dns_canonical,omitempty"`
3572 3573 // The name of the DTC Server object with which the DTC record is associated.
3574 DtcServer string `json:"dtc_server,omitempty"`
3575 3576 // The Time to Live (TTL) value.
3577 Ttl *uint32 `json:"ttl,omitempty"`
3578 3579 // Use flag for: ttl
3580 UseTtl *bool `json:"use_ttl,omitempty"`
3581 }
3582 3583 func (DtcRecordCname) ObjectType() string {
3584 return "dtc:record:cname"
3585 }
3586 3587 func (obj DtcRecordCname) ReturnFields() []string {
3588 if obj.returnFields == nil {
3589 obj.returnFields = []string{"canonical", "dtc_server"}
3590 }
3591 return obj.returnFields
3592 }
3593 3594 // DtcRecordNaptr represents Infoblox object dtc:record:naptr.
3595 // A DTC NAPTR object represents a DNS Traffic Control Naming Authority Pointer
3596 // (DTC NAPTR) resource record. This resource record specifies a regular
3597 // expression-based rewrite rule that, when applied to an existing string,
3598 // produces a new domain name or URI.
3599 type DtcRecordNaptr struct {
3600 IBBase `json:"-"`
3601 3602 Ref string `json:"_ref,omitempty"`
3603 3604 // Comment for the record; maximum 256 characters.
3605 Comment *string `json:"comment,omitempty"`
3606 3607 // Determines if the record is disabled or not. False means that the record is
3608 // enabled.
3609 Disable *bool `json:"disable,omitempty"`
3610 3611 // The name of the DTC Server object with which the DTC record is associated.
3612 DtcServer string `json:"dtc_server,omitempty"`
3613 3614 // The flags used to control the interpretation of the fields for an NAPTR
3615 // record object. Supported values for the flags field are "U", "S", "P" and
3616 // "A".
3617 Flags *string `json:"flags,omitempty"`
3618 3619 // The order parameter of the NAPTR records. This parameter specifies the order
3620 // in which the NAPTR rules are applied when multiple rules are present. Valid
3621 // values are from 0 to 65535 (inclusive), in 32-bit unsigned integer format.
3622 Order *uint32 `json:"order,omitempty"`
3623 3624 // The preference of the NAPTR record. The preference field determines the
3625 // order the NAPTR records are processed when multiple records with the same
3626 // order parameter are present. Valid values are from 0 to 65535 (inclusive),
3627 // in 32-bit unsigned integer format.
3628 Preference *uint32 `json:"preference,omitempty"`
3629 3630 // The regular expression-based rewriting rule of the NAPTR record. This should
3631 // be a POSIX compliant regular expression, including the substitution rule and
3632 // flags. Refer to RFC 2915 for the field syntax details.
3633 Regexp *string `json:"regexp,omitempty"`
3634 3635 // The replacement field of the NAPTR record object. For nonterminal NAPTR
3636 // records, this field specifies the next domain name to look up. This value
3637 // can be in unicode format.
3638 Replacement *string `json:"replacement,omitempty"`
3639 3640 // The services field of the NAPTR record object; maximum 128 characters. The
3641 // services field contains protocol and service identifiers, such as "http+E2U"
3642 // or "SIPS+D2T".
3643 Services *string `json:"services,omitempty"`
3644 3645 // The Time to Live (TTL) value.
3646 Ttl *uint32 `json:"ttl,omitempty"`
3647 3648 // Use flag for: ttl
3649 UseTtl *bool `json:"use_ttl,omitempty"`
3650 }
3651 3652 func (DtcRecordNaptr) ObjectType() string {
3653 return "dtc:record:naptr"
3654 }
3655 3656 func (obj DtcRecordNaptr) ReturnFields() []string {
3657 if obj.returnFields == nil {
3658 obj.returnFields = []string{"dtc_server", "order", "preference", "regexp", "replacement", "services"}
3659 }
3660 return obj.returnFields
3661 }
3662 3663 // DtcRecordSrv represents Infoblox object dtc:record:srv.
3664 // A DTC SRV object represents a DNS Traffic Control (DTC SRV) resource record.
3665 // This resource record provides information on available services.
3666 type DtcRecordSrv struct {
3667 IBBase `json:"-"`
3668 3669 Ref string `json:"_ref,omitempty"`
3670 3671 // Comment for the record; maximum 256 characters.
3672 Comment *string `json:"comment,omitempty"`
3673 3674 // Determines if the record is disabled or not. False means that the record is
3675 // enabled.
3676 Disable *bool `json:"disable,omitempty"`
3677 3678 // The name of the DTC Server object with which the DTC record is associated.
3679 DtcServer string `json:"dtc_server,omitempty"`
3680 3681 // The name for an SRV record in unicode format.
3682 Name *string `json:"name,omitempty"`
3683 3684 // The port of the SRV record. Valid values are from 0 to 65535 (inclusive), in
3685 // 32-bit unsigned integer format.
3686 Port *uint32 `json:"port,omitempty"`
3687 3688 // The priority of the SRV record. Valid values are from 0 to 65535
3689 // (inclusive), in 32-bit unsigned integer format.
3690 Priority *uint32 `json:"priority,omitempty"`
3691 3692 // The target of the SRV record in FQDN format. This value can be in unicode
3693 // format.
3694 Target *string `json:"target,omitempty"`
3695 3696 // The Time to Live (TTL) value.
3697 Ttl *uint32 `json:"ttl,omitempty"`
3698 3699 // Use flag for: ttl
3700 UseTtl *bool `json:"use_ttl,omitempty"`
3701 3702 // The weight of the SRV record. Valid values are from 0 to 65535 (inclusive),
3703 // in 32-bit unsigned integer format.
3704 Weight *uint32 `json:"weight,omitempty"`
3705 }
3706 3707 func (DtcRecordSrv) ObjectType() string {
3708 return "dtc:record:srv"
3709 }
3710 3711 func (obj DtcRecordSrv) ReturnFields() []string {
3712 if obj.returnFields == nil {
3713 obj.returnFields = []string{"dtc_server", "name", "port", "priority", "target", "weight"}
3714 }
3715 return obj.returnFields
3716 }
3717 3718 // DtcServer represents Infoblox object dtc:server.
3719 // This is a DTC Server. Aka resource, virtual server or pool member.
3720 type DtcServer struct {
3721 IBBase `json:"-"`
3722 3723 Ref string `json:"_ref,omitempty"`
3724 3725 // Enabling this option will auto-create a single read-only A/AAAA/CNAME record
3726 // corresponding to the configured hostname and update it if the hostname
3727 // changes.
3728 AutoCreateHostRecord *bool `json:"auto_create_host_record,omitempty"`
3729 3730 // Comment for the DTC Server; maximum 256 characters.
3731 Comment *string `json:"comment,omitempty"`
3732 3733 // Determines whether the DTC Server is disabled or not. When this is set to
3734 // False, the fixed address is enabled.
3735 Disable *bool `json:"disable,omitempty"`
3736 3737 // Extensible attributes associated with the object. For valid values for
3738 // extensible attributes, see {extattrs:values}.
3739 Ea EA `json:"extattrs"`
3740 3741 // The health status.
3742 Health *DtcHealth `json:"health,omitempty"`
3743 3744 // The address or FQDN of the server.
3745 Host *string `json:"host,omitempty"`
3746 3747 // List of IP/FQDN and monitor pairs to be used for additional monitoring.
3748 Monitors []*DtcServerMonitor `json:"monitors,omitempty"`
3749 3750 // The DTC Server display name.
3751 Name *string `json:"name,omitempty"`
3752 3753 // The hostname for Server Name Indication (SNI) in FQDN format.
3754 SniHostname *string `json:"sni_hostname,omitempty"`
3755 3756 // Use flag for: sni_hostname
3757 UseSniHostname *bool `json:"use_sni_hostname,omitempty"`
3758 }
3759 3760 func (DtcServer) ObjectType() string {
3761 return "dtc:server"
3762 }
3763 3764 func (obj DtcServer) ReturnFields() []string {
3765 if obj.returnFields == nil {
3766 obj.returnFields = []string{"comment", "host", "name"}
3767 }
3768 return obj.returnFields
3769 }
3770 3771 // DtcTopology represents Infoblox object dtc:topology.
3772 // A topology is a named list of ordered topology rules. Topology rules map
3773 // client IPs to pools or resources. They require the Topology DB and named
3774 // labels refer to it.
3775 type DtcTopology struct {
3776 IBBase `json:"-"`
3777 3778 Ref string `json:"_ref,omitempty"`
3779 3780 // The comment for the DTC TOPOLOGY monitor object; maximum 256 characters.
3781 Comment *string `json:"comment,omitempty"`
3782 3783 // Extensible attributes associated with the object. For valid values for
3784 // extensible attributes, see {extattrs:values}.
3785 Ea EA `json:"extattrs"`
3786 3787 // Display name of the DTC Topology.
3788 Name *string `json:"name,omitempty"`
3789 3790 // Topology rules.
3791 Rules []*DtcTopologyRule `json:"rules,omitempty"`
3792 }
3793 3794 func (DtcTopology) ObjectType() string {
3795 return "dtc:topology"
3796 }
3797 3798 func (obj DtcTopology) ReturnFields() []string {
3799 if obj.returnFields == nil {
3800 obj.returnFields = []string{"comment", "name"}
3801 }
3802 return obj.returnFields
3803 }
3804 3805 // DtcTopologyLabel represents Infoblox object dtc:topology:label.
3806 // This is the label of the field in the Topology database.
3807 type DtcTopologyLabel struct {
3808 IBBase `json:"-"`
3809 3810 Ref string `json:"_ref,omitempty"`
3811 3812 // The name of the field in the Topology database the label was obtained from.
3813 Field string `json:"field,omitempty"`
3814 3815 // The DTC Topology label name.
3816 Label string `json:"label,omitempty"`
3817 }
3818 3819 func (DtcTopologyLabel) ObjectType() string {
3820 return "dtc:topology:label"
3821 }
3822 3823 func (obj DtcTopologyLabel) ReturnFields() []string {
3824 if obj.returnFields == nil {
3825 obj.returnFields = []string{"field", "label"}
3826 }
3827 return obj.returnFields
3828 }
3829 3830 // DtcTopologyRule represents Infoblox object dtc:topology:rule.
3831 // Topology rules map client IPs to pools or resources. They require the
3832 // Topology DB and named labels refer to it. Can be created only as part of
3833 // topology.
3834 type DtcTopologyRule struct {
3835 IBBase `json:"-"`
3836 3837 Ref string `json:"_ref,omitempty"`
3838 3839 // The type of the destination for this DTC Topology rule.
3840 DestType string `json:"dest_type,omitempty"`
3841 3842 // The reference to the destination DTC pool or DTC server.
3843 DestinationLink *string `json:"destination_link,omitempty"`
3844 3845 // Type of the DNS response for rule.
3846 ReturnType string `json:"return_type,omitempty"`
3847 3848 // The conditions for matching sources. Should be empty to set rule as default
3849 // destination.
3850 Sources []*DtcTopologyRuleSource `json:"sources,omitempty"`
3851 3852 // The DTC Topology the rule belongs to.
3853 Topology string `json:"topology,omitempty"`
3854 3855 // True if the label in the rule exists in the current Topology DB. Always true
3856 // for SUBNET rules. Rules with non-existent labels may be configured but will
3857 // never match.
3858 Valid bool `json:"valid,omitempty"`
3859 }
3860 3861 func (DtcTopologyRule) ObjectType() string {
3862 return "dtc:topology:rule"
3863 }
3864 3865 func (obj DtcTopologyRule) ReturnFields() []string {
3866 if obj.returnFields == nil {
3867 obj.returnFields = []string{}
3868 }
3869 return obj.returnFields
3870 }
3871 3872 // DxlEndpoint represents Infoblox object dxl:endpoint.
3873 // The DXL endpoint object represents the settings of a particular DXL
3874 // endpoint.
3875 type DxlEndpoint struct {
3876 IBBase `json:"-"`
3877 3878 Ref string `json:"_ref,omitempty"`
3879 3880 // The list of DXL endpoint brokers. Note that you cannot specify brokers and
3881 // brokers_import_token at the same time.
3882 Brokers []*DxlEndpointBroker `json:"brokers,omitempty"`
3883 3884 // The token returned by the uploadinit function call in object fileop for a
3885 // DXL broker configuration file. Note that you cannot specify brokers and
3886 // brokers_import_token at the same time.
3887 BrokersImportToken *string `json:"brokers_import_token,omitempty"`
3888 3889 // The client certificate subject of a DXL endpoint.
3890 ClientCertificateSubject string `json:"client_certificate_subject,omitempty"`
3891 3892 // The token returned by the uploadinit function call in object fileop for a
3893 // DXL endpoint client certificate.
3894 ClientCertificateToken *string `json:"client_certificate_token,omitempty"`
3895 3896 // The timestamp when client certificate for a DXL endpoint was created.
3897 ClientCertificateValidFrom *UnixTime `json:"client_certificate_valid_from,omitempty"`
3898 3899 // The timestamp when the client certificate for a DXL endpoint expires.
3900 ClientCertificateValidTo *UnixTime `json:"client_certificate_valid_to,omitempty"`
3901 3902 // The comment of a DXL endpoint.
3903 Comment *string `json:"comment,omitempty"`
3904 3905 // Determines whether a DXL endpoint is disabled.
3906 Disable *bool `json:"disable,omitempty"`
3907 3908 // Extensible attributes associated with the object. For valid values for
3909 // extensible attributes, see {extattrs:values}.
3910 Ea EA `json:"extattrs"`
3911 3912 // The log level for a DXL endpoint.
3913 LogLevel string `json:"log_level,omitempty"`
3914 3915 // The name of a DXL endpoint.
3916 Name *string `json:"name,omitempty"`
3917 3918 // The outbound member that will generate events.
3919 OutboundMemberType string `json:"outbound_member_type,omitempty"`
3920 3921 // The list of members for outbound events.
3922 OutboundMembers []string `json:"outbound_members,omitempty"`
3923 3924 // The DXL template instance. You cannot change the parameters of the DXL
3925 // endpoint template instance.
3926 TemplateInstance *NotificationRestTemplateinstance `json:"template_instance,omitempty"`
3927 3928 // The timeout of session management (in seconds).
3929 Timeout *uint32 `json:"timeout,omitempty"`
3930 3931 // DXL topics
3932 Topics []string `json:"topics,omitempty"`
3933 3934 // The vendor identifier.
3935 VendorIdentifier *string `json:"vendor_identifier,omitempty"`
3936 3937 // The user name for WAPI integration.
3938 WapiUserName *string `json:"wapi_user_name,omitempty"`
3939 3940 // The user password for WAPI integration.
3941 WapiUserPassword *string `json:"wapi_user_password,omitempty"`
3942 }
3943 3944 func (DxlEndpoint) ObjectType() string {
3945 return "dxl:endpoint"
3946 }
3947 3948 func (obj DxlEndpoint) ReturnFields() []string {
3949 if obj.returnFields == nil {
3950 obj.returnFields = []string{"disable", "name", "outbound_member_type"}
3951 }
3952 return obj.returnFields
3953 }
3954 3955 // EADefinition represents Infoblox object extensibleattributedef.
3956 // The Extensible Attribute Definition object is used to retrieve the
3957 // definition of an extensible attribute.
3958 type EADefinition struct {
3959 IBBase `json:"-"`
3960 3961 Ref string `json:"_ref,omitempty"`
3962 3963 // The object types this extensible attribute is allowed to associate with.
3964 AllowedObjectTypes []string `json:"allowed_object_types,omitempty"`
3965 3966 // Comment for the Extensible Attribute Definition; maximum 256 characters.
3967 Comment *string `json:"comment,omitempty"`
3968 3969 // Default value used to pre-populate the attribute value in the GUI. For
3970 // email, URL, and string types, the value is a string with a maximum of 256
3971 // characters. For an integer, the value is an integer from -2147483648 through
3972 // 2147483647. For a date, the value is the number of seconds that have elapsed
3973 // since January 1st, 1970 UTC.
3974 DefaultValue *string `json:"default_value,omitempty"`
3975 3976 // This option describes the action that must be taken on the extensible
3977 // attribute by its descendant in case the 'Inheritable' flag is set.
3978 DescendantsAction *ExtensibleattributedefDescendants `json:"descendants_action,omitempty"`
3979 3980 // This field contains extensible attribute flags. Possible values: (A)udited,
3981 // (C)loud API, Cloud (G)master, (I)nheritable, (L)isted, (M)andatory value,
3982 // MGM (P)rivate, (R)ead Only, (S)ort enum values, Multiple (V)alues If there
3983 // are two or more flags in the field, you must list them according to the
3984 // order they are listed above. For example, 'CR' is a valid value for the
3985 // 'flags' field because C = Cloud API is listed before R = Read only. However,
3986 // the value 'RC' is invalid because the order for the 'flags' field is broken.
3987 Flags *string `json:"flags,omitempty"`
3988 3989 // List of Values. Applicable if the extensible attribute type is ENUM.
3990 ListValues []*EADefListValue `json:"list_values,omitempty"`
3991 3992 // Maximum allowed value of extensible attribute. Applicable if the extensible
3993 // attribute type is INTEGER.
3994 Max *uint32 `json:"max,omitempty"`
3995 3996 // Minimum allowed value of extensible attribute. Applicable if the extensible
3997 // attribute type is INTEGER.
3998 Min *uint32 `json:"min,omitempty"`
3999 4000 // The name of the Extensible Attribute Definition.
4001 Name *string `json:"name,omitempty"`
4002 4003 // Namespace for the Extensible Attribute Definition.
4004 Namespace string `json:"namespace,omitempty"`
4005 4006 // Type for the Extensible Attribute Definition.
4007 Type string `json:"type,omitempty"`
4008 }
4009 4010 func (EADefinition) ObjectType() string {
4011 return "extensibleattributedef"
4012 }
4013 4014 func (obj EADefinition) ReturnFields() []string {
4015 if obj.returnFields == nil {
4016 obj.returnFields = []string{"comment", "default_value", "name", "type"}
4017 }
4018 return obj.returnFields
4019 }
4020 4021 func NewEADefinition(eadef EADefinition) *EADefinition {
4022 res := eadef
4023 res.returnFields = []string{"allowed_object_types", "comment", "flags", "list_values", "name", "type"}
4024 4025 return &res
4026 }
4027 4028 // Fileop represents Infoblox object fileop.
4029 // This object controls uploading and downloading data from the appliance.
4030 type Fileop struct {
4031 IBBase `json:"-"`
4032 4033 Ref string `json:"_ref,omitempty"`
4034 }
4035 4036 func (Fileop) ObjectType() string {
4037 return "fileop"
4038 }
4039 4040 func (obj Fileop) ReturnFields() []string {
4041 if obj.returnFields == nil {
4042 obj.returnFields = []string{}
4043 }
4044 return obj.returnFields
4045 }
4046 4047 // Filterfingerprint represents Infoblox object filterfingerprint.
4048 // The appliance can filter an address request by the DHCP fingerprint of a
4049 // requesting client. Depending on how you apply DHCP fingerprint filters, the
4050 // appliance can grant or deny the address request if the requesting client
4051 // matches the filter criteria.
4052 type Filterfingerprint struct {
4053 IBBase `json:"-"`
4054 4055 Ref string `json:"_ref,omitempty"`
4056 4057 // The descriptive comment.
4058 Comment *string `json:"comment,omitempty"`
4059 4060 // Extensible attributes associated with the object. For valid values for
4061 // extensible attributes, see {extattrs:values}.
4062 Ea EA `json:"extattrs"`
4063 4064 // The list of DHCP Fingerprint objects.
4065 Fingerprint []string `json:"fingerprint,omitempty"`
4066 4067 // The name of a DHCP Fingerprint Filter object.
4068 Name *string `json:"name,omitempty"`
4069 }
4070 4071 func (Filterfingerprint) ObjectType() string {
4072 return "filterfingerprint"
4073 }
4074 4075 func (obj Filterfingerprint) ReturnFields() []string {
4076 if obj.returnFields == nil {
4077 obj.returnFields = []string{"comment", "name"}
4078 }
4079 return obj.returnFields
4080 }
4081 4082 // Filtermac represents Infoblox object filtermac.
4083 // An Infoblox appliance can filter address requests by the MAC address and/or
4084 // vendor prefix (i.e., the first 6 hexadecimal characters of the MAC address)
4085 // of a requesting host. The filter instructs the appliance to either grant or
4086 // deny an address request if the requesting host matches the filter.
4087 type Filtermac struct {
4088 IBBase `json:"-"`
4089 4090 Ref string `json:"_ref,omitempty"`
4091 4092 // The descriptive comment of a DHCP MAC Filter object.
4093 Comment *string `json:"comment,omitempty"`
4094 4095 // The default MAC expiration time of the DHCP MAC Address Filter object. By
4096 // default, the MAC address filter never expires; otherwise, it is the absolute
4097 // interval when the MAC address filter expires. The maximum value can extend
4098 // up to 4294967295 secs. The minimum value is 60 secs (1 min).
4099 DefaultMacAddressExpiration *uint32 `json:"default_mac_address_expiration,omitempty"`
4100 4101 // Determines if the DHCP Fingerprint object is disabled or not.
4102 Disable *bool `json:"disable,omitempty"`
4103 4104 // The flag to enforce MAC address expiration of the DHCP MAC Address Filter
4105 // object.
4106 EnforceExpirationTimes *bool `json:"enforce_expiration_times,omitempty"`
4107 4108 // Extensible attributes associated with the object. For valid values for
4109 // extensible attributes, see {extattrs:values}.
4110 Ea EA `json:"extattrs"`
4111 4112 // The length of time the DHCP server leases an IP address to a client. The
4113 // lease time applies to hosts that meet the filter criteria.
4114 LeaseTime *uint32 `json:"lease_time,omitempty"`
4115 4116 // The name of a DHCP MAC Filter object.
4117 Name *string `json:"name,omitempty"`
4118 4119 // Determines if DHCP MAC Filter never expires or automatically expires.
4120 NeverExpires *bool `json:"never_expires,omitempty"`
4121 4122 // An array of DHCP option dhcpoption structs that lists the DHCP options
4123 // associated with the object.
4124 Options []*Dhcpoption `json:"options,omitempty"`
4125 4126 // This is reserved for writing comments related to the particular MAC address
4127 // filter. The length of comment cannot exceed 1024 bytes.
4128 ReservedForInfoblox *string `json:"reserved_for_infoblox,omitempty"`
4129 }
4130 4131 func (Filtermac) ObjectType() string {
4132 return "filtermac"
4133 }
4134 4135 func (obj Filtermac) ReturnFields() []string {
4136 if obj.returnFields == nil {
4137 obj.returnFields = []string{"comment", "name"}
4138 }
4139 return obj.returnFields
4140 }
4141 4142 // Filternac represents Infoblox object filternac.
4143 // If NAC authentication is configured, the appliance receives authentication
4144 // responses from NAC authentication servers, and it grants or denies a lease
4145 // request if the authentication response matches conditions defined by the NAC
4146 // filters.
4147 type Filternac struct {
4148 IBBase `json:"-"`
4149 4150 Ref string `json:"_ref,omitempty"`
4151 4152 // The descriptive comment of a DHCP NAC Filter object.
4153 Comment *string `json:"comment,omitempty"`
4154 4155 // The conditional expression of a DHCP NAC Filter object.
4156 Expression *string `json:"expression,omitempty"`
4157 4158 // Extensible attributes associated with the object. For valid values for
4159 // extensible attributes, see {extattrs:values}.
4160 Ea EA `json:"extattrs"`
4161 4162 // The length of time the DHCP server leases an IP address to a client. The
4163 // lease time applies to hosts that meet the filter criteria.
4164 LeaseTime *uint32 `json:"lease_time,omitempty"`
4165 4166 // The name of a DHCP NAC Filter object.
4167 Name *string `json:"name,omitempty"`
4168 4169 // An array of DHCP option dhcpoption structs that lists the DHCP options
4170 // associated with the object.
4171 Options []*Dhcpoption `json:"options,omitempty"`
4172 }
4173 4174 func (Filternac) ObjectType() string {
4175 return "filternac"
4176 }
4177 4178 func (obj Filternac) ReturnFields() []string {
4179 if obj.returnFields == nil {
4180 obj.returnFields = []string{"comment", "name"}
4181 }
4182 return obj.returnFields
4183 }
4184 4185 // Filteroption represents Infoblox object filteroption.
4186 // In the ISC DHCP terms, it defines a class of clients that match a particular
4187 // (option, value) pair. To define an option filter, add Option to the DHCP
4188 // Filter object.
4189 type Filteroption struct {
4190 IBBase `json:"-"`
4191 4192 Ref string `json:"_ref,omitempty"`
4193 4194 // Determines if apply as class is enabled or not. If this flag is set to
4195 // "true" the filter is treated as global DHCP class, e.g it is written to
4196 // dhcpd config file even if it is not present in any DHCP range.
4197 ApplyAsClass *bool `json:"apply_as_class,omitempty"`
4198 4199 // A name of boot file of a DHCP filter option object.
4200 Bootfile *string `json:"bootfile,omitempty"`
4201 4202 // Determines the boot server of a DHCP filter option object. You can specify
4203 // the name and/or IP address of the boot server that host needs to boot.
4204 Bootserver *string `json:"bootserver,omitempty"`
4205 4206 // The descriptive comment of a DHCP filter option object.
4207 Comment *string `json:"comment,omitempty"`
4208 4209 // The conditional expression of a DHCP filter option object.
4210 Expression *string `json:"expression,omitempty"`
4211 4212 // Extensible attributes associated with the object. For valid values for
4213 // extensible attributes, see {extattrs:values}.
4214 Ea EA `json:"extattrs"`
4215 4216 // Determines the lease time of a DHCP filter option object.
4217 LeaseTime *uint32 `json:"lease_time,omitempty"`
4218 4219 // The name of a DHCP option filter object.
4220 Name *string `json:"name,omitempty"`
4221 4222 // Determines the next server of a DHCP filter option object. You can specify
4223 // the name and/or IP address of the next server that the host needs to boot.
4224 NextServer *string `json:"next_server,omitempty"`
4225 4226 // An array of DHCP option dhcpoption structs that lists the DHCP options
4227 // associated with the object.
4228 OptionList []*Dhcpoption `json:"option_list,omitempty"`
4229 4230 // The option space of a DHCP filter option object.
4231 OptionSpace *string `json:"option_space,omitempty"`
4232 4233 // Determines the PXE (Preboot Execution Environment) lease time of a DHCP
4234 // filter option object. To specify the duration of time it takes a host to
4235 // connect to a boot server, such as a TFTP server, and download the file it
4236 // needs to boot.
4237 PxeLeaseTime *uint32 `json:"pxe_lease_time,omitempty"`
4238 }
4239 4240 func (Filteroption) ObjectType() string {
4241 return "filteroption"
4242 }
4243 4244 func (obj Filteroption) ReturnFields() []string {
4245 if obj.returnFields == nil {
4246 obj.returnFields = []string{"comment", "name"}
4247 }
4248 return obj.returnFields
4249 }
4250 4251 // Filterrelayagent represents Infoblox object filterrelayagent.
4252 // The Infoblox appliance can screen address requests through relay agent
4253 // filters (DHCP option 82) that assist the agents in forwarding address
4254 // assignments across the proper circuit. When a relay agent receives the
4255 // DHCPDISCOVER message, it can add one or two agent IDs in the DHCP option 82
4256 // suboption fields to the message. If the agent ID strings match those defined
4257 // in a relay agent filter applied to a DHCP address range, the Infoblox
4258 // appliance either assigns addresses from that range or denies the request
4259 // (based on previously configured parameters; that is, the Grant lease and
4260 // Deny lease parameters).
4261 type Filterrelayagent struct {
4262 IBBase `json:"-"`
4263 4264 Ref string `json:"_ref,omitempty"`
4265 4266 // The circuit_id_name of a DHCP relay agent filter object. This filter
4267 // identifies the circuit between the remote host and the relay agent. For
4268 // example, the identifier can be the ingress interface number of the circuit
4269 // access unit, perhaps concatenated with the unit ID number and slot number.
4270 // Also, the circuit ID can be an ATM virtual circuit ID or cable data virtual
4271 // circuit ID.
4272 CircuitIdName *string `json:"circuit_id_name,omitempty"`
4273 4274 // The circuit ID substring length.
4275 CircuitIdSubstringLength *uint32 `json:"circuit_id_substring_length,omitempty"`
4276 4277 // The circuit ID substring offset.
4278 CircuitIdSubstringOffset *uint32 `json:"circuit_id_substring_offset,omitempty"`
4279 4280 // A descriptive comment of a DHCP relay agent filter object.
4281 Comment *string `json:"comment,omitempty"`
4282 4283 // Extensible attributes associated with the object. For valid values for
4284 // extensible attributes, see {extattrs:values}.
4285 Ea EA `json:"extattrs"`
4286 4287 // The circuit ID matching rule of a DHCP relay agent filter object. The
4288 // circuit_id value takes effect only if the value is "MATCHES_VALUE".
4289 IsCircuitId string `json:"is_circuit_id,omitempty"`
4290 4291 // Determines if the substring of circuit ID, instead of the full circuit ID,
4292 // is matched.
4293 IsCircuitIdSubstring *bool `json:"is_circuit_id_substring,omitempty"`
4294 4295 // The remote ID matching rule of a DHCP relay agent filter object. The
4296 // remote_id value takes effect only if the value is Matches_Value.
4297 IsRemoteId string `json:"is_remote_id,omitempty"`
4298 4299 // Determines if the substring of remote ID, instead of the full remote ID, is
4300 // matched.
4301 IsRemoteIdSubstring *bool `json:"is_remote_id_substring,omitempty"`
4302 4303 // The name of a DHCP relay agent filter object.
4304 Name *string `json:"name,omitempty"`
4305 4306 // The remote ID name attribute of a relay agent filter object. This filter
4307 // identifies the remote host. The remote ID name can represent many different
4308 // things such as the caller ID telephone number for a dial-up connection, a
4309 // user name for logging in to the ISP, a modem ID, etc. When the remote ID
4310 // name is defined on the relay agent, the DHCP server will have a trusted
4311 // relationship to identify the remote host. The remote ID name is considered
4312 // as a trusted identifier.
4313 RemoteIdName *string `json:"remote_id_name,omitempty"`
4314 4315 // The remote ID substring length.
4316 RemoteIdSubstringLength *uint32 `json:"remote_id_substring_length,omitempty"`
4317 4318 // The remote ID substring offset.
4319 RemoteIdSubstringOffset *uint32 `json:"remote_id_substring_offset,omitempty"`
4320 }
4321 4322 func (Filterrelayagent) ObjectType() string {
4323 return "filterrelayagent"
4324 }
4325 4326 func (obj Filterrelayagent) ReturnFields() []string {
4327 if obj.returnFields == nil {
4328 obj.returnFields = []string{"comment", "name"}
4329 }
4330 return obj.returnFields
4331 }
4332 4333 // Fingerprint represents Infoblox object fingerprint.
4334 // The DHCP Fingerprint object is part of the Fingerprint filter.
4335 type Fingerprint struct {
4336 IBBase `json:"-"`
4337 4338 Ref string `json:"_ref,omitempty"`
4339 4340 // Comment for the Fingerprint; maximum 256 characters.
4341 Comment *string `json:"comment,omitempty"`
4342 4343 // A class of DHCP Fingerprint object; maximum 256 characters.
4344 DeviceClass *string `json:"device_class,omitempty"`
4345 4346 // Determines if the DHCP Fingerprint object is disabled or not.
4347 Disable *bool `json:"disable,omitempty"`
4348 4349 // Extensible attributes associated with the object. For valid values for
4350 // extensible attributes, see {extattrs:values}.
4351 Ea EA `json:"extattrs"`
4352 4353 // A list (comma separated list) of IPv6 option number sequences of the device
4354 // or operating system.
4355 Ipv6OptionSequence []string `json:"ipv6_option_sequence,omitempty"`
4356 4357 // Name of the DHCP Fingerprint object.
4358 Name *string `json:"name,omitempty"`
4359 4360 // A list (comma separated list) of IPv4 option number sequences of the device
4361 // or operating system.
4362 OptionSequence []string `json:"option_sequence,omitempty"`
4363 4364 // The type of the DHCP Fingerprint object.
4365 Type string `json:"type,omitempty"`
4366 4367 // A list of vendor IDs of the device or operating system.
4368 VendorId []string `json:"vendor_id,omitempty"`
4369 }
4370 4371 func (Fingerprint) ObjectType() string {
4372 return "fingerprint"
4373 }
4374 4375 func (obj Fingerprint) ReturnFields() []string {
4376 if obj.returnFields == nil {
4377 obj.returnFields = []string{"comment", "device_class", "name"}
4378 }
4379 return obj.returnFields
4380 }
4381 4382 // Ipv4FixedAddress represents Infoblox object fixedaddress.
4383 // A fixed address is a specific IP address that a DHCP server always assigns
4384 // when a lease request comes from a particular MAC address of the client.
4385 type Ipv4FixedAddress struct {
4386 IBBase `json:"-"`
4387 4388 Ref string `json:"_ref,omitempty"`
4389 4390 // The agent circuit ID for the fixed address.
4391 AgentCircuitId *string `json:"agent_circuit_id,omitempty"`
4392 4393 // The agent remote ID for the fixed address.
4394 AgentRemoteId *string `json:"agent_remote_id,omitempty"`
4395 4396 // This field controls whether the credential is used for both the Telnet and
4397 // SSH credentials. If set to False, the credential is used only for SSH.
4398 AllowTelnet *bool `json:"allow_telnet,omitempty"`
4399 4400 // This field controls whether only the DHCP server is allowed to update DNS,
4401 // regardless of the DHCP client requests.
4402 AlwaysUpdateDns *bool `json:"always_update_dns,omitempty"`
4403 4404 // The bootfile name for the fixed address. You can configure the DHCP server
4405 // to support clients that use the boot file name option in their DHCPREQUEST
4406 // messages.
4407 Bootfile *string `json:"bootfile,omitempty"`
4408 4409 // The bootserver address for the fixed address. You can specify the name
4410 // and/or IP address of the boot server that the host needs to boot. The boot
4411 // server IPv4 Address or name in FQDN format.
4412 Bootserver *string `json:"bootserver,omitempty"`
4413 4414 // The CLI credentials for the fixed address.
4415 CliCredentials []*DiscoveryClicredential `json:"cli_credentials,omitempty"`
4416 4417 // This field controls whether there is a prepend for the
4418 // dhcp-client-identifier of a fixed address.
4419 ClientIdentifierPrependZero *bool `json:"client_identifier_prepend_zero,omitempty"`
4420 4421 // Structure containing all cloud API related information for this object.
4422 CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`
4423 4424 // Comment for the fixed address; maximum 256 characters.
4425 Comment *string `json:"comment,omitempty"`
4426 4427 // The dynamic DNS domain name the appliance uses specifically for DDNS updates
4428 // for this fixed address.
4429 DdnsDomainname *string `json:"ddns_domainname,omitempty"`
4430 4431 // The DDNS host name for this fixed address.
4432 DdnsHostname *string `json:"ddns_hostname,omitempty"`
4433 4434 // If set to true, BOOTP settings are disabled and BOOTP requests will be
4435 // denied.
4436 DenyBootp *bool `json:"deny_bootp,omitempty"`
4437 4438 // The description of the device.
4439 DeviceDescription *string `json:"device_description,omitempty"`
4440 4441 // The location of the device.
4442 DeviceLocation *string `json:"device_location,omitempty"`
4443 4444 // The type of the device.
4445 DeviceType *string `json:"device_type,omitempty"`
4446 4447 // The vendor of the device.
4448 DeviceVendor *string `json:"device_vendor,omitempty"`
4449 4450 // The DHCP client ID for the fixed address.
4451 DhcpClientIdentifier *string `json:"dhcp_client_identifier,omitempty"`
4452 4453 // Determines whether a fixed address is disabled or not. When this is set to
4454 // False, the fixed address is enabled.
4455 Disable *bool `json:"disable,omitempty"`
4456 4457 // Determines if the discovery for this fixed address is disabled or not. False
4458 // means that the discovery is enabled.
4459 DisableDiscovery *bool `json:"disable_discovery,omitempty"`
4460 4461 // The discovery status of this fixed address.
4462 DiscoverNowStatus string `json:"discover_now_status,omitempty"`
4463 4464 // The discovered data for this fixed address.
4465 DiscoveredData *Discoverydata `json:"discovered_data,omitempty"`
4466 4467 // The dynamic DNS updates flag of a DHCP Fixed Address object. If set to True,
4468 // the DHCP server sends DDNS updates to DNS servers in the same Grid, and to
4469 // external DNS servers.
4470 EnableDdns *bool `json:"enable_ddns,omitempty"`
4471 4472 // Determines if the discovery for the fixed address should be immediately
4473 // enabled.
4474 EnableImmediateDiscovery *bool `json:"enable_immediate_discovery,omitempty"`
4475 4476 // Set this to True if you want the DHCP server to use a different lease time
4477 // for PXE clients.
4478 EnablePxeLeaseTime *bool `json:"enable_pxe_lease_time,omitempty"`
4479 4480 // Extensible attributes associated with the object. For valid values for
4481 // extensible attributes, see {extattrs:values}.
4482 Ea EA `json:"extattrs"`
4483 4484 // If this field is set to False, the appliance returns all DHCP options the
4485 // client is eligible to receive, rather than only the list of options the
4486 // client has requested.
4487 IgnoreDhcpOptionListRequest *bool `json:"ignore_dhcp_option_list_request,omitempty"`
4488 4489 // The IPv4 Address of the fixed address.
4490 Ipv4Addr *string `json:"ipv4addr,omitempty"`
4491 4492 // This flag reflects whether the MAC address for this fixed address is
4493 // invalid.
4494 IsInvalidMac bool `json:"is_invalid_mac,omitempty"`
4495 4496 // This field contains the logic filters to be applied on the this fixed
4497 // address. This list corresponds to the match rules that are written to the
4498 // dhcpd configuration file.
4499 LogicFilterRules []*Logicfilterrule `json:"logic_filter_rules,omitempty"`
4500 4501 // The MAC address value for this fixed address.
4502 Mac *string `json:"mac,omitempty"`
4503 4504 // The match_client value for this fixed address. Valid values are:
4505 // "MAC_ADDRESS": The fixed IP address is leased to the matching MAC address.
4506 // "CLIENT_ID": The fixed IP address is leased to the matching DHCP client
4507 // identifier. "RESERVED": The fixed IP address is reserved for later use with
4508 // a MAC address that only has zeros. "CIRCUIT_ID": The fixed IP address is
4509 // leased to the DHCP client with a matching circuit ID. Note that the
4510 // "agent_circuit_id" field must be set in this case. "REMOTE_ID": The fixed IP
4511 // address is leased to the DHCP client with a matching remote ID. Note that
4512 // the "agent_remote_id" field must be set in this case.
4513 MatchClient string `json:"match_client,omitempty"`
4514 4515 // The Microsoft Active Directory user related information.
4516 MsAdUserData *MsserverAduserData `json:"ms_ad_user_data,omitempty"`
4517 4518 // This field contains the Microsoft DHCP options for this fixed address.
4519 MsOptions []*Msdhcpoption `json:"ms_options,omitempty"`
4520 4521 // The Microsoft server associated with this fixed address.
4522 MsServer *Msdhcpserver `json:"ms_server,omitempty"`
4523 4524 // This field contains the name of this fixed address.
4525 Name *string `json:"name,omitempty"`
4526 4527 // The network to which this fixed address belongs, in IPv4 Address/CIDR
4528 // format.
4529 Network *string `json:"network,omitempty"`
4530 4531 // The name of the network view in which this fixed address resides.
4532 NetworkView *string `json:"network_view,omitempty"`
4533 4534 // The name in FQDN and/or IPv4 Address format of the next server that the host
4535 // needs to boot.
4536 Nextserver *string `json:"nextserver,omitempty"`
4537 4538 // An array of DHCP option dhcpoption structs that lists the DHCP options
4539 // associated with the object.
4540 Options []*Dhcpoption `json:"options,omitempty"`
4541 4542 // The PXE lease time value for a DHCP Fixed Address object. Some hosts use PXE
4543 // (Preboot Execution Environment) to boot remotely from a server. To better
4544 // manage your IP resources, set a different lease time for PXE boot requests.
4545 // You can configure the DHCP server to allocate an IP address with a shorter
4546 // lease time to hosts that send PXE boot requests, so IP addresses are not
4547 // leased longer than necessary. A 32-bit unsigned integer that represents the
4548 // duration, in seconds, for which the update is cached. Zero indicates that
4549 // the update is not cached.
4550 PxeLeaseTime *uint32 `json:"pxe_lease_time,omitempty"`
4551 4552 // The ref to the reserved interface to which the device belongs.
4553 ReservedInterface *string `json:"reserved_interface,omitempty"`
4554 4555 // Restarts the member service. The restart_if_needed flag can trigger a
4556 // restart on DHCP services only when it is enabled on CP member.
4557 RestartIfNeeded *bool `json:"restart_if_needed,omitempty"`
4558 4559 // The SNMPv3 credential for this fixed address.
4560 Snmp3Credential *DiscoverySnmp3credential `json:"snmp3_credential,omitempty"`
4561 4562 // The SNMPv1 or SNMPv2 credential for this fixed address.
4563 SnmpCredential *DiscoverySnmpcredential `json:"snmp_credential,omitempty"`
4564 4565 // If set on creation, the fixed address will be created according to the
4566 // values specified in the named template.
4567 Template string `json:"template,omitempty"`
4568 4569 // Use flag for: bootfile
4570 UseBootfile *bool `json:"use_bootfile,omitempty"`
4571 4572 // Use flag for: bootserver
4573 UseBootserver *bool `json:"use_bootserver,omitempty"`
4574 4575 // If set to true, the CLI credential will override member-level settings.
4576 UseCliCredentials *bool `json:"use_cli_credentials,omitempty"`
4577 4578 // Use flag for: ddns_domainname
4579 UseDdnsDomainname *bool `json:"use_ddns_domainname,omitempty"`
4580 4581 // Use flag for: deny_bootp
4582 UseDenyBootp *bool `json:"use_deny_bootp,omitempty"`
4583 4584 // Use flag for: enable_ddns
4585 UseEnableDdns *bool `json:"use_enable_ddns,omitempty"`
4586 4587 // Use flag for: ignore_dhcp_option_list_request
4588 UseIgnoreDhcpOptionListRequest *bool `json:"use_ignore_dhcp_option_list_request,omitempty"`
4589 4590 // Use flag for: logic_filter_rules
4591 UseLogicFilterRules *bool `json:"use_logic_filter_rules,omitempty"`
4592 4593 // Use flag for: ms_options
4594 UseMsOptions *bool `json:"use_ms_options,omitempty"`
4595 4596 // Use flag for: nextserver
4597 UseNextserver *bool `json:"use_nextserver,omitempty"`
4598 4599 // Use flag for: options
4600 UseOptions *bool `json:"use_options,omitempty"`
4601 4602 // Use flag for: pxe_lease_time
4603 UsePxeLeaseTime *bool `json:"use_pxe_lease_time,omitempty"`
4604 4605 // Determines if the SNMPv3 credential should be used for the fixed address.
4606 UseSnmp3Credential *bool `json:"use_snmp3_credential,omitempty"`
4607 4608 // If set to true, the SNMP credential will override member-level settings.
4609 UseSnmpCredential *bool `json:"use_snmp_credential,omitempty"`
4610 }
4611 4612 func (Ipv4FixedAddress) ObjectType() string {
4613 return "fixedaddress"
4614 }
4615 4616 func (obj Ipv4FixedAddress) ReturnFields() []string {
4617 if obj.returnFields == nil {
4618 obj.returnFields = []string{"ipv4addr", "network_view"}
4619 }
4620 return obj.returnFields
4621 }
4622 4623 // Fixedaddresstemplate represents Infoblox object fixedaddresstemplate.
4624 // The fixed address template used to create a fixed address objects in a quick
4625 // and consistent way. Fixed address object created from a fixed address
4626 // template will inherit most properties defined in fixed address template
4627 // object so most of the fixed address template properties are the same as the
4628 // fixed address object properties.
4629 type Fixedaddresstemplate struct {
4630 IBBase `json:"-"`
4631 4632 Ref string `json:"_ref,omitempty"`
4633 4634 // The boot file name for the fixed address. You can configure the DHCP server
4635 // to support clients that use the boot file name option in their DHCPREQUEST
4636 // messages.
4637 Bootfile *string `json:"bootfile,omitempty"`
4638 4639 // The boot server address for the fixed address. You can specify the name
4640 // and/or IP address of the boot server that the host needs to boot. The boot
4641 // server IPv4 Address or name in FQDN format.
4642 Bootserver *string `json:"bootserver,omitempty"`
4643 4644 // A descriptive comment of a fixed address template object.
4645 Comment *string `json:"comment,omitempty"`
4646 4647 // The dynamic DNS domain name the appliance uses specifically for DDNS updates
4648 // for this fixed address.
4649 DdnsDomainname *string `json:"ddns_domainname,omitempty"`
4650 4651 // The DDNS host name for this fixed address.
4652 DdnsHostname *string `json:"ddns_hostname,omitempty"`
4653 4654 // Determines if BOOTP settings are disabled and BOOTP requests will be denied.
4655 DenyBootp *bool `json:"deny_bootp,omitempty"`
4656 4657 // Determines if the DHCP server sends DDNS updates to DNS servers in the same
4658 // Grid, and to external DNS servers.
4659 EnableDdns *bool `json:"enable_ddns,omitempty"`
4660 4661 // Set this to True if you want the DHCP server to use a different lease time
4662 // for PXE clients.
4663 EnablePxeLeaseTime *bool `json:"enable_pxe_lease_time,omitempty"`
4664 4665 // Extensible attributes associated with the object. For valid values for
4666 // extensible attributes, see {extattrs:values}.
4667 Ea EA `json:"extattrs"`
4668 4669 // If this field is set to False, the appliance returns all DHCP options the
4670 // client is eligible to receive, rather than only the list of options the
4671 // client has requested.
4672 IgnoreDhcpOptionListRequest *bool `json:"ignore_dhcp_option_list_request,omitempty"`
4673 4674 // This field contains the logic filters to be applied on this fixed address.
4675 // This list corresponds to the match rules that are written to the dhcpd
4676 // configuration file.
4677 LogicFilterRules []*Logicfilterrule `json:"logic_filter_rules,omitempty"`
4678 4679 // The name of a fixed address template object.
4680 Name *string `json:"name,omitempty"`
4681 4682 // The name in FQDN and/or IPv4 Address format of the next server that the host
4683 // needs to boot.
4684 Nextserver *string `json:"nextserver,omitempty"`
4685 4686 // The number of addresses for this fixed address.
4687 NumberOfAddresses *uint32 `json:"number_of_addresses,omitempty"`
4688 4689 // The start address offset for this fixed address.
4690 Offset *uint32 `json:"offset,omitempty"`
4691 4692 // An array of DHCP option dhcpoption structs that lists the DHCP options
4693 // associated with the object.
4694 Options []*Dhcpoption `json:"options,omitempty"`
4695 4696 // The PXE lease time value for a DHCP Fixed Address object. Some hosts use PXE
4697 // (Preboot Execution Environment) to boot remotely from a server. To better
4698 // manage your IP resources, set a different lease time for PXE boot requests.
4699 // You can configure the DHCP server to allocate an IP address with a shorter
4700 // lease time to hosts that send PXE boot requests, so IP addresses are not
4701 // leased longer than necessary. A 32-bit unsigned integer that represents the
4702 // duration, in seconds, for which the update is cached. Zero indicates that
4703 // the update is not cached.
4704 PxeLeaseTime *uint32 `json:"pxe_lease_time,omitempty"`
4705 4706 // Use flag for: bootfile
4707 UseBootfile *bool `json:"use_bootfile,omitempty"`
4708 4709 // Use flag for: bootserver
4710 UseBootserver *bool `json:"use_bootserver,omitempty"`
4711 4712 // Use flag for: ddns_domainname
4713 UseDdnsDomainname *bool `json:"use_ddns_domainname,omitempty"`
4714 4715 // Use flag for: deny_bootp
4716 UseDenyBootp *bool `json:"use_deny_bootp,omitempty"`
4717 4718 // Use flag for: enable_ddns
4719 UseEnableDdns *bool `json:"use_enable_ddns,omitempty"`
4720 4721 // Use flag for: ignore_dhcp_option_list_request
4722 UseIgnoreDhcpOptionListRequest *bool `json:"use_ignore_dhcp_option_list_request,omitempty"`
4723 4724 // Use flag for: logic_filter_rules
4725 UseLogicFilterRules *bool `json:"use_logic_filter_rules,omitempty"`
4726 4727 // Use flag for: nextserver
4728 UseNextserver *bool `json:"use_nextserver,omitempty"`
4729 4730 // Use flag for: options
4731 UseOptions *bool `json:"use_options,omitempty"`
4732 4733 // Use flag for: pxe_lease_time
4734 UsePxeLeaseTime *bool `json:"use_pxe_lease_time,omitempty"`
4735 }
4736 4737 func (Fixedaddresstemplate) ObjectType() string {
4738 return "fixedaddresstemplate"
4739 }
4740 4741 func (obj Fixedaddresstemplate) ReturnFields() []string {
4742 if obj.returnFields == nil {
4743 obj.returnFields = []string{"comment", "name"}
4744 }
4745 return obj.returnFields
4746 }
4747 4748 // Ftpuser represents Infoblox object ftpuser.
4749 // The FTP user represents the user accounts to be used with the FTP client.
4750 type Ftpuser struct {
4751 IBBase `json:"-"`
4752 4753 Ref string `json:"_ref,omitempty"`
4754 4755 // Determines whether to create the home directory with the user name or to use
4756 // the existing directory as the home directory.
4757 CreateHomeDir bool `json:"create_home_dir,omitempty"`
4758 4759 // Extensible attributes associated with the object. For valid values for
4760 // extensible attributes, see {extattrs:values}.
4761 Ea EA `json:"extattrs"`
4762 4763 // The absolute path of the FTP user's home directory.
4764 HomeDir string `json:"home_dir,omitempty"`
4765 4766 // The FTP user password.
4767 Password *string `json:"password,omitempty"`
4768 4769 // The FTP user permission.
4770 Permission string `json:"permission,omitempty"`
4771 4772 // The FTP user name.
4773 Username string `json:"username,omitempty"`
4774 }
4775 4776 func (Ftpuser) ObjectType() string {
4777 return "ftpuser"
4778 }
4779 4780 func (obj Ftpuser) ReturnFields() []string {
4781 if obj.returnFields == nil {
4782 obj.returnFields = []string{"username"}
4783 }
4784 return obj.returnFields
4785 }
4786 4787 // Grid represents Infoblox object grid.
4788 // This object represents the Infoblox Grid.
4789 type Grid struct {
4790 IBBase `json:"-"`
4791 4792 Ref string `json:"_ref,omitempty"`
4793 4794 // The property to allow recursive deletion. Determines the users who can
4795 // choose to perform recursive deletion on networks or zones from the GUI only.
4796 AllowRecursiveDeletion string `json:"allow_recursive_deletion,omitempty"`
4797 4798 // Determines the audit log format.
4799 AuditLogFormat string `json:"audit_log_format,omitempty"`
4800 4801 // If set to True, audit log messages are also copied to the syslog.
4802 AuditToSyslogEnable *bool `json:"audit_to_syslog_enable,omitempty"`
4803 4804 // The grid level settings for automated traffic capture.
4805 AutomatedTrafficCaptureSetting *SettingAutomatedtrafficcapture `json:"automated_traffic_capture_setting,omitempty"`
4806 4807 // The Grid consent banner settings.
4808 ConsentBannerSetting *GridConsentbannersetting `json:"consent_banner_setting,omitempty"`
4809 4810 // The Grid csp api config settings.
4811 CspApiConfig *GridCspapiconfig `json:"csp_api_config,omitempty"`
4812 4813 // CSP settings at grid level
4814 CspGridSetting *GridCspgridsetting `json:"csp_grid_setting,omitempty"`
4815 4816 // If set to True, the managed Grid will not send snapshots to the Multi-Grid
4817 // Master.
4818 DenyMgmSnapshots *bool `json:"deny_mgm_snapshots,omitempty"`
4819 4820 // The default actions for extensbile attributes that exist on descendants.
4821 DescendantsAction *ExtensibleattributedefDescendants `json:"descendants_action,omitempty"`
4822 4823 // The DNS resolver setting.
4824 DnsResolverSetting *SettingDnsresolver `json:"dns_resolver_setting,omitempty"`
4825 4826 // The DSCP value. Valid values are integers between 0 and 63 inclusive.
4827 Dscp *uint32 `json:"dscp,omitempty"`
4828 4829 // The e-mail settings for the Grid.
4830 EmailSetting *SettingEmail `json:"email_setting,omitempty"`
4831 4832 // If set to True, GUI and API access are enabled on the LAN/VIP port and MGMT
4833 // port (if configured).
4834 EnableGuiApiForLanVip *bool `json:"enable_gui_api_for_lan_vip,omitempty"`
4835 4836 // Determines if the LOM functionality is enabled or not.
4837 EnableLom *bool `json:"enable_lom,omitempty"`
4838 4839 // Determines redirections is enabled or not for members.
4840 EnableMemberRedirect *bool `json:"enable_member_redirect,omitempty"`
4841 4842 // Determines if the Recycle Bin is enabled or not.
4843 EnableRecycleBin *bool `json:"enable_recycle_bin,omitempty"`
4844 4845 // Determines if the RIR/SWIP support is enabled or not.
4846 EnableRirSwip *bool `json:"enable_rir_swip,omitempty"`
4847 4848 // The list of external backup syslog servers.
4849 ExternalSyslogBackupServers []*Extsyslogbackupserver `json:"external_syslog_backup_servers,omitempty"`
4850 4851 // If set to True, external syslog servers are enabled.
4852 ExternalSyslogServerEnable *bool `json:"external_syslog_server_enable,omitempty"`
4853 4854 // The Grid HTTP proxy server settings.
4855 HttpProxyServerSetting *SettingHttpproxyserver `json:"http_proxy_server_setting,omitempty"`
4856 4857 // The Grid informational level banner settings.
4858 InformationalBannerSetting *GridInformationalbannersetting `json:"informational_banner_setting,omitempty"`
4859 4860 // If set to True, graphical visualization of the Grid is enabled.
4861 IsGridVisualizationVisible *bool `json:"is_grid_visualization_visible,omitempty"`
4862 4863 // Security Setting for Account lockout.
4864 LockoutSetting *GridLockoutsetting `json:"lockout_setting,omitempty"`
4865 4866 // The list of LOM users.
4867 LomUsers []*Lomuser `json:"lom_users,omitempty"`
4868 4869 // Determines if strict delegate mode for the Grid managed by the Master Grid
4870 // is enabled or not.
4871 MgmStrictDelegateMode *bool `json:"mgm_strict_delegate_mode,omitempty"`
4872 4873 // The settings for all Microsoft servers in the Grid.
4874 MsSetting *SettingMsserver `json:"ms_setting,omitempty"`
4875 4876 // The grid name.
4877 Name *string `json:"name,omitempty"`
4878 4879 // The list of all Network Address Translation (NAT) groups configured on the
4880 // Grid.
4881 NatGroups []string `json:"nat_groups,omitempty"`
4882 4883 // The Grid Network Time Protocol (NTP) settings.
4884 NTPSetting *NTPSetting `json:"ntp_setting,omitempty"`
4885 4886 // Determines the object changes tracking settings.
4887 ObjectsChangesTrackingSetting *Objectschangestrackingsetting `json:"objects_changes_tracking_setting,omitempty"`
4888 4889 // The Grid password settings.
4890 PasswordSetting *SettingPassword `json:"password_setting,omitempty"`
4891 4892 // The setting for the Restart Banner.
4893 RestartBannerSetting *GridRestartbannersetting `json:"restart_banner_setting,omitempty"`
4894 4895 // The restart status for the Grid.
4896 RestartStatus string `json:"restart_status,omitempty"`
4897 4898 // The time interval (in seconds) that determines how often the appliance
4899 // calculates the RPZ hit rate.
4900 RpzHitRateInterval *uint32 `json:"rpz_hit_rate_interval,omitempty"`
4901 4902 // The maximum number of incoming queries between the RPZ hit rate checks.
4903 RpzHitRateMaxQuery *uint32 `json:"rpz_hit_rate_max_query,omitempty"`
4904 4905 // The minimum number of incoming queries between the RPZ hit rate checks.
4906 RpzHitRateMinQuery *uint32 `json:"rpz_hit_rate_min_query,omitempty"`
4907 4908 // The scheduled backup configuration.
4909 ScheduledBackup *Scheduledbackup `json:"scheduled_backup,omitempty"`
4910 4911 // The shared secret of the Grid. This is a write-only attribute.
4912 Secret *string `json:"secret,omitempty"`
4913 4914 // The Grid security banner settings.
4915 SecurityBannerSetting *SettingSecuritybanner `json:"security_banner_setting,omitempty"`
4916 4917 // The Grid security settings.
4918 SecuritySetting *SettingSecurity `json:"security_setting,omitempty"`
4919 4920 // Determines overall service status of the Grid.
4921 ServiceStatus string `json:"service_status,omitempty"`
4922 4923 // The Grid SNMP settings.
4924 SnmpSetting *SettingSnmp `json:"snmp_setting,omitempty"`
4925 4926 // Support bundle download timeout in seconds.
4927 SupportBundleDownloadTimeout *uint32 `json:"support_bundle_download_timeout,omitempty"`
4928 4929 // If 'audit_to_syslog_enable' is set to True, the facility that determines the
4930 // processes and daemons from which the log messages are generated.
4931 SyslogFacility string `json:"syslog_facility,omitempty"`
4932 4933 // The list of external syslog servers.
4934 SyslogServers []*Syslogserver `json:"syslog_servers,omitempty"`
4935 4936 // The maximum size for the syslog file expressed in megabytes.
4937 SyslogSize *uint32 `json:"syslog_size,omitempty"`
4938 4939 // Determines the list of threshold traps. The user can only change the values
4940 // for each trap or remove traps.
4941 ThresholdTraps []*Thresholdtrap `json:"threshold_traps,omitempty"`
4942 4943 // The time zone of the Grid. The UTC string that represents the time zone,
4944 // such as "(UTC - 5:00) Eastern Time (US and Canada)".
4945 TimeZone *string `json:"time_zone,omitempty"`
4946 4947 // The delayed usage (in minutes) of a permission token.
4948 TokenUsageDelay *uint32 `json:"token_usage_delay,omitempty"`
4949 4950 // Grid level settings for enabling authoritative DNS latency thresholds for
4951 // automated traffic capture.
4952 TrafficCaptureAuthDnsSetting *SettingTriggeruthdnslatency `json:"traffic_capture_auth_dns_setting,omitempty"`
4953 4954 // Grid level settings for enabling DNS cache hit ratio threshold for automated
4955 // traffic capture.
4956 TrafficCaptureChrSetting *SettingTrafficcapturechr `json:"traffic_capture_chr_setting,omitempty"`
4957 4958 // Grid level settings for enabling DNS query per second threshold for
4959 // automated traffic capture.
4960 TrafficCaptureQpsSetting *SettingTrafficcaptureqps `json:"traffic_capture_qps_setting,omitempty"`
4961 4962 // Grid level settings for enabling recursive DNS latency thresholds for
4963 // automated traffic capture.
4964 TrafficCaptureRecDnsSetting *SettingTriggerrecdnslatency `json:"traffic_capture_rec_dns_setting,omitempty"`
4965 4966 // Grid level settings for enabling count for concurrent outgoing recursive
4967 // queries for automated traffic capture.
4968 TrafficCaptureRecQueriesSetting *SettingTriggerrecqueries `json:"traffic_capture_rec_queries_setting,omitempty"`
4969 4970 // Determines configuration of the trap notifications.
4971 TrapNotifications []*Trapnotification `json:"trap_notifications,omitempty"`
4972 4973 // The list of member configuration structures, which provides information and
4974 // settings for configuring the member that is responsible for downloading
4975 // updates.
4976 UpdatesDownloadMemberConfig []*Updatesdownloadmemberconfig `json:"updates_download_member_config,omitempty"`
4977 4978 // The VPN port.
4979 VpnPort *uint32 `json:"vpn_port,omitempty"`
4980 }
4981 4982 func (Grid) ObjectType() string {
4983 return "grid"
4984 }
4985 4986 func (obj Grid) ReturnFields() []string {
4987 if obj.returnFields == nil {
4988 obj.returnFields = []string{}
4989 }
4990 return obj.returnFields
4991 }
4992 4993 func NewGrid(grid Grid) *Grid {
4994 result := grid
4995 returnFields := []string{"name", "ntp_setting"}
4996 result.returnFields = returnFields
4997 return &result
4998 }
4999 5000 // GridCloudapi represents Infoblox object grid:cloudapi.
5001 // This object represents the Cloud Grid.
5002 type GridCloudapi struct {
5003 IBBase `json:"-"`
5004 5005 Ref string `json:"_ref,omitempty"`
5006 5007 // Defines administrators who can perform cloud API requests on the Grid
5008 // Master. The valid value is NONE (no administrator), ALL (all
5009 // administrators), or LIST (administrators on the ACL).
5010 AllowApiAdmins string `json:"allow_api_admins,omitempty"`
5011 5012 // The list of administrators who can perform cloud API requests on the Cloud
5013 // Platform Appliance.
5014 AllowedApiAdmins []*GridCloudapiUser `json:"allowed_api_admins,omitempty"`
5015 5016 // Determines whether the recycle bin for deleted cloud objects is enabled or
5017 // not on the Grid Master.
5018 EnableRecycleBin *bool `json:"enable_recycle_bin,omitempty"`
5019 5020 // Structure containing all the information related to Gateway configuration
5021 // for the Grid Master
5022 GatewayConfig *GridCloudapiGatewayConfig `json:"gateway_config,omitempty"`
5023 }
5024 5025 func (GridCloudapi) ObjectType() string {
5026 return "grid:cloudapi"
5027 }
5028 5029 func (obj GridCloudapi) ReturnFields() []string {
5030 if obj.returnFields == nil {
5031 obj.returnFields = []string{"allow_api_admins", "allowed_api_admins", "enable_recycle_bin"}
5032 }
5033 return obj.returnFields
5034 }
5035 5036 // GridCloudapiCloudstatistics represents Infoblox object grid:cloudapi:cloudstatistics.
5037 // Represents the cloud statistics data.
5038 type GridCloudapiCloudstatistics struct {
5039 IBBase `json:"-"`
5040 5041 Ref string `json:"_ref,omitempty"`
5042 5043 // Ratio of allocated vs. available IPs
5044 AllocatedAvailableRatio uint32 `json:"allocated_available_ratio,omitempty"`
5045 5046 // Total number of IPs allocated by tenants.
5047 AllocatedIpCount uint32 `json:"allocated_ip_count,omitempty"`
5048 5049 // The total number of IP addresses available to tenants. Only IP addresses in
5050 // networks that are within a delegation scope are counted.
5051 AvailableIpCount string `json:"available_ip_count,omitempty"`
5052 5053 // The total number of fixed IP addresses currently in use by all tenants in
5054 // the system.
5055 FixedIpCount uint32 `json:"fixed_ip_count,omitempty"`
5056 5057 // The total number of floating IP addresses currently in use by all tenants in
5058 // the system.
5059 FloatingIpCount uint32 `json:"floating_ip_count,omitempty"`
5060 5061 // Total number of tenant currently in the system.
5062 TenantCount uint32 `json:"tenant_count,omitempty"`
5063 5064 // The total number of IP addresses currently in use by all tenants in the
5065 // system.
5066 TenantIpCount uint32 `json:"tenant_ip_count,omitempty"`
5067 5068 // The total number of VMs currently in use by all tenants in the system.
5069 TenantVmCount uint32 `json:"tenant_vm_count,omitempty"`
5070 }
5071 5072 func (GridCloudapiCloudstatistics) ObjectType() string {
5073 return "grid:cloudapi:cloudstatistics"
5074 }
5075 5076 func (obj GridCloudapiCloudstatistics) ReturnFields() []string {
5077 if obj.returnFields == nil {
5078 obj.returnFields = []string{"allocated_available_ratio", "allocated_ip_count", "available_ip_count", "fixed_ip_count", "floating_ip_count", "tenant_count", "tenant_ip_count", "tenant_vm_count"}
5079 }
5080 return obj.returnFields
5081 }
5082 5083 // GridCloudapiTenant represents Infoblox object grid:cloudapi:tenant.
5084 // A Tenant object represents an abstract administrative concept in Cloud
5085 // Management Platforms, which encompasses all network elements such as
5086 // networks, zones, VMs, IP addresses (fixed and floating), network views,
5087 // default DNS view, and all related extensive attributes.
5088 type GridCloudapiTenant struct {
5089 IBBase `json:"-"`
5090 5091 Ref string `json:"_ref,omitempty"`
5092 5093 // Structure containing all cloud API related information for this object.
5094 CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`
5095 5096 // Comment for the Grid Cloud API Tenant object; maximum 256 characters.
5097 Comment *string `json:"comment,omitempty"`
5098 5099 // The timestamp when the tenant was first created in the system.
5100 CreatedTs *UnixTime `json:"created_ts,omitempty"`
5101 5102 // Unique ID associated with the tenant. This is set only when the tenant is
5103 // first created.
5104 Id string `json:"id,omitempty"`
5105 5106 // The timestamp when the last event associated with the tenant happened.
5107 LastEventTs *UnixTime `json:"last_event_ts,omitempty"`
5108 5109 // Name of the tenant.
5110 Name *string `json:"name,omitempty"`
5111 5112 // Number of Networks associated with the tenant.
5113 NetworkCount uint32 `json:"network_count,omitempty"`
5114 5115 // Number of VMs associated with the tenant.
5116 VmCount uint32 `json:"vm_count,omitempty"`
5117 }
5118 5119 func (GridCloudapiTenant) ObjectType() string {
5120 return "grid:cloudapi:tenant"
5121 }
5122 5123 func (obj GridCloudapiTenant) ReturnFields() []string {
5124 if obj.returnFields == nil {
5125 obj.returnFields = []string{"comment", "id", "name"}
5126 }
5127 return obj.returnFields
5128 }
5129 5130 // GridCloudapiVm represents Infoblox object grid:cloudapi:vm.
5131 // A vm object represents a virtual machine which encompasses network elements
5132 // such as IP addresses (fixed and floating, private and public), DNS names and
5133 // all related extensive attributes.
5134 type GridCloudapiVm struct {
5135 IBBase `json:"-"`
5136 5137 Ref string `json:"_ref,omitempty"`
5138 5139 // Availability zone of the VM.
5140 AvailabilityZone string `json:"availability_zone,omitempty"`
5141 5142 // Structure containing all the cloud API related information for this object.
5143 CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`
5144 5145 // Comment for the vm object; maximum 1024 characters.
5146 Comment *string `json:"comment,omitempty"`
5147 5148 // Elastic IP address associated with the VM's primary interface.
5149 ElasticIpAddress string `json:"elastic_ip_address,omitempty"`
5150 5151 // Extensible attributes associated with the object. For valid values for
5152 // extensible attributes, see {extattrs:values}.
5153 Ea EA `json:"extattrs"`
5154 5155 // The timestamp when the VM was first seen in the system.
5156 FirstSeen *UnixTime `json:"first_seen,omitempty"`
5157 5158 // Hostname part of the FQDN for the address associated with the VM's primary
5159 // interface.
5160 Hostname string `json:"hostname,omitempty"`
5161 5162 // Unique ID associated with the VM. This is set only when the VM is first
5163 // created.
5164 Id string `json:"id,omitempty"`
5165 5166 // Identifier of the kernel that this VM is running; maximum 128 characters.
5167 KernelId *string `json:"kernel_id,omitempty"`
5168 5169 // The timestamp when the last event associated with the VM happened.
5170 LastSeen *UnixTime `json:"last_seen,omitempty"`
5171 5172 // Name of the VM.
5173 Name *string `json:"name,omitempty"`
5174 5175 // Number of Networks containing any address associated with this VM.
5176 NetworkCount uint32 `json:"network_count,omitempty"`
5177 5178 // Guest Operating system that this VM is running; maximum 128 characters.
5179 OperatingSystem *string `json:"operating_system,omitempty"`
5180 5181 // MAC address associated with the VM's primary interface.
5182 PrimaryMacAddress string `json:"primary_mac_address,omitempty"`
5183 5184 // Address of the network that is the container of the address associated with
5185 // the VM's primary interface.
5186 SubnetAddress string `json:"subnet_address,omitempty"`
5187 5188 // CIDR of the network that is the container of the address associated with the
5189 // VM's primary interface.
5190 SubnetCidr uint32 `json:"subnet_cidr,omitempty"`
5191 5192 // Subnet ID of the network that is the container of the address associated
5193 // with the VM's primary interface.
5194 SubnetId string `json:"subnet_id,omitempty"`
5195 5196 // Name of the tenant associated with the VM.
5197 TenantName string `json:"tenant_name,omitempty"`
5198 5199 // VM type; maximum 64 characters.
5200 VmType *string `json:"vm_type,omitempty"`
5201 5202 // Network address of the parent VPC.
5203 VpcAddress string `json:"vpc_address,omitempty"`
5204 5205 // Network CIDR of the parent VPC.
5206 VpcCidr uint32 `json:"vpc_cidr,omitempty"`
5207 5208 // Identifier of the parent VPC.
5209 VpcId string `json:"vpc_id,omitempty"`
5210 5211 // Name of the parent VPC.
5212 VpcName string `json:"vpc_name,omitempty"`
5213 }
5214 5215 func (GridCloudapiVm) ObjectType() string {
5216 return "grid:cloudapi:vm"
5217 }
5218 5219 func (obj GridCloudapiVm) ReturnFields() []string {
5220 if obj.returnFields == nil {
5221 obj.returnFields = []string{"comment", "id", "name"}
5222 }
5223 return obj.returnFields
5224 }
5225 5226 // GridCloudapiVmaddress represents Infoblox object grid:cloudapi:vmaddress.
5227 // VM address is an abstract object that represents a virtual machine running
5228 // on the Cloud Management Platform.
5229 type GridCloudapiVmaddress struct {
5230 IBBase `json:"-"`
5231 5232 Ref string `json:"_ref,omitempty"`
5233 5234 // The IP address of the interface.
5235 Address string `json:"address,omitempty"`
5236 5237 // IP address type (Public, Private, Elastic, Floating, ...).
5238 AddressType string `json:"address_type,omitempty"`
5239 5240 // Reference to associated IPv4 or IPv6 address.
5241 AssociatedIp string `json:"associated_ip,omitempty"`
5242 5243 // Array of string denoting the types of underlying objects IPv4/IPv6 - "A",
5244 // "AAAA", "PTR", "HOST", "FA", "RESERVATION", "UNMANAGED" + ("BULKHOST",
5245 // "DHCP_RANGE", "RESERVED_RANGE", "LEASE", "NETWORK", "BROADCAST", "PENDING"),
5246 AssociatedObjectTypes []string `json:"associated_object_types,omitempty"`
5247 5248 // The list of references to the object (Host, Fixed Address, RR, ...) that
5249 // defines this IP.
5250 AssociatedObjects []*Ipv4FixedAddress `json:"associated_objects,omitempty"`
5251 5252 // Structure containing all the cloud API related information. Only management
5253 // platform "mgmt_platform" is updated for this object.
5254 CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`
5255 5256 // The list of all FQDNs associated with the IP address.
5257 DnsNames []string `json:"dns_names,omitempty"`
5258 5259 // Elastic IP address associated with this private address, if this address is
5260 // a private address; otherwise empty.
5261 ElasticAddress string `json:"elastic_address,omitempty"`
5262 5263 // Name of the interface associated with this IP address.
5264 InterfaceName string `json:"interface_name,omitempty"`
5265 5266 // Indicates whether the address is IPv4 or IPv6.
5267 IsIpv4 bool `json:"is_ipv4,omitempty"`
5268 5269 // The MAC address of the interface.
5270 MacAddress string `json:"mac_address,omitempty"`
5271 5272 // The Microsoft Active Directory user related information.
5273 MsAdUserData *MsserverAduserData `json:"ms_ad_user_data,omitempty"`
5274 5275 // The network to which this address belongs, in IPv4 Address/CIDR format.
5276 Network string `json:"network,omitempty"`
5277 5278 // Network view name of the delegated object.
5279 NetworkView string `json:"network_view,omitempty"`
5280 5281 // Port identifier of the interface.
5282 PortId uint32 `json:"port_id,omitempty"`
5283 5284 // Private IP address associated with this public (or elastic or floating)
5285 // address, if this address is a public address; otherwise empty.
5286 PrivateAddress string `json:"private_address,omitempty"`
5287 5288 // Host part of the FQDN of this address if this address is a private address;
5289 // otherwise empty
5290 PrivateHostname string `json:"private_hostname,omitempty"`
5291 5292 // Public IP address associated with this private address, if this address is a
5293 // private address; otherwise empty.
5294 PublicAddress string `json:"public_address,omitempty"`
5295 5296 // Host part of the FQDN of this address if this address is a public (or
5297 // elastic or floating) address; otherwise empty
5298 PublicHostname string `json:"public_hostname,omitempty"`
5299 5300 // Network address of the subnet that is the container of this address.
5301 SubnetAddress string `json:"subnet_address,omitempty"`
5302 5303 // CIDR of the subnet that is the container of this address.
5304 SubnetCidr uint32 `json:"subnet_cidr,omitempty"`
5305 5306 // Subnet ID that is the container of this address.
5307 SubnetId string `json:"subnet_id,omitempty"`
5308 5309 // The Cloud API Tenant object.
5310 Tenant string `json:"tenant,omitempty"`
5311 5312 // Availability zone of the VM.
5313 VmAvailabilityZone string `json:"vm_availability_zone,omitempty"`
5314 5315 // VM comment.
5316 VmComment string `json:"vm_comment,omitempty"`
5317 5318 // Date/time the VM was first created as NIOS object.
5319 VmCreationTime *UnixTime `json:"vm_creation_time,omitempty"`
5320 5321 // Host part of the FQDN of the address attached to the primary interface.
5322 VmHostname string `json:"vm_hostname,omitempty"`
5323 5324 // The UUID of the Virtual Machine.
5325 VmId string `json:"vm_id,omitempty"`
5326 5327 // Kernel ID of the VM that this address is associated with.
5328 VmKernelId string `json:"vm_kernel_id,omitempty"`
5329 5330 // Last time the VM was updated.
5331 VmLastUpdateTime *UnixTime `json:"vm_last_update_time,omitempty"`
5332 5333 // The name of the Virtual Machine.
5334 VmName string `json:"vm_name,omitempty"`
5335 5336 // Count of networks containing all the addresses of the VM.
5337 VmNetworkCount uint32 `json:"vm_network_count,omitempty"`
5338 5339 // Operating system that the VM is running.
5340 VmOperatingSystem string `json:"vm_operating_system,omitempty"`
5341 5342 // Type of the VM this address is associated with.
5343 VmType string `json:"vm_type,omitempty"`
5344 5345 // Network address of the VPC of the VM that this address is associated with.
5346 VmVpcAddress string `json:"vm_vpc_address,omitempty"`
5347 5348 // CIDR of the VPC of the VM that this address is associated with.
5349 VmVpcCidr uint32 `json:"vm_vpc_cidr,omitempty"`
5350 5351 // Identifier of the VPC where the VM is defined.
5352 VmVpcId string `json:"vm_vpc_id,omitempty"`
5353 5354 // Name of the VPC where the VM is defined.
5355 VmVpcName string `json:"vm_vpc_name,omitempty"`
5356 5357 // Reference to the VPC where the VM is defined.
5358 VmVpcRef string `json:"vm_vpc_ref,omitempty"`
5359 }
5360 5361 func (GridCloudapiVmaddress) ObjectType() string {
5362 return "grid:cloudapi:vmaddress"
5363 }
5364 5365 func (obj GridCloudapiVmaddress) ReturnFields() []string {
5366 if obj.returnFields == nil {
5367 obj.returnFields = []string{"address", "is_ipv4", "network_view", "port_id", "vm_name"}
5368 }
5369 return obj.returnFields
5370 }
5371 5372 // GridDashboard represents Infoblox object grid:dashboard.
5373 // The Grid Dashboard object provides a configuration interface for threshold
5374 // values that are used to warn about critical ATP, RPZ and Analytics events.
5375 // These threshold values are used to calculate the security status for ATP,
5376 // RPZ, and Analytics.
5377 type GridDashboard struct {
5378 IBBase `json:"-"`
5379 5380 Ref string `json:"_ref,omitempty"`
5381 5382 // The Grid Dashboard critical threshold for Analytics tunneling events.
5383 AnalyticsTunnelingEventCriticalThreshold *uint32 `json:"analytics_tunneling_event_critical_threshold,omitempty"`
5384 5385 // The Grid Dashboard warning threshold for Analytics tunneling events.
5386 AnalyticsTunnelingEventWarningThreshold *uint32 `json:"analytics_tunneling_event_warning_threshold,omitempty"`
5387 5388 // The Grid Dashboard critical threshold for ATP critical events.
5389 AtpCriticalEventCriticalThreshold *uint32 `json:"atp_critical_event_critical_threshold,omitempty"`
5390 5391 // The Grid Dashboard warning threshold for ATP critical events.
5392 AtpCriticalEventWarningThreshold *uint32 `json:"atp_critical_event_warning_threshold,omitempty"`
5393 5394 // The Grid Dashboard critical threshold for ATP major events.
5395 AtpMajorEventCriticalThreshold *uint32 `json:"atp_major_event_critical_threshold,omitempty"`
5396 5397 // The Grid Dashboard warning threshold for ATP major events.
5398 AtpMajorEventWarningThreshold *uint32 `json:"atp_major_event_warning_threshold,omitempty"`
5399 5400 // The Grid Dashboard critical threshold for ATP warning events.
5401 AtpWarningEventCriticalThreshold *uint32 `json:"atp_warning_event_critical_threshold,omitempty"`
5402 5403 // The Grid Dashboard warning threshold for ATP warning events.
5404 AtpWarningEventWarningThreshold *uint32 `json:"atp_warning_event_warning_threshold,omitempty"`
5405 5406 // The critical threshold value for blocked RPZ hits in the Grid dashboard.
5407 RpzBlockedHitCriticalThreshold *uint32 `json:"rpz_blocked_hit_critical_threshold,omitempty"`
5408 5409 // The warning threshold value for blocked RPZ hits in the Grid dashboard.
5410 RpzBlockedHitWarningThreshold *uint32 `json:"rpz_blocked_hit_warning_threshold,omitempty"`
5411 5412 // The Grid Dashboard critical threshold for RPZ passthru events.
5413 RpzPassthruEventCriticalThreshold *uint32 `json:"rpz_passthru_event_critical_threshold,omitempty"`
5414 5415 // The Grid Dashboard warning threshold for RPZ passthru events.
5416 RpzPassthruEventWarningThreshold *uint32 `json:"rpz_passthru_event_warning_threshold,omitempty"`
5417 5418 // The critical threshold value for substituted RPZ hits in the Grid dashboard.
5419 RpzSubstitutedHitCriticalThreshold *uint32 `json:"rpz_substituted_hit_critical_threshold,omitempty"`
5420 5421 // The warning threshold value for substituted RPZ hits in the Grid dashboard.
5422 RpzSubstitutedHitWarningThreshold *uint32 `json:"rpz_substituted_hit_warning_threshold,omitempty"`
5423 }
5424 5425 func (GridDashboard) ObjectType() string {
5426 return "grid:dashboard"
5427 }
5428 5429 func (obj GridDashboard) ReturnFields() []string {
5430 if obj.returnFields == nil {
5431 obj.returnFields = []string{"analytics_tunneling_event_critical_threshold", "analytics_tunneling_event_warning_threshold", "atp_critical_event_critical_threshold", "atp_critical_event_warning_threshold", "atp_major_event_critical_threshold", "atp_major_event_warning_threshold", "atp_warning_event_critical_threshold", "atp_warning_event_warning_threshold", "rpz_blocked_hit_critical_threshold", "rpz_blocked_hit_warning_threshold", "rpz_passthru_event_critical_threshold", "rpz_passthru_event_warning_threshold", "rpz_substituted_hit_critical_threshold", "rpz_substituted_hit_warning_threshold"}
5432 }
5433 return obj.returnFields
5434 }
5435 5436 // GridDhcpproperties represents Infoblox object grid:dhcpproperties.
5437 // This object represents a subset of the Infoblox Grid DHCP properties.
5438 type GridDhcpproperties struct {
5439 IBBase `json:"-"`
5440 5441 Ref string `json:"_ref,omitempty"`
5442 5443 // The Grid-level authority flag. This flag specifies whether a DHCP server is
5444 // authoritative for a domain.
5445 Authority *bool `json:"authority,omitempty"`
5446 5447 // The name of a file that DHCP clients need to boot. Some DHCP clients use
5448 // BOOTP (bootstrap protocol) or include the boot file name option in their
5449 // DHCPREQUEST messages.
5450 Bootfile *string `json:"bootfile,omitempty"`
5451 5452 // The name of the server on which a boot file is stored.
5453 Bootserver *string `json:"bootserver,omitempty"`
5454 5455 // The Grid-level capture hostname flag. Set this flag to capture the hostname
5456 // and lease time when assigning a fixed address.
5457 CaptureHostname *bool `json:"capture_hostname,omitempty"`
5458 5459 // The member DDNS domain name value.
5460 DdnsDomainname *string `json:"ddns_domainname,omitempty"`
5461 5462 // Determines if the ability of a DHCP server to generate a host name and
5463 // update DNS with this host name when it receives a DHCP REQUEST message that
5464 // does not include a host name is enabled or not.
5465 DdnsGenerateHostname *bool `json:"ddns_generate_hostname,omitempty"`
5466 5467 // Determines the retry interval when the DHCP server makes repeated attempts
5468 // to send DDNS updates to a DNS server.
5469 DdnsRetryInterval *uint32 `json:"ddns_retry_interval,omitempty"`
5470 5471 // Determines that only the DHCP server is allowed to update DNS, regardless of
5472 // the requests from the DHCP clients.
5473 DdnsServerAlwaysUpdates *bool `json:"ddns_server_always_updates,omitempty"`
5474 5475 // The DDNS TTL (Dynamic DNS Time To Live) value specifies the number of
5476 // seconds an IP address for the name is cached.
5477 DdnsTtl *uint32 `json:"ddns_ttl,omitempty"`
5478 5479 // Determines if the Grid DHCP server's ability to update the A and PTR records
5480 // with a fixed address is enabled or not.
5481 DdnsUpdateFixedAddresses *bool `json:"ddns_update_fixed_addresses,omitempty"`
5482 5483 // Determines if support for option 81 is enabled or not.
5484 DdnsUseOption81 *bool `json:"ddns_use_option81,omitempty"`
5485 5486 // Determines if deny BOOTP is enabled or not.
5487 DenyBootp *bool `json:"deny_bootp,omitempty"`
5488 5489 // If set to True, NAC filters will be disabled on the Infoblox Grid.
5490 DisableAllNacFilters *bool `json:"disable_all_nac_filters,omitempty"`
5491 5492 // The update style for dynamic DNS updates.
5493 DnsUpdateStyle string `json:"dns_update_style,omitempty"`
5494 5495 // The Grid-level email_list value. Specify an e-mail address to which you want
5496 // the Infoblox appliance to send e-mail notifications when the DHCP address
5497 // usage for the grid crosses a threshold. You can create a list of several
5498 // e-mail addresses.
5499 EmailList []string `json:"email_list,omitempty"`
5500 5501 // Determines if the member DHCP server's ability to send DDNS updates is
5502 // enabled or not.
5503 EnableDdns *bool `json:"enable_ddns,omitempty"`
5504 5505 // Represents the watermarks above or below which address usage in a network is
5506 // unexpected and might warrant your attention.
5507 EnableDhcpThresholds *bool `json:"enable_dhcp_thresholds,omitempty"`
5508 5509 // Determines if e-mail warnings are enabled or disabled. When DHCP threshold
5510 // is enabled and DHCP address usage crosses a watermark threshold, the
5511 // appliance sends an e-mail notification to an administrator.
5512 EnableEmailWarnings *bool `json:"enable_email_warnings,omitempty"`
5513 5514 // Determines if the fingerprint feature is enabled or not. If you enable this
5515 // feature, the server will match a fingerprint for incoming lease requests.
5516 EnableFingerprint *bool `json:"enable_fingerprint,omitempty"`
5517 5518 // Determines whether all appliances are enabled to receive GSS-TSIG
5519 // authenticated updates from DHCP clients.
5520 EnableGssTsig *bool `json:"enable_gss_tsig,omitempty"`
5521 5522 // Determines if the Grid-level host name rewrite feature is enabled or not.
5523 EnableHostnameRewrite *bool `json:"enable_hostname_rewrite,omitempty"`
5524 5525 // Determines if lease query is allowed or not.
5526 EnableLeasequery *bool `json:"enable_leasequery,omitempty"`
5527 5528 // Determines if DHCP servers in a Grid support roaming hosts or not.
5529 EnableRoamingHosts *bool `json:"enable_roaming_hosts,omitempty"`
5530 5531 // Determined if the SNMP warnings on Grid-level are enabled or not. When DHCP
5532 // threshold is enabled and DHCP address usage crosses a watermark threshold,
5533 // the appliance sends an SNMP trap to the trap receiver that you defined you
5534 // defined at the Grid member level.
5535 EnableSnmpWarnings *bool `json:"enable_snmp_warnings,omitempty"`
5536 5537 // The format option for Option 82 logging.
5538 FormatLogOption82 string `json:"format_log_option_82,omitempty"`
5539 5540 // Determines the Grid that serves DHCP. This specifies a group of Infoblox
5541 // appliances that are connected together to provide a single point of device
5542 // administration and service configuration in a secure, highly available
5543 // environment.
5544 Grid string `json:"grid,omitempty"`
5545 5546 // The list of GSS-TSIG keys for a Grid DHCP object.
5547 GssTsigKeys []*Kerberoskey `json:"gss_tsig_keys,omitempty"`
5548 5549 // Determines the high watermark value of a Grid DHCP server. If the percentage
5550 // of allocated addresses exceeds this watermark, the appliance makes a syslog
5551 // entry and sends an e-mail notification (if enabled). Specifies the
5552 // percentage of allocated addresses. The range is from 1 to 100.
5553 HighWaterMark *uint32 `json:"high_water_mark,omitempty"`
5554 5555 // Determines the high watermark reset value of a member DHCP server. If the
5556 // percentage of allocated addresses drops below this value, a corresponding
5557 // SNMP trap is reset. Specifies the percentage of allocated addresses. The
5558 // range is from 1 to 100. The high watermark reset value must be lower than
5559 // the high watermark value.
5560 HighWaterMarkReset *uint32 `json:"high_water_mark_reset,omitempty"`
5561 5562 // The name of the default hostname rewrite policy, which is also in the
5563 // protocol_hostname_rewrite_policies array.
5564 HostnameRewritePolicy *string `json:"hostname_rewrite_policy,omitempty"`
5565 5566 // Determines if the ignore DHCP option list request flag of a Grid DHCP is
5567 // enabled or not. If this flag is set to true all available DHCP options will
5568 // be returned to the client.
5569 IgnoreDhcpOptionListRequest *bool `json:"ignore_dhcp_option_list_request,omitempty"`
5570 5571 // Indicates whether the appliance will ignore DHCP client IDs or MAC
5572 // addresses. Valid values are "NONE", "CLIENT", or "MACADDR". The default is
5573 // "NONE".
5574 IgnoreId string `json:"ignore_id,omitempty"`
5575 5576 // A list of MAC addresses the appliance will ignore.
5577 IgnoreMacAddresses []string `json:"ignore_mac_addresses,omitempty"`
5578 5579 // Determines if the fixed address configuration takes effect immediately
5580 // without DHCP service restart or not.
5581 ImmediateFaConfiguration *bool `json:"immediate_fa_configuration,omitempty"`
5582 5583 // Determines if the IPv6 host name and lease time is captured or not while
5584 // assigning a fixed address.
5585 Ipv6CaptureHostname *bool `json:"ipv6_capture_hostname,omitempty"`
5586 5587 // The Grid-level DDNS domain name value.
5588 Ipv6DdnsDomainname *string `json:"ipv6_ddns_domainname,omitempty"`
5589 5590 // Controls whether the FQDN option sent by the client is to be used, or if the
5591 // server can automatically generate the FQDN.
5592 Ipv6DdnsEnableOptionFqdn *bool `json:"ipv6_ddns_enable_option_fqdn,omitempty"`
5593 5594 // Determines if the server always updates DNS or updates only if requested by
5595 // the client.
5596 Ipv6DdnsServerAlwaysUpdates *bool `json:"ipv6_ddns_server_always_updates,omitempty"`
5597 5598 // The Grid-level IPv6 DDNS TTL value.
5599 Ipv6DdnsTtl *uint32 `json:"ipv6_ddns_ttl,omitempty"`
5600 5601 // The Grid-level IPv6 default prefix.
5602 Ipv6DefaultPrefix *string `json:"ipv6_default_prefix,omitempty"`
5603 5604 // The update style for dynamic DHCPv6 DNS updates.
5605 Ipv6DnsUpdateStyle string `json:"ipv6_dns_update_style,omitempty"`
5606 5607 // The IPv6 domain name.
5608 Ipv6DomainName *string `json:"ipv6_domain_name,omitempty"`
5609 5610 // The comma separated list of domain name server addresses in IPv6 address
5611 // format.
5612 Ipv6DomainNameServers []string `json:"ipv6_domain_name_servers,omitempty"`
5613 5614 // Determines if sending DDNS updates by the DHCPv6 server is enabled or not.
5615 Ipv6EnableDdns *bool `json:"ipv6_enable_ddns,omitempty"`
5616 5617 // Determines whether the all appliances are enabled to receive GSS-TSIG
5618 // authenticated updates from DHCPv6 clients.
5619 Ipv6EnableGssTsig *bool `json:"ipv6_enable_gss_tsig,omitempty"`
5620 5621 // Indicates whether DHCPv6 lease scavenging is enabled or disabled.
5622 Ipv6EnableLeaseScavenging *bool `json:"ipv6_enable_lease_scavenging,omitempty"`
5623 5624 // Determines if the DHCPv6 server retries failed dynamic DNS updates or not.
5625 Ipv6EnableRetryUpdates *bool `json:"ipv6_enable_retry_updates,omitempty"`
5626 5627 // Determines if the server generates the hostname if it is not sent by the
5628 // client.
5629 Ipv6GenerateHostname *bool `json:"ipv6_generate_hostname,omitempty"`
5630 5631 // The list of GSS-TSIG keys for a Grid DHCPv6 object.
5632 Ipv6GssTsigKeys []*Kerberoskey `json:"ipv6_gss_tsig_keys,omitempty"`
5633 5634 // The IPv6 address or FQDN of the Kerberos server for DHCPv6 GSS-TSIG
5635 // authentication.
5636 Ipv6KdcServer *string `json:"ipv6_kdc_server,omitempty"`
5637 5638 // The Grid-level grace period (in seconds) to keep an expired lease before it
5639 // is deleted by the scavenging process.
5640 Ipv6LeaseScavengingTime *uint32 `json:"ipv6_lease_scavenging_time,omitempty"`
5641 5642 // The Grid-level Microsoft client DHCP IPv6 code page value. This value is the
5643 // hostname translation code page for Microsoft DHCP IPv6 clients.
5644 Ipv6MicrosoftCodePage string `json:"ipv6_microsoft_code_page,omitempty"`
5645 5646 // An array of DHCP option dhcpoption structs that lists the DHCPv6 options
5647 // associated with the object.
5648 Ipv6Options []*Dhcpoption `json:"ipv6_options,omitempty"`
5649 5650 // The Grid-level list of IPv6 prefixes.
5651 Ipv6Prefixes []string `json:"ipv6_prefixes,omitempty"`
5652 5653 // Determines if the IPv6 recycle leases feature is enabled or not. If the
5654 // feature is enabled, leases are kept in the Recycle Bin until one week after
5655 // expiration. When the feature is disabled, the leases are irrecoverably
5656 // deleted.
5657 Ipv6RecycleLeases *bool `json:"ipv6_recycle_leases,omitempty"`
5658 5659 // Enable binding for expired DHCPv6 leases.
5660 Ipv6RememberExpiredClientAssociation *bool `json:"ipv6_remember_expired_client_association,omitempty"`
5661 5662 // Determines the retry interval when the member DHCPv6 server makes repeated
5663 // attempts to send DDNS updates to a DNS server.
5664 Ipv6RetryUpdatesInterval *uint32 `json:"ipv6_retry_updates_interval,omitempty"`
5665 5666 // The Grid-level TXT record handling value. This value specifies how DHCPv6
5667 // should treat the TXT records when performing DNS updates.
5668 Ipv6TxtRecordHandling string `json:"ipv6_txt_record_handling,omitempty"`
5669 5670 // Controls whether the DHCPv6 server updates DNS when an IPv6 DHCP lease is
5671 // renewed.
5672 Ipv6UpdateDnsOnLeaseRenewal *bool `json:"ipv6_update_dns_on_lease_renewal,omitempty"`
5673 5674 // The IPv4 address or FQDN of the Kerberos server for DHCPv4 GSS-TSIG
5675 // authentication.
5676 KdcServer *string `json:"kdc_server,omitempty"`
5677 5678 // The Grid member on which you want to store the DHCP lease history log.
5679 // Infoblox recommends that you dedicate a member other than the master as a
5680 // logging member. If possible, use this member solely for storing the DHCP
5681 // lease history log. If you do not select a member, no logging can occur.
5682 LeaseLoggingMember *string `json:"lease_logging_member,omitempty"`
5683 5684 // Defines how the appliance releases DHCP leases. Valid values are
5685 // "RELEASE_MACHING_ID", "NEVER_RELEASE", or "ONE_LEASE_PER_CLIENT". The
5686 // default is "RELEASE_MATCHING_ID".
5687 LeasePerClientSettings string `json:"lease_per_client_settings,omitempty"`
5688 5689 // Determines the lease scavenging time value. When this field is set, the
5690 // appliance permanently deletes the free and backup leases, that remain in the
5691 // database beyond a specified period of time. To disable lease scavenging, set
5692 // the parameter to -1. The minimum positive value must be greater than 86400
5693 // seconds (1 day).
5694 LeaseScavengeTime int `json:"lease_scavenge_time,omitempty"`
5695 5696 // This value specifies whether the Grid DHCP members log lease events is
5697 // enabled or not.
5698 LogLeaseEvents *bool `json:"log_lease_events,omitempty"`
5699 5700 // This field contains the logic filters to be applied on the Infoblox Grid.
5701 // This list corresponds to the match rules that are written to the dhcpd
5702 // configuration file.
5703 LogicFilterRules []*Logicfilterrule `json:"logic_filter_rules,omitempty"`
5704 5705 // Determines the low watermark value. If the percent of allocated addresses
5706 // drops below this watermark, the appliance makes a syslog entry and if
5707 // enabled, sends an e-mail notification.
5708 LowWaterMark *uint32 `json:"low_water_mark,omitempty"`
5709 5710 // Determines the low watermark reset value.If the percentage of allocated
5711 // addresses exceeds this value, a corresponding SNMP trap is reset. A number
5712 // that specifies the percentage of allocated addresses. The range is from 1 to
5713 // 100. The low watermark reset value must be higher than the low watermark
5714 // value.
5715 LowWaterMarkReset *uint32 `json:"low_water_mark_reset,omitempty"`
5716 5717 // The Microsoft client DHCP IPv4 code page value of a Grid. This value is the
5718 // hostname translation code page for Microsoft DHCP IPv4 clients.
5719 MicrosoftCodePage string `json:"microsoft_code_page,omitempty"`
5720 5721 // The next server value of a DHCP server. This value is the IP address or name
5722 // of the boot file server on which the boot file is stored.
5723 Nextserver *string `json:"nextserver,omitempty"`
5724 5725 // The list of option 60 match rules.
5726 Option60MatchRules []*Option60matchrule `json:"option60_match_rules,omitempty"`
5727 5728 // An array of DHCP option dhcpoption structs that lists the DHCP options
5729 // associated with the object. Note that WAPI does not return special options
5730 // 'routers', 'domain-name-servers', 'domain-name' and 'broadcast-address' with
5731 // empty values for this object.
5732 Options []*Dhcpoption `json:"options,omitempty"`
5733 5734 // Specifies the number of pings that the Infoblox appliance sends to an IP
5735 // address to verify that it is not in use. Values are range is from 0 to 10,
5736 // where 0 disables pings.
5737 PingCount *uint32 `json:"ping_count,omitempty"`
5738 5739 // Indicates the number of milliseconds the appliance waits for a response to
5740 // its ping. Valid values are 100, 500, 1000, 2000, 3000, 4000 and 5000
5741 // milliseconds.
5742 PingTimeout *uint32 `json:"ping_timeout,omitempty"`
5743 5744 // The preferred lifetime value.
5745 PreferredLifetime *uint32 `json:"preferred_lifetime,omitempty"`
5746 5747 // The Prefix length mode for DHCPv6.
5748 PrefixLengthMode string `json:"prefix_length_mode,omitempty"`
5749 5750 // The list of hostname rewrite policies.
5751 ProtocolHostnameRewritePolicies []*Hostnamerewritepolicy `json:"protocol_hostname_rewrite_policies,omitempty"`
5752 5753 // Specifies the duration of time it takes a host to connect to a boot server,
5754 // such as a TFTP server, and download the file it needs to boot. A 32-bit
5755 // unsigned integer that represents the duration, in seconds, for which the
5756 // update is cached. Zero indicates that the update is not cached.
5757 PxeLeaseTime *uint32 `json:"pxe_lease_time,omitempty"`
5758 5759 // Determines if the recycle leases feature is enabled or not. If you enabled
5760 // this feature, and then delete a DHCP range, the appliance stores active
5761 // leases from this range up to one week after the leases expires.
5762 RecycleLeases *bool `json:"recycle_leases,omitempty"`
5763 5764 // The restart setting.
5765 RestartSetting *GridServicerestart `json:"restart_setting,omitempty"`
5766 5767 // Indicates whether the DHCP server makes repeated attempts to send DDNS
5768 // updates to a DNS server.
5769 RetryDdnsUpdates *bool `json:"retry_ddns_updates,omitempty"`
5770 5771 // The syslog facility is the location on the syslog server to which you want
5772 // to sort the syslog messages.
5773 SyslogFacility string `json:"syslog_facility,omitempty"`
5774 5775 // The Grid-level TXT record handling value. This value specifies how DHCP
5776 // should treat the TXT records when performing DNS updates.
5777 TxtRecordHandling string `json:"txt_record_handling,omitempty"`
5778 5779 // Controls whether the DHCP server updates DNS when a DHCP lease is renewed.
5780 UpdateDnsOnLeaseRenewal *bool `json:"update_dns_on_lease_renewal,omitempty"`
5781 5782 // The valid lifetime for the Grid members.
5783 ValidLifetime *uint32 `json:"valid_lifetime,omitempty"`
5784 }
5785 5786 func (GridDhcpproperties) ObjectType() string {
5787 return "grid:dhcpproperties"
5788 }
5789 5790 func (obj GridDhcpproperties) ReturnFields() []string {
5791 if obj.returnFields == nil {
5792 obj.returnFields = []string{"disable_all_nac_filters", "grid"}
5793 }
5794 return obj.returnFields
5795 }
5796 5797 // GridDns represents Infoblox object grid:dns.
5798 // This object supports DNS service management and configuration such as
5799 // time-to-live (TTL) settings, zone transfers, queries, root name servers,
5800 // dynamic updates, sort lists, Transaction Signatures (TSIG) for DNS and
5801 // others, all at the grid level. The service configurations of a grid are
5802 // inherited by all members, zones, and networks unless you specifically
5803 // override them for selected members, zones, and networks. For this reason, it
5804 // is recommended that you configure services at the grid level before
5805 // configuring member, zone and network services.
5806 type GridDns struct {
5807 IBBase `json:"-"`
5808 5809 Ref string `json:"_ref,omitempty"`
5810 5811 // Add custom IP, MAC and DNS View name ENDS0 options to outgoing recursive
5812 // queries.
5813 AddClientIpMacOptions *bool `json:"add_client_ip_mac_options,omitempty"`
5814 5815 // Determines if DDNS bulk host is allowed or not.
5816 AllowBulkhostDdns string `json:"allow_bulkhost_ddns,omitempty"`
5817 5818 // Determines whether GSS-TSIG zone update is enabled for all Grid members.
5819 AllowGssTsigZoneUpdates *bool `json:"allow_gss_tsig_zone_updates,omitempty"`
5820 5821 // Determines if queries from the specified IPv4 or IPv6 addresses and networks
5822 // are allowed or not. The appliance can also use Transaction Signature (TSIG)
5823 // keys to authenticate the queries.
5824 AllowQuery []*Addressac `json:"allow_query,omitempty"`
5825 5826 // Determines if the responses to recursive queries are enabled or not.
5827 AllowRecursiveQuery *bool `json:"allow_recursive_query,omitempty"`
5828 5829 // Determines if zone transfers from specified IPv4 or IPv6 addresses and
5830 // networks or transfers from hosts authenticated by Transaction signature
5831 // (TSIG) key are allowed or not.
5832 AllowTransfer []*Addressac `json:"allow_transfer,omitempty"`
5833 5834 // Determines if dynamic updates from specified IPv4 or IPv6 addresses,
5835 // networks or from host authenticated by TSIG key are allowed or not.
5836 AllowUpdate []*Addressac `json:"allow_update,omitempty"`
5837 5838 // Determines if the anonymization of captured DNS responses is enabled or
5839 // disabled.
5840 AnonymizeResponseLogging *bool `json:"anonymize_response_logging,omitempty"`
5841 5842 // Mitigation settings for DNS attacks.
5843 AttackMitigation *GridAttackmitigation `json:"attack_mitigation,omitempty"`
5844 5845 // The auto blackhole settings.
5846 AutoBlackhole *GridAutoblackhole `json:"auto_blackhole,omitempty"`
5847 5848 // The BIND check names policy, which indicates the action the appliance takes
5849 // when it encounters host names that do not comply with the Strict Hostname
5850 // Checking policy. This method applies only if the host name restriction
5851 // policy is set to "Strict Hostname Checking".
5852 BindCheckNamesPolicy string `json:"bind_check_names_policy,omitempty"`
5853 5854 // The value of the hostname directive for BIND.
5855 BindHostnameDirective string `json:"bind_hostname_directive,omitempty"`
5856 5857 // The list of IPv4 or IPv6 addresses and networks from which DNS queries are
5858 // blocked.
5859 BlackholeList []*Addressac `json:"blackhole_list,omitempty"`
5860 5861 // The action to perform when a domain name matches the pattern defined in a
5862 // rule that is specified by the blacklist ruleset.
5863 BlacklistAction string `json:"blacklist_action,omitempty"`
5864 5865 // Determines if blacklist redirection queries are logged or not.
5866 BlacklistLogQuery *bool `json:"blacklist_log_query,omitempty"`
5867 5868 // The IP addresses the appliance includes in the response it sends in place of
5869 // a blacklisted IP address.
5870 BlacklistRedirectAddresses []string `json:"blacklist_redirect_addresses,omitempty"`
5871 5872 // The TTL value (in seconds) of the synthetic DNS responses that result from
5873 // blacklist redirection.
5874 BlacklistRedirectTtl *uint32 `json:"blacklist_redirect_ttl,omitempty"`
5875 5876 // The DNS Ruleset object names assigned at the Grid level for blacklist
5877 // redirection.
5878 BlacklistRulesets []string `json:"blacklist_rulesets,omitempty"`
5879 5880 // The list of bulk host name templates. There are four Infoblox predefined
5881 // bulk host name templates. Template Name Template Format "Four Octets"
5882 // -$1-$2-$3-$4 "Three Octets" -$2-$3-$4 "Two Octets" -$3-$4 "One Octet" -$4
5883 BulkHostNameTemplates []*Bulkhostnametemplate `json:"bulk_host_name_templates,omitempty"`
5884 5885 // Determines if the capture of DNS queries for all domains is enabled or
5886 // disabled.
5887 CaptureDnsQueriesOnAllDomains *bool `json:"capture_dns_queries_on_all_domains,omitempty"`
5888 5889 // Determines whether the application of BIND check-names for zone transfers
5890 // and DDNS updates are enabled.
5891 CheckNamesForDdnsAndZoneTransfer *bool `json:"check_names_for_ddns_and_zone_transfer,omitempty"`
5892 5893 // The list of zone domain names that are allowed or forbidden for EDNS client
5894 // subnet (ECS) recursion.
5895 ClientSubnetDomains []*Clientsubnetdomain `json:"client_subnet_domains,omitempty"`
5896 5897 // Default IPv4 Source Prefix-Length used when sending queries with EDNS client
5898 // subnet option.
5899 ClientSubnetIpv4PrefixLength *uint32 `json:"client_subnet_ipv4_prefix_length,omitempty"`
5900 5901 // Default IPv6 Source Prefix-Length used when sending queries with EDNS client
5902 // subnet option.
5903 ClientSubnetIpv6PrefixLength *uint32 `json:"client_subnet_ipv6_prefix_length,omitempty"`
5904 5905 // Copy custom IP, MAC and DNS View name ENDS0 options from incoming to
5906 // outgoing recursive queries.
5907 CopyClientIpMacOptions *bool `json:"copy_client_ip_mac_options,omitempty"`
5908 5909 // The allowed IPs, from the zone transfer list, added to the also-notify
5910 // statement in the named.conf file.
5911 CopyXferToNotify *bool `json:"copy_xfer_to_notify,omitempty"`
5912 5913 // The list of customized root nameserver(s). You can use Internet root name
5914 // servers or specify host names and IP addresses of custom root name servers.
5915 CustomRootNameServers []NameServer `json:"custom_root_name_servers,omitempty"`
5916 5917 // Defines whether creation timestamp of RR should be updated ' when DDNS
5918 // update happens even if there is no change to ' the RR.
5919 DdnsForceCreationTimestampUpdate *bool `json:"ddns_force_creation_timestamp_update,omitempty"`
5920 5921 // The DDNS Principal cluster group name.
5922 DdnsPrincipalGroup *string `json:"ddns_principal_group,omitempty"`
5923 5924 // Determines if the DDNS principal track is enabled or disabled.
5925 DdnsPrincipalTracking *bool `json:"ddns_principal_tracking,omitempty"`
5926 5927 // Determines if an option to restrict DDNS update request based on FQDN
5928 // patterns is enabled or disabled.
5929 DdnsRestrictPatterns *bool `json:"ddns_restrict_patterns,omitempty"`
5930 5931 // The unordered list of restriction patterns for an option of to restrict DDNS
5932 // updates based on FQDN patterns.
5933 DdnsRestrictPatternsList []string `json:"ddns_restrict_patterns_list,omitempty"`
5934 5935 // Determines if an option to restrict DDNS update request to protected
5936 // resource records is enabled or disabled.
5937 DdnsRestrictProtected *bool `json:"ddns_restrict_protected,omitempty"`
5938 5939 // Determines if DDNS update request for principal other than target resource
5940 // record's principal is restricted.
5941 DdnsRestrictSecure *bool `json:"ddns_restrict_secure,omitempty"`
5942 5943 // Determines if an option to restrict DDNS update request to resource records
5944 // which are marked as 'STATIC' is enabled or disabled.
5945 DdnsRestrictStatic *bool `json:"ddns_restrict_static,omitempty"`
5946 5947 // Default bulk host name of a Grid DNS.
5948 DefaultBulkHostNameTemplate *string `json:"default_bulk_host_name_template,omitempty"`
5949 5950 // The default TTL value of a Grid DNS object. This interval tells the
5951 // secondary how long the data can be cached.
5952 DefaultTtl *uint32 `json:"default_ttl,omitempty"`
5953 5954 // Determines if the EDNS0 support for queries that require recursive
5955 // resolution on Grid members is enabled or not.
5956 DisableEdns *bool `json:"disable_edns,omitempty"`
5957 5958 // The list of DNS64 synthesis groups associated with this Grid DNS object.
5959 Dns64Groups []string `json:"dns64_groups,omitempty"`
5960 5961 // The minimum TTL value, in seconds, that a DNS record must have in order for
5962 // it to be cached by the DNS Cache Acceleration service. An integer from 1 to
5963 // 65000 that represents the TTL in seconds.
5964 DnsCacheAccelerationTtl *uint32 `json:"dns_cache_acceleration_ttl,omitempty"`
5965 5966 // Determines if the anycast failure (BFD session down) is enabled on member
5967 // failure or not.
5968 DnsHealthCheckAnycastControl *bool `json:"dns_health_check_anycast_control,omitempty"`
5969 5970 // The list of domain names for the DNS health check.
5971 DnsHealthCheckDomainList []string `json:"dns_health_check_domain_list,omitempty"`
5972 5973 // The time interval (in seconds) for DNS health check.
5974 DnsHealthCheckInterval *uint32 `json:"dns_health_check_interval,omitempty"`
5975 5976 // Determines if the recursive DNS health check is enabled or not.
5977 DnsHealthCheckRecursionFlag *bool `json:"dns_health_check_recursion_flag,omitempty"`
5978 5979 // The number of DNS health check retries.
5980 DnsHealthCheckRetries *uint32 `json:"dns_health_check_retries,omitempty"`
5981 5982 // The DNS health check timeout interval (in seconds).
5983 DnsHealthCheckTimeout *uint32 `json:"dns_health_check_timeout,omitempty"`
5984 5985 // The time limit (in minutes) for the DNS query capture file.
5986 DnsQueryCaptureFileTimeLimit *uint32 `json:"dns_query_capture_file_time_limit,omitempty"`
5987 5988 // Determines if the blacklist rules for DNSSEC-enabled clients are enabled or
5989 // not.
5990 DnssecBlacklistEnabled *bool `json:"dnssec_blacklist_enabled,omitempty"`
5991 5992 // Determines if the DNS64 groups for DNSSEC-enabled clients are enabled or
5993 // not.
5994 DnssecDns64Enabled *bool `json:"dnssec_dns64_enabled,omitempty"`
5995 5996 // Determines if the DNS security extension is enabled or not.
5997 DnssecEnabled *bool `json:"dnssec_enabled,omitempty"`
5998 5999 // Determines when the DNS member accepts expired signatures.
6000 DnssecExpiredSignaturesEnabled *bool `json:"dnssec_expired_signatures_enabled,omitempty"`
6001 6002 // This structure contains the DNSSEC key parameters for this zone.
6003 DnssecKeyParams *Dnsseckeyparams `json:"dnssec_key_params,omitempty"`
6004 6005 // A list of zones for which the server does not perform DNSSEC validation.
6006 DnssecNegativeTrustAnchors []string `json:"dnssec_negative_trust_anchors,omitempty"`
6007 6008 // Determines if the NXDOMAIN rules for DNSSEC-enabled clients are enabled or
6009 // not.
6010 DnssecNxdomainEnabled *bool `json:"dnssec_nxdomain_enabled,omitempty"`
6011 6012 // Determines if the RPZ policies for DNSSEC-enabled clients are enabled or
6013 // not.
6014 DnssecRpzEnabled *bool `json:"dnssec_rpz_enabled,omitempty"`
6015 6016 // The list of trusted keys for the DNSSEC feature.
6017 DnssecTrustedKeys []*Dnssectrustedkey `json:"dnssec_trusted_keys,omitempty"`
6018 6019 // Determines if the DNS security validation is enabled or not.
6020 DnssecValidationEnabled *bool `json:"dnssec_validation_enabled,omitempty"`
6021 6022 // The DNSTAP settings.
6023 DnstapSetting *Dnstapsetting `json:"dnstap_setting,omitempty"`
6024 6025 // The list of domains for DNS query capture.
6026 DomainsToCaptureDnsQueries []string `json:"domains_to_capture_dns_queries,omitempty"`
6027 6028 // Setting to control specific behavior for DTC DNS responses for incoming lbdn
6029 // matched queries.
6030 DtcDnsQueriesSpecificBehavior string `json:"dtc_dns_queries_specific_behavior,omitempty"`
6031 6032 // DTC DNSSEC operation mode.
6033 DtcDnssecMode string `json:"dtc_dnssec_mode,omitempty"`
6034 6035 // Determines whether to prefer the client address from the edns-client-subnet
6036 // option for DTC or not.
6037 DtcEdnsPreferClientSubnet *bool `json:"dtc_edns_prefer_client_subnet,omitempty"`
6038 6039 // The scheduled backup configuration.
6040 DtcScheduledBackup *Scheduledbackup `json:"dtc_scheduled_backup,omitempty"`
6041 6042 // The DTC topology extensible attribute definition list. When configuring a
6043 // DTC topology, users may configure classification as either "Geographic" or
6044 // "Extensible Attributes". Selecting extensible attributes will replace
6045 // supported Topology database labels (Continent, Country, Subdivision, City)
6046 // with the names of the selection EA types and provide values extracted from
6047 // DHCP Network Container, Network and Range objects with those extensible
6048 // attributes.
6049 DtcTopologyEaList []string `json:"dtc_topology_ea_list,omitempty"`
6050 6051 // Advertises the EDNS0 buffer size to the upstream server. The value should be
6052 // between 512 and 4096 bytes. The recommended value is between 512 and 1220
6053 // bytes.
6054 EdnsUdpSize *uint32 `json:"edns_udp_size,omitempty"`
6055 6056 // The email address of a Grid DNS object.
6057 Email *string `json:"email,omitempty"`
6058 6059 // Determines if the blocking of DNS queries is enabled or not.
6060 EnableBlackhole *bool `json:"enable_blackhole,omitempty"`
6061 6062 // Determines if a blacklist is enabled or not.
6063 EnableBlacklist *bool `json:"enable_blacklist,omitempty"`
6064 6065 // Determines if the capture of DNS queries is enabled or disabled.
6066 EnableCaptureDnsQueries *bool `json:"enable_capture_dns_queries,omitempty"`
6067 6068 // Determines if the capture of DNS responses is enabled or disabled.
6069 EnableCaptureDnsResponses *bool `json:"enable_capture_dns_responses,omitempty"`
6070 6071 // Determines whether to enable forwarding EDNS client subnet options to
6072 // upstream servers.
6073 EnableClientSubnetForwarding *bool `json:"enable_client_subnet_forwarding,omitempty"`
6074 6075 // Determines whether to enable adding EDNS client subnet options in recursive
6076 // resolution.
6077 EnableClientSubnetRecursive *bool `json:"enable_client_subnet_recursive,omitempty"`
6078 6079 // Determines if the ability to automatically remove associated PTR records
6080 // while deleting A or AAAA records is enabled or not.
6081 EnableDeleteAssociatedPtr *bool `json:"enable_delete_associated_ptr,omitempty"`
6082 6083 // Determines if the DNS64 support is enabled or not.
6084 EnableDns64 *bool `json:"enable_dns64,omitempty"`
6085 6086 // Determines if the DNS health check is enabled or not.
6087 EnableDnsHealthCheck *bool `json:"enable_dns_health_check,omitempty"`
6088 6089 // Determines whether the query messages need to be forwarded to DNSTAP or not.
6090 EnableDnstapQueries *bool `json:"enable_dnstap_queries,omitempty"`
6091 6092 // Determines whether the response messages need to be forwarded to DNSTAP or
6093 // not.
6094 EnableDnstapResponses *bool `json:"enable_dnstap_responses,omitempty"`
6095 6096 // Determines if excluding domain names from captured DNS queries and responses
6097 // is enabled or disabled.
6098 EnableExcludedDomainNames *bool `json:"enable_excluded_domain_names,omitempty"`
6099 6100 // Determines if the fixed RRset order FQDN is enabled or not.
6101 EnableFixedRrsetOrderFqdns *bool `json:"enable_fixed_rrset_order_fqdns,omitempty"`
6102 6103 // Determines whether Fault Tolerant Caching (FTC) is enabled.
6104 EnableFtc *bool `json:"enable_ftc,omitempty"`
6105 6106 // Determines whether all appliances in the Grid are enabled to receive
6107 // GSS-TSIG authenticated updates from DNS clients.
6108 EnableGssTsig *bool `json:"enable_gss_tsig,omitempty"`
6109 6110 // Determines if the host RRset order is enabled or not.
6111 EnableHostRrsetOrder *bool `json:"enable_host_rrset_order,omitempty"`
6112 6113 // Determines whether Hardware Security Modules (HSMs) are enabled for key
6114 // generation and signing. Note, that you must configure the HSM group with at
6115 // least one enabled HSM.
6116 EnableHsmSigning *bool `json:"enable_hsm_signing,omitempty"`
6117 6118 // Determines if the notify source port at the Grid Level is enabled or not.
6119 EnableNotifySourcePort *bool `json:"enable_notify_source_port,omitempty"`
6120 6121 // Determines if the DNS query rewrite is enabled or not.
6122 EnableQueryRewrite *bool `json:"enable_query_rewrite,omitempty"`
6123 6124 // Determines if the query source port at the Grid Level is enabled or not.
6125 EnableQuerySourcePort *bool `json:"enable_query_source_port,omitempty"`
6126 6127 // The list of domains that are excluded from DNS query and response capture.
6128 ExcludedDomainNames []string `json:"excluded_domain_names,omitempty"`
6129 6130 // The expiration time of a Grid DNS object. If the secondary DNS server fails
6131 // to contact the primary server for the specified interval, the secondary
6132 // server stops giving out answers about the zone because the zone data is too
6133 // old to be useful.
6134 ExpireAfter *uint32 `json:"expire_after,omitempty"`
6135 6136 // The DNS capture file transfer settings.Include the specified parameter to
6137 // set the attribute value. Omit the parameter to retrieve the attribute value.
6138 FileTransferSetting *Filetransfersetting `json:"file_transfer_setting,omitempty"`
6139 6140 // The type of AAAA filtering for this member DNS object.
6141 FilterAaaa string `json:"filter_aaaa,omitempty"`
6142 6143 // The list of IPv4 addresses and networks from which queries are received.
6144 // AAAA filtering is applied to these addresses.
6145 FilterAaaaList []*Addressac `json:"filter_aaaa_list,omitempty"`
6146 6147 // The fixed RRset order FQDN. If this field does not contain an empty value,
6148 // the appliance will automatically set the enable_fixed_rrset_order_fqdns
6149 // field to 'true', unless the same request sets the enable field to 'false'.
6150 FixedRrsetOrderFqdns []*GridDnsFixedrrsetorderfqdn `json:"fixed_rrset_order_fqdns,omitempty"`
6151 6152 // Determines if member sends queries to forwarders only. When the value is
6153 // "true", the member sends queries to forwarders only, and not to other
6154 // internal or Internet root servers.
6155 ForwardOnly *bool `json:"forward_only,omitempty"`
6156 6157 // Determines if secondary servers is allowed to forward updates to the DNS
6158 // server or not.
6159 ForwardUpdates *bool `json:"forward_updates,omitempty"`
6160 6161 // The forwarders for the member. A forwarder is essentially a name server to
6162 // which other name servers first send all of their off-site queries. The
6163 // forwarder builds up a cache of information, avoiding the need for the other
6164 // name servers to send queries off-site.
6165 Forwarders []string `json:"forwarders,omitempty"`
6166 6167 // The timeout interval (in seconds) after which the expired Fault Tolerant
6168 // Caching (FTC)record is stale and no longer valid.
6169 FtcExpiredRecordTimeout *uint32 `json:"ftc_expired_record_timeout,omitempty"`
6170 6171 // The TTL value (in seconds) of the expired Fault Tolerant Caching (FTC)
6172 // record in DNS responses.
6173 FtcExpiredRecordTtl *uint32 `json:"ftc_expired_record_ttl,omitempty"`
6174 6175 // Flag for taking EA values from IPAM Hosts into consideration for the DTC
6176 // topology EA database.
6177 GenEadbFromHosts *bool `json:"gen_eadb_from_hosts,omitempty"`
6178 6179 // Flag for taking EA values from IPAM Network Containers into consideration
6180 // for the DTC topology EA database.
6181 GenEadbFromNetworkContainers *bool `json:"gen_eadb_from_network_containers,omitempty"`
6182 6183 // Flag for taking EA values from IPAM Network into consideration for the DTC
6184 // topology EA database.
6185 GenEadbFromNetworks *bool `json:"gen_eadb_from_networks,omitempty"`
6186 6187 // Flag for taking EA values from IPAM Ranges into consideration for the DTC
6188 // topology EA database.
6189 GenEadbFromRanges *bool `json:"gen_eadb_from_ranges,omitempty"`
6190 6191 // The list of GSS-TSIG keys for a Grid DNS object.
6192 GssTsigKeys []*Kerberoskey `json:"gss_tsig_keys,omitempty"`
6193 6194 // The number of seconds to cache lame delegations or lame servers.
6195 LameTtl *uint32 `json:"lame_ttl,omitempty"`
6196 6197 // Determines last queried ACL for the specified IPv4 or IPv6 addresses and
6198 // networks in scavenging settings.
6199 LastQueriedAcl []*Addressac `json:"last_queried_acl,omitempty"`
6200 6201 // The logging categories.
6202 LoggingCategories *GridLoggingcategories `json:"logging_categories,omitempty"`
6203 6204 // The maximum time (in seconds) for which the server will cache positive
6205 // answers.
6206 MaxCacheTtl *uint32 `json:"max_cache_ttl,omitempty"`
6207 6208 // The maximum time (in seconds) a DNS response can be stored in the hardware
6209 // acceleration cache. Valid values are unsigned integer between 60 and 86400,
6210 // inclusive.
6211 MaxCachedLifetime *uint32 `json:"max_cached_lifetime,omitempty"`
6212 6213 // The maximum time (in seconds) for which the server will cache negative
6214 // (NXDOMAIN) responses. The maximum allowed value is 604800.
6215 MaxNcacheTtl *uint32 `json:"max_ncache_ttl,omitempty"`
6216 6217 // The value is used by authoritative DNS servers to never send DNS responses
6218 // larger than the configured value. The value should be between 512 and 4096
6219 // bytes. The recommended value is between 512 and 1220 bytes.
6220 MaxUdpSize *uint32 `json:"max_udp_size,omitempty"`
6221 6222 // Determines if Grid members that are authoritative secondary servers are
6223 // allowed to send notification messages to external name servers, if the Grid
6224 // member that is primary for a zone fails or loses connectivity.
6225 MemberSecondaryNotify *bool `json:"member_secondary_notify,omitempty"`
6226 6227 // The negative TTL value of a Grid DNS object. This interval tells the
6228 // secondary how long data can be cached for "Does Not Respond" responses.
6229 NegativeTtl *uint32 `json:"negative_ttl,omitempty"`
6230 6231 // Specifies with how many seconds of delay the notify messages are sent to
6232 // secondaries.
6233 NotifyDelay *uint32 `json:"notify_delay,omitempty"`
6234 6235 // The source port for notify messages. When requesting zone transfers from the
6236 // primary server, some secondary DNS servers use the source port number (the
6237 // primary server used to send the notify message) as the destination port
6238 // number in the zone transfer request. Valid values are between 1 and 63999.
6239 // The default is picked by BIND.
6240 NotifySourcePort *uint32 `json:"notify_source_port,omitempty"`
6241 6242 // The default nameserver group.
6243 NsgroupDefault *string `json:"nsgroup_default,omitempty"`
6244 6245 // A name server group is a collection of one primary DNS server and one or
6246 // more secondary DNS servers.
6247 Nsgroups []string `json:"nsgroups,omitempty"`
6248 6249 // Determines if NXDOMAIN redirection queries are logged or not.
6250 NxdomainLogQuery *bool `json:"nxdomain_log_query,omitempty"`
6251 6252 // Determines if NXDOMAIN redirection is enabled or not.
6253 NxdomainRedirect *bool `json:"nxdomain_redirect,omitempty"`
6254 6255 // The list of IPv4 NXDOMAIN redirection addresses.
6256 NxdomainRedirectAddresses []string `json:"nxdomain_redirect_addresses,omitempty"`
6257 6258 // The list of IPv6 NXDOMAIN redirection addresses.
6259 NxdomainRedirectAddressesV6 []string `json:"nxdomain_redirect_addresses_v6,omitempty"`
6260 6261 // The TTL value (in seconds) of synthetic DNS responses that result from
6262 // NXDOMAIN redirection.
6263 NxdomainRedirectTtl *uint32 `json:"nxdomain_redirect_ttl,omitempty"`
6264 6265 // The Ruleset object names assigned at the Grid level for NXDOMAIN
6266 // redirection.
6267 NxdomainRulesets []string `json:"nxdomain_rulesets,omitempty"`
6268 6269 // Determines if the host RRset order on secondaries is preserved or not.
6270 PreserveHostRrsetOrderOnSecondaries *bool `json:"preserve_host_rrset_order_on_secondaries,omitempty"`
6271 6272 // The list of record name policies.
6273 ProtocolRecordNamePolicies []*Recordnamepolicy `json:"protocol_record_name_policies,omitempty"`
6274 6275 // The list of domain names that trigger DNS query rewrite.
6276 QueryRewriteDomainNames []string `json:"query_rewrite_domain_names,omitempty"`
6277 6278 // The domain name prefix for DNS query rewrite.
6279 QueryRewritePrefix *string `json:"query_rewrite_prefix,omitempty"`
6280 6281 // The source port for queries. Specifying a source port number for recursive
6282 // queries ensures that a firewall will allow the response. Valid values are
6283 // between 1 and 63999. The default is picked by BIND.
6284 QuerySourcePort *uint32 `json:"query_source_port,omitempty"`
6285 6286 // The list of IPv4 or IPv6 addresses, networks or hosts authenticated by
6287 // Transaction signature (TSIG) key from which recursive queries are allowed or
6288 // denied.
6289 RecursiveQueryList []*Addressac `json:"recursive_query_list,omitempty"`
6290 6291 // The refresh time. This interval tells the secondary how often to send a
6292 // message to the primary for a zone to check that its data is current, and
6293 // retrieve fresh data if it is not.
6294 RefreshTimer *uint32 `json:"refresh_timer,omitempty"`
6295 6296 // The recursive query timeout for the member.
6297 ResolverQueryTimeout *uint32 `json:"resolver_query_timeout,omitempty"`
6298 6299 // The response rate limiting settings for the member.
6300 ResponseRateLimiting *GridResponseratelimiting `json:"response_rate_limiting,omitempty"`
6301 6302 // The restart setting.
6303 RestartSetting *GridServicerestart `json:"restart_setting,omitempty"`
6304 6305 // The retry time. This interval tells the secondary how long to wait before
6306 // attempting to recontact the primary after a connection failure occurs
6307 // between the two servers.
6308 RetryTimer *uint32 `json:"retry_timer,omitempty"`
6309 6310 // Determines the type of root name servers.
6311 RootNameServerType string `json:"root_name_server_type,omitempty"`
6312 6313 // Determines if NSDNAME and NSIP resource records from RPZ feeds are enabled
6314 // or not.
6315 RpzDisableNsdnameNsip *bool `json:"rpz_disable_nsdname_nsip,omitempty"`
6316 6317 // Enables the appliance to ignore RPZ-IP triggers with prefix lengths less
6318 // than the specified minimum prefix length.
6319 RpzDropIpRuleEnabled *bool `json:"rpz_drop_ip_rule_enabled,omitempty"`
6320 6321 // The minimum prefix length for IPv4 RPZ-IP triggers. The appliance ignores
6322 // RPZ-IP triggers with prefix lengths less than the specified minimum IPv4
6323 // prefix length.
6324 RpzDropIpRuleMinPrefixLengthIpv4 *uint32 `json:"rpz_drop_ip_rule_min_prefix_length_ipv4,omitempty"`
6325 6326 // The minimum prefix length for IPv6 RPZ-IP triggers. The appliance ignores
6327 // RPZ-IP triggers with prefix lengths less than the specified minimum IPv6
6328 // prefix length.
6329 RpzDropIpRuleMinPrefixLengthIpv6 *uint32 `json:"rpz_drop_ip_rule_min_prefix_length_ipv6,omitempty"`
6330 6331 // Determines if recursive RPZ lookups are enabled.
6332 RpzQnameWaitRecurse *bool `json:"rpz_qname_wait_recurse,omitempty"`
6333 6334 // The Grid level scavenging settings.
6335 ScavengingSettings *SettingScavenging `json:"scavenging_settings,omitempty"`
6336 6337 // The number of maximum concurrent SOA queries per second. Valid values are
6338 // unsigned integer between 20 and 1000, inclusive.
6339 SerialQueryRate *uint32 `json:"serial_query_rate,omitempty"`
6340 6341 // The value of the server-id directive for BIND and Unbound DNS.
6342 ServerIdDirective string `json:"server_id_directive,omitempty"`
6343 6344 // A sort list determines the order of addresses in responses made to DNS
6345 // queries.
6346 Sortlist []*Sortlist `json:"sortlist,omitempty"`
6347 6348 // Determines if the storage of query capture reports on the appliance is
6349 // enabled or disabled.
6350 StoreLocally *bool `json:"store_locally,omitempty"`
6351 6352 // The syslog facility. This is the location on the syslog server to which you
6353 // want to sort the DNS logging messages.
6354 SyslogFacility string `json:"syslog_facility,omitempty"`
6355 6356 // The list of excluded DNS servers during zone transfers.
6357 TransferExcludedServers []string `json:"transfer_excluded_servers,omitempty"`
6358 6359 // The BIND format for a zone transfer. This provides tracking capabilities for
6360 // single or multiple transfers and their associated servers.
6361 TransferFormat string `json:"transfer_format,omitempty"`
6362 6363 // The number of maximum concurrent transfers for the Grid. Valid values are
6364 // unsigned integer between 10 and 10000, inclusive.
6365 TransfersIn *uint32 `json:"transfers_in,omitempty"`
6366 6367 // The number of maximum outbound concurrent zone transfers. Valid values are
6368 // unsigned integer between 10 and 10000, inclusive.
6369 TransfersOut *uint32 `json:"transfers_out,omitempty"`
6370 6371 // The number of maximum concurrent transfers per member. Valid values are
6372 // unsigned integer between 2 and 10000, inclusive.
6373 TransfersPerNs *uint32 `json:"transfers_per_ns,omitempty"`
6374 6375 // Determines if the double confirmation during zone deletion is enabled or
6376 // not.
6377 ZoneDeletionDoubleConfirm *bool `json:"zone_deletion_double_confirm,omitempty"`
6378 }
6379 6380 func (GridDns) ObjectType() string {
6381 return "grid:dns"
6382 }
6383 6384 func (obj GridDns) ReturnFields() []string {
6385 if obj.returnFields == nil {
6386 obj.returnFields = []string{}
6387 }
6388 return obj.returnFields
6389 }
6390 6391 // GridFiledistribution represents Infoblox object grid:filedistribution.
6392 // The Grid file distribution object represents the file distribution storage
6393 // limit configuration and global file distribution statistics.
6394 type GridFiledistribution struct {
6395 IBBase `json:"-"`
6396 6397 Ref string `json:"_ref,omitempty"`
6398 6399 // Determines whether the uploads to Grid members are allowed.
6400 AllowUploads *bool `json:"allow_uploads,omitempty"`
6401 6402 // Determines whether to include distributed files in the backup.
6403 BackupStorage *bool `json:"backup_storage,omitempty"`
6404 6405 // The value is the percentage of the allocated TFTP storage space that is
6406 // used, expressed in tenth of a percent. Valid values are from 0 to 1000.
6407 CurrentUsage uint32 `json:"current_usage,omitempty"`
6408 6409 // Determines whether the FTP anonymous login is enabled.
6410 EnableAnonymousFtp *bool `json:"enable_anonymous_ftp,omitempty"`
6411 6412 // The Grid file distribution global status.
6413 GlobalStatus string `json:"global_status,omitempty"`
6414 6415 // The Grid name.
6416 Name string `json:"name,omitempty"`
6417 6418 // Maximum storage in megabytes allowed on the Grid. The maximum storage space
6419 // allowed for all file distribution services on a Grid is equal to the storage
6420 // space allowed to the Grid member with the smallest amount of space allowed.
6421 StorageLimit *uint32 `json:"storage_limit,omitempty"`
6422 }
6423 6424 func (GridFiledistribution) ObjectType() string {
6425 return "grid:filedistribution"
6426 }
6427 6428 func (obj GridFiledistribution) ReturnFields() []string {
6429 if obj.returnFields == nil {
6430 obj.returnFields = []string{"allow_uploads", "current_usage", "global_status", "name", "storage_limit"}
6431 }
6432 return obj.returnFields
6433 }
6434 6435 // GridLicensePool represents Infoblox object grid:license_pool.
6436 // This object represents the Grid license pool.
6437 type GridLicensePool struct {
6438 IBBase `json:"-"`
6439 6440 Ref string `json:"_ref,omitempty"`
6441 6442 // The number of dynamic licenses allocated to vNIOS appliances.
6443 Assigned uint32 `json:"assigned,omitempty"`
6444 6445 // The license expiration status.
6446 ExpirationStatus string `json:"expiration_status,omitempty"`
6447 6448 // The expiration timestamp of the license.
6449 ExpiryDate *UnixTime `json:"expiry_date,omitempty"`
6450 6451 // The total number of dynamic licenses allowed for this license pool.
6452 Installed uint32 `json:"installed,omitempty"`
6453 6454 // The license string for the license pool.
6455 Key string `json:"key,omitempty"`
6456 6457 // The limitation of dynamic license that can be allocated from the license
6458 // pool.
6459 Limit string `json:"limit,omitempty"`
6460 6461 // The license limit context.
6462 LimitContext string `json:"limit_context,omitempty"`
6463 6464 // The supported vNIOS virtual appliance model.
6465 Model string `json:"model,omitempty"`
6466 6467 // The license pool subpools.
6468 Subpools []*GridLicensesubpool `json:"subpools,omitempty"`
6469 6470 // The total number of temporary dynamic licenses allocated to vNIOS
6471 // appliances.
6472 TempAssigned uint32 `json:"temp_assigned,omitempty"`
6473 6474 // The license type.
6475 Type string `json:"type,omitempty"`
6476 }
6477 6478 func (GridLicensePool) ObjectType() string {
6479 return "grid:license_pool"
6480 }
6481 6482 func (obj GridLicensePool) ReturnFields() []string {
6483 if obj.returnFields == nil {
6484 obj.returnFields = []string{"type"}
6485 }
6486 return obj.returnFields
6487 }
6488 6489 // GridLicensePoolContainer represents Infoblox object grid:license_pool_container.
6490 // This object represents the Grid license pool container.
6491 type GridLicensePoolContainer struct {
6492 IBBase `json:"-"`
6493 6494 Ref string `json:"_ref,omitempty"`
6495 6496 // The timestamp when the last pool licenses were updated.
6497 LastEntitlementUpdate *UnixTime `json:"last_entitlement_update,omitempty"`
6498 6499 // The world-wide unique ID for the license pool container.
6500 LpcUid string `json:"lpc_uid,omitempty"`
6501 }
6502 6503 func (GridLicensePoolContainer) ObjectType() string {
6504 return "grid:license_pool_container"
6505 }
6506 6507 func (obj GridLicensePoolContainer) ReturnFields() []string {
6508 if obj.returnFields == nil {
6509 obj.returnFields = []string{}
6510 }
6511 return obj.returnFields
6512 }
6513 6514 // GridMaxminddbinfo represents Infoblox object grid:maxminddbinfo.
6515 // The information about Topology DB.
6516 type GridMaxminddbinfo struct {
6517 IBBase `json:"-"`
6518 6519 Ref string `json:"_ref,omitempty"`
6520 6521 // The major version of DB binary format.
6522 BinaryMajorVersion uint32 `json:"binary_major_version,omitempty"`
6523 6524 // The minor version of DB binary format.
6525 BinaryMinorVersion uint32 `json:"binary_minor_version,omitempty"`
6526 6527 // The time at which the DB was built.
6528 BuildTime *UnixTime `json:"build_time,omitempty"`
6529 6530 // The structure of data records ("GeoLite2-Country", GeoLite2-City", etc.).
6531 DatabaseType string `json:"database_type,omitempty"`
6532 6533 // The time at which the current Topology DB was deployed.
6534 DeploymentTime *UnixTime `json:"deployment_time,omitempty"`
6535 6536 // The member for testing the connection.
6537 Member string `json:"member,omitempty"`
6538 6539 // The topology type.
6540 TopologyType string `json:"topology_type,omitempty"`
6541 }
6542 6543 func (GridMaxminddbinfo) ObjectType() string {
6544 return "grid:maxminddbinfo"
6545 }
6546 6547 func (obj GridMaxminddbinfo) ReturnFields() []string {
6548 if obj.returnFields == nil {
6549 obj.returnFields = []string{"binary_major_version", "binary_minor_version", "build_time", "database_type", "deployment_time", "member", "topology_type"}
6550 }
6551 return obj.returnFields
6552 }
6553 6554 // GridMemberCloudapi represents Infoblox object grid:member:cloudapi.
6555 // Class that represents member Cloud configuration settings.
6556 type GridMemberCloudapi struct {
6557 IBBase `json:"-"`
6558 6559 Ref string `json:"_ref,omitempty"`
6560 6561 // Defines which administrators are allowed to perform Cloud API request on the
6562 // Grid Member: no administrators (NONE), any administrators (ALL) or
6563 // administrators in the ACL list (LIST). Default is ALL.
6564 AllowApiAdmins string `json:"allow_api_admins,omitempty"`
6565 6566 // List of administrators allowed to perform Cloud Platform API requests on
6567 // that member.
6568 AllowedApiAdmins []*GridCloudapiUser `json:"allowed_api_admins,omitempty"`
6569 6570 // Controls whether the Cloud API service runs on the member or not.
6571 EnableService *bool `json:"enable_service,omitempty"`
6572 6573 // Extensible attributes associated with the object. For valid values for
6574 // extensible attributes, see {extattrs:values}.
6575 Ea EA `json:"extattrs"`
6576 6577 // Structure containing all the information related to Gateway configuration
6578 // for the member
6579 GatewayConfig *GridCloudapiGatewayConfig `json:"gateway_config,omitempty"`
6580 6581 // The related Grid Member.
6582 Member *Dhcpmember `json:"member,omitempty"`
6583 6584 // Status of Cloud API service on the member.
6585 Status string `json:"status,omitempty"`
6586 }
6587 6588 func (GridMemberCloudapi) ObjectType() string {
6589 return "grid:member:cloudapi"
6590 }
6591 6592 func (obj GridMemberCloudapi) ReturnFields() []string {
6593 if obj.returnFields == nil {
6594 obj.returnFields = []string{"allow_api_admins", "allowed_api_admins", "enable_service", "member", "status"}
6595 }
6596 return obj.returnFields
6597 }
6598 6599 // GridServicerestartGroup represents Infoblox object grid:servicerestart:group.
6600 // The Grid Service Restart Group object provides the following information
6601 // about the restart: applicable services, members, restart order, and
6602 // periodicity.
6603 type GridServicerestartGroup struct {
6604 IBBase `json:"-"`
6605 6606 Ref string `json:"_ref,omitempty"`
6607 6608 // Comment for the Restart Group; maximum 256 characters.
6609 Comment *string `json:"comment,omitempty"`
6610 6611 // Extensible attributes associated with the object. For valid values for
6612 // extensible attributes, see {extattrs:values}.
6613 Ea EA `json:"extattrs"`
6614 6615 // Determines if this Restart Group is the default group.
6616 IsDefault bool `json:"is_default,omitempty"`
6617 6618 // The timestamp when the status of the latest request has changed.
6619 LastUpdatedTime *UnixTime `json:"last_updated_time,omitempty"`
6620 6621 // The list of members belonging to the group.
6622 Members []string `json:"members,omitempty"`
6623 6624 // The default restart method for this Restart Group.
6625 Mode string `json:"mode,omitempty"`
6626 6627 // The name of this Restart Group.
6628 Name *string `json:"name,omitempty"`
6629 6630 // The order to restart.
6631 Position uint32 `json:"position,omitempty"`
6632 6633 // The recurring schedule for restart of a group.
6634 RecurringSchedule *GridServicerestartGroupSchedule `json:"recurring_schedule,omitempty"`
6635 6636 // The list of requests associated with a restart group.
6637 Requests []*GridServicerestartRequest `json:"requests,omitempty"`
6638 6639 // The applicable service for this Restart Group.
6640 Service string `json:"service,omitempty"`
6641 6642 // The restart status for a restart group.
6643 Status string `json:"status,omitempty"`
6644 }
6645 6646 func (GridServicerestartGroup) ObjectType() string {
6647 return "grid:servicerestart:group"
6648 }
6649 6650 func (obj GridServicerestartGroup) ReturnFields() []string {
6651 if obj.returnFields == nil {
6652 obj.returnFields = []string{"comment", "name", "service"}
6653 }
6654 return obj.returnFields
6655 }
6656 6657 // GridServicerestartGroupOrder represents Infoblox object grid:servicerestart:group:order.
6658 // The Grid Service Restart Group Order Setting is used to set the restart
6659 // order for particular services and members.
6660 type GridServicerestartGroupOrder struct {
6661 IBBase `json:"-"`
6662 6663 Ref string `json:"_ref,omitempty"`
6664 6665 // The ordered list of the Service Restart Group.
6666 Groups []string `json:"groups,omitempty"`
6667 }
6668 6669 func (GridServicerestartGroupOrder) ObjectType() string {
6670 return "grid:servicerestart:group:order"
6671 }
6672 6673 func (obj GridServicerestartGroupOrder) ReturnFields() []string {
6674 if obj.returnFields == nil {
6675 obj.returnFields = []string{}
6676 }
6677 return obj.returnFields
6678 }
6679 6680 // GridServicerestartRequest represents Infoblox object grid:servicerestart:request.
6681 // The Restart Request object provides information and statistics about the
6682 // service restart routine for the Service Restart Group.
6683 type GridServicerestartRequest struct {
6684 IBBase `json:"-"`
6685 6686 Ref string `json:"_ref,omitempty"`
6687 6688 // The error message if restart has failed.
6689 Error string `json:"error,omitempty"`
6690 6691 // Indicates if this is a force restart.
6692 Forced bool `json:"forced,omitempty"`
6693 6694 // The name of the Restart Group associated with the request.
6695 Group string `json:"group,omitempty"`
6696 6697 // The timestamp when the status of the request has changed.
6698 LastUpdatedTime *UnixTime `json:"last_updated_time,omitempty"`
6699 6700 // The member to restart.
6701 Member string `json:"member,omitempty"`
6702 6703 // Indicates if restart is needed.
6704 Needed string `json:"needed,omitempty"`
6705 6706 // The order to restart.
6707 Order int `json:"order,omitempty"`
6708 6709 // The result of the restart operation.
6710 Result string `json:"result,omitempty"`
6711 6712 // The service to restart.
6713 Service string `json:"service,omitempty"`
6714 6715 // The state of the request.
6716 State string `json:"state,omitempty"`
6717 }
6718 6719 func (GridServicerestartRequest) ObjectType() string {
6720 return "grid:servicerestart:request"
6721 }
6722 6723 func (obj GridServicerestartRequest) ReturnFields() []string {
6724 if obj.returnFields == nil {
6725 obj.returnFields = []string{"error", "group", "result", "state"}
6726 }
6727 return obj.returnFields
6728 }
6729 6730 // GridServicerestartRequestChangedobject represents Infoblox object grid:servicerestart:request:changedobject.
6731 // The Grid service restart request changed object provides information about
6732 // changes that are waiting for the restart.
6733 type GridServicerestartRequestChangedobject struct {
6734 IBBase `json:"-"`
6735 6736 Ref string `json:"_ref,omitempty"`
6737 6738 // The operation on the changed object.
6739 Action string `json:"action,omitempty"`
6740 6741 // The list of changed properties in the object.
6742 ChangedProperties []string `json:"changed_properties,omitempty"`
6743 6744 // The time when the object was changed.
6745 ChangedTime *UnixTime `json:"changed_time,omitempty"`
6746 6747 // The name of the changed object.
6748 ObjectName string `json:"object_name,omitempty"`
6749 6750 // The type of the changed object. This is undefined if the object is not
6751 // supported.
6752 ObjectTypeField string `json:"object_type,omitempty"`
6753 6754 // The name of the user who changed the object properties.
6755 UserName string `json:"user_name,omitempty"`
6756 }
6757 6758 func (GridServicerestartRequestChangedobject) ObjectType() string {
6759 return "grid:servicerestart:request:changedobject"
6760 }
6761 6762 func (obj GridServicerestartRequestChangedobject) ReturnFields() []string {
6763 if obj.returnFields == nil {
6764 obj.returnFields = []string{"action", "changed_properties", "changed_time", "object_name", "object_type", "user_name"}
6765 }
6766 return obj.returnFields
6767 }
6768 6769 // GridServicerestartStatus represents Infoblox object grid:servicerestart:status.
6770 // The Restart Status object provides information and statistics about service
6771 // restart routine for the Grid or Service Restart Group.
6772 type GridServicerestartStatus struct {
6773 IBBase `json:"-"`
6774 6775 Ref string `json:"_ref,omitempty"`
6776 6777 // The number of failed requests.
6778 Failures uint32 `json:"failures,omitempty"`
6779 6780 // The number of finished requests.
6781 Finished uint32 `json:"finished,omitempty"`
6782 6783 // The type of grouping.
6784 Grouped string `json:"grouped,omitempty"`
6785 6786 // The number of created yet unprocessed requests for restart.
6787 NeededRestart uint32 `json:"needed_restart,omitempty"`
6788 6789 // The number of requests that did not require a restart.
6790 NoRestart uint32 `json:"no_restart,omitempty"`
6791 6792 // A reference to the grid or grid:servicerestart:group object associated with
6793 // the request.
6794 Parent string `json:"parent,omitempty"`
6795 6796 // The number of requests that are pending a restart.
6797 Pending uint32 `json:"pending,omitempty"`
6798 6799 // The number of forced or needed requests pending for restart.
6800 PendingRestart uint32 `json:"pending_restart,omitempty"`
6801 6802 // The number of not forced and not needed requests pending for restart.
6803 Processing uint32 `json:"processing,omitempty"`
6804 6805 // The number of service restarts for corresponding members.
6806 Restarting uint32 `json:"restarting,omitempty"`
6807 6808 // The number of requests associated with successful restarts.
6809 Success uint32 `json:"success,omitempty"`
6810 6811 // The number of timeout requests.
6812 Timeouts uint32 `json:"timeouts,omitempty"`
6813 }
6814 6815 func (GridServicerestartStatus) ObjectType() string {
6816 return "grid:servicerestart:status"
6817 }
6818 6819 func (obj GridServicerestartStatus) ReturnFields() []string {
6820 if obj.returnFields == nil {
6821 obj.returnFields = []string{"failures", "finished", "grouped", "needed_restart", "no_restart", "parent", "pending", "pending_restart", "processing", "restarting", "success", "timeouts"}
6822 }
6823 return obj.returnFields
6824 }
6825 6826 // GridThreatanalytics represents Infoblox object grid:threatanalytics.
6827 // To mitigate DNS data exfiltration, Infoblox DNS threat analytics employs
6828 // analytics algorithms that analyze incoming DNS queries and responses to
6829 // detect DNS tunneling traffic.
6830 type GridThreatanalytics struct {
6831 IBBase `json:"-"`
6832 6833 Ref string `json:"_ref,omitempty"`
6834 6835 // Disable domain collapsing at grid level
6836 ConfigureDomainCollapsing *bool `json:"configure_domain_collapsing,omitempty"`
6837 6838 // The current threat analytics module set.
6839 CurrentModuleset string `json:"current_moduleset,omitempty"`
6840 6841 // The Grid whitelist.
6842 CurrentWhitelist string `json:"current_whitelist,omitempty"`
6843 6844 // The list of response policy zones for DNS tunnelling requests.
6845 DnsTunnelBlackListRpzZones []*ZoneRp `json:"dns_tunnel_black_list_rpz_zones,omitempty"`
6846 6847 // Level of domain collapsing
6848 DomainCollapsingLevel *uint32 `json:"domain_collapsing_level,omitempty"`
6849 6850 // Determines whether the automatic threat analytics module set download is
6851 // enabled.
6852 EnableAutoDownload *bool `json:"enable_auto_download,omitempty"`
6853 6854 // Determines whether the scheduled download of the threat analytics module set
6855 // is enabled.
6856 EnableScheduledDownload *bool `json:"enable_scheduled_download,omitempty"`
6857 6858 // Indicates whether auto download service is enabled
6859 EnableWhitelistAutoDownload *bool `json:"enable_whitelist_auto_download,omitempty"`
6860 6861 // Indicates whether the custom scheduled settings for auto download is
6862 // enabled. If false then default frequency is once per 24 hours
6863 EnableWhitelistScheduledDownload *bool `json:"enable_whitelist_scheduled_download,omitempty"`
6864 6865 // The last time when the threat analytics module set was checked for the
6866 // update.
6867 LastCheckedForUpdate *UnixTime `json:"last_checked_for_update,omitempty"`
6868 6869 // Timestamp of last checked whitelist
6870 LastCheckedForWhitelistUpdate *UnixTime `json:"last_checked_for_whitelist_update,omitempty"`
6871 6872 // The last update time for the threat analytics module set.
6873 LastModuleUpdateTime *UnixTime `json:"last_module_update_time,omitempty"`
6874 6875 // The version number of the last updated threat analytics module set.
6876 LastModuleUpdateVersion string `json:"last_module_update_version,omitempty"`
6877 6878 // The last update time for the threat analytics whitelist.
6879 LastWhitelistUpdateTime *UnixTime `json:"last_whitelist_update_time,omitempty"`
6880 6881 // The version number of the last updated threat analytics whitelist.
6882 LastWhitelistUpdateVersion string `json:"last_whitelist_update_version,omitempty"`
6883 6884 // The update policy for the threat analytics module set.
6885 ModuleUpdatePolicy string `json:"module_update_policy,omitempty"`
6886 6887 // The Grid name.
6888 Name string `json:"name,omitempty"`
6889 6890 // The schedule settings for the threat analytics module set download.
6891 ScheduledDownload *SettingSchedule `json:"scheduled_download,omitempty"`
6892 6893 // Schedule setting for automatic whitelist update run
6894 ScheduledWhitelistDownload *SettingSchedule `json:"scheduled_whitelist_download,omitempty"`
6895 6896 // whitelist update policy (manual or automatic)
6897 WhitelistUpdatePolicy string `json:"whitelist_update_policy,omitempty"`
6898 }
6899 6900 func (GridThreatanalytics) ObjectType() string {
6901 return "grid:threatanalytics"
6902 }
6903 6904 func (obj GridThreatanalytics) ReturnFields() []string {
6905 if obj.returnFields == nil {
6906 obj.returnFields = []string{"enable_auto_download", "enable_scheduled_download", "module_update_policy", "name"}
6907 }
6908 return obj.returnFields
6909 }
6910 6911 // GridThreatprotection represents Infoblox object grid:threatprotection.
6912 // The Grid threat protection settings.
6913 type GridThreatprotection struct {
6914 IBBase `json:"-"`
6915 6916 Ref string `json:"_ref,omitempty"`
6917 6918 // The current Grid ruleset.
6919 CurrentRuleset *string `json:"current_ruleset,omitempty"`
6920 6921 // Determines if multiple BIND responses via TCP connection are disabled.
6922 DisableMultipleDnsTcpRequest *bool `json:"disable_multiple_dns_tcp_request,omitempty"`
6923 6924 // Determines if DNS responses are sent from acceleration cache before applying
6925 // Threat Protection rules. Recommended for better performance when using DNS
6926 // Cache Acceleration.
6927 EnableAccelRespBeforeThreatProtection *bool `json:"enable_accel_resp_before_threat_protection,omitempty"`
6928 6929 // Determines if auto download service is enabled.
6930 EnableAutoDownload *bool `json:"enable_auto_download,omitempty"`
6931 6932 // Determines if NAT (Network Address Translation) mapping for threat
6933 // protection is enabled or not.
6934 EnableNatRules *bool `json:"enable_nat_rules,omitempty"`
6935 6936 // Determines if scheduled download is enabled. The default frequency is once
6937 // in every 24 hours if it is disabled.
6938 EnableScheduledDownload *bool `json:"enable_scheduled_download,omitempty"`
6939 6940 // The number of events logged per second per rule.
6941 EventsPerSecondPerRule *uint32 `json:"events_per_second_per_rule,omitempty"`
6942 6943 // The Grid name.
6944 GridName string `json:"grid_name,omitempty"`
6945 6946 // The time when the Grid last checked for updates.
6947 LastCheckedForUpdate *UnixTime `json:"last_checked_for_update,omitempty"`
6948 6949 // The last rule update timestamp.
6950 LastRuleUpdateTimestamp *UnixTime `json:"last_rule_update_timestamp,omitempty"`
6951 6952 // The version of last rule update.
6953 LastRuleUpdateVersion string `json:"last_rule_update_version,omitempty"`
6954 6955 // The list of NAT mapping rules for threat protection.
6956 NatRules []*ThreatprotectionNatrule `json:"nat_rules,omitempty"`
6957 6958 // Outbound settings for ATP events.
6959 OutboundSettings *SettingAtpoutbound `json:"outbound_settings,omitempty"`
6960 6961 // The update rule policy.
6962 RuleUpdatePolicy string `json:"rule_update_policy,omitempty"`
6963 6964 // The schedule setting for automatic rule update.
6965 ScheduledDownload *SettingSchedule `json:"scheduled_download,omitempty"`
6966 }
6967 6968 func (GridThreatprotection) ObjectType() string {
6969 return "grid:threatprotection"
6970 }
6971 6972 func (obj GridThreatprotection) ReturnFields() []string {
6973 if obj.returnFields == nil {
6974 obj.returnFields = []string{"grid_name"}
6975 }
6976 return obj.returnFields
6977 }
6978 6979 // GridX509certificate represents Infoblox object grid:x509certificate.
6980 // In the X.509 system, a certification authority issues a certificate binding
6981 // a public key to a particular distinguished name in the X.500 tradition, or
6982 // to an alternative name such as an e-mail address or a DNS entry.
6983 type GridX509certificate struct {
6984 IBBase `json:"-"`
6985 6986 Ref string `json:"_ref,omitempty"`
6987 6988 // Certificate issuer.
6989 Issuer string `json:"issuer,omitempty"`
6990 6991 // X509Certificate serial number.
6992 Serial string `json:"serial,omitempty"`
6993 6994 // A Distinguished Name that is made of multiple relative distinguished names
6995 // (RDNs).
6996 Subject string `json:"subject,omitempty"`
6997 6998 // Certificate expiry date.
6999 ValidNotAfter *UnixTime `json:"valid_not_after,omitempty"`
7000 7001 // Certificate validity start date.
7002 ValidNotBefore *UnixTime `json:"valid_not_before,omitempty"`
7003 }
7004 7005 func (GridX509certificate) ObjectType() string {
7006 return "grid:x509certificate"
7007 }
7008 7009 func (obj GridX509certificate) ReturnFields() []string {
7010 if obj.returnFields == nil {
7011 obj.returnFields = []string{"issuer", "serial", "subject"}
7012 }
7013 return obj.returnFields
7014 }
7015 7016 // Hostnamerewritepolicy represents Infoblox object hostnamerewritepolicy.
7017 // A hostname rewrite policy object represents the set of valid characters as
7018 // well as replacement characters for names that do not conform to the policy.
7019 type Hostnamerewritepolicy struct {
7020 IBBase `json:"-"`
7021 7022 Ref string `json:"_ref,omitempty"`
7023 7024 // True if the policy is the Grid default.
7025 IsDefault bool `json:"is_default,omitempty"`
7026 7027 // The name of a hostname rewrite policy object.
7028 Name *string `json:"name,omitempty"`
7029 7030 // Determines whether the policy is a predefined one.
7031 PreDefined bool `json:"pre_defined,omitempty"`
7032 7033 // The replacement character for symbols in hostnames that do not conform to
7034 // the hostname policy.
7035 ReplacementCharacter *string `json:"replacement_character,omitempty"`
7036 7037 // The set of valid characters represented in string format.
7038 ValidCharacters *string `json:"valid_characters,omitempty"`
7039 }
7040 7041 func (Hostnamerewritepolicy) ObjectType() string {
7042 return "hostnamerewritepolicy"
7043 }
7044 7045 func (obj Hostnamerewritepolicy) ReturnFields() []string {
7046 if obj.returnFields == nil {
7047 obj.returnFields = []string{"name", "replacement_character", "valid_characters"}
7048 }
7049 return obj.returnFields
7050 }
7051 7052 // HsmAllgroups represents Infoblox object hsm:allgroups.
7053 // The All Hardware Security Module (HSM) groups object is used to retrieve all
7054 // HSM groups configured on the appliance.
7055 type HsmAllgroups struct {
7056 IBBase `json:"-"`
7057 7058 Ref string `json:"_ref,omitempty"`
7059 7060 // The list of HSM groups configured on the appliance.
7061 Groups []*HsmSafenetgroup `json:"groups,omitempty"`
7062 }
7063 7064 func (HsmAllgroups) ObjectType() string {
7065 return "hsm:allgroups"
7066 }
7067 7068 func (obj HsmAllgroups) ReturnFields() []string {
7069 if obj.returnFields == nil {
7070 obj.returnFields = []string{"groups"}
7071 }
7072 return obj.returnFields
7073 }
7074 7075 // HsmSafenetgroup represents Infoblox object hsm:safenetgroup.
7076 // You can integrate a Grid with a third-party, network-attached Hardware
7077 // Security Modules (HSMs) for secure private key storage and generation, and
7078 // zone-signing offloading. Infoblox appliances support integration with either
7079 // SafeNet HSMs or Thales HSMs. When using a network-attached HSM, you can
7080 // provide tight physical access control, allowing only selected security
7081 // personnel to physically access the HSM that stores the DNSSEC keys.
7082 type HsmSafenetgroup struct {
7083 IBBase `json:"-"`
7084 7085 Ref string `json:"_ref,omitempty"`
7086 7087 // The HSM SafeNet group comment.
7088 Comment *string `json:"comment,omitempty"`
7089 7090 // The HSM SafeNet group serial number.
7091 GroupSn string `json:"group_sn,omitempty"`
7092 7093 // The list of HSM SafeNet devices.
7094 HsmSafenet []*HsmSafenet `json:"hsm_safenet,omitempty"`
7095 7096 // The HSM SafeNet version.
7097 HsmVersion string `json:"hsm_version,omitempty"`
7098 7099 // The HSM SafeNet group name.
7100 Name *string `json:"name,omitempty"`
7101 7102 // The pass phrase used to unlock the HSM SafeNet keystore.
7103 PassPhrase *string `json:"pass_phrase,omitempty"`
7104 7105 // The status of all HSM SafeNet devices in the group.
7106 Status string `json:"status,omitempty"`
7107 }
7108 7109 func (HsmSafenetgroup) ObjectType() string {
7110 return "hsm:safenetgroup"
7111 }
7112 7113 func (obj HsmSafenetgroup) ReturnFields() []string {
7114 if obj.returnFields == nil {
7115 obj.returnFields = []string{"comment", "hsm_version", "name"}
7116 }
7117 return obj.returnFields
7118 }
7119 7120 // HsmThalesgroup represents Infoblox object hsm:thalesgroup.
7121 // You can integrate a Grid with a third-party, network-attached Hardware
7122 // Security Modules (HSMs) for secure private key storage and generation, and
7123 // zone-signing offloading. Infoblox appliances support integration with either
7124 // SafeNet HSMs or Thales HSMs. When using a network-attached HSM, you can
7125 // provide tight physical access control, allowing only selected security
7126 // personnel to physically access the HSM that stores the DNSSEC keys.
7127 type HsmThalesgroup struct {
7128 IBBase `json:"-"`
7129 7130 Ref string `json:"_ref,omitempty"`
7131 7132 // The Thales HSM softcard name.
7133 CardName *string `json:"card_name,omitempty"`
7134 7135 // The Thales HSM group comment.
7136 Comment *string `json:"comment,omitempty"`
7137 7138 // The remote file server (RFS) IPv4 Address.
7139 KeyServerIp *string `json:"key_server_ip,omitempty"`
7140 7141 // The remote file server (RFS) port.
7142 KeyServerPort *uint32 `json:"key_server_port,omitempty"`
7143 7144 // The Thales HSM group name.
7145 Name *string `json:"name,omitempty"`
7146 7147 // The password phrase used to unlock the Thales HSM keystore.
7148 PassPhrase *string `json:"pass_phrase,omitempty"`
7149 7150 // The level of protection that the HSM group uses for the DNSSEC key data.
7151 Protection string `json:"protection,omitempty"`
7152 7153 // The status of all Thales HSM devices in the group.
7154 Status string `json:"status,omitempty"`
7155 7156 // The list of Thales HSM devices.
7157 ThalesHsm []*HsmThales `json:"thales_hsm,omitempty"`
7158 }
7159 7160 func (HsmThalesgroup) ObjectType() string {
7161 return "hsm:thalesgroup"
7162 }
7163 7164 func (obj HsmThalesgroup) ReturnFields() []string {
7165 if obj.returnFields == nil {
7166 obj.returnFields = []string{"comment", "key_server_ip", "name"}
7167 }
7168 return obj.returnFields
7169 }
7170 7171 // IpamStatistics represents Infoblox object ipam:statistics.
7172 // A synthetic object used to view the IPAM statistics of the network or
7173 // network container in an Infoblox appliance
7174 type IpamStatistics struct {
7175 IBBase `json:"-"`
7176 7177 Ref string `json:"_ref,omitempty"`
7178 7179 // The network CIDR.
7180 Cidr uint32 `json:"cidr,omitempty"`
7181 7182 // The number of conflicts discovered via network discovery. This attribute is
7183 // only valid for a Network object.
7184 ConflictCount uint32 `json:"conflict_count,omitempty"`
7185 7186 // The Microsoft Active Directory user related information.
7187 MsAdUserData *MsserverAduserData `json:"ms_ad_user_data,omitempty"`
7188 7189 // The network address.
7190 Network string `json:"network,omitempty"`
7191 7192 // The network view.
7193 NetworkView string `json:"network_view,omitempty"`
7194 7195 // The number of unmanaged IP addresses as discovered by network discovery.
7196 // This attribute is only valid for a Network object.
7197 UnmanagedCount uint32 `json:"unmanaged_count,omitempty"`
7198 7199 // The network utilization in percentage.
7200 Utilization uint32 `json:"utilization,omitempty"`
7201 7202 // The time that the utilization statistics were updated last. This attribute
7203 // is only valid for a Network object. For a Network Container object, the
7204 // return value is undefined.
7205 UtilizationUpdate *UnixTime `json:"utilization_update,omitempty"`
7206 }
7207 7208 func (IpamStatistics) ObjectType() string {
7209 return "ipam:statistics"
7210 }
7211 7212 func (obj IpamStatistics) ReturnFields() []string {
7213 if obj.returnFields == nil {
7214 obj.returnFields = []string{"cidr", "network", "network_view"}
7215 }
7216 return obj.returnFields
7217 }
7218 7219 // IPv4Address represents Infoblox object ipv4address.
7220 // This object is created only as part of the record.host object, it cannot be
7221 // created directly.
7222 type IPv4Address struct {
7223 IBBase `json:"-"`
7224 7225 Ref string `json:"_ref,omitempty"`
7226 7227 // Comment for the address; maximum 256 characters.
7228 Comment string `json:"comment,omitempty"`
7229 7230 // Types of the conflict.
7231 ConflictTypes []string `json:"conflict_types,omitempty"`
7232 7233 // The client unique identifier.
7234 DhcpClientIdentifier string `json:"dhcp_client_identifier,omitempty"`
7235 7236 // Discover now status for this address.
7237 DiscoverNowStatus string `json:"discover_now_status,omitempty"`
7238 7239 // The discovered data for this address.
7240 DiscoveredData *Discoverydata `json:"discovered_data,omitempty"`
7241 7242 // Extensible attributes associated with the object. For valid values for
7243 // extensible attributes, see {extattrs:values}.
7244 Ea EA `json:"extattrs"`
7245 7246 // DHCP fingerprint for the address.
7247 Fingerprint string `json:"fingerprint,omitempty"`
7248 7249 // The IP address.
7250 IpAddress string `json:"ip_address,omitempty"`
7251 7252 // If set to True, the IP address has either a MAC address conflict or a DHCP
7253 // lease conflict detected through a network discovery.
7254 IsConflict bool `json:"is_conflict,omitempty"`
7255 7256 // This flag reflects whether the MAC address for this address is invalid.
7257 IsInvalidMac bool `json:"is_invalid_mac,omitempty"`
7258 7259 // The lease state of the address.
7260 LeaseState string `json:"lease_state,omitempty"`
7261 7262 // The MAC address.
7263 MacAddress string `json:"mac_address,omitempty"`
7264 7265 // The Microsoft Active Directory user related information.
7266 MsAdUserData *MsserverAduserData `json:"ms_ad_user_data,omitempty"`
7267 7268 // The DNS names. For example, if the IP address belongs to a host record, this
7269 // field contains the hostname. This field supports both single and array
7270 // search.
7271 Names []string `json:"names,omitempty"`
7272 7273 // The network to which this address belongs, in FQDN/CIDR format.
7274 Network string `json:"network,omitempty"`
7275 7276 // The name of the network view.
7277 NetworkView string `json:"network_view,omitempty"`
7278 7279 // The objects associated with the IP address.
7280 Objects []string `json:"objects,omitempty"`
7281 7282 // The reserved port for the address.
7283 ReservedPort string `json:"reserved_port,omitempty"`
7284 7285 // The current status of the address.
7286 Status string `json:"status,omitempty"`
7287 7288 // The types of associated objects. This field supports both single and array
7289 // search.
7290 Types []string `json:"types,omitempty"`
7291 7292 // Indicates whether the IP address is configured for DNS or DHCP. This field
7293 // supports both single and array search.
7294 Usage []string `json:"usage,omitempty"`
7295 7296 // The name of the user who created or modified the record.
7297 Username string `json:"username,omitempty"`
7298 }
7299 7300 func (IPv4Address) ObjectType() string {
7301 return "ipv4address"
7302 }
7303 7304 func (obj IPv4Address) ReturnFields() []string {
7305 if obj.returnFields == nil {
7306 obj.returnFields = []string{"dhcp_client_identifier", "ip_address", "is_conflict", "lease_state", "mac_address", "names", "network", "network_view", "objects", "status", "types", "usage", "username"}
7307 }
7308 return obj.returnFields
7309 }
7310 7311 // IPv6Address represents Infoblox object ipv6address.
7312 // This object is created only as part of the record.host object, it cannot be
7313 // created directly.
7314 type IPv6Address struct {
7315 IBBase `json:"-"`
7316 7317 Ref string `json:"_ref,omitempty"`
7318 7319 // Comment for the address; maximum 256 characters.
7320 Comment string `json:"comment,omitempty"`
7321 7322 // Types of the conflict.
7323 ConflictTypes []string `json:"conflict_types,omitempty"`
7324 7325 // Discover now status for this address.
7326 DiscoverNowStatus string `json:"discover_now_status,omitempty"`
7327 7328 // The discovered data for this address.
7329 DiscoveredData *Discoverydata `json:"discovered_data,omitempty"`
7330 7331 // DHCPv6 Unique Identifier (DUID) of the address object.
7332 Duid string `json:"duid,omitempty"`
7333 7334 // Extensible attributes associated with the object. For valid values for
7335 // extensible attributes, see {extattrs:values}.
7336 Ea EA `json:"extattrs"`
7337 7338 // DHCP fingerprint for the address.
7339 Fingerprint string `json:"fingerprint,omitempty"`
7340 7341 // IPv6 addresses of the address object.
7342 IpAddress string `json:"ip_address,omitempty"`
7343 7344 // IP address has either a duid conflict or a DHCP lease conflict detected
7345 // through a network discovery.
7346 IsConflict bool `json:"is_conflict,omitempty"`
7347 7348 // The lease state of the address.
7349 LeaseState string `json:"lease_state,omitempty"`
7350 7351 // The Microsoft Active Directory user related information.
7352 MsAdUserData *MsserverAduserData `json:"ms_ad_user_data,omitempty"`
7353 7354 // The DNS names. For example, if the IP address belongs to a host record, this
7355 // field contains the hostname. This field supports both single and array
7356 // search.
7357 Names []string `json:"names,omitempty"`
7358 7359 // The network to which this address belongs, in FQDN/CIDR format.
7360 Network string `json:"network,omitempty"`
7361 7362 // The name of the network view.
7363 NetworkView string `json:"network_view,omitempty"`
7364 7365 // The objects associated with the IP address.
7366 Objects []string `json:"objects,omitempty"`
7367 7368 // The reserved port for the address.
7369 ReservedPort string `json:"reserved_port,omitempty"`
7370 7371 // The current status of the address.
7372 Status string `json:"status,omitempty"`
7373 7374 // The types of associated objects. This field supports both single and array
7375 // search.
7376 Types []string `json:"types,omitempty"`
7377 7378 // Indicates whether the IP address is configured for DNS or DHCP. This field
7379 // supports both single and array search.
7380 Usage []string `json:"usage,omitempty"`
7381 }
7382 7383 func (IPv6Address) ObjectType() string {
7384 return "ipv6address"
7385 }
7386 7387 func (obj IPv6Address) ReturnFields() []string {
7388 if obj.returnFields == nil {
7389 obj.returnFields = []string{"duid", "ip_address", "is_conflict", "lease_state", "names", "network", "network_view", "objects", "status", "types", "usage"}
7390 }
7391 return obj.returnFields
7392 }
7393 7394 // Ipv6dhcpoptiondefinition represents Infoblox object ipv6dhcpoptiondefinition.
7395 // An IPv6 option definition defines a DHCP IPv6 option within a specific IPv6
7396 // option space. A custom IPv6 option can be defined in the predefined DHCP
7397 // IPv6 option space or in the user-defined vendor IPv6 option space. To define
7398 // an IPv6 option, add the IPv6 option definition to the required IPv6 option
7399 // space.
7400 type Ipv6dhcpoptiondefinition struct {
7401 IBBase `json:"-"`
7402 7403 Ref string `json:"_ref,omitempty"`
7404 7405 // The code of a DHCP IPv6 option definition object. An option code number is
7406 // used to identify the DHCP option.
7407 Code *uint32 `json:"code,omitempty"`
7408 7409 // The name of a DHCP IPv6 option definition object.
7410 Name *string `json:"name,omitempty"`
7411 7412 // The space of a DHCP option definition object.
7413 Space *string `json:"space,omitempty"`
7414 7415 // The data type of the Grid DHCP IPv6 option.
7416 Type string `json:"type,omitempty"`
7417 }
7418 7419 func (Ipv6dhcpoptiondefinition) ObjectType() string {
7420 return "ipv6dhcpoptiondefinition"
7421 }
7422 7423 func (obj Ipv6dhcpoptiondefinition) ReturnFields() []string {
7424 if obj.returnFields == nil {
7425 obj.returnFields = []string{"code", "name", "type"}
7426 }
7427 return obj.returnFields
7428 }
7429 7430 // Ipv6dhcpoptionspace represents Infoblox object ipv6dhcpoptionspace.
7431 // An IPv6 option space defines a namespace in which vendor IPv6 options can be
7432 // defined. To define a specific vendor IPv6 option space, add an IPv6 option
7433 // space to DHCP.
7434 type Ipv6dhcpoptionspace struct {
7435 IBBase `json:"-"`
7436 7437 Ref string `json:"_ref,omitempty"`
7438 7439 // A descriptive comment of a DHCP IPv6 option space object.
7440 Comment *string `json:"comment,omitempty"`
7441 7442 // The enterprise number of a DHCP IPv6 option space object.
7443 EnterpriseNumber *uint32 `json:"enterprise_number,omitempty"`
7444 7445 // The name of a DHCP IPv6 option space object.
7446 Name *string `json:"name,omitempty"`
7447 7448 // The list of DHCP IPv6 option definition objects.
7449 OptionDefinitions []string `json:"option_definitions,omitempty"`
7450 }
7451 7452 func (Ipv6dhcpoptionspace) ObjectType() string {
7453 return "ipv6dhcpoptionspace"
7454 }
7455 7456 func (obj Ipv6dhcpoptionspace) ReturnFields() []string {
7457 if obj.returnFields == nil {
7458 obj.returnFields = []string{"comment", "enterprise_number", "name"}
7459 }
7460 return obj.returnFields
7461 }
7462 7463 // Ipv6filteroption represents Infoblox object ipv6filteroption.
7464 // In the ISC DHCP terms, it defines a class of clients that match a particular
7465 // (option, value) pair. To define an option filter, add an Option to the IPv6
7466 // DHCP Filter object.
7467 type Ipv6filteroption struct {
7468 IBBase `json:"-"`
7469 7470 Ref string `json:"_ref,omitempty"`
7471 7472 // Determines if apply as class is enabled or not. If this flag is set to
7473 // "true" the filter is treated as global DHCP class, e.g it is written to
7474 // DHCPv6 configuration file even if it is not present in any DHCP range.
7475 ApplyAsClass *bool `json:"apply_as_class,omitempty"`
7476 7477 // The descriptive comment of a DHCP IPv6 filter option object.
7478 Comment *string `json:"comment,omitempty"`
7479 7480 // The conditional expression of a DHCP IPv6 filter option object.
7481 Expression *string `json:"expression,omitempty"`
7482 7483 // Extensible attributes associated with the object. For valid values for
7484 // extensible attributes, see {extattrs:values}.
7485 Ea EA `json:"extattrs"`
7486 7487 // Determines the lease time of a DHCP IPv6 filter option object.
7488 LeaseTime *uint32 `json:"lease_time,omitempty"`
7489 7490 // The name of a DHCP IPv6 option filter object.
7491 Name *string `json:"name,omitempty"`
7492 7493 // An array of DHCP option dhcpoption structs that lists the DHCP options
7494 // associated with the object.
7495 OptionList []*Dhcpoption `json:"option_list,omitempty"`
7496 7497 // The option space of a DHCP IPv6 filter option object.
7498 OptionSpace *string `json:"option_space,omitempty"`
7499 }
7500 7501 func (Ipv6filteroption) ObjectType() string {
7502 return "ipv6filteroption"
7503 }
7504 7505 func (obj Ipv6filteroption) ReturnFields() []string {
7506 if obj.returnFields == nil {
7507 obj.returnFields = []string{"comment", "name"}
7508 }
7509 return obj.returnFields
7510 }
7511 7512 // Ipv6FixedAddress represents Infoblox object ipv6fixedaddress.
7513 // A IPv6 fixed address is a specific IP address that a DHCP server always
7514 // assigns when a lease request comes from a particular DUID of the client.
7515 type Ipv6FixedAddress struct {
7516 IBBase `json:"-"`
7517 7518 Ref string `json:"_ref,omitempty"`
7519 7520 // The address type value for this IPv6 fixed address. When the address type is
7521 // "ADDRESS", a value for the 'ipv6addr' member is required. When the address
7522 // type is "PREFIX", values for 'ipv6prefix' and 'ipv6prefix_bits' are
7523 // required. When the address type is "BOTH", values for 'ipv6addr',
7524 // 'ipv6prefix', and 'ipv6prefix_bits' are all required.
7525 AddressType string `json:"address_type,omitempty"`
7526 7527 // This field controls whether the credential is used for both the Telnet and
7528 // SSH credentials. If set to False, the credential is used only for SSH.
7529 AllowTelnet *bool `json:"allow_telnet,omitempty"`
7530 7531 // The CLI credentials for the IPv6 fixed address.
7532 CliCredentials []*DiscoveryClicredential `json:"cli_credentials,omitempty"`
7533 7534 // Structure containing all cloud API related information for this object.
7535 CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`
7536 7537 // Comment for the fixed address; maximum 256 characters.
7538 Comment *string `json:"comment,omitempty"`
7539 7540 // The description of the device.
7541 DeviceDescription *string `json:"device_description,omitempty"`
7542 7543 // The location of the device.
7544 DeviceLocation *string `json:"device_location,omitempty"`
7545 7546 // The type of the device.
7547 DeviceType *string `json:"device_type,omitempty"`
7548 7549 // The vendor of the device.
7550 DeviceVendor *string `json:"device_vendor,omitempty"`
7551 7552 // Determines whether a fixed address is disabled or not. When this is set to
7553 // False, the IPv6 fixed address is enabled.
7554 Disable *bool `json:"disable,omitempty"`
7555 7556 // Determines if the discovery for this IPv6 fixed address is disabled or not.
7557 // False means that the discovery is enabled.
7558 DisableDiscovery *bool `json:"disable_discovery,omitempty"`
7559 7560 // The discovery status of this IPv6 fixed address.
7561 DiscoverNowStatus string `json:"discover_now_status,omitempty"`
7562 7563 // The discovered data for this IPv6 fixed address.
7564 DiscoveredData *Discoverydata `json:"discovered_data,omitempty"`
7565 7566 // The domain name for this IPv6 fixed address.
7567 DomainName *string `json:"domain_name,omitempty"`
7568 7569 // The IPv6 addresses of DNS recursive name servers to which the DHCP client
7570 // can send name resolution requests. The DHCP server includes this information
7571 // in the DNS Recursive Name Server option in Advertise, Rebind,
7572 // Information-Request, and Reply messages.
7573 DomainNameServers []string `json:"domain_name_servers,omitempty"`
7574 7575 // The DUID value for this IPv6 fixed address.
7576 Duid *string `json:"duid,omitempty"`
7577 7578 // Determines if the discovery for the IPv6 fixed address should be immediately
7579 // enabled.
7580 EnableImmediateDiscovery *bool `json:"enable_immediate_discovery,omitempty"`
7581 7582 // Extensible attributes associated with the object. For valid values for
7583 // extensible attributes, see {extattrs:values}.
7584 Ea EA `json:"extattrs"`
7585 7586 // The IPv6 Address of the DHCP IPv6 fixed address.
7587 Ipv6Addr *string `json:"ipv6addr,omitempty"`
7588 7589 // The IPv6 Address prefix of the DHCP IPv6 fixed address.
7590 Ipv6prefix *string `json:"ipv6prefix,omitempty"`
7591 7592 // Prefix bits of the DHCP IPv6 fixed address.
7593 Ipv6prefixBits *uint32 `json:"ipv6prefix_bits,omitempty"`
7594 7595 // This field contains the logic filters to be applied to this IPv6 fixed
7596 // address. This list corresponds to the match rules that are written to the
7597 // DHCPv6 configuration file.
7598 LogicFilterRules []*Logicfilterrule `json:"logic_filter_rules,omitempty"`
7599 7600 // The Microsoft Active Directory user related information.
7601 MsAdUserData *MsserverAduserData `json:"ms_ad_user_data,omitempty"`
7602 7603 // This field contains the name of this IPv6 fixed address.
7604 Name *string `json:"name,omitempty"`
7605 7606 // The network to which this IPv6 fixed address belongs, in IPv6 Address/CIDR
7607 // format.
7608 Network *string `json:"network,omitempty"`
7609 7610 // The name of the network view in which this IPv6 fixed address resides.
7611 NetworkView *string `json:"network_view,omitempty"`
7612 7613 // An array of DHCP option dhcpoption structs that lists the DHCP options
7614 // associated with the object.
7615 Options []*Dhcpoption `json:"options,omitempty"`
7616 7617 // The preferred lifetime value for this DHCP IPv6 fixed address object.
7618 PreferredLifetime *uint32 `json:"preferred_lifetime,omitempty"`
7619 7620 // The reference to the reserved interface to which the device belongs.
7621 ReservedInterface *string `json:"reserved_interface,omitempty"`
7622 7623 // Restarts the member service. The restart_if_needed flag can trigger a
7624 // restart on DHCP services only when it is enabled on CP member.
7625 RestartIfNeeded *bool `json:"restart_if_needed,omitempty"`
7626 7627 // The SNMPv3 credential for this IPv6 fixed address.
7628 Snmp3Credential *DiscoverySnmp3credential `json:"snmp3_credential,omitempty"`
7629 7630 // The SNMPv1 or SNMPv2 credential for this IPv6 fixed address.
7631 SnmpCredential *DiscoverySnmpcredential `json:"snmp_credential,omitempty"`
7632 7633 // If set on creation, the IPv6 fixed address will be created according to the
7634 // values specified in the named template.
7635 Template string `json:"template,omitempty"`
7636 7637 // If set to true, the CLI credential will override member-level settings.
7638 UseCliCredentials *bool `json:"use_cli_credentials,omitempty"`
7639 7640 // Use flag for: domain_name
7641 UseDomainName *bool `json:"use_domain_name,omitempty"`
7642 7643 // Use flag for: domain_name_servers
7644 UseDomainNameServers *bool `json:"use_domain_name_servers,omitempty"`
7645 7646 // Use flag for: logic_filter_rules
7647 UseLogicFilterRules *bool `json:"use_logic_filter_rules,omitempty"`
7648 7649 // Use flag for: options
7650 UseOptions *bool `json:"use_options,omitempty"`
7651 7652 // Use flag for: preferred_lifetime
7653 UsePreferredLifetime *bool `json:"use_preferred_lifetime,omitempty"`
7654 7655 // Determines if the SNMPv3 credential should be used for the IPv6 fixed
7656 // address.
7657 UseSnmp3Credential *bool `json:"use_snmp3_credential,omitempty"`
7658 7659 // If set to true, SNMP credential will override member level settings.
7660 UseSnmpCredential *bool `json:"use_snmp_credential,omitempty"`
7661 7662 // Use flag for: valid_lifetime
7663 UseValidLifetime *bool `json:"use_valid_lifetime,omitempty"`
7664 7665 // The valid lifetime value for this DHCP IPv6 Fixed Address object.
7666 ValidLifetime *uint32 `json:"valid_lifetime,omitempty"`
7667 }
7668 7669 func (Ipv6FixedAddress) ObjectType() string {
7670 return "ipv6fixedaddress"
7671 }
7672 7673 func (obj Ipv6FixedAddress) ReturnFields() []string {
7674 if obj.returnFields == nil {
7675 obj.returnFields = []string{"duid", "ipv6addr", "network_view"}
7676 }
7677 return obj.returnFields
7678 }
7679 7680 // Ipv6fixedaddresstemplate represents Infoblox object ipv6fixedaddresstemplate.
7681 // The IPv6 fixed address template used to create IPv6 fixed address objects in
7682 // a quick and consistent way. An IPv6 fixed address object created from an
7683 // IPv6 fixed address template will inherit most properties defined in the IPv6
7684 // fixed address template object; therefor, most of the IPv6 fixed address
7685 // template properties are the same as the fixed address object properties.
7686 type Ipv6fixedaddresstemplate struct {
7687 IBBase `json:"-"`
7688 7689 Ref string `json:"_ref,omitempty"`
7690 7691 // A descriptive comment of an IPv6 fixed address template object.
7692 Comment *string `json:"comment,omitempty"`
7693 7694 // Domain name of the IPv6 fixed address template object.
7695 DomainName *string `json:"domain_name,omitempty"`
7696 7697 // The IPv6 addresses of DNS recursive name servers to which the DHCP client
7698 // can send name resolution requests. The DHCP server includes this information
7699 // in the DNS Recursive Name Server option in Advertise, Rebind,
7700 // Information-Request, and Reply messages.
7701 DomainNameServers []string `json:"domain_name_servers,omitempty"`
7702 7703 // Extensible attributes associated with the object. For valid values for
7704 // extensible attributes, see {extattrs:values}.
7705 Ea EA `json:"extattrs"`
7706 7707 // This field contains the logic filters to be applied to this IPv6 fixed
7708 // address. This list corresponds to the match rules that are written to the
7709 // DHCPv6 configuration file.
7710 LogicFilterRules []*Logicfilterrule `json:"logic_filter_rules,omitempty"`
7711 7712 // Name of an IPv6 fixed address template object.
7713 Name *string `json:"name,omitempty"`
7714 7715 // The number of IPv6 addresses for this fixed address.
7716 NumberOfAddresses *uint32 `json:"number_of_addresses,omitempty"`
7717 7718 // The start address offset for this IPv6 fixed address.
7719 Offset *uint32 `json:"offset,omitempty"`
7720 7721 // An array of DHCP option dhcpoption structs that lists the DHCP options
7722 // associated with the object.
7723 Options []*Dhcpoption `json:"options,omitempty"`
7724 7725 // The preferred lifetime value for this DHCP IPv6 fixed address template
7726 // object.
7727 PreferredLifetime *uint32 `json:"preferred_lifetime,omitempty"`
7728 7729 // Use flag for: domain_name
7730 UseDomainName *bool `json:"use_domain_name,omitempty"`
7731 7732 // Use flag for: domain_name_servers
7733 UseDomainNameServers *bool `json:"use_domain_name_servers,omitempty"`
7734 7735 // Use flag for: logic_filter_rules
7736 UseLogicFilterRules *bool `json:"use_logic_filter_rules,omitempty"`
7737 7738 // Use flag for: options
7739 UseOptions *bool `json:"use_options,omitempty"`
7740 7741 // Use flag for: preferred_lifetime
7742 UsePreferredLifetime *bool `json:"use_preferred_lifetime,omitempty"`
7743 7744 // Use flag for: valid_lifetime
7745 UseValidLifetime *bool `json:"use_valid_lifetime,omitempty"`
7746 7747 // The valid lifetime value for this DHCP IPv6 fixed address template object.
7748 ValidLifetime *uint32 `json:"valid_lifetime,omitempty"`
7749 }
7750 7751 func (Ipv6fixedaddresstemplate) ObjectType() string {
7752 return "ipv6fixedaddresstemplate"
7753 }
7754 7755 func (obj Ipv6fixedaddresstemplate) ReturnFields() []string {
7756 if obj.returnFields == nil {
7757 obj.returnFields = []string{"comment", "name"}
7758 }
7759 return obj.returnFields
7760 }
7761 7762 // Ipv6Network represents Infoblox object ipv6network.
7763 // When DHCP services are configured on an appliance, the network that it
7764 // serves must be defined. After a network is created, you can either create
7765 // all the subnets individually, or create a parent network that encompasses
7766 // the subnets.
7767 type Ipv6Network struct {
7768 IBBase `json:"-"`
7769 7770 Ref string `json:"_ref,omitempty"`
7771 7772 // This flag controls whether reverse zones are automatically created when the
7773 // network is added.
7774 AutoCreateReversezone bool `json:"auto_create_reversezone,omitempty"`
7775 7776 // Structure containing all cloud API related information for this object.
7777 CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`
7778 7779 // Comment for the network; maximum 256 characters.
7780 Comment *string `json:"comment,omitempty"`
7781 7782 // The dynamic DNS domain name the appliance uses specifically for DDNS updates
7783 // for this network.
7784 DdnsDomainname *string `json:"ddns_domainname,omitempty"`
7785 7786 // Use this method to set or retrieve the ddns_enable_option_fqdn flag of a
7787 // DHCP IPv6 Network object. This method controls whether the FQDN option sent
7788 // by the client is to be used, or if the server can automatically generate the
7789 // FQDN. This setting overrides the upper-level settings.
7790 DdnsEnableOptionFqdn *bool `json:"ddns_enable_option_fqdn,omitempty"`
7791 7792 // If this field is set to True, the DHCP server generates a hostname and
7793 // updates DNS with it when the DHCP client request does not contain a
7794 // hostname.
7795 DdnsGenerateHostname *bool `json:"ddns_generate_hostname,omitempty"`
7796 7797 // This field controls whether only the DHCP server is allowed to update DNS,
7798 // regardless of the DHCP clients requests. Note that changes for this field
7799 // take effect only if ddns_enable_option_fqdn is True.
7800 DdnsServerAlwaysUpdates *bool `json:"ddns_server_always_updates,omitempty"`
7801 7802 // The DNS update Time to Live (TTL) value of a DHCP network object. The TTL is
7803 // a 32-bit unsigned integer that represents the duration, in seconds, for
7804 // which the update is cached. Zero indicates that the update is not cached.
7805 DdnsTtl *uint32 `json:"ddns_ttl,omitempty"`
7806 7807 // The reason for deleting the RIR registration request.
7808 DeleteReason *string `json:"delete_reason,omitempty"`
7809 7810 // Determines whether a network is disabled or not. When this is set to False,
7811 // the network is enabled.
7812 Disable *bool `json:"disable,omitempty"`
7813 7814 // Discover now status for this network.
7815 DiscoverNowStatus string `json:"discover_now_status,omitempty"`
7816 7817 // Number of the discovered BGP AS. When multiple BGP autonomous systems are
7818 // discovered in the network, this field displays "Multiple".
7819 DiscoveredBgpAs string `json:"discovered_bgp_as,omitempty"`
7820 7821 // Discovered bridge domain.
7822 DiscoveredBridgeDomain *string `json:"discovered_bridge_domain,omitempty"`
7823 7824 // Discovered tenant.
7825 DiscoveredTenant *string `json:"discovered_tenant,omitempty"`
7826 7827 // The identifier of the discovered VLAN. When multiple VLANs are discovered in
7828 // the network, this field displays "Multiple".
7829 DiscoveredVlanId string `json:"discovered_vlan_id,omitempty"`
7830 7831 // The name of the discovered VLAN. When multiple VLANs are discovered in the
7832 // network, this field displays "Multiple".
7833 DiscoveredVlanName string `json:"discovered_vlan_name,omitempty"`
7834 7835 // Description of the discovered VRF. When multiple VRFs are discovered in the
7836 // network, this field displays "Multiple".
7837 DiscoveredVrfDescription string `json:"discovered_vrf_description,omitempty"`
7838 7839 // The name of the discovered VRF. When multiple VRFs are discovered in the
7840 // network, this field displays "Multiple".
7841 DiscoveredVrfName string `json:"discovered_vrf_name,omitempty"`
7842 7843 // Route distinguisher of the discovered VRF. When multiple VRFs are discovered
7844 // in the network, this field displays "Multiple".
7845 DiscoveredVrfRd string `json:"discovered_vrf_rd,omitempty"`
7846 7847 // The discovery basic poll settings for this network.
7848 DiscoveryBasicPollSettings *DiscoveryBasicpollsettings `json:"discovery_basic_poll_settings,omitempty"`
7849 7850 // The discovery blackout setting for this network.
7851 DiscoveryBlackoutSetting *PropertiesBlackoutsetting `json:"discovery_blackout_setting,omitempty"`
7852 7853 // The network discovery engine type.
7854 DiscoveryEngineType string `json:"discovery_engine_type,omitempty"`
7855 7856 // The member that will run discovery for this network.
7857 DiscoveryMember *string `json:"discovery_member,omitempty"`
7858 7859 // Use this method to set or retrieve the domain_name value of a DHCP IPv6
7860 // Network object.
7861 DomainName *string `json:"domain_name,omitempty"`
7862 7863 // Use this method to set or retrieve the dynamic DNS updates flag of a DHCP
7864 // IPv6 Network object. The DHCP server can send DDNS updates to DNS servers in
7865 // the same Grid and to external DNS servers. This setting overrides the member
7866 // level settings.
7867 DomainNameServers []string `json:"domain_name_servers,omitempty"`
7868 7869 // The dynamic DNS updates flag of a DHCP IPv6 network object. If set to True,
7870 // the DHCP server sends DDNS updates to DNS servers in the same Grid, and to
7871 // external DNS servers.
7872 EnableDdns *bool `json:"enable_ddns,omitempty"`
7873 7874 // Determines whether a discovery is enabled or not for this network. When this
7875 // is set to False, the network discovery is disabled.
7876 EnableDiscovery *bool `json:"enable_discovery,omitempty"`
7877 7878 // Determines if IFMAP publishing is enabled for the network.
7879 EnableIfmapPublishing *bool `json:"enable_ifmap_publishing,omitempty"`
7880 7881 // Determines if the discovery for the network should be immediately enabled.
7882 EnableImmediateDiscovery *bool `json:"enable_immediate_discovery,omitempty"`
7883 7884 // The endpoints that provides data for the DHCP IPv6 Network object.
7885 EndpointSources []*CiscoiseEndpoint `json:"endpoint_sources,omitempty"`
7886 7887 // Extensible attributes associated with the object. For valid values for
7888 // extensible attributes, see {extattrs:values}.
7889 Ea EA `json:"extattrs"`
7890 7891 // The timestamp when the last RIR registration update was sent.
7892 LastRirRegistrationUpdateSent *UnixTime `json:"last_rir_registration_update_sent,omitempty"`
7893 7894 // Last RIR registration update status.
7895 LastRirRegistrationUpdateStatus string `json:"last_rir_registration_update_status,omitempty"`
7896 7897 // This field contains the logic filters to be applied on this IPv6 network.
7898 // This list corresponds to the match rules that are written to the DHCPv6
7899 // configuration file.
7900 LogicFilterRules []*Logicfilterrule `json:"logic_filter_rules,omitempty"`
7901 7902 // A list of members servers that serve DHCP for the network. All members in
7903 // the array must be of the same type. The struct type must be indicated in
7904 // each element, by setting the "_struct" member to the struct type.
7905 Members []*Dhcpmember `json:"members,omitempty"`
7906 7907 // This field controls whether this object is synchronized with the Multi-Grid
7908 // Master. If this field is set to True, objects are not synchronized.
7909 MgmPrivate *bool `json:"mgm_private,omitempty"`
7910 7911 // This field is assumed to be True unless filled by any conforming objects,
7912 // such as Network, IPv6 Network, Network Container, IPv6 Network Container,
7913 // and Network View. This value is set to False if mgm_private is set to True
7914 // in the parent object.
7915 MgmPrivateOverridable bool `json:"mgm_private_overridable,omitempty"`
7916 7917 // The Microsoft Active Directory user related information.
7918 MsAdUserData *MsserverAduserData `json:"ms_ad_user_data,omitempty"`
7919 7920 // The network address in IPv6 Address/CIDR format. For regular expression
7921 // searches, only the IPv6 Address portion is supported. Searches for the CIDR
7922 // portion is always an exact match. For example, both network containers
7923 // 16::0/28 and 26::0/24 are matched by expression '.6' and only 26::0/24 is
7924 // matched by '.6/24'.
7925 Network *string `json:"network,omitempty"`
7926 7927 // The network container to which this network belongs, if any.
7928 NetworkContainer string `json:"network_container,omitempty"`
7929 7930 // The name of the network view in which this network resides.
7931 NetworkView *string `json:"network_view,omitempty"`
7932 7933 // An array of DHCP option dhcpoption structs that lists the DHCP options
7934 // associated with the object.
7935 Options []*Dhcpoption `json:"options,omitempty"`
7936 7937 // The port control blackout setting for this network.
7938 PortControlBlackoutSetting *PropertiesBlackoutsetting `json:"port_control_blackout_setting,omitempty"`
7939 7940 // Use this method to set or retrieve the preferred lifetime value of a DHCP
7941 // IPv6 Network object.
7942 PreferredLifetime *uint32 `json:"preferred_lifetime,omitempty"`
7943 7944 // If the field is set to True, the leases are kept in the Recycle Bin until
7945 // one week after expiration. Otherwise, the leases are permanently deleted.
7946 RecycleLeases *bool `json:"recycle_leases,omitempty"`
7947 7948 // Restarts the member service.
7949 RestartIfNeeded *bool `json:"restart_if_needed,omitempty"`
7950 7951 // The registry (RIR) that allocated the IPv6 network address space.
7952 Rir string `json:"rir,omitempty"`
7953 7954 // The RIR organization associated with the IPv6 network.
7955 RirOrganization *string `json:"rir_organization,omitempty"`
7956 7957 // The RIR registration action.
7958 RirRegistrationAction string `json:"rir_registration_action,omitempty"`
7959 7960 // The registration status of the IPv6 network in RIR.
7961 RirRegistrationStatus string `json:"rir_registration_status,omitempty"`
7962 7963 // If the field is set to True, the discovery blackout setting will be used for
7964 // port control blackout setting.
7965 SamePortControlDiscoveryBlackout *bool `json:"same_port_control_discovery_blackout,omitempty"`
7966 7967 // Determines whether to send the RIR registration request.
7968 SendRirRequest *bool `json:"send_rir_request,omitempty"`
7969 7970 // The DHCP IPv6 Network Cisco ISE subscribe settings.
7971 SubscribeSettings *CiscoiseSubscribesetting `json:"subscribe_settings,omitempty"`
7972 7973 // If set on creation, the network is created according to the values specified
7974 // in the selected template.
7975 Template string `json:"template,omitempty"`
7976 7977 // Determines whether the DHCP IPv6 Network is unmanaged or not.
7978 Unmanaged *bool `json:"unmanaged,omitempty"`
7979 7980 // The number of unmanaged IP addresses as discovered by network discovery.
7981 UnmanagedCount uint32 `json:"unmanaged_count,omitempty"`
7982 7983 // This field controls whether the DHCP server updates DNS when a DHCP lease is
7984 // renewed.
7985 UpdateDnsOnLeaseRenewal *bool `json:"update_dns_on_lease_renewal,omitempty"`
7986 7987 // Use flag for: discovery_blackout_setting , port_control_blackout_setting,
7988 // same_port_control_discovery_blackout
7989 UseBlackoutSetting *bool `json:"use_blackout_setting,omitempty"`
7990 7991 // Use flag for: ddns_domainname
7992 UseDdnsDomainname *bool `json:"use_ddns_domainname,omitempty"`
7993 7994 // Use flag for: ddns_enable_option_fqdn
7995 UseDdnsEnableOptionFqdn *bool `json:"use_ddns_enable_option_fqdn,omitempty"`
7996 7997 // Use flag for: ddns_generate_hostname
7998 UseDdnsGenerateHostname *bool `json:"use_ddns_generate_hostname,omitempty"`
7999 8000 // Use flag for: ddns_ttl
8001 UseDdnsTtl *bool `json:"use_ddns_ttl,omitempty"`
8002 8003 // Use flag for: discovery_basic_poll_settings
8004 UseDiscoveryBasicPollingSettings *bool `json:"use_discovery_basic_polling_settings,omitempty"`
8005 8006 // Use flag for: domain_name
8007 UseDomainName *bool `json:"use_domain_name,omitempty"`
8008 8009 // Use flag for: domain_name_servers
8010 UseDomainNameServers *bool `json:"use_domain_name_servers,omitempty"`
8011 8012 // Use flag for: enable_ddns
8013 UseEnableDdns *bool `json:"use_enable_ddns,omitempty"`
8014 8015 // Use flag for: discovery_member , enable_discovery
8016 UseEnableDiscovery *bool `json:"use_enable_discovery,omitempty"`
8017 8018 // Use flag for: enable_ifmap_publishing
8019 UseEnableIfmapPublishing *bool `json:"use_enable_ifmap_publishing,omitempty"`
8020 8021 // Use flag for: logic_filter_rules
8022 UseLogicFilterRules *bool `json:"use_logic_filter_rules,omitempty"`
8023 8024 // Use flag for: mgm_private
8025 UseMgmPrivate *bool `json:"use_mgm_private,omitempty"`
8026 8027 // Use flag for: options
8028 UseOptions *bool `json:"use_options,omitempty"`
8029 8030 // Use flag for: preferred_lifetime
8031 UsePreferredLifetime *bool `json:"use_preferred_lifetime,omitempty"`
8032 8033 // Use flag for: recycle_leases
8034 UseRecycleLeases *bool `json:"use_recycle_leases,omitempty"`
8035 8036 // Use flag for: subscribe_settings
8037 UseSubscribeSettings *bool `json:"use_subscribe_settings,omitempty"`
8038 8039 // Use flag for: update_dns_on_lease_renewal
8040 UseUpdateDnsOnLeaseRenewal *bool `json:"use_update_dns_on_lease_renewal,omitempty"`
8041 8042 // Use flag for: valid_lifetime
8043 UseValidLifetime *bool `json:"use_valid_lifetime,omitempty"`
8044 8045 // Use flag for: zone_associations
8046 UseZoneAssociations *bool `json:"use_zone_associations,omitempty"`
8047 8048 // Use this method to set or retrieve the valid lifetime value of a DHCP IPv6
8049 // Network object.
8050 ValidLifetime *uint32 `json:"valid_lifetime,omitempty"`
8051 8052 // List of VLANs assigned to Network.
8053 Vlans []*Vlanlink `json:"vlans,omitempty"`
8054 8055 // The list of zones associated with this network.
8056 ZoneAssociations []*Zoneassociation `json:"zone_associations,omitempty"`
8057 }
8058 8059 func (Ipv6Network) ObjectType() string {
8060 return "ipv6network"
8061 }
8062 8063 func (obj Ipv6Network) ReturnFields() []string {
8064 if obj.returnFields == nil {
8065 obj.returnFields = []string{"comment", "network", "network_view"}
8066 }
8067 return obj.returnFields
8068 }
8069 8070 // Ipv6NetworkContainer represents Infoblox object ipv6networkcontainer.
8071 // A network can contain child networks. The network that contains child
8072 // networks is called a network container. This object encapsulates an IPv6
8073 // network container object.
8074 type Ipv6NetworkContainer struct {
8075 IBBase `json:"-"`
8076 8077 Ref string `json:"_ref,omitempty"`
8078 8079 // This flag controls whether reverse zones are automatically created when the
8080 // network is added.
8081 AutoCreateReversezone bool `json:"auto_create_reversezone,omitempty"`
8082 8083 // Structure containing all cloud API related information for this object.
8084 CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`
8085 8086 // Comment for the network; maximum 256 characters.
8087 Comment *string `json:"comment,omitempty"`
8088 8089 // The dynamic DNS domain name the appliance uses specifically for DDNS updates
8090 // for this network container.
8091 DdnsDomainname *string `json:"ddns_domainname,omitempty"`
8092 8093 // Use this method to set or retrieve the ddns_enable_option_fqdn flag of a
8094 // DHCP IPv6 Network Container object. This method controls whether the FQDN
8095 // option sent by the client is to be used, or if the server can automatically
8096 // generate the FQDN. This setting overrides the upper-level settings.
8097 DdnsEnableOptionFqdn *bool `json:"ddns_enable_option_fqdn,omitempty"`
8098 8099 // If this field is set to True, the DHCP server generates a hostname and
8100 // updates DNS with it when the DHCP client request does not contain a
8101 // hostname.
8102 DdnsGenerateHostname *bool `json:"ddns_generate_hostname,omitempty"`
8103 8104 // This field controls whether the DHCP server is allowed to update DNS,
8105 // regardless of the DHCP client requests. Note that changes for this field
8106 // take effect only if ddns_enable_option_fqdn is True.
8107 DdnsServerAlwaysUpdates *bool `json:"ddns_server_always_updates,omitempty"`
8108 8109 // The DNS update Time to Live (TTL) value of a DHCP network container object.
8110 // The TTL is a 32-bit unsigned integer that represents the duration, in
8111 // seconds, for which the update is cached. Zero indicates that the update is
8112 // not cached.
8113 DdnsTtl *uint32 `json:"ddns_ttl,omitempty"`
8114 8115 // The reason for deleting the RIR registration request.
8116 DeleteReason *string `json:"delete_reason,omitempty"`
8117 8118 // Discover now status for this network container.
8119 DiscoverNowStatus string `json:"discover_now_status,omitempty"`
8120 8121 // The discovery basic poll settings for this network container.
8122 DiscoveryBasicPollSettings *DiscoveryBasicpollsettings `json:"discovery_basic_poll_settings,omitempty"`
8123 8124 // The discovery blackout setting for this network container.
8125 DiscoveryBlackoutSetting *PropertiesBlackoutsetting `json:"discovery_blackout_setting,omitempty"`
8126 8127 // The network discovery engine type.
8128 DiscoveryEngineType string `json:"discovery_engine_type,omitempty"`
8129 8130 // The member that will run discovery for this network container.
8131 DiscoveryMember *string `json:"discovery_member,omitempty"`
8132 8133 // Use this method to set or retrieve the dynamic DNS updates flag of a DHCP
8134 // IPv6 Network Container object. The DHCP server can send DDNS updates to DNS
8135 // servers in the same Grid and to external DNS servers. This setting overrides
8136 // the member level settings.
8137 DomainNameServers []string `json:"domain_name_servers,omitempty"`
8138 8139 // The dynamic DNS updates flag of a DHCP IPv6 network container object. If set
8140 // to True, the DHCP server sends DDNS updates to DNS servers in the same Grid,
8141 // and to external DNS servers.
8142 EnableDdns *bool `json:"enable_ddns,omitempty"`
8143 8144 // Determines whether a discovery is enabled or not for this network container.
8145 // When this is set to False, the network container discovery is disabled.
8146 EnableDiscovery *bool `json:"enable_discovery,omitempty"`
8147 8148 // Determines if the discovery for the network container should be immediately
8149 // enabled.
8150 EnableImmediateDiscovery *bool `json:"enable_immediate_discovery,omitempty"`
8151 8152 // The endpoints that provides data for the DHCP IPv6 Network Container.
8153 EndpointSources []*CiscoiseEndpoint `json:"endpoint_sources,omitempty"`
8154 8155 // Extensible attributes associated with the object. For valid values for
8156 // extensible attributes, see {extattrs:values}.
8157 Ea EA `json:"extattrs"`
8158 8159 // The timestamp when the last RIR registration update was sent.
8160 LastRirRegistrationUpdateSent *UnixTime `json:"last_rir_registration_update_sent,omitempty"`
8161 8162 // Last RIR registration update status.
8163 LastRirRegistrationUpdateStatus string `json:"last_rir_registration_update_status,omitempty"`
8164 8165 // This field contains the logic filters to be applied on the this network
8166 // container. This list corresponds to the match rules that are written to the
8167 // dhcpd configuration file.
8168 LogicFilterRules []*Logicfilterrule `json:"logic_filter_rules,omitempty"`
8169 8170 // This field controls whether this object is synchronized with the Multi-Grid
8171 // Master. If this field is set to True, objects are not synchronized.
8172 MgmPrivate *bool `json:"mgm_private,omitempty"`
8173 8174 // This field is assumed to be True unless filled by any conforming objects,
8175 // such as Network, IPv6 Network, Network Container, IPv6 Network Container,
8176 // and Network View. This value is set to False if mgm_private is set to True
8177 // in the parent object.
8178 MgmPrivateOverridable bool `json:"mgm_private_overridable,omitempty"`
8179 8180 // The Microsoft Active Directory user related information.
8181 MsAdUserData *MsserverAduserData `json:"ms_ad_user_data,omitempty"`
8182 8183 // The network address in IPv6 Address/CIDR format. For regular expression
8184 // searches, only the IPv6 Address portion is supported. Searches for the CIDR
8185 // portion is always an exact match. For example, both network containers
8186 // 16::0/28 and 26::0/24 are matched by expression '.6' and only 26::0/24 is
8187 // matched by '.6/24'.
8188 Network string `json:"network,omitempty"`
8189 8190 // The network container to which this network belongs, if any.
8191 NetworkContainer string `json:"network_container,omitempty"`
8192 8193 // The name of the network view in which this network resides.
8194 NetworkView *string `json:"network_view,omitempty"`
8195 8196 // An array of DHCP option dhcpoption structs that lists the DHCP options
8197 // associated with the object.
8198 Options []*Dhcpoption `json:"options,omitempty"`
8199 8200 // The port control blackout setting for this network container.
8201 PortControlBlackoutSetting *PropertiesBlackoutsetting `json:"port_control_blackout_setting,omitempty"`
8202 8203 // Use this method to set or retrieve the preferred lifetime value of a DHCP
8204 // IPv6 Network Container object.
8205 PreferredLifetime *uint32 `json:"preferred_lifetime,omitempty"`
8206 8207 // Remove subnets delete option. Determines whether all child objects should be
8208 // removed alongside with the IPv6 network container or child objects should be
8209 // assigned to another parental container. By default child objects are deleted
8210 // with this network container.
8211 RemoveSubnets bool `json:"remove_subnets,omitempty"`
8212 8213 // Restarts the member service.
8214 RestartIfNeeded *bool `json:"restart_if_needed,omitempty"`
8215 8216 // The registry (RIR) that allocated the IPv6 network container address space.
8217 Rir string `json:"rir,omitempty"`
8218 8219 // The RIR organization associated with the IPv6 network container.
8220 RirOrganization *string `json:"rir_organization,omitempty"`
8221 8222 // The RIR registration action.
8223 RirRegistrationAction string `json:"rir_registration_action,omitempty"`
8224 8225 // The registration status of the IPv6 network container in RIR.
8226 RirRegistrationStatus string `json:"rir_registration_status,omitempty"`
8227 8228 // If the field is set to True, the discovery blackout setting will be used for
8229 // port control blackout setting.
8230 SamePortControlDiscoveryBlackout *bool `json:"same_port_control_discovery_blackout,omitempty"`
8231 8232 // Determines whether to send the RIR registration request.
8233 SendRirRequest *bool `json:"send_rir_request,omitempty"`
8234 8235 // The DHCP IPv6 Network Container Cisco ISE subscribe settings.
8236 SubscribeSettings *CiscoiseSubscribesetting `json:"subscribe_settings,omitempty"`
8237 8238 // Determines whether the network container is unmanaged or not.
8239 Unmanaged *bool `json:"unmanaged,omitempty"`
8240 8241 // This field controls whether the DHCP server updates DNS when a DHCP lease is
8242 // renewed.
8243 UpdateDnsOnLeaseRenewal *bool `json:"update_dns_on_lease_renewal,omitempty"`
8244 8245 // Use flag for: discovery_blackout_setting , port_control_blackout_setting,
8246 // same_port_control_discovery_blackout
8247 UseBlackoutSetting *bool `json:"use_blackout_setting,omitempty"`
8248 8249 // Use flag for: ddns_domainname
8250 UseDdnsDomainname *bool `json:"use_ddns_domainname,omitempty"`
8251 8252 // Use flag for: ddns_enable_option_fqdn
8253 UseDdnsEnableOptionFqdn *bool `json:"use_ddns_enable_option_fqdn,omitempty"`
8254 8255 // Use flag for: ddns_generate_hostname
8256 UseDdnsGenerateHostname *bool `json:"use_ddns_generate_hostname,omitempty"`
8257 8258 // Use flag for: ddns_ttl
8259 UseDdnsTtl *bool `json:"use_ddns_ttl,omitempty"`
8260 8261 // Use flag for: discovery_basic_poll_settings
8262 UseDiscoveryBasicPollingSettings *bool `json:"use_discovery_basic_polling_settings,omitempty"`
8263 8264 // Use flag for: domain_name_servers
8265 UseDomainNameServers *bool `json:"use_domain_name_servers,omitempty"`
8266 8267 // Use flag for: enable_ddns
8268 UseEnableDdns *bool `json:"use_enable_ddns,omitempty"`
8269 8270 // Use flag for: discovery_member , enable_discovery
8271 UseEnableDiscovery *bool `json:"use_enable_discovery,omitempty"`
8272 8273 // Use flag for: logic_filter_rules
8274 UseLogicFilterRules *bool `json:"use_logic_filter_rules,omitempty"`
8275 8276 // Use flag for: mgm_private
8277 UseMgmPrivate *bool `json:"use_mgm_private,omitempty"`
8278 8279 // Use flag for: options
8280 UseOptions *bool `json:"use_options,omitempty"`
8281 8282 // Use flag for: preferred_lifetime
8283 UsePreferredLifetime *bool `json:"use_preferred_lifetime,omitempty"`
8284 8285 // Use flag for: subscribe_settings
8286 UseSubscribeSettings *bool `json:"use_subscribe_settings,omitempty"`
8287 8288 // Use flag for: update_dns_on_lease_renewal
8289 UseUpdateDnsOnLeaseRenewal *bool `json:"use_update_dns_on_lease_renewal,omitempty"`
8290 8291 // Use flag for: valid_lifetime
8292 UseValidLifetime *bool `json:"use_valid_lifetime,omitempty"`
8293 8294 // Use flag for: zone_associations
8295 UseZoneAssociations *bool `json:"use_zone_associations,omitempty"`
8296 8297 // The network container utilization in percentage.
8298 Utilization uint32 `json:"utilization,omitempty"`
8299 8300 // Use this method to set or retrieve the valid lifetime value of a DHCP IPv6
8301 // Network Container object.
8302 ValidLifetime *uint32 `json:"valid_lifetime,omitempty"`
8303 8304 // The list of zones associated with this network container.
8305 ZoneAssociations []*Zoneassociation `json:"zone_associations,omitempty"`
8306 }
8307 8308 func (Ipv6NetworkContainer) ObjectType() string {
8309 return "ipv6networkcontainer"
8310 }
8311 8312 func (obj Ipv6NetworkContainer) ReturnFields() []string {
8313 if obj.returnFields == nil {
8314 obj.returnFields = []string{"comment", "network", "network_view"}
8315 }
8316 return obj.returnFields
8317 }
8318 8319 // IPv6NetworkTemplate represents Infoblox object ipv6networktemplate.
8320 // The IPv6 network template used to create IPv6 networks in a quick and
8321 // consistent way. IPv6 networks created from an IPv6 network template inherit
8322 // all the properties defined in the IPv6 network template, except for the
8323 // comment and CIDR that can be defined in the IPv6 network.
8324 type IPv6NetworkTemplate struct {
8325 IBBase `json:"-"`
8326 8327 Ref string `json:"_ref,omitempty"`
8328 8329 // This flag controls whether the template allows any netmask. You must specify
8330 // a netmask when creating a network using this template. If you set this
8331 // parameter to False, you must specify the "cidr" field for the network
8332 // template object.
8333 AllowAnyNetmask *bool `json:"allow_any_netmask,omitempty"`
8334 8335 // This flag controls whether reverse zones are automatically created when the
8336 // network is added.
8337 AutoCreateReversezone *bool `json:"auto_create_reversezone,omitempty"`
8338 8339 // The CIDR of the network in CIDR format.
8340 Cidr *uint32 `json:"cidr,omitempty"`
8341 8342 // This flag controls whether this template can be used to create network
8343 // objects in a cloud-computing deployment.
8344 CloudApiCompatible *bool `json:"cloud_api_compatible,omitempty"`
8345 8346 // Comment for the network; maximum 256 characters.
8347 Comment *string `json:"comment,omitempty"`
8348 8349 // The dynamic DNS domain name the appliance uses specifically for DDNS updates
8350 // for this network.
8351 DdnsDomainname *string `json:"ddns_domainname,omitempty"`
8352 8353 // Use this method to set or retrieve the ddns_enable_option_fqdn flag of a
8354 // DHCP IPv6 Network object. This method controls whether the FQDN option sent
8355 // by the client is to be used, or if the server can automatically generate the
8356 // FQDN. This setting overrides the upper-level settings.
8357 DdnsEnableOptionFqdn *bool `json:"ddns_enable_option_fqdn,omitempty"`
8358 8359 // If this field is set to True, the DHCP server generates a hostname and
8360 // updates DNS with it when the DHCP client request does not contain a
8361 // hostname.
8362 DdnsGenerateHostname *bool `json:"ddns_generate_hostname,omitempty"`
8363 8364 // This field controls whether the DHCP server is allowed to update DNS,
8365 // regardless of the DHCP client requests. Note that changes for this field
8366 // take effect only if ddns_enable_option_fqdn is True.
8367 DdnsServerAlwaysUpdates *bool `json:"ddns_server_always_updates,omitempty"`
8368 8369 // The DNS update Time to Live (TTL) value of a DHCP network object. The TTL is
8370 // a 32-bit unsigned integer that represents the duration, in seconds, for
8371 // which the update is cached. Zero indicates that the update is not cached.
8372 DdnsTtl *uint32 `json:"ddns_ttl,omitempty"`
8373 8374 // Reference the Cloud Platform Appliance to which authority of the object
8375 // should be delegated when the object is created using the template.
8376 DelegatedMember *Dhcpmember `json:"delegated_member,omitempty"`
8377 8378 // Use this method to set or retrieve the domain_name value of a DHCP IPv6
8379 // Network object.
8380 DomainName *string `json:"domain_name,omitempty"`
8381 8382 // Use this method to set or retrieve the dynamic DNS updates flag of a DHCP
8383 // IPv6 Network object. The DHCP server can send DDNS updates to DNS servers in
8384 // the same Grid and to external DNS servers. This setting overrides the member
8385 // level settings.
8386 DomainNameServers []string `json:"domain_name_servers,omitempty"`
8387 8388 // The dynamic DNS updates flag of a DHCP IPv6 network object. If set to True,
8389 // the DHCP server sends DDNS updates to DNS servers in the same Grid, and to
8390 // external DNS servers.
8391 EnableDdns *bool `json:"enable_ddns,omitempty"`
8392 8393 // Extensible attributes associated with the object. For valid values for
8394 // extensible attributes, see {extattrs:values}.
8395 Ea EA `json:"extattrs"`
8396 8397 // The list of IPv6 fixed address templates assigned to this IPv6 network
8398 // template object. When you create an IPv6 network based on an IPv6 network
8399 // template object that contains IPv6 fixed address templates, the IPv6 fixed
8400 // addresses are created based on the associated IPv6 fixed address templates.
8401 FixedAddressTemplates []string `json:"fixed_address_templates,omitempty"`
8402 8403 // The IPv6 Address prefix of the DHCP IPv6 network.
8404 Ipv6prefix *string `json:"ipv6prefix,omitempty"`
8405 8406 // This field contains the logic filters to be applied on this IPv6 network
8407 // template. This list corresponds to the match rules that are written to the
8408 // DHCPv6 configuration file.
8409 LogicFilterRules []*Logicfilterrule `json:"logic_filter_rules,omitempty"`
8410 8411 // A list of members that serve DHCP for the network. All members in the array
8412 // must be of the same type. The struct type must be indicated in each element,
8413 // by setting the "_struct" member to the struct type.
8414 Members []*Dhcpmember `json:"members,omitempty"`
8415 8416 // The name of this IPv6 network template.
8417 Name *string `json:"name,omitempty"`
8418 8419 // An array of DHCP option dhcpoption structs that lists the DHCP options
8420 // associated with the object.
8421 Options []*Dhcpoption `json:"options,omitempty"`
8422 8423 // Use this method to set or retrieve the preferred lifetime value of a DHCP
8424 // IPv6 Network object.
8425 PreferredLifetime *uint32 `json:"preferred_lifetime,omitempty"`
8426 8427 // The list of IPv6 address range templates assigned to this IPv6 network
8428 // template object. When you create an IPv6 network based on an IPv6 network
8429 // template object that contains IPv6 range templates, the IPv6 address ranges
8430 // are created based on the associated IPv6 address range templates.
8431 RangeTemplates []string `json:"range_templates,omitempty"`
8432 8433 // If the field is set to True, the leases are kept in the Recycle Bin until
8434 // one week after expiration. Otherwise, the leases are permanently deleted.
8435 RecycleLeases *bool `json:"recycle_leases,omitempty"`
8436 8437 // The registry (RIR) that allocated the IPv6 network address space.
8438 Rir string `json:"rir,omitempty"`
8439 8440 // The RIR organization associated with the IPv6 network.
8441 RirOrganization *string `json:"rir_organization,omitempty"`
8442 8443 // The action for the RIR registration.
8444 RirRegistrationAction string `json:"rir_registration_action,omitempty"`
8445 8446 // The registration status of the IPv6 network in RIR.
8447 RirRegistrationStatus string `json:"rir_registration_status,omitempty"`
8448 8449 // Determines whether to send the RIR registration request.
8450 SendRirRequest *bool `json:"send_rir_request,omitempty"`
8451 8452 // This field controls whether the DHCP server updates DNS when a DHCP lease is
8453 // renewed.
8454 UpdateDnsOnLeaseRenewal *bool `json:"update_dns_on_lease_renewal,omitempty"`
8455 8456 // Use flag for: ddns_domainname
8457 UseDdnsDomainname *bool `json:"use_ddns_domainname,omitempty"`
8458 8459 // Use flag for: ddns_enable_option_fqdn
8460 UseDdnsEnableOptionFqdn *bool `json:"use_ddns_enable_option_fqdn,omitempty"`
8461 8462 // Use flag for: ddns_generate_hostname
8463 UseDdnsGenerateHostname *bool `json:"use_ddns_generate_hostname,omitempty"`
8464 8465 // Use flag for: ddns_ttl
8466 UseDdnsTtl *bool `json:"use_ddns_ttl,omitempty"`
8467 8468 // Use flag for: domain_name
8469 UseDomainName *bool `json:"use_domain_name,omitempty"`
8470 8471 // Use flag for: domain_name_servers
8472 UseDomainNameServers *bool `json:"use_domain_name_servers,omitempty"`
8473 8474 // Use flag for: enable_ddns
8475 UseEnableDdns *bool `json:"use_enable_ddns,omitempty"`
8476 8477 // Use flag for: logic_filter_rules
8478 UseLogicFilterRules *bool `json:"use_logic_filter_rules,omitempty"`
8479 8480 // Use flag for: options
8481 UseOptions *bool `json:"use_options,omitempty"`
8482 8483 // Use flag for: preferred_lifetime
8484 UsePreferredLifetime *bool `json:"use_preferred_lifetime,omitempty"`
8485 8486 // Use flag for: recycle_leases
8487 UseRecycleLeases *bool `json:"use_recycle_leases,omitempty"`
8488 8489 // Use flag for: update_dns_on_lease_renewal
8490 UseUpdateDnsOnLeaseRenewal *bool `json:"use_update_dns_on_lease_renewal,omitempty"`
8491 8492 // Use flag for: valid_lifetime
8493 UseValidLifetime *bool `json:"use_valid_lifetime,omitempty"`
8494 8495 // Use this method to set or retrieve the valid lifetime value of a DHCP IPv6
8496 // Network object.
8497 ValidLifetime *uint32 `json:"valid_lifetime,omitempty"`
8498 }
8499 8500 func (IPv6NetworkTemplate) ObjectType() string {
8501 return "ipv6networktemplate"
8502 }
8503 8504 func (obj IPv6NetworkTemplate) ReturnFields() []string {
8505 if obj.returnFields == nil {
8506 obj.returnFields = []string{"comment", "name"}
8507 }
8508 return obj.returnFields
8509 }
8510 8511 // IPv6Range represents Infoblox object ipv6range.
8512 // A DHCP IPv6 range defines the specified range of IP addresses in an IPv6
8513 // network. A DHCP IPv6 range should be added for an IPv6 network so the
8514 // Infoblox appliance can assign IP addresses within that specified range to
8515 // DHCP clients. If the client is on an IPv6 network that is assigned a DHCP
8516 // IPv6 range, the device distributes an available IP address from that range
8517 // to the DHCP client, or to a DHCP relay agent if the request came through an
8518 // agent. The DHCP IPv6 range should also be assigned with a device. If devices
8519 // are in a grid, the particular member serving DHCP for the DHCP IPv6 range
8520 // must be specified. If the server is an independent device, this device must
8521 // be specified as the member that serves the DHCP IPv6 range.
8522 type IPv6Range struct {
8523 IBBase `json:"-"`
8524 8525 Ref string `json:"_ref,omitempty"`
8526 8527 // Type of a DHCP IPv6 Range object. Valid values are "ADDRESS", "PREFIX", or
8528 // "BOTH". When the address type is "ADDRESS", values for the 'start_addr' and
8529 // 'end_addr' members are required. When the address type is "PREFIX", values
8530 // for 'ipv6_start_prefix', 'ipv6_end_prefix', and 'ipv6_prefix_bits' are
8531 // required. When the address type is "BOTH", values for 'start_addr',
8532 // 'end_addr', 'ipv6_start_prefix', 'ipv6_end_prefix', and 'ipv6_prefix_bits'
8533 // are all required.
8534 AddressType *string `json:"address_type,omitempty"`
8535 8536 // Structure containing all cloud API related information for this object.
8537 CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`
8538 8539 // Comment for the range; maximum 256 characters.
8540 Comment *string `json:"comment,omitempty"`
8541 8542 // Determines whether a range is disabled or not. When this is set to False,
8543 // the range is enabled.
8544 Disable *bool `json:"disable,omitempty"`
8545 8546 // Discover now status for this range.
8547 DiscoverNowStatus string `json:"discover_now_status,omitempty"`
8548 8549 // The discovery basic poll settings for this range.
8550 DiscoveryBasicPollSettings *DiscoveryBasicpollsettings `json:"discovery_basic_poll_settings,omitempty"`
8551 8552 // The discovery blackout setting for this range.
8553 DiscoveryBlackoutSetting *PropertiesBlackoutsetting `json:"discovery_blackout_setting,omitempty"`
8554 8555 // The member that will run discovery for this range.
8556 DiscoveryMember *string `json:"discovery_member,omitempty"`
8557 8558 // Determines whether a discovery is enabled or not for this range. When this
8559 // is set to False, the discovery for this range is disabled.
8560 EnableDiscovery *bool `json:"enable_discovery,omitempty"`
8561 8562 // Determines if the discovery for the range should be immediately enabled.
8563 EnableImmediateDiscovery *bool `json:"enable_immediate_discovery,omitempty"`
8564 8565 // The IPv6 Address end address of the DHCP IPv6 range.
8566 EndAddr *string `json:"end_addr,omitempty"`
8567 8568 // The endpoints that provides data for the DHCP IPv6 Range object.
8569 EndpointSources []*CiscoiseEndpoint `json:"endpoint_sources,omitempty"`
8570 8571 // These are ranges of IP addresses that the appliance does not use to assign
8572 // to clients. You can use these exclusion addresses as static IP addresses.
8573 // They contain the start and end addresses of the exclusion range, and
8574 // optionally,information about this exclusion range.
8575 Exclude []*Exclusionrange `json:"exclude,omitempty"`
8576 8577 // Extensible attributes associated with the object. For valid values for
8578 // extensible attributes, see {extattrs:values}.
8579 Ea EA `json:"extattrs"`
8580 8581 // The IPv6 Address end prefix of the DHCP IPv6 range.
8582 Ipv6EndPrefix *string `json:"ipv6_end_prefix,omitempty"`
8583 8584 // Prefix bits of the DHCP IPv6 range.
8585 Ipv6PrefixBits *uint32 `json:"ipv6_prefix_bits,omitempty"`
8586 8587 // The IPv6 Address starting prefix of the DHCP IPv6 range.
8588 Ipv6StartPrefix *string `json:"ipv6_start_prefix,omitempty"`
8589 8590 // This field contains the logic filters to be applied to this IPv6 range. This
8591 // list corresponds to the match rules that are written to the DHCPv6
8592 // configuration file.
8593 LogicFilterRules []*Logicfilterrule `json:"logic_filter_rules,omitempty"`
8594 8595 // The member that will provide service for this range. {ipv6range:ipv6range}
8596 // needs to be set to 'MEMBER' if you want the server specified here to serve
8597 // the range. For searching by this field you should use a HTTP method that
8598 // contains a body (POST or PUT) with Dhcp Member structure dhcpmember and the
8599 // request should have option _method=GET.
8600 Member *Dhcpmember `json:"member,omitempty"`
8601 8602 // This field contains the name of the Microsoft scope.
8603 Name *string `json:"name,omitempty"`
8604 8605 // The network this range belongs to, in IPv6 Address/CIDR format.
8606 Network *string `json:"network,omitempty"`
8607 8608 // The name of the network view in which this range resides.
8609 NetworkView *string `json:"network_view,omitempty"`
8610 8611 // This field contains the Option filters to be applied to this IPv6 range. The
8612 // appliance uses the matching rules of these filters to select the address
8613 // range from which it assigns a lease.
8614 OptionFilterRules []*Filterrule `json:"option_filter_rules,omitempty"`
8615 8616 // The port control blackout setting for this range.
8617 PortControlBlackoutSetting *PropertiesBlackoutsetting `json:"port_control_blackout_setting,omitempty"`
8618 8619 // If the field is set to True, the leases are kept in the Recycle Bin until
8620 // one week after expiration. Otherwise, the leases are permanently deleted.
8621 RecycleLeases *bool `json:"recycle_leases,omitempty"`
8622 8623 // Restarts the member service.
8624 RestartIfNeeded *bool `json:"restart_if_needed,omitempty"`
8625 8626 // If the field is set to True, the discovery blackout setting will be used for
8627 // port control blackout setting.
8628 SamePortControlDiscoveryBlackout *bool `json:"same_port_control_discovery_blackout,omitempty"`
8629 8630 // The type of server that is going to serve the range. Valid values are: *
8631 // MEMBER * NONE
8632 ServerAssociationType *string `json:"server_association_type,omitempty"`
8633 8634 // The IPv6 Address starting address of the DHCP IPv6 range.
8635 StartAddr *string `json:"start_addr,omitempty"`
8636 8637 // The DHCP IPv6 Range Cisco ISE subscribe settings.
8638 SubscribeSettings *CiscoiseSubscribesetting `json:"subscribe_settings,omitempty"`
8639 8640 // If set on creation, the range will be created according to the values
8641 // specified in the named template.
8642 Template string `json:"template,omitempty"`
8643 8644 // Use flag for: discovery_blackout_setting , port_control_blackout_setting,
8645 // same_port_control_discovery_blackout
8646 UseBlackoutSetting *bool `json:"use_blackout_setting,omitempty"`
8647 8648 // Use flag for: discovery_basic_poll_settings
8649 UseDiscoveryBasicPollingSettings *bool `json:"use_discovery_basic_polling_settings,omitempty"`
8650 8651 // Use flag for: discovery_member , enable_discovery
8652 UseEnableDiscovery *bool `json:"use_enable_discovery,omitempty"`
8653 8654 // Use flag for: logic_filter_rules
8655 UseLogicFilterRules *bool `json:"use_logic_filter_rules,omitempty"`
8656 8657 // Use flag for: recycle_leases
8658 UseRecycleLeases *bool `json:"use_recycle_leases,omitempty"`
8659 8660 // Use flag for: subscribe_settings
8661 UseSubscribeSettings *bool `json:"use_subscribe_settings,omitempty"`
8662 }
8663 8664 func (IPv6Range) ObjectType() string {
8665 return "ipv6range"
8666 }
8667 8668 func (obj IPv6Range) ReturnFields() []string {
8669 if obj.returnFields == nil {
8670 obj.returnFields = []string{"comment", "end_addr", "network", "network_view", "start_addr"}
8671 }
8672 return obj.returnFields
8673 }
8674 8675 // Ipv6rangetemplate represents Infoblox object ipv6rangetemplate.
8676 // The IPv6 range template used to create an IPv6 range object in a quick and
8677 // consistent way. The DHCP IPv6 range created from the DHCP IPv6 range
8678 // template will inherit the properties defined in this template.
8679 type Ipv6rangetemplate struct {
8680 IBBase `json:"-"`
8681 8682 Ref string `json:"_ref,omitempty"`
8683 8684 // Determines whether the IPv6 DHCP range template can be used to create
8685 // network objects in a cloud-computing deployment.
8686 CloudApiCompatible *bool `json:"cloud_api_compatible,omitempty"`
8687 8688 // The IPv6 DHCP range template descriptive comment.
8689 Comment *string `json:"comment,omitempty"`
8690 8691 // The vConnector member that the object should be delegated to when created
8692 // from the IPv6 DHCP range template. I assume that vConnector refers to VMware
8693 // vConnector.
8694 DelegatedMember *Dhcpmember `json:"delegated_member,omitempty"`
8695 8696 // These are ranges of IPv6 addresses that the appliance does not use to assign
8697 // to clients. You can use these excluded addresses as static IPv6 addresses.
8698 // They contain the start and end addresses of the excluded range, and
8699 // optionally, information about this excluded range.
8700 Exclude []*Exclusionrangetemplate `json:"exclude,omitempty"`
8701 8702 // This field contains the logic filters to be applied on this IPv6 range. This
8703 // list corresponds to the match rules that are written to the DHCPv6
8704 // configuration file.
8705 LogicFilterRules []*Logicfilterrule `json:"logic_filter_rules,omitempty"`
8706 8707 // The member that will provide service for the IPv6 DHCP range. Set
8708 // {ipv6rangetemplate:ipv6rangetemplate} to 'MEMBER' if you want the server
8709 // specified here to serve the range. For searching by this field, use an HTTP
8710 // method that contains a body (POST or PUT) with MS DHCP server structure
8711 // msdhcpserver and the request should have option _method=GET.
8712 Member *Dhcpmember `json:"member,omitempty"`
8713 8714 // Name of the IPv6 DHCP range template.
8715 Name *string `json:"name,omitempty"`
8716 8717 // The number of addresses for the IPv6 DHCP range.
8718 NumberOfAddresses *uint32 `json:"number_of_addresses,omitempty"`
8719 8720 // The start address offset for the IPv6 DHCP range.
8721 Offset *uint32 `json:"offset,omitempty"`
8722 8723 // This field contains the Option filters to be applied to this IPv6 range. The
8724 // appliance uses the matching rules of these filters to select the address
8725 // range from which it assigns a lease.
8726 OptionFilterRules []*Filterrule `json:"option_filter_rules,omitempty"`
8727 8728 // Determines whether the leases are kept in Recycle Bin until one week after
8729 // expiry. If this is set to False, the leases are permanently deleted.
8730 RecycleLeases *bool `json:"recycle_leases,omitempty"`
8731 8732 // The type of server that is going to serve the IPv6 DHCP range.
8733 ServerAssociationType string `json:"server_association_type,omitempty"`
8734 8735 // Use flag for: logic_filter_rules
8736 UseLogicFilterRules *bool `json:"use_logic_filter_rules,omitempty"`
8737 8738 // Use flag for: recycle_leases
8739 UseRecycleLeases *bool `json:"use_recycle_leases,omitempty"`
8740 }
8741 8742 func (Ipv6rangetemplate) ObjectType() string {
8743 return "ipv6rangetemplate"
8744 }
8745 8746 func (obj Ipv6rangetemplate) ReturnFields() []string {
8747 if obj.returnFields == nil {
8748 obj.returnFields = []string{"comment", "name", "number_of_addresses", "offset"}
8749 }
8750 return obj.returnFields
8751 }
8752 8753 // IPv6SharedNetwork represents Infoblox object ipv6sharednetwork.
8754 // A shared network is a network segment to which you assign two or more
8755 // subnets. When subnets in a shared network contain IP addresses that are
8756 // available for dynamic allocation, the addresses are put into a common pool
8757 // for allocation when client requests arise. When you create a shared network,
8758 // the DHCP server can assign IP addresses to client requests from any subnet
8759 // (that resides on the same network interface) in the shared network.
8760 type IPv6SharedNetwork struct {
8761 IBBase `json:"-"`
8762 8763 Ref string `json:"_ref,omitempty"`
8764 8765 // Comment for the IPv6 shared network, maximum 256 characters.
8766 Comment *string `json:"comment,omitempty"`
8767 8768 // The dynamic DNS domain name the appliance uses specifically for DDNS updates
8769 // for this network.
8770 DdnsDomainname *string `json:"ddns_domainname,omitempty"`
8771 8772 // If this field is set to True, the DHCP server generates a hostname and
8773 // updates DNS with it when the DHCP client request does not contain a
8774 // hostname.
8775 DdnsGenerateHostname *bool `json:"ddns_generate_hostname,omitempty"`
8776 8777 // This field controls whether only the DHCP server is allowed to update DNS,
8778 // regardless of the DHCP clients requests. Note that changes for this field
8779 // take effect only if ddns_use_option81 is True.
8780 DdnsServerAlwaysUpdates *bool `json:"ddns_server_always_updates,omitempty"`
8781 8782 // The DNS update Time to Live (TTL) value of an IPv6 shared network object.
8783 // The TTL is a 32-bit unsigned integer that represents the duration, in
8784 // seconds, for which the update is cached. Zero indicates that the update is
8785 // not cached.
8786 DdnsTtl *uint32 `json:"ddns_ttl,omitempty"`
8787 8788 // The support for DHCP Option 81 at the IPv6 shared network level.
8789 DdnsUseOption81 *bool `json:"ddns_use_option81,omitempty"`
8790 8791 // Determines whether an IPv6 shared network is disabled or not. When this is
8792 // set to False, the IPv6 shared network is enabled.
8793 Disable *bool `json:"disable,omitempty"`
8794 8795 // Use this method to set or retrieve the domain_name value of a DHCP IPv6
8796 // Shared Network object.
8797 DomainName *string `json:"domain_name,omitempty"`
8798 8799 // Use this method to set or retrieve the dynamic DNS updates flag of a DHCP
8800 // IPv6 Shared Network object. The DHCP server can send DDNS updates to DNS
8801 // servers in the same Grid and to external DNS servers. This setting overrides
8802 // the member level settings.
8803 DomainNameServers []string `json:"domain_name_servers,omitempty"`
8804 8805 // The dynamic DNS updates flag of an IPv6 shared network object. If set to
8806 // True, the DHCP server sends DDNS updates to DNS servers in the same Grid,
8807 // and to external DNS servers.
8808 EnableDdns *bool `json:"enable_ddns,omitempty"`
8809 8810 // Extensible attributes associated with the object. For valid values for
8811 // extensible attributes, see {extattrs:values}.
8812 Ea EA `json:"extattrs"`
8813 8814 // This field contains the logic filters to be applied on the this IPv6 shared
8815 // network. This list corresponds to the match rules that are written to the
8816 // DHCPv6 configuration file.
8817 LogicFilterRules []*Logicfilterrule `json:"logic_filter_rules,omitempty"`
8818 8819 // The name of the IPv6 Shared Network.
8820 Name *string `json:"name,omitempty"`
8821 8822 // The name of the network view in which this IPv6 shared network resides.
8823 NetworkView string `json:"network_view,omitempty"`
8824 8825 // A list of IPv6 networks belonging to the shared network Each individual list
8826 // item must be specified as an object containing a '_ref' parameter to a
8827 // network reference, for example:: [{ "_ref":
8828 // "ipv6network/ZG5zdHdvcmskMTAuAvMTYvMA", }] if the reference of the wanted
8829 // network is not known, it is possible to specify search parameters for the
8830 // network instead in the following way:: [{ "_ref": { 'network': 'aabb::/64',
8831 // } }] note that in this case the search must match exactly one network for
8832 // the assignment to be successful.
8833 Networks []*Ipv6Network `json:"networks,omitempty"`
8834 8835 // An array of DHCP option dhcpoption structs that lists the DHCP options
8836 // associated with the object.
8837 Options []*Dhcpoption `json:"options,omitempty"`
8838 8839 // Use this method to set or retrieve the preferred lifetime value of a DHCP
8840 // IPv6 Shared Network object.
8841 PreferredLifetime *uint32 `json:"preferred_lifetime,omitempty"`
8842 8843 // This field controls whether the DHCP server updates DNS when a DHCP lease is
8844 // renewed.
8845 UpdateDnsOnLeaseRenewal *bool `json:"update_dns_on_lease_renewal,omitempty"`
8846 8847 // Use flag for: ddns_domainname
8848 UseDdnsDomainname *bool `json:"use_ddns_domainname,omitempty"`
8849 8850 // Use flag for: ddns_generate_hostname
8851 UseDdnsGenerateHostname *bool `json:"use_ddns_generate_hostname,omitempty"`
8852 8853 // Use flag for: ddns_ttl
8854 UseDdnsTtl *bool `json:"use_ddns_ttl,omitempty"`
8855 8856 // Use flag for: ddns_use_option81
8857 UseDdnsUseOption81 *bool `json:"use_ddns_use_option81,omitempty"`
8858 8859 // Use flag for: domain_name
8860 UseDomainName *bool `json:"use_domain_name,omitempty"`
8861 8862 // Use flag for: domain_name_servers
8863 UseDomainNameServers *bool `json:"use_domain_name_servers,omitempty"`
8864 8865 // Use flag for: enable_ddns
8866 UseEnableDdns *bool `json:"use_enable_ddns,omitempty"`
8867 8868 // Use flag for: logic_filter_rules
8869 UseLogicFilterRules *bool `json:"use_logic_filter_rules,omitempty"`
8870 8871 // Use flag for: options
8872 UseOptions *bool `json:"use_options,omitempty"`
8873 8874 // Use flag for: preferred_lifetime
8875 UsePreferredLifetime *bool `json:"use_preferred_lifetime,omitempty"`
8876 8877 // Use flag for: update_dns_on_lease_renewal
8878 UseUpdateDnsOnLeaseRenewal *bool `json:"use_update_dns_on_lease_renewal,omitempty"`
8879 8880 // Use flag for: valid_lifetime
8881 UseValidLifetime *bool `json:"use_valid_lifetime,omitempty"`
8882 8883 // Use this method to set or retrieve the valid lifetime value of a DHCP IPv6
8884 // Shared Network object.
8885 ValidLifetime *uint32 `json:"valid_lifetime,omitempty"`
8886 }
8887 8888 func (IPv6SharedNetwork) ObjectType() string {
8889 return "ipv6sharednetwork"
8890 }
8891 8892 func (obj IPv6SharedNetwork) ReturnFields() []string {
8893 if obj.returnFields == nil {
8894 obj.returnFields = []string{"comment", "name", "network_view", "networks"}
8895 }
8896 return obj.returnFields
8897 }
8898 8899 // Kerberoskey represents Infoblox object kerberoskey.
8900 // GSS-TSIG (Generic Security Service Algorithm for Secret Key Transaction) is
8901 // used to authenticate DDNS updates. It is a modified form of TSIG
8902 // authentication that uses Kerberos v5 authentication system.
8903 type Kerberoskey struct {
8904 IBBase `json:"-"`
8905 8906 Ref string `json:"_ref,omitempty"`
8907 8908 // The Kerberos domain name.
8909 Domain string `json:"domain,omitempty"`
8910 8911 // The Kerberos key encryption type.
8912 Enctype string `json:"enctype,omitempty"`
8913 8914 // Determines whether the Kerberos key is assigned to the Grid or Grid member.
8915 InUse bool `json:"in_use,omitempty"`
8916 8917 // The list of hostnames and services of Grid members where the key is assigned
8918 // or Grid/DHCP4 or Grid/DHCP6 or Grid/DNS.
8919 Members []string `json:"members,omitempty"`
8920 8921 // The principal of the Kerberos key object.
8922 Principal string `json:"principal,omitempty"`
8923 8924 // The timestamp of the Kerberos key upload operation.
8925 UploadTimestamp *UnixTime `json:"upload_timestamp,omitempty"`
8926 8927 // The Kerberos key version number (KVNO).
8928 Version uint32 `json:"version,omitempty"`
8929 }
8930 8931 func (Kerberoskey) ObjectType() string {
8932 return "kerberoskey"
8933 }
8934 8935 func (obj Kerberoskey) ReturnFields() []string {
8936 if obj.returnFields == nil {
8937 obj.returnFields = []string{"domain", "enctype", "in_use", "principal", "version"}
8938 }
8939 return obj.returnFields
8940 }
8941 8942 // LdapAuthService represents Infoblox object ldap_auth_service.
8943 // LDAP (Lightweight Directory Access Protocol) is an internet protocol for
8944 // accessing distributed directory services. The appliance can authenticate
8945 // admin accounts by verifying user names and passwords against LDAP. This
8946 // object is used to configure the LDAP authentication service.
8947 type LdapAuthService struct {
8948 IBBase `json:"-"`
8949 8950 Ref string `json:"_ref,omitempty"`
8951 8952 // The LDAP descriptive comment.
8953 Comment *string `json:"comment,omitempty"`
8954 8955 // Determines if the LDAP authentication service is disabled.
8956 Disable *bool `json:"disable,omitempty"`
8957 8958 // The mapping LDAP fields to extensible attributes.
8959 EaMapping []*LdapEamapping `json:"ea_mapping,omitempty"`
8960 8961 // The name of the LDAP attribute that defines group membership.
8962 LdapGroupAttribute *string `json:"ldap_group_attribute,omitempty"`
8963 8964 // The LDAP group authentication type.
8965 LdapGroupAuthenticationType string `json:"ldap_group_authentication_type,omitempty"`
8966 8967 // The LDAP userid attribute that is used for search.
8968 LdapUserAttribute *string `json:"ldap_user_attribute,omitempty"`
8969 8970 // The LDAP authentication mode.
8971 Mode string `json:"mode,omitempty"`
8972 8973 // The LDAP authentication service name.
8974 Name *string `json:"name,omitempty"`
8975 8976 // The period of time in seconds to wait before trying to contact a LDAP server
8977 // that has been marked as 'DOWN'.
8978 RecoveryInterval *uint32 `json:"recovery_interval,omitempty"`
8979 8980 // The maximum number of LDAP authentication attempts.
8981 Retries *uint32 `json:"retries,omitempty"`
8982 8983 // The starting point of the LDAP search.
8984 SearchScope string `json:"search_scope,omitempty"`
8985 8986 // The list of LDAP servers used for authentication.
8987 Servers []*LdapServer `json:"servers,omitempty"`
8988 8989 // The LDAP authentication timeout in seconds.
8990 Timeout *uint32 `json:"timeout,omitempty"`
8991 }
8992 8993 func (LdapAuthService) ObjectType() string {
8994 return "ldap_auth_service"
8995 }
8996 8997 func (obj LdapAuthService) ReturnFields() []string {
8998 if obj.returnFields == nil {
8999 obj.returnFields = []string{"comment", "disable", "ldap_user_attribute", "mode", "name"}
9000 }
9001 return obj.returnFields
9002 }
9003 9004 // Lease represents Infoblox object lease.
9005 // A DHCP lease is an IP address that the Infoblox appliance assigns to a DHCP
9006 // client for a certain amount of time. When the appliance assigns a lease, it
9007 // also assignes other information, such as the time when the appliance issued
9008 // or freed an IP address, the MAC address and host name of the client that
9009 // received the IP address, and the Grid member that supplied the lease. The
9010 // DHCP Lease object allows the appliance to store and correlate DHCP lease
9011 // information over the lifetime of a lease.
9012 type Lease struct {
9013 IBBase `json:"-"`
9014 9015 Ref string `json:"_ref,omitempty"`
9016 9017 // The IPv4 Address or IPv6 Address of the lease.
9018 Address string `json:"address,omitempty"`
9019 9020 // The billing_class value of a DHCP Lease object. This field specifies the
9021 // class to which this lease is currently billed. This field is for IPv4 leases
9022 // only.
9023 BillingClass string `json:"billing_class,omitempty"`
9024 9025 // The binding state for the current lease. Following are some of the values
9026 // this field can be set to: * ABANDONED: The Infoblox appliance cannot lease
9027 // this IP address because the appliance received a response when it pinged the
9028 // address. * ACTIVE: The lease is currently in use by a DHCP client. *
9029 // EXPIRED: The lease was in use, but the DHCP client never renewed it, so it
9030 // is no longer valid. * FREE: The lease is available for clients to use. *
9031 // RELEASED: The DHCP client returned the lease to the appliance.
9032 BindingState string `json:"binding_state,omitempty"`
9033 9034 // The client_hostname of a DHCP Lease object. This field specifies the host
9035 // name that the DHCP client sends to the Infoblox appliance using DHCP option
9036 // 12.
9037 ClientHostname string `json:"client_hostname,omitempty"`
9038 9039 // The CLTT (Client Last Transaction Time) value of a DHCP Lease object. This
9040 // field specifies the time of the last transaction with the DHCP client for
9041 // this lease.
9042 Cltt *UnixTime `json:"cltt,omitempty"`
9043 9044 // The discovered data for this lease.
9045 DiscoveredData *Discoverydata `json:"discovered_data,omitempty"`
9046 9047 // The end time value of a DHCP Lease object. This field specifies the time
9048 // when a lease ended.
9049 Ends *UnixTime `json:"ends,omitempty"`
9050 9051 // DHCP fingerprint for the lease.
9052 Fingerprint string `json:"fingerprint,omitempty"`
9053 9054 // The hardware type of a DHCP Lease object. This field specifies the MAC
9055 // address of the network interface on which the lease will be used. This field
9056 // is for IPv4 leases only.
9057 Hardware string `json:"hardware,omitempty"`
9058 9059 // The DUID value for this lease. This field is only applicable for IPv6
9060 // leases.
9061 Ipv6Duid string `json:"ipv6_duid,omitempty"`
9062 9063 // The interface ID of an IPv6 address that the Infoblox appliance leased to
9064 // the DHCP client. This field is for IPv6 leases only.
9065 Ipv6Iaid string `json:"ipv6_iaid,omitempty"`
9066 9067 // The preferred lifetime value of an IPv6 address that the Infoblox appliance
9068 // leased to the DHCP client. This field is for IPv6 leases only.
9069 Ipv6PreferredLifetime uint32 `json:"ipv6_preferred_lifetime,omitempty"`
9070 9071 // Prefix bits for this lease. This field is for IPv6 leases only.
9072 Ipv6PrefixBits uint32 `json:"ipv6_prefix_bits,omitempty"`
9073 9074 // This flag reflects whether the MAC address for this lease is invalid.
9075 IsInvalidMac bool `json:"is_invalid_mac,omitempty"`
9076 9077 // The Microsoft Active Directory user related information.
9078 MsAdUserData *MsserverAduserData `json:"ms_ad_user_data,omitempty"`
9079 9080 // The network, in "network/netmask" format, with which this lease is
9081 // associated.
9082 Network string `json:"network,omitempty"`
9083 9084 // The name of the network view in which this lease resides.
9085 NetworkView string `json:"network_view,omitempty"`
9086 9087 // If this field is set to True, the lease does not have an end time.
9088 NeverEnds bool `json:"never_ends,omitempty"`
9089 9090 // If this field is set to True, the lease does not have a start time.
9091 NeverStarts bool `json:"never_starts,omitempty"`
9092 9093 // The subsequent binding state when the current lease expires. This field is
9094 // for IPv4 leases only. Following are some of the values this field can be set
9095 // to: * ABANDONED: The Infoblox appliance cannot lease this IP address because
9096 // the appliance received a response when it pinged the address. * ACTIVE: The
9097 // lease is currently in use by a DHCP client. * EXPIRED: The lease was in use,
9098 // but the DHCP client never renewed it, so it is no longer valid. * FREE: The
9099 // lease is available for clients to use. * RELEASED: The DHCP client returned
9100 // the lease to the appliance.
9101 NextBindingState string `json:"next_binding_state,omitempty"`
9102 9103 // The list of commands to be executed when the lease is granted.
9104 OnCommit string `json:"on_commit,omitempty"`
9105 9106 // The list of commands to be executed when the lease expires.
9107 OnExpiry string `json:"on_expiry,omitempty"`
9108 9109 // The list of commands to be executed when the lease is released.
9110 OnRelease string `json:"on_release,omitempty"`
9111 9112 // The option value of a DHCP Lease object. This field specifies the agent
9113 // circuit ID and remote ID sent by a DHCP relay agent in DHCP option 82. This
9114 // field is for IPv4 leases only.
9115 Option string `json:"option,omitempty"`
9116 9117 // This field determines whether the lease is an IPv4 or IPv6 address.
9118 Protocol string `json:"protocol,omitempty"`
9119 9120 // This field represents the "Remote ID" sub-option of DHCP option 82. Remote
9121 // ID can be in ASCII form (e.g. ``"abcd"``) or in colon-separated HEX form
9122 // (e.g. ``1:2:ab:cd``). HEX representation is used only when the sub-option
9123 // value contains unprintable characters. If a remote ID sub-option value is in
9124 // ASCII form, it is always enclosed in quotes to prevent ambiguous values
9125 // (e.g. ``"10:20"`` - ASCII 5-byte string; ``10:20`` - HEX 2-byte value). *
9126 // ASCII representation is used if the remote ID sub-option contains only
9127 // printable ASCII characters (ASCII characters in range ``x20-0x7E``). * The
9128 // backslash symbol (``\``) is used as an escape symbol to escape the quote
9129 // symbol (``"``) in an ASCII string. * Double backslashes (``\\``) are used to
9130 // represent the backslash symbol (``\``) in an ASCII string. * HEX
9131 // representation is used only when the remote ID sub-option value contains
9132 // unprintable characters and is normalized as follows: * starting zero is
9133 // removed from digits: ``1``, ``a`` - Valid; ``01``, ``0a`` - Invalid; *
9134 // lowercase characters are used for symbols: ``fa`` - Valid; ``FA`` - Invalid.
9135 // NIOS does not support the convertion between HEX and ASCII formats. Searches
9136 // are performed using the exact same format and value as the sub-option is
9137 // represented. Query examples assume the following leases are stored in the
9138 // database: .. tabularcolumns:: |p{1in}|p{3in}|p{2in}| =========
9139 // ========================== ============================ Number Option field
9140 // Extracted remote ID field ========= ==========================
9141 // ============================ Lease01 agent.remote-id= "00152654358700"
9142 // "00152654358700" agent.circuit-id= "BX1-PORT-003" Lease02
9143 // agent.remote-id="Dhcp "Dhcp Relay 10" Relay 10" agent.circuit-id="Port008"
9144 // Lease03 agent.remote-id="00:01:02" "00:01:02" Lease04 agent.remote-id=0:1:2
9145 // 0:1:2 Lease05 agent.remote-id=02:03 2:3 Lease06 agent.remote-id=10:20 10:20
9146 // Lease07 agent.circuit-id= "no-remote-id" =========
9147 // ========================== ============================ Expected results: ..
9148 // tabularcolumns:: |p{1.5in}|p{1.5in}|p{3in}| =========================
9149 // ==================== ============================= Query Returned leases
9150 // Comments ========================= ====================
9151 // ============================= remote_id=01:02 None EXACT query. No results
9152 // are expected. remote_id="Dhcp Relay 10" Lease02 EXACT query for an ASCII
9153 // value. remote_id=0:1:2 Lease04 EXACT query for a HEX value.
9154 // remote_id=00:01:02 None EXACT query for a HEX value. No results are expected
9155 // as the search value is not normalized to the same format used in the
9156 // database. remote_id~=10 Lease02, Lease06 REGEX query. remote_id~=^".*1
9157 // Lease01, Lease02, REGEX query. Only ASCII Lease03 values are expected due to
9158 // the starting quote (``"``) in the search value. remote_id~=^[^"]*2 Lease04,
9159 // Lease05, REGEX query. Only HEX values Lease06 are expected as the starting
9160 // quote (``"``) is excluded from the search value. remote_id="" None EXACT
9161 // query. No results are expected as no leases that contain an empty remote ID
9162 // value exist in the database. ID value in the database. remote_id~=""
9163 // Lease01, Lease02, REGEX query. This query is Lease03, Lease04, expected to
9164 // match any Lease05, Lease06 lease that contain remote ID set to any value.
9165 // ========================= ==================== =============================
9166 // **NOTE:** Lease07 is not expected to be returned when searching for the
9167 // remote ID sub-option.
9168 RemoteId string `json:"remote_id,omitempty"`
9169 9170 // The IP address of the server that sends an active lease to a client.
9171 ServedBy string `json:"served_by,omitempty"`
9172 9173 // The host name of the Grid member or Microsoft DHCP server that issues the
9174 // lease.
9175 ServerHostName string `json:"server_host_name,omitempty"`
9176 9177 // The start time of a DHCP Lease object. This field specifies the time when
9178 // the lease starts.
9179 Starts *UnixTime `json:"starts,omitempty"`
9180 9181 // The TSFP (Time Sent From Partner) value of a DHCP Lease object. This field
9182 // specifies the time that the current lease state ends, from the point of view
9183 // of a remote DHCP failover peer. This field is for IPv4 leases only.
9184 Tsfp *UnixTime `json:"tsfp,omitempty"`
9185 9186 // The TSTP (Time Sent To Partner) value of a DHCP Lease object. This field
9187 // specifies the time that the current lease state ends, from the point of view
9188 // of a local DHCP failover peer. This field is for IPv4 leases only.
9189 Tstp *UnixTime `json:"tstp,omitempty"`
9190 9191 // The UID (User ID) value of a DHCP Lease object. This field specifies the
9192 // client identifier that the DHCP client sends the Infoblox appliance (in DHCP
9193 // option 61) when it acquires the lease. Not all DHCP clients send a UID. This
9194 // field is for IPv4 leases only.
9195 Uid string `json:"uid,omitempty"`
9196 9197 // The user name that the server has associated with a DHCP Lease object.
9198 Username string `json:"username,omitempty"`
9199 9200 // The variable value of a DHCP Lease object. This field keeps all variables
9201 // related to the DDNS update of the DHCP lease. The variables related to the
9202 // DDNS updates of the DHCP lease. The variables can be one of the following:
9203 // ddns-text: The ddns-text variable is used to record the value of the
9204 // client's TXT identification record when the interim DDNS update style has
9205 // been used to update the DNS service for a particular lease. ddns-fwd-name:
9206 // When a DDNS update was successfully completed, the ddns-fwd-name variable
9207 // records the value of the name used when the client's A record was updated.
9208 // The server may have used this name when it updated the client's PTR record.
9209 // ddns-client-fqdn: If the server is configured to use the interim DDNS update
9210 // style and is also configured to allow clients to update their own FQDNs, the
9211 // ddns-client-fqdn variable records the name that the client used when it
9212 // updated its own FQDN. This is also the name that the server used to update
9213 // the client's PTR record. ddns-rev-name: If the server successfully updates
9214 // the client's PTR record, this variable will record the name that the DHCP
9215 // server used for the PTR record. The name to which the PTR record points will
9216 // be either the ddns-fwd-name or the ddns-client-fqdn.
9217 Variable string `json:"variable,omitempty"`
9218 }
9219 9220 func (Lease) ObjectType() string {
9221 return "lease"
9222 }
9223 9224 func (obj Lease) ReturnFields() []string {
9225 if obj.returnFields == nil {
9226 obj.returnFields = []string{"address", "network_view"}
9227 }
9228 return obj.returnFields
9229 }
9230 9231 // LicenseGridwide represents Infoblox object license:gridwide.
9232 // This object represents the Grid-wide license.
9233 type LicenseGridwide struct {
9234 IBBase `json:"-"`
9235 9236 Ref string `json:"_ref,omitempty"`
9237 9238 // The license expiration status.
9239 ExpirationStatus string `json:"expiration_status,omitempty"`
9240 9241 // The expiration timestamp of the license.
9242 ExpiryDate *UnixTime `json:"expiry_date,omitempty"`
9243 9244 // The license string.
9245 Key string `json:"key,omitempty"`
9246 9247 // The license limit value.
9248 Limit string `json:"limit,omitempty"`
9249 9250 // The license limit context.
9251 LimitContext string `json:"limit_context,omitempty"`
9252 9253 // The license type.
9254 Type string `json:"type,omitempty"`
9255 }
9256 9257 func (LicenseGridwide) ObjectType() string {
9258 return "license:gridwide"
9259 }
9260 9261 func (obj LicenseGridwide) ReturnFields() []string {
9262 if obj.returnFields == nil {
9263 obj.returnFields = []string{"type"}
9264 }
9265 return obj.returnFields
9266 }
9267 9268 // LocaluserAuthservice represents Infoblox object localuser:authservice.
9269 // The object represents a local authentication service for authenticating
9270 // users against the local database.
9271 type LocaluserAuthservice struct {
9272 IBBase `json:"-"`
9273 9274 Ref string `json:"_ref,omitempty"`
9275 9276 // The local user authentication service comment.
9277 Comment string `json:"comment,omitempty"`
9278 9279 // Flag that indicates whether the local user authentication service is enabled
9280 // or not.
9281 Disabled bool `json:"disabled,omitempty"`
9282 9283 // The name of the local user authentication service.
9284 Name string `json:"name,omitempty"`
9285 }
9286 9287 func (LocaluserAuthservice) ObjectType() string {
9288 return "localuser:authservice"
9289 }
9290 9291 func (obj LocaluserAuthservice) ReturnFields() []string {
9292 if obj.returnFields == nil {
9293 obj.returnFields = []string{"comment", "disabled", "name"}
9294 }
9295 return obj.returnFields
9296 }
9297 9298 // MACFilterAddress represents Infoblox object macfilteraddress.
9299 // MAC filter address is part of the MAC filter.
9300 type MACFilterAddress struct {
9301 IBBase `json:"-"`
9302 9303 Ref string `json:"_ref,omitempty"`
9304 9305 // The absolute UNIX time (in seconds) since the address was last
9306 // authenticated.
9307 AuthenticationTime *UnixTime `json:"authentication_time,omitempty"`
9308 9309 // Comment for the MAC filter address; maximum 256 characters.
9310 Comment *string `json:"comment,omitempty"`
9311 9312 // The absolute UNIX time (in seconds) until the address expires.
9313 ExpirationTime *UnixTime `json:"expiration_time,omitempty"`
9314 9315 // Extensible attributes associated with the object. For valid values for
9316 // extensible attributes, see {extattrs:values}.
9317 Ea EA `json:"extattrs"`
9318 9319 // Name of the MAC filter to which this address belongs.
9320 Filter *string `json:"filter,omitempty"`
9321 9322 // DHCP fingerprint for the address.
9323 Fingerprint string `json:"fingerprint,omitempty"`
9324 9325 // Guest custom field 1.
9326 GuestCustomField1 *string `json:"guest_custom_field1,omitempty"`
9327 9328 // Guest custom field 2.
9329 GuestCustomField2 *string `json:"guest_custom_field2,omitempty"`
9330 9331 // Guest custom field 3.
9332 GuestCustomField3 *string `json:"guest_custom_field3,omitempty"`
9333 9334 // Guest custom field 4.
9335 GuestCustomField4 *string `json:"guest_custom_field4,omitempty"`
9336 9337 // Guest e-mail.
9338 GuestEmail *string `json:"guest_email,omitempty"`
9339 9340 // Guest first name.
9341 GuestFirstName *string `json:"guest_first_name,omitempty"`
9342 9343 // Guest last name.
9344 GuestLastName *string `json:"guest_last_name,omitempty"`
9345 9346 // Guest middle name.
9347 GuestMiddleName *string `json:"guest_middle_name,omitempty"`
9348 9349 // Guest phone number.
9350 GuestPhone *string `json:"guest_phone,omitempty"`
9351 9352 // Determines if the user has been authenticated or not.
9353 IsRegisteredUser bool `json:"is_registered_user,omitempty"`
9354 9355 // MAC Address.
9356 Mac *string `json:"mac,omitempty"`
9357 9358 // Determines if MAC address expiration is enabled or disabled.
9359 NeverExpires *bool `json:"never_expires,omitempty"`
9360 9361 // Reserved for future use.
9362 ReservedForInfoblox *string `json:"reserved_for_infoblox,omitempty"`
9363 9364 // Username for authenticated DHCP purposes.
9365 Username *string `json:"username,omitempty"`
9366 }
9367 9368 func (MACFilterAddress) ObjectType() string {
9369 return "macfilteraddress"
9370 }
9371 9372 func (obj MACFilterAddress) ReturnFields() []string {
9373 if obj.returnFields == nil {
9374 obj.returnFields = []string{"authentication_time", "comment", "expiration_time", "filter", "guest_custom_field1", "guest_custom_field2", "guest_custom_field3", "guest_custom_field4", "guest_email", "guest_first_name", "guest_last_name", "guest_middle_name", "guest_phone", "is_registered_user", "mac", "never_expires", "reserved_for_infoblox", "username"}
9375 }
9376 return obj.returnFields
9377 }
9378 9379 // Mastergrid represents Infoblox object mastergrid.
9380 // This object represents the Master Grid. The Master Grid object is
9381 // automatically generated when a Grid successfully joins the Master Grid.
9382 type Mastergrid struct {
9383 IBBase `json:"-"`
9384 9385 Ref string `json:"_ref,omitempty"`
9386 9387 // The domain name or IP address for the Master Grid.
9388 Address *string `json:"address,omitempty"`
9389 9390 // Determines if the sub-grid is currently disabled.
9391 ConnectionDisabled bool `json:"connection_disabled,omitempty"`
9392 9393 // The timestamp that indicates when the connection to the Master Grid was
9394 // established.
9395 ConnectionTimestamp *UnixTime `json:"connection_timestamp,omitempty"`
9396 9397 // The detached flag for the Master Grid.
9398 Detached bool `json:"detached,omitempty"`
9399 9400 // Determines if the Master Grid is enabled.
9401 Enable *bool `json:"enable,omitempty"`
9402 9403 // The flag shows if the Grid has joined the Master Grid.
9404 Joined bool `json:"joined,omitempty"`
9405 9406 // The Master Grid's last event.
9407 LastEvent string `json:"last_event,omitempty"`
9408 9409 // The details of the Master Grid's last event.
9410 LastEventDetails string `json:"last_event_details,omitempty"`
9411 9412 // The timestamp or the last synchronization operation with the Master Grid.
9413 LastSyncTimestamp *UnixTime `json:"last_sync_timestamp,omitempty"`
9414 9415 // The Master Grid port to which the Grid connects.
9416 Port *uint32 `json:"port,omitempty"`
9417 9418 // The Master Grid's status.
9419 Status string `json:"status,omitempty"`
9420 9421 // The flag shows if the MGMT port was used to join the Grid.
9422 UseMgmtPort bool `json:"use_mgmt_port,omitempty"`
9423 }
9424 9425 func (Mastergrid) ObjectType() string {
9426 return "mastergrid"
9427 }
9428 9429 func (obj Mastergrid) ReturnFields() []string {
9430 if obj.returnFields == nil {
9431 obj.returnFields = []string{"address", "enable", "port"}
9432 }
9433 return obj.returnFields
9434 }
9435 9436 // Member represents Infoblox object member.
9437 // This object represents the Infoblox Grid Member.
9438 type Member struct {
9439 IBBase `json:"-"`
9440 9441 Ref string `json:"_ref,omitempty"`
9442 9443 // The active server of a Grid member.
9444 ActivePosition string `json:"active_position,omitempty"`
9445 9446 // The additional IP list of a Grid member. This list contains additional
9447 // interface information that can be used at the member level. Note that
9448 // interface structure(s) with interface type set to 'MGMT' are not supported.
9449 AdditionalIpList []*Interface `json:"additional_ip_list,omitempty"`
9450 9451 // Member level settings for automated traffic capture.
9452 AutomatedTrafficCaptureSetting *SettingAutomatedtrafficcapture `json:"automated_traffic_capture_setting,omitempty"`
9453 9454 // The BGP configuration for anycast for a Grid member.
9455 BgpAs []*Bgpas `json:"bgp_as,omitempty"`
9456 9457 // A descriptive comment of the Grid member.
9458 Comment *string `json:"comment,omitempty"`
9459 9460 // Address configuration type.
9461 ConfigAddrType string `json:"config_addr_type,omitempty"`
9462 9463 // CSP portal on-prem host access key
9464 CspAccessKey []string `json:"csp_access_key,omitempty"`
9465 9466 // csp setting at member level
9467 CspMemberSetting *MemberCspmembersetting `json:"csp_member_setting,omitempty"`
9468 9469 // DNS resolver setting for member.
9470 DnsResolverSetting *SettingDnsresolver `json:"dns_resolver_setting,omitempty"`
9471 9472 // The DSCP (Differentiated Services Code Point) value.
9473 Dscp *uint32 `json:"dscp,omitempty"`
9474 9475 // The email setting for member.
9476 EmailSetting *SettingEmail `json:"email_setting,omitempty"`
9477 9478 // If set to True, the member has two physical nodes (HA pair).
9479 EnableHa *bool `json:"enable_ha,omitempty"`
9480 9481 // Determines if the LOM functionality is enabled or not.
9482 EnableLom *bool `json:"enable_lom,omitempty"`
9483 9484 // Determines if the member will redirect GUI connections to the Grid Master or
9485 // not.
9486 EnableMemberRedirect *bool `json:"enable_member_redirect,omitempty"`
9487 9488 // If set to True and the member object is a Grid Master Candidate, then
9489 // read-only API access is enabled.
9490 EnableRoApiAccess *bool `json:"enable_ro_api_access,omitempty"`
9491 9492 // Extensible attributes associated with the object. For valid values for
9493 // extensible attributes, see {extattrs:values}.
9494 Ea EA `json:"extattrs"`
9495 9496 // The list of external syslog backup servers.
9497 ExternalSyslogBackupServers []*Extsyslogbackupserver `json:"external_syslog_backup_servers,omitempty"`
9498 9499 // Determines if external syslog servers should be enabled.
9500 ExternalSyslogServerEnable *bool `json:"external_syslog_server_enable,omitempty"`
9501 9502 // The host name of the Grid member.
9503 HostName *string `json:"host_name,omitempty"`
9504 9505 // IPV6 setting for member.
9506 Ipv6Setting *Ipv6setting `json:"ipv6_setting,omitempty"`
9507 9508 // List of IPv6 static routes.
9509 Ipv6StaticRoutes []*Ipv6networksetting `json:"ipv6_static_routes,omitempty"`
9510 9511 // Determines if a Grid member supports DSCP (Differentiated Services Code
9512 // Point).
9513 IsDscpCapable bool `json:"is_dscp_capable,omitempty"`
9514 9515 // If this is set to "true", the LAN2 port is enabled as an independent port or
9516 // as a port for failover purposes.
9517 Lan2Enabled *bool `json:"lan2_enabled,omitempty"`
9518 9519 // Settings for the Grid member LAN2 port if 'lan2_enabled' is set to "true".
9520 Lan2PortSetting *Lan2portsetting `json:"lan2_port_setting,omitempty"`
9521 9522 // Determines if the Liquid Crystal Display (LCD) input buttons on the front
9523 // panel of the appliance are enabled or not.
9524 LcdInput *bool `json:"lcd_input,omitempty"`
9525 9526 // The Network configurations for LOM.
9527 LomNetworkConfig []*Lomnetworkconfig `json:"lom_network_config,omitempty"`
9528 9529 // The list of LOM users.
9530 LomUsers []*Lomuser `json:"lom_users,omitempty"`
9531 9532 // Determines if a Grid member is a Grid Master Candidate or not. This flag
9533 // enables the Grid member to assume the role of the Grid Master as a disaster
9534 // recovery measure.
9535 MasterCandidate *bool `json:"master_candidate,omitempty"`
9536 9537 // Configure communication type for various services.
9538 MemberServiceCommunication []*Memberservicecommunication `json:"member_service_communication,omitempty"`
9539 9540 // Settings for the member MGMT port.
9541 MgmtPortSetting *Mgmtportsetting `json:"mgmt_port_setting,omitempty"`
9542 9543 // Extensible attributes Topology database build time.
9544 MmdbEaBuildTime *UnixTime `json:"mmdb_ea_build_time,omitempty"`
9545 9546 // GeoIP Topology database build time.
9547 MmdbGeoipBuildTime *UnixTime `json:"mmdb_geoip_build_time,omitempty"`
9548 9549 // NAT settings for the member.
9550 NatSetting *Natsetting `json:"nat_setting,omitempty"`
9551 9552 // The node information list with detailed status report on the operations of
9553 // the Grid Member.
9554 NodeInfo []*Nodeinfo `json:"node_info,omitempty"`
9555 9556 // The member Network Time Protocol (NTP) settings.
9557 NTPSetting *MemberNtp `json:"ntp_setting,omitempty"`
9558 9559 // The OSPF area configuration (for anycast) list for a Grid member.
9560 OspfList []*Ospf `json:"ospf_list,omitempty"`
9561 9562 // The ARP protocol setting on the passive node of an HA pair. If you do not
9563 // specify a value, the default value is "false". You can only set this value
9564 // to "true" if the member is an HA pair.
9565 PassiveHaArpEnabled *bool `json:"passive_ha_arp_enabled,omitempty"`
9566 9567 // Hardware Platform.
9568 Platform string `json:"platform,omitempty"`
9569 9570 // Pre-provisioning information.
9571 PreProvisioning *Preprovision `json:"pre_provisioning,omitempty"`
9572 9573 // Set this flag to "true" to prevent the deletion of the member if any
9574 // delegated object remains attached to it.
9575 PreserveIfOwnsDelegation *bool `json:"preserve_if_owns_delegation,omitempty"`
9576 9577 // If set to True, superuser admins can access the Infoblox CLI from a remote
9578 // location using an SSH (Secure Shell) v2 client.
9579 RemoteConsoleAccessEnable *bool `json:"remote_console_access_enable,omitempty"`
9580 9581 // Virutal router identifier. Provide this ID if "ha_enabled" is set to "true".
9582 // This is a unique VRID number (from 1 to 255) for the local subnet.
9583 RouterId *uint32 `json:"router_id,omitempty"`
9584 9585 // The service status list of a grid member.
9586 ServiceStatus []*Memberservicestatus `json:"service_status,omitempty"`
9587 9588 // Configure all services to the given type.
9589 ServiceTypeConfiguration string `json:"service_type_configuration,omitempty"`
9590 9591 // The Grid Member SNMP settings.
9592 SnmpSetting *SettingSnmp `json:"snmp_setting,omitempty"`
9593 9594 // List of static routes.
9595 StaticRoutes []*SettingNetwork `json:"static_routes,omitempty"`
9596 9597 // Determines if support access for the Grid member should be enabled.
9598 SupportAccessEnable *bool `json:"support_access_enable,omitempty"`
9599 9600 // The information string for support access.
9601 SupportAccessInfo string `json:"support_access_info,omitempty"`
9602 9603 // The Grid Member syslog proxy settings.
9604 SyslogProxySetting *SettingSyslogproxy `json:"syslog_proxy_setting,omitempty"`
9605 9606 // The list of external syslog servers.
9607 SyslogServers []*Syslogserver `json:"syslog_servers,omitempty"`
9608 9609 // The maximum size for the syslog file expressed in megabytes.
9610 SyslogSize *uint32 `json:"syslog_size,omitempty"`
9611 9612 // Determines the list of threshold traps. The user can only change the values
9613 // for each trap or remove traps.
9614 ThresholdTraps []*Thresholdtrap `json:"threshold_traps,omitempty"`
9615 9616 // The time zone of the Grid member. The UTC string that represents the time
9617 // zone, such as "(UTC - 5:00) Eastern Time (US and Canada)".
9618 TimeZone *string `json:"time_zone,omitempty"`
9619 9620 // Grid level settings for enabling authoritative DNS latency thresholds for
9621 // automated traffic capture.
9622 TrafficCaptureAuthDnsSetting *SettingTriggeruthdnslatency `json:"traffic_capture_auth_dns_setting,omitempty"`
9623 9624 // Member level settings for enabling DNS cache hit ratio threshold for
9625 // automated traffic capture.
9626 TrafficCaptureChrSetting *SettingTrafficcapturechr `json:"traffic_capture_chr_setting,omitempty"`
9627 9628 // Member level settings for enabling DNS query per second threshold for
9629 // automated traffic capture.
9630 TrafficCaptureQpsSetting *SettingTrafficcaptureqps `json:"traffic_capture_qps_setting,omitempty"`
9631 9632 // Grid level settings for enabling recursive DNS latency thresholds for
9633 // automated traffic capture.
9634 TrafficCaptureRecDnsSetting *SettingTriggerrecdnslatency `json:"traffic_capture_rec_dns_setting,omitempty"`
9635 9636 // Grid level settings for enabling count for concurrent outgoing recursive
9637 // queries for automated traffic capture.
9638 TrafficCaptureRecQueriesSetting *SettingTriggerrecqueries `json:"traffic_capture_rec_queries_setting,omitempty"`
9639 9640 // Determines configuration of the trap notifications.
9641 TrapNotifications []*Trapnotification `json:"trap_notifications,omitempty"`
9642 9643 // The name of the upgrade group to which this Grid member belongs.
9644 UpgradeGroup *string `json:"upgrade_group,omitempty"`
9645 9646 // This flag is the use flag for enabling automated traffic capture based on
9647 // DNS cache ratio thresholds.
9648 UseAutomatedTrafficCapture *bool `json:"use_automated_traffic_capture,omitempty"`
9649 9650 // Use flag for: dns_resolver_setting
9651 UseDnsResolverSetting *bool `json:"use_dns_resolver_setting,omitempty"`
9652 9653 // Use flag for: dscp
9654 UseDscp *bool `json:"use_dscp,omitempty"`
9655 9656 // Use flag for: email_setting
9657 UseEmailSetting *bool `json:"use_email_setting,omitempty"`
9658 9659 // Use flag for: enable_lom
9660 UseEnableLom *bool `json:"use_enable_lom,omitempty"`
9661 9662 // Use flag for: enable_member_redirect
9663 UseEnableMemberRedirect *bool `json:"use_enable_member_redirect,omitempty"`
9664 9665 // Use flag for: external_syslog_backup_servers
9666 UseExternalSyslogBackupServers *bool `json:"use_external_syslog_backup_servers,omitempty"`
9667 9668 // Use flag for: lcd_input
9669 UseLcdInput *bool `json:"use_lcd_input,omitempty"`
9670 9671 // Use flag for: remote_console_access_enable
9672 UseRemoteConsoleAccessEnable *bool `json:"use_remote_console_access_enable,omitempty"`
9673 9674 // Use flag for: snmp_setting
9675 UseSnmpSetting *bool `json:"use_snmp_setting,omitempty"`
9676 9677 // Use flag for: support_access_enable
9678 UseSupportAccessEnable *bool `json:"use_support_access_enable,omitempty"`
9679 9680 // Use flag for: external_syslog_server_enable , syslog_servers,
9681 // syslog_proxy_setting, syslog_size
9682 UseSyslogProxySetting *bool `json:"use_syslog_proxy_setting,omitempty"`
9683 9684 // Use flag for: threshold_traps
9685 UseThresholdTraps *bool `json:"use_threshold_traps,omitempty"`
9686 9687 // Use flag for: time_zone
9688 UseTimeZone *bool `json:"use_time_zone,omitempty"`
9689 9690 // This flag is the use flag for enabling automated traffic capture based on
9691 // authorative DNS latency.
9692 UseTrafficCaptureAuthDns *bool `json:"use_traffic_capture_auth_dns,omitempty"`
9693 9694 // This flag is the use flag for automated traffic capture settings at member
9695 // level.
9696 UseTrafficCaptureChr *bool `json:"use_traffic_capture_chr,omitempty"`
9697 9698 // This flag is the use flag for enabling automated traffic capture based on
9699 // DNS querie per second thresholds.
9700 UseTrafficCaptureQps *bool `json:"use_traffic_capture_qps,omitempty"`
9701 9702 // This flag is the use flag for enabling automated traffic capture based on
9703 // recursive DNS latency.
9704 UseTrafficCaptureRecDns *bool `json:"use_traffic_capture_rec_dns,omitempty"`
9705 9706 // This flag is the use flag for enabling automated traffic capture based on
9707 // outgoing recursive queries.
9708 UseTrafficCaptureRecQueries *bool `json:"use_traffic_capture_rec_queries,omitempty"`
9709 9710 // Use flag for: trap_notifications
9711 UseTrapNotifications *bool `json:"use_trap_notifications,omitempty"`
9712 9713 // Specify "true" to use VRRPv4 or "false" to use VRRPv6.
9714 UseV4Vrrp *bool `json:"use_v4_vrrp,omitempty"`
9715 9716 // The network settings for the Grid member.
9717 VipSetting *SettingNetwork `json:"vip_setting,omitempty"`
9718 9719 // The VPN maximum transmission unit (MTU).
9720 VpnMtu *uint32 `json:"vpn_mtu,omitempty"`
9721 }
9722 9723 func (Member) ObjectType() string {
9724 return "member"
9725 }
9726 9727 func (obj Member) ReturnFields() []string {
9728 if obj.returnFields == nil {
9729 obj.returnFields = []string{"config_addr_type", "host_name", "platform", "service_type_configuration"}
9730 }
9731 return obj.returnFields
9732 }
9733 9734 func NewMember(member Member) *Member {
9735 res := member
9736 returnFields := []string{"host_name", "node_info", "time_zone"}
9737 res.returnFields = returnFields
9738 return &res
9739 }
9740 9741 // MemberDHCPProperties represents Infoblox object member:dhcpproperties.
9742 // This object represents a subset of the Infoblox Member DHCP properties.
9743 type MemberDHCPProperties struct {
9744 IBBase `json:"-"`
9745 9746 Ref string `json:"_ref,omitempty"`
9747 9748 // The Authentication Server Group object associated with this member.
9749 AuthServerGroup *string `json:"auth_server_group,omitempty"`
9750 9751 // The captive portal responsible for authenticating this DHCP member.
9752 AuthnCaptivePortal *string `json:"authn_captive_portal,omitempty"`
9753 9754 // The MAC filter representing the authenticated range.
9755 AuthnCaptivePortalAuthenticatedFilter *string `json:"authn_captive_portal_authenticated_filter,omitempty"`
9756 9757 // The flag that controls if this DHCP member is enabled for captive portal
9758 // authentication.
9759 AuthnCaptivePortalEnabled *bool `json:"authn_captive_portal_enabled,omitempty"`
9760 9761 // The MAC filter representing the guest range.
9762 AuthnCaptivePortalGuestFilter *string `json:"authn_captive_portal_guest_filter,omitempty"`
9763 9764 // The flag that controls if this DHCP member can send authentication requests
9765 // to an authentication server group.
9766 AuthnServerGroupEnabled *bool `json:"authn_server_group_enabled,omitempty"`
9767 9768 // The authority flag of a Grid member. This flag specifies if a DHCP server is
9769 // authoritative for a domain.
9770 Authority *bool `json:"authority,omitempty"`
9771 9772 // The name of a file that DHCP clients need to boot. This setting overrides
9773 // the Grid level setting.
9774 Bootfile *string `json:"bootfile,omitempty"`
9775 9776 // The name of the server on which a boot file is stored. This setting
9777 // overrides the Grid level setting.
9778 Bootserver *string `json:"bootserver,omitempty"`
9779 9780 // The member DDNS domain name value.
9781 DdnsDomainname *string `json:"ddns_domainname,omitempty"`
9782 9783 // Determines the ability of a member DHCP server to generate a host name and
9784 // update DNS with this host name when it receives a DHCP REQUEST message that
9785 // does not include a host name.
9786 DdnsGenerateHostname *bool `json:"ddns_generate_hostname,omitempty"`
9787 9788 // Determines the retry interval when the member DHCP server makes repeated
9789 // attempts to send DDNS updates to a DNS server.
9790 DdnsRetryInterval *uint32 `json:"ddns_retry_interval,omitempty"`
9791 9792 // Determines that only the DHCP server is allowed to update DNS, regardless of
9793 // the requests from the DHCP clients. This setting overrides the Grid level
9794 // setting.
9795 DdnsServerAlwaysUpdates *bool `json:"ddns_server_always_updates,omitempty"`
9796 9797 // The DDNS TTL (Dynamic DNS Time To Live) value specifies the number of
9798 // seconds an IP address for the name is cached.
9799 DdnsTtl *uint32 `json:"ddns_ttl,omitempty"`
9800 9801 // Determines if the member DHCP server's ability to update the A and PTR
9802 // records with a fixed address is enabled or not.
9803 DdnsUpdateFixedAddresses *bool `json:"ddns_update_fixed_addresses,omitempty"`
9804 9805 // Determines if support for option 81 is enabled or not.
9806 DdnsUseOption81 *bool `json:"ddns_use_option81,omitempty"`
9807 9808 // An ordered list of zone primaries that will receive DDNS updates.
9809 DdnsZonePrimaries []*Dhcpddns `json:"ddns_zone_primaries,omitempty"`
9810 9811 // Determines if a BOOTP server denies BOOTP request or not. This setting
9812 // overrides the Grid level setting.
9813 DenyBootp *bool `json:"deny_bootp,omitempty"`
9814 9815 // The percentage of the total DHCP utilization of DHCP objects belonging to
9816 // the Grid Member multiplied by 1000. This is the percentage of the total
9817 // number of available IP addresses from all the DHCP objects belonging to the
9818 // Grid Member versus the total number of all IP addresses in all of the DHCP
9819 // objects on the Grid Member.
9820 DhcpUtilization uint32 `json:"dhcp_utilization,omitempty"`
9821 9822 // A string describing the utilization level of DHCP objects that belong to the
9823 // Grid Member.
9824 DhcpUtilizationStatus string `json:"dhcp_utilization_status,omitempty"`
9825 9826 // The update style for dynamic DNS updates.
9827 DnsUpdateStyle string `json:"dns_update_style,omitempty"`
9828 9829 // The total number of DHCP leases issued for the DHCP objects on the Grid
9830 // Member.
9831 DynamicHosts uint32 `json:"dynamic_hosts,omitempty"`
9832 9833 // The email_list value of a member DHCP server.
9834 EmailList []string `json:"email_list,omitempty"`
9835 9836 // Determines if the member DHCP server's ability to send DDNS updates is
9837 // enabled or not.
9838 EnableDdns *bool `json:"enable_ddns,omitempty"`
9839 9840 // Determines if the DHCP service of a member is enabled or not.
9841 EnableDhcp *bool `json:"enable_dhcp,omitempty"`
9842 9843 // Determines if the DHCP service on the IPv6 LAN2 interface is enabled or not.
9844 EnableDhcpOnIpv6Lan2 *bool `json:"enable_dhcp_on_ipv6_lan2,omitempty"`
9845 9846 // Determines if the DHCP service on the LAN2 interface is enabled or not.
9847 EnableDhcpOnLan2 *bool `json:"enable_dhcp_on_lan2,omitempty"`
9848 9849 // Represents the watermarks above or below which address usage in a network is
9850 // unexpected and might warrant your attention. This setting overrides the Grid
9851 // level setting.
9852 EnableDhcpThresholds *bool `json:"enable_dhcp_thresholds,omitempty"`
9853 9854 // Determines if DHCPv6 service for the member is enabled or not.
9855 EnableDhcpv6Service *bool `json:"enable_dhcpv6_service,omitempty"`
9856 9857 // Determines if e-mail warnings are enabled or disabled. When DHCP threshold
9858 // is enabled and DHCP address usage crosses a watermark threshold, the
9859 // appliance sends an e-mail notification to an administrator.
9860 EnableEmailWarnings *bool `json:"enable_email_warnings,omitempty"`
9861 9862 // Determines if fingerprint feature is enabled on this member. If you enable
9863 // this feature, the server will match a fingerprint for incoming lease
9864 // requests.
9865 EnableFingerprint *bool `json:"enable_fingerprint,omitempty"`
9866 9867 // Determines whether the appliance is enabled to receive GSS-TSIG
9868 // authenticated updates from DHCP clients.
9869 EnableGssTsig *bool `json:"enable_gss_tsig,omitempty"`
9870 9871 // Determines if the Grid member's host name rewrite feature is enabled or not.
9872 EnableHostnameRewrite *bool `json:"enable_hostname_rewrite,omitempty"`
9873 9874 // Determines if lease query is allowed or not. This setting overrides the
9875 // Grid-level setting.
9876 EnableLeasequery *bool `json:"enable_leasequery,omitempty"`
9877 9878 // Determines if SNMP warnings are enabled or disabled on this DHCP member.
9879 // When DHCP threshold is enabled and DHCP address usage crosses a watermark
9880 // threshold, the appliance sends an SNMP trap to the trap receiver that was
9881 // defined for the Grid member level.
9882 EnableSnmpWarnings *bool `json:"enable_snmp_warnings,omitempty"`
9883 9884 // Extensible attributes associated with the object. For valid values for
9885 // extensible attributes, see {extattrs:values}.
9886 Ea EA `json:"extattrs"`
9887 9888 // The list of GSS-TSIG keys for a member DHCP object.
9889 GssTsigKeys []*Kerberoskey `json:"gss_tsig_keys,omitempty"`
9890 9891 // Determines the high watermark value of a member DHCP server. If the
9892 // percentage of allocated addresses exceeds this watermark, the appliance
9893 // makes a syslog entry and sends an e-mail notification (if enabled).
9894 // Specifies the percentage of allocated addresses. The range is from 1 to 100.
9895 HighWaterMark *uint32 `json:"high_water_mark,omitempty"`
9896 9897 // Determines the high watermark reset value of a member DHCP server. If the
9898 // percentage of allocated addresses drops below this value, a corresponding
9899 // SNMP trap is reset. Specifies the percentage of allocated addresses. The
9900 // range is from 1 to 100. The high watermark reset value must be lower than
9901 // the high watermark value.
9902 HighWaterMarkReset *uint32 `json:"high_water_mark_reset,omitempty"`
9903 9904 // Host name of the Grid member.
9905 HostName string `json:"host_name,omitempty"`
9906 9907 // The hostname rewrite policy that is in the protocol hostname rewrite
9908 // policies array of the Grid DHCP object. This attribute is mandatory if
9909 // enable_hostname_rewrite is "true".
9910 HostnameRewritePolicy *string `json:"hostname_rewrite_policy,omitempty"`
9911 9912 // Determines if the ignore DHCP option list request flag of a Grid member DHCP
9913 // is enabled or not. If this flag is set to true all available DHCP options
9914 // will be returned to the client.
9915 IgnoreDhcpOptionListRequest *bool `json:"ignore_dhcp_option_list_request,omitempty"`
9916 9917 // Indicates whether the appliance will ignore DHCP client IDs or MAC
9918 // addresses. Valid values are "NONE", "CLIENT", or "MACADDR". The default is
9919 // "NONE".
9920 IgnoreId string `json:"ignore_id,omitempty"`
9921 9922 // A list of MAC addresses the appliance will ignore.
9923 IgnoreMacAddresses []string `json:"ignore_mac_addresses,omitempty"`
9924 9925 // Determines if the Immediate Fixed address configuration apply feature for
9926 // the DHCP member is enabled or not.
9927 ImmediateFaConfiguration *bool `json:"immediate_fa_configuration,omitempty"`
9928 9929 // The IPv4 Address of the Grid member.
9930 Ipv4Addr string `json:"ipv4addr,omitempty"`
9931 9932 // The member DDNS IPv6 domain name value.
9933 Ipv6DdnsDomainname *string `json:"ipv6_ddns_domainname,omitempty"`
9934 9935 // Controls whether the FQDN option sent by the DHCPv6 client is to be used, or
9936 // if the server can automatically generate the FQDN.
9937 Ipv6DdnsEnableOptionFqdn *bool `json:"ipv6_ddns_enable_option_fqdn,omitempty"`
9938 9939 // The member IPv6 DDNS hostname value.
9940 Ipv6DdnsHostname *string `json:"ipv6_ddns_hostname,omitempty"`
9941 9942 // Determines if the server always updates DNS or updates only if requested by
9943 // the client.
9944 Ipv6DdnsServerAlwaysUpdates *bool `json:"ipv6_ddns_server_always_updates,omitempty"`
9945 9946 // The member IPv6 DDNS TTL value.
9947 Ipv6DdnsTtl *uint32 `json:"ipv6_ddns_ttl,omitempty"`
9948 9949 // The update style for dynamic DHCPv6 DNS updates.
9950 Ipv6DnsUpdateStyle string `json:"ipv6_dns_update_style,omitempty"`
9951 9952 // The IPv6 domain name.
9953 Ipv6DomainName *string `json:"ipv6_domain_name,omitempty"`
9954 9955 // The comma separated list of domain name server addresses in IPv6 address
9956 // format.
9957 Ipv6DomainNameServers []string `json:"ipv6_domain_name_servers,omitempty"`
9958 9959 // Determines if sending DDNS updates by the member DHCPv6 server is enabled or
9960 // not.
9961 Ipv6EnableDdns *bool `json:"ipv6_enable_ddns,omitempty"`
9962 9963 // Determines whether the appliance is enabled to receive GSS-TSIG
9964 // authenticated updates from DHCPv6 clients.
9965 Ipv6EnableGssTsig *bool `json:"ipv6_enable_gss_tsig,omitempty"`
9966 9967 // Indicates whether DHCPv6 lease scavenging is enabled or disabled.
9968 Ipv6EnableLeaseScavenging *bool `json:"ipv6_enable_lease_scavenging,omitempty"`
9969 9970 // Determines if the DHCPv6 server retries failed dynamic DNS updates or not.
9971 Ipv6EnableRetryUpdates *bool `json:"ipv6_enable_retry_updates,omitempty"`
9972 9973 // Determines if the server generates the hostname if it is not sent by the
9974 // client.
9975 Ipv6GenerateHostname *bool `json:"ipv6_generate_hostname,omitempty"`
9976 9977 // The list of GSS-TSIG keys for a member DHCPv6 object.
9978 Ipv6GssTsigKeys []*Kerberoskey `json:"ipv6_gss_tsig_keys,omitempty"`
9979 9980 // Determines the IPv6 address or FQDN of the Kerberos server for DHCPv6
9981 // GSS-TSIG authentication. This setting overrides the Grid level setting.
9982 Ipv6KdcServer *string `json:"ipv6_kdc_server,omitempty"`
9983 9984 // The member-level grace period (in seconds) to keep an expired lease before
9985 // it is deleted by the scavenging process.
9986 Ipv6LeaseScavengingTime *uint32 `json:"ipv6_lease_scavenging_time,omitempty"`
9987 9988 // The Microsoft client DHCP IPv6 code page value of a Grid member. This value
9989 // is the hostname translation code page for Microsoft DHCP IPv6 clients and
9990 // overrides the Grid level Microsoft DHCP IPv6 client code page.
9991 Ipv6MicrosoftCodePage string `json:"ipv6_microsoft_code_page,omitempty"`
9992 9993 // An array of DHCP option dhcpoption structs that lists the DHCPv6 options
9994 // associated with the object.
9995 Ipv6Options []*Dhcpoption `json:"ipv6_options,omitempty"`
9996 9997 // Determines if the IPv6 recycle leases feature is enabled or not. If the
9998 // feature is enabled, leases are kept in the Recycle Bin until one week after
9999 // lease expiration. When the feature is disabled, the leases are irrecoverably
10000 // deleted.
10001 Ipv6RecycleLeases *bool `json:"ipv6_recycle_leases,omitempty"`
10002 10003 // Enable binding for expired DHCPv6 leases.
10004 Ipv6RememberExpiredClientAssociation *bool `json:"ipv6_remember_expired_client_association,omitempty"`
10005 10006 // Determines the retry interval when the member DHCPv6 server makes repeated
10007 // attempts to send DDNS updates to a DNS server.
10008 Ipv6RetryUpdatesInterval *uint32 `json:"ipv6_retry_updates_interval,omitempty"`
10009 10010 // The server DHCPv6 unique identifier (DUID) for the Grid member.
10011 Ipv6ServerDuid *string `json:"ipv6_server_duid,omitempty"`
10012 10013 // Controls whether the DHCPv6 server updates DNS when an IPv6 DHCP lease is
10014 // renewed.
10015 Ipv6UpdateDnsOnLeaseRenewal *bool `json:"ipv6_update_dns_on_lease_renewal,omitempty"`
10016 10017 // The IPv6 Address of the Grid member.
10018 Ipv6Addr string `json:"ipv6addr,omitempty"`
10019 10020 // The IPv4 address or FQDN of the Kerberos server for DHCPv4 GSS-TSIG
10021 // authentication. This setting overrides the Grid level setting.
10022 KdcServer *string `json:"kdc_server,omitempty"`
10023 10024 // Defines how the appliance releases DHCP leases. Valid values are
10025 // "RELEASE_MACHING_ID", "NEVER_RELEASE", or "ONE_LEASE_PER_CLIENT". The
10026 // default is "RELEASE_MATCHING_ID".
10027 LeasePerClientSettings string `json:"lease_per_client_settings,omitempty"`
10028 10029 // Determines the lease scavenging time value. When this field is set, the
10030 // appliance permanently deletes the free and backup leases that remain in the
10031 // database beyond a specified period of time. To disable lease scavenging, set
10032 // the parameter to -1. The minimum positive value must be greater than 86400
10033 // seconds (1 day).
10034 LeaseScavengeTime int `json:"lease_scavenge_time,omitempty"`
10035 10036 // This value specifies whether the grid member logs lease events. This setting
10037 // overrides the Grid level setting.
10038 LogLeaseEvents *bool `json:"log_lease_events,omitempty"`
10039 10040 // This field contains the logic filters to be applied on the Grid member. This
10041 // list corresponds to the match rules that are written to the dhcpd
10042 // configuration file.
10043 LogicFilterRules []*Logicfilterrule `json:"logic_filter_rules,omitempty"`
10044 10045 // Determines the low watermark value. If the percent of allocated addresses
10046 // drops below this watermark, the appliance makes a syslog entry and sends an
10047 // e-mail notification (if enabled).
10048 LowWaterMark *uint32 `json:"low_water_mark,omitempty"`
10049 10050 // Determines the low watermark reset value. If the percentage of allocated
10051 // addresses exceeds this value, a corresponding SNMP trap is reset. A number
10052 // that specifies the percentage of allocated addresses. The range is from 1 to
10053 // 100. The low watermark reset value must be higher than the low watermark
10054 // value.
10055 LowWaterMarkReset *uint32 `json:"low_water_mark_reset,omitempty"`
10056 10057 // The Microsoft client DHCP IPv4 code page value of a grid member. This value
10058 // is the hostname translation code page for Microsoft DHCP IPv4 clients and
10059 // overrides the Grid level Microsoft DHCP IPv4 client code page.
10060 MicrosoftCodePage string `json:"microsoft_code_page,omitempty"`
10061 10062 // The next server value of a member DHCP server. This value is the IP address
10063 // or name of the boot file server on which the boot file is stored.
10064 Nextserver *string `json:"nextserver,omitempty"`
10065 10066 // The list of option 60 match rules.
10067 Option60MatchRules []*Option60matchrule `json:"option60_match_rules,omitempty"`
10068 10069 // An array of DHCP option dhcpoption structs that lists the DHCP options
10070 // associated with the object.
10071 Options []*Dhcpoption `json:"options,omitempty"`
10072 10073 // Specifies the number of pings that the Infoblox appliance sends to an IP
10074 // address to verify that it is not in use. Values are from 0 to 10, where 0
10075 // disables pings.
10076 PingCount *uint32 `json:"ping_count,omitempty"`
10077 10078 // Indicates the number of milliseconds the appliance waits for a response to
10079 // its ping. Valid values are 100, 500, 1000, 2000, 3000, 4000 and 5000
10080 // milliseconds.
10081 PingTimeout *uint32 `json:"ping_timeout,omitempty"`
10082 10083 // The preferred lifetime value.
10084 PreferredLifetime *uint32 `json:"preferred_lifetime,omitempty"`
10085 10086 // The Prefix length mode for DHCPv6.
10087 PrefixLengthMode string `json:"prefix_length_mode,omitempty"`
10088 10089 // Specifies the duration of time it takes a host to connect to a boot server,
10090 // such as a TFTP server, and download the file it needs to boot. A 32-bit
10091 // unsigned integer that represents the duration, in seconds, for which the
10092 // update is cached. Zero indicates that the update is not cached.
10093 PxeLeaseTime *uint32 `json:"pxe_lease_time,omitempty"`
10094 10095 // Determines if the recycle leases feature is enabled or not. If you enabled
10096 // this feature and then delete a DHCP range, the appliance stores active
10097 // leases from this range up to one week after the leases expires.
10098 RecycleLeases *bool `json:"recycle_leases,omitempty"`
10099 10100 // Indicates whether the DHCP server makes repeated attempts to send DDNS
10101 // updates to a DNS server.
10102 RetryDdnsUpdates *bool `json:"retry_ddns_updates,omitempty"`
10103 10104 // The number of static DHCP addresses configured in DHCP objects that belong
10105 // to the Grid Member.
10106 StaticHosts uint32 `json:"static_hosts,omitempty"`
10107 10108 // The syslog facility is the location on the syslog server to which you want
10109 // to sort the syslog messages.
10110 SyslogFacility string `json:"syslog_facility,omitempty"`
10111 10112 // The total number of DHCP addresses configured in DHCP objects that belong to
10113 // the Grid Member.
10114 TotalHosts uint32 `json:"total_hosts,omitempty"`
10115 10116 // Controls whether the DHCP server updates DNS when a DHCP lease is renewed.
10117 UpdateDnsOnLeaseRenewal *bool `json:"update_dns_on_lease_renewal,omitempty"`
10118 10119 // Use flag for: authority
10120 UseAuthority *bool `json:"use_authority,omitempty"`
10121 10122 // Use flag for: bootfile
10123 UseBootfile *bool `json:"use_bootfile,omitempty"`
10124 10125 // Use flag for: bootserver
10126 UseBootserver *bool `json:"use_bootserver,omitempty"`
10127 10128 // Use flag for: ddns_domainname
10129 UseDdnsDomainname *bool `json:"use_ddns_domainname,omitempty"`
10130 10131 // Use flag for: ddns_generate_hostname
10132 UseDdnsGenerateHostname *bool `json:"use_ddns_generate_hostname,omitempty"`
10133 10134 // Use flag for: ddns_ttl
10135 UseDdnsTtl *bool `json:"use_ddns_ttl,omitempty"`
10136 10137 // Use flag for: ddns_update_fixed_addresses
10138 UseDdnsUpdateFixedAddresses *bool `json:"use_ddns_update_fixed_addresses,omitempty"`
10139 10140 // Use flag for: ddns_use_option81
10141 UseDdnsUseOption81 *bool `json:"use_ddns_use_option81,omitempty"`
10142 10143 // Use flag for: deny_bootp
10144 UseDenyBootp *bool `json:"use_deny_bootp,omitempty"`
10145 10146 // Use flag for: dns_update_style
10147 UseDnsUpdateStyle *bool `json:"use_dns_update_style,omitempty"`
10148 10149 // Use flag for: email_list
10150 UseEmailList *bool `json:"use_email_list,omitempty"`
10151 10152 // Use flag for: enable_ddns
10153 UseEnableDdns *bool `json:"use_enable_ddns,omitempty"`
10154 10155 // Use flag for: enable_dhcp_thresholds , high_water_mark,
10156 // high_water_mark_reset, low_water_mark, low_water_mark_reset
10157 UseEnableDhcpThresholds *bool `json:"use_enable_dhcp_thresholds,omitempty"`
10158 10159 // Use flag for: enable_fingerprint
10160 UseEnableFingerprint *bool `json:"use_enable_fingerprint,omitempty"`
10161 10162 // Use flag for: kdc_server , enable_gss_tsig
10163 UseEnableGssTsig *bool `json:"use_enable_gss_tsig,omitempty"`
10164 10165 // Use flag for: enable_hostname_rewrite , hostname_rewrite_policy
10166 UseEnableHostnameRewrite *bool `json:"use_enable_hostname_rewrite,omitempty"`
10167 10168 // Use flag for: enable_leasequery
10169 UseEnableLeasequery *bool `json:"use_enable_leasequery,omitempty"`
10170 10171 // Use flag for: enable_one_lease_per_client
10172 UseEnableOneLeasePerClient *bool `json:"use_enable_one_lease_per_client,omitempty"`
10173 10174 // Use flag for: gss_tsig_keys
10175 UseGssTsigKeys *bool `json:"use_gss_tsig_keys,omitempty"`
10176 10177 // Use flag for: ignore_dhcp_option_list_request
10178 UseIgnoreDhcpOptionListRequest *bool `json:"use_ignore_dhcp_option_list_request,omitempty"`
10179 10180 // Use flag for: ignore_id
10181 UseIgnoreId *bool `json:"use_ignore_id,omitempty"`
10182 10183 // Use flag for: immediate_fa_configuration
10184 UseImmediateFaConfiguration *bool `json:"use_immediate_fa_configuration,omitempty"`
10185 10186 // Use flag for: ipv6_ddns_domainname
10187 UseIpv6DdnsDomainname *bool `json:"use_ipv6_ddns_domainname,omitempty"`
10188 10189 // Use flag for: ipv6_ddns_enable_option_fqdn
10190 UseIpv6DdnsEnableOptionFqdn *bool `json:"use_ipv6_ddns_enable_option_fqdn,omitempty"`
10191 10192 // Use flag for: ipv6_ddns_hostname
10193 UseIpv6DdnsHostname *bool `json:"use_ipv6_ddns_hostname,omitempty"`
10194 10195 // Use flag for: ipv6_ddns_ttl
10196 UseIpv6DdnsTtl *bool `json:"use_ipv6_ddns_ttl,omitempty"`
10197 10198 // Use flag for: ipv6_dns_update_style
10199 UseIpv6DnsUpdateStyle *bool `json:"use_ipv6_dns_update_style,omitempty"`
10200 10201 // Use flag for: ipv6_domain_name
10202 UseIpv6DomainName *bool `json:"use_ipv6_domain_name,omitempty"`
10203 10204 // Use flag for: ipv6_domain_name_servers
10205 UseIpv6DomainNameServers *bool `json:"use_ipv6_domain_name_servers,omitempty"`
10206 10207 // Use flag for: ipv6_enable_ddns
10208 UseIpv6EnableDdns *bool `json:"use_ipv6_enable_ddns,omitempty"`
10209 10210 // Use flag for: ipv6_kdc_server , ipv6_enable_gss_tsig
10211 UseIpv6EnableGssTsig *bool `json:"use_ipv6_enable_gss_tsig,omitempty"`
10212 10213 // Use flag for: ipv6_enable_retry_updates , ipv6_retry_updates_interval
10214 UseIpv6EnableRetryUpdates *bool `json:"use_ipv6_enable_retry_updates,omitempty"`
10215 10216 // Use flag for: ipv6_generate_hostname
10217 UseIpv6GenerateHostname *bool `json:"use_ipv6_generate_hostname,omitempty"`
10218 10219 // Use flag for: ipv6_gss_tsig_keys
10220 UseIpv6GssTsigKeys *bool `json:"use_ipv6_gss_tsig_keys,omitempty"`
10221 10222 // Use flag for: ipv6_enable_lease_scavenging , ipv6_lease_scavenging_time,
10223 // ipv6_remember_expired_client_association
10224 UseIpv6LeaseScavenging *bool `json:"use_ipv6_lease_scavenging,omitempty"`
10225 10226 // Use flag for: ipv6_microsoft_code_page
10227 UseIpv6MicrosoftCodePage *bool `json:"use_ipv6_microsoft_code_page,omitempty"`
10228 10229 // Use flag for: ipv6_options
10230 UseIpv6Options *bool `json:"use_ipv6_options,omitempty"`
10231 10232 // Use flag for: ipv6_recycle_leases
10233 UseIpv6RecycleLeases *bool `json:"use_ipv6_recycle_leases,omitempty"`
10234 10235 // Use flag for: ipv6_update_dns_on_lease_renewal
10236 UseIpv6UpdateDnsOnLeaseRenewal *bool `json:"use_ipv6_update_dns_on_lease_renewal,omitempty"`
10237 10238 // Use flag for: lease_per_client_settings
10239 UseLeasePerClientSettings *bool `json:"use_lease_per_client_settings,omitempty"`
10240 10241 // Use flag for: lease_scavenge_time
10242 UseLeaseScavengeTime *bool `json:"use_lease_scavenge_time,omitempty"`
10243 10244 // Use flag for: log_lease_events
10245 UseLogLeaseEvents *bool `json:"use_log_lease_events,omitempty"`
10246 10247 // Use flag for: logic_filter_rules
10248 UseLogicFilterRules *bool `json:"use_logic_filter_rules,omitempty"`
10249 10250 // Use flag for: microsoft_code_page
10251 UseMicrosoftCodePage *bool `json:"use_microsoft_code_page,omitempty"`
10252 10253 // Use flag for: nextserver
10254 UseNextserver *bool `json:"use_nextserver,omitempty"`
10255 10256 // Use flag for: options
10257 UseOptions *bool `json:"use_options,omitempty"`
10258 10259 // Use flag for: ping_count
10260 UsePingCount *bool `json:"use_ping_count,omitempty"`
10261 10262 // Use flag for: ping_timeout
10263 UsePingTimeout *bool `json:"use_ping_timeout,omitempty"`
10264 10265 // Use flag for: preferred_lifetime
10266 UsePreferredLifetime *bool `json:"use_preferred_lifetime,omitempty"`
10267 10268 // Use flag for: prefix_length_mode
10269 UsePrefixLengthMode *bool `json:"use_prefix_length_mode,omitempty"`
10270 10271 // Use flag for: pxe_lease_time
10272 UsePxeLeaseTime *bool `json:"use_pxe_lease_time,omitempty"`
10273 10274 // Use flag for: recycle_leases
10275 UseRecycleLeases *bool `json:"use_recycle_leases,omitempty"`
10276 10277 // Use flag for: ddns_retry_interval , retry_ddns_updates
10278 UseRetryDdnsUpdates *bool `json:"use_retry_ddns_updates,omitempty"`
10279 10280 // Use flag for: syslog_facility
10281 UseSyslogFacility *bool `json:"use_syslog_facility,omitempty"`
10282 10283 // Use flag for: update_dns_on_lease_renewal
10284 UseUpdateDnsOnLeaseRenewal *bool `json:"use_update_dns_on_lease_renewal,omitempty"`
10285 10286 // Use flag for: valid_lifetime
10287 UseValidLifetime *bool `json:"use_valid_lifetime,omitempty"`
10288 10289 // The valid lifetime for Grid Member DHCP. Specifies the length of time
10290 // addresses that are assigned to DHCPv6 clients remain in the valid state.
10291 ValidLifetime *uint32 `json:"valid_lifetime,omitempty"`
10292 }
10293 10294 func (MemberDHCPProperties) ObjectType() string {
10295 return "member:dhcpproperties"
10296 }
10297 10298 func (obj MemberDHCPProperties) ReturnFields() []string {
10299 if obj.returnFields == nil {
10300 obj.returnFields = []string{"host_name", "ipv4addr", "ipv6addr"}
10301 }
10302 return obj.returnFields
10303 }
10304 10305 // MemberDns represents Infoblox object member:dns.
10306 // The Grid Member DNS object can be used to configure DNS properties for a
10307 // Grid member, including enabling or disabling DNS services and other DNS
10308 // service related parameters. Grid service configurations are inherited by all
10309 // members.
10310 type MemberDns struct {
10311 IBBase `json:"-"`
10312 10313 Ref string `json:"_ref,omitempty"`
10314 10315 // Add custom IP, MAC and DNS View name ENDS0 options to outgoing recursive
10316 // queries.
10317 AddClientIpMacOptions *bool `json:"add_client_ip_mac_options,omitempty"`
10318 10319 // The list of additional IP addresses on which DNS is enabled for a Grid
10320 // member. Only one of "additional_ip_list" or "additional_ip_list_struct"
10321 // should be set when modifying the object.
10322 AdditionalIpList []string `json:"additional_ip_list,omitempty"`
10323 10324 // The list of additional IP addresses and IP Space Discriminator short names
10325 // on which DNS is enabled for a Grid member. Only one of "additional_ip_list"
10326 // or "additional_ip_list_struct" should be set when modifying the object.
10327 AdditionalIpListStruct []*MemberDnsip `json:"additional_ip_list_struct,omitempty"`
10328 10329 // Determines whether the GSS-TSIG zone updates is enabled for the Grid member.
10330 AllowGssTsigZoneUpdates *bool `json:"allow_gss_tsig_zone_updates,omitempty"`
10331 10332 // Determines if queries from specified IPv4 or IPv6 addresses and networks are
10333 // enabled or not. The appliance can also use Transaction Signature (TSIG) keys
10334 // to authenticate the queries. This setting overrides the Grid query settings.
10335 AllowQuery []*Addressac `json:"allow_query,omitempty"`
10336 10337 // Determines if the responses to recursive queries is enabled or not. This
10338 // setting overrides Grid recursive query settings.
10339 AllowRecursiveQuery *bool `json:"allow_recursive_query,omitempty"`
10340 10341 // Allows or rejects zone transfers from specified IPv4 or IPv6 addresses and
10342 // networks or allows transfers from hosts authenticated by Transaction
10343 // signature (TSIG) key. This setting overrides the Grid zone transfer
10344 // settings.
10345 AllowTransfer []*Addressac `json:"allow_transfer,omitempty"`
10346 10347 // Allows or rejects dynamic updates from specified IPv4 or IPv6 addresses,
10348 // networks or from host authenticated by TSIG key. This setting overrides Grid
10349 // update settings.
10350 AllowUpdate []*Addressac `json:"allow_update,omitempty"`
10351 10352 // The flag that indicates whether the anonymization of captured DNS responses
10353 // is enabled or disabled.
10354 AnonymizeResponseLogging *bool `json:"anonymize_response_logging,omitempty"`
10355 10356 // Enable DNS recursive query forwarding to Active Trust Cloud.
10357 AtcFwdEnable *bool `json:"atc_fwd_enable,omitempty"`
10358 10359 // Mitigation settings for DNS attacks.
10360 AttackMitigation *GridAttackmitigation `json:"attack_mitigation,omitempty"`
10361 10362 // The auto blackhole settings.
10363 AutoBlackhole *GridAutoblackhole `json:"auto_blackhole,omitempty"`
10364 10365 // Determines if the auto-generation of A and PTR records for the LAN2 IP
10366 // address is enabled or not, if DNS service is enabled on LAN2.
10367 AutoCreateAAndPtrForLan2 *bool `json:"auto_create_a_and_ptr_for_lan2,omitempty"`
10368 10369 // Determines if auto-generation of AAAA and IPv6 PTR records for LAN2 IPv6
10370 // address is enabled or not.
10371 AutoCreateAaaaAndIpv6ptrForLan2 *bool `json:"auto_create_aaaa_and_ipv6ptr_for_lan2,omitempty"`
10372 10373 // Determines if a Grid member to automatically sort DNS views is enabled or
10374 // not. The order of the DNS views determines the order in which the appliance
10375 // checks the match lists.
10376 AutoSortViews *bool `json:"auto_sort_views,omitempty"`
10377 10378 // The BIND check names policy, which indicates the action the appliance takes
10379 // when it encounters host names that do not comply with the Strict Hostname
10380 // Checking policy. This method applies only if the host name restriction
10381 // policy is set to 'Strict Hostname Checking'.
10382 BindCheckNamesPolicy string `json:"bind_check_names_policy,omitempty"`
10383 10384 // The value of the hostname directive for BIND.
10385 BindHostnameDirective string `json:"bind_hostname_directive,omitempty"`
10386 10387 // The value of the user-defined hostname directive for BIND. To enable
10388 // user-defined hostname directive, you must set the bind_hostname_directive to
10389 // "USER_DEFINED".
10390 BindHostnameDirectiveFqdn *string `json:"bind_hostname_directive_fqdn,omitempty"`
10391 10392 // The list of IPv4 or IPv6 addresses and networks from which DNS queries are
10393 // blocked. This setting overrides the Grid blackhole_list.
10394 BlackholeList []*Addressac `json:"blackhole_list,omitempty"`
10395 10396 // The action to perform when a domain name matches the pattern defined in a
10397 // rule that is specified by the blacklist_ruleset method.
10398 BlacklistAction string `json:"blacklist_action,omitempty"`
10399 10400 // Determines if blacklist redirection queries are logged or not.
10401 BlacklistLogQuery *bool `json:"blacklist_log_query,omitempty"`
10402 10403 // The IP addresses the appliance includes in the response it sends in place of
10404 // a blacklisted IP address.
10405 BlacklistRedirectAddresses []string `json:"blacklist_redirect_addresses,omitempty"`
10406 10407 // The TTL value of the synthetic DNS responses that result from blacklist
10408 // redirection.
10409 BlacklistRedirectTtl *uint32 `json:"blacklist_redirect_ttl,omitempty"`
10410 10411 // The DNS Ruleset object names assigned at the Grid level for blacklist
10412 // redirection.
10413 BlacklistRulesets []string `json:"blacklist_rulesets,omitempty"`
10414 10415 // The flag that indicates whether the capture of DNS queries for all domains
10416 // is enabled or disabled.
10417 CaptureDnsQueriesOnAllDomains *bool `json:"capture_dns_queries_on_all_domains,omitempty"`
10418 10419 // Determines whether the application of BIND check-names for zone transfers
10420 // and DDNS updates are enabled.
10421 CheckNamesForDdnsAndZoneTransfer *bool `json:"check_names_for_ddns_and_zone_transfer,omitempty"`
10422 10423 // Copy custom IP, MAC and DNS View name ENDS0 options from incoming to
10424 // outgoing recursive queries.
10425 CopyClientIpMacOptions *bool `json:"copy_client_ip_mac_options,omitempty"`
10426 10427 // Copies the allowed IPs from the zone transfer list into the also-notify
10428 // statement in the named.conf file.
10429 CopyXferToNotify *bool `json:"copy_xfer_to_notify,omitempty"`
10430 10431 // The list of custom root name servers. You can either select and use Internet
10432 // root name servers or specify custom root name servers by providing a host
10433 // name and IP address to which the Infoblox appliance can send queries.
10434 CustomRootNameServers []NameServer `json:"custom_root_name_servers,omitempty"`
10435 10436 // The EDNS0 support for queries that require recursive resolution on Grid
10437 // members.
10438 DisableEdns *bool `json:"disable_edns,omitempty"`
10439 10440 // The list of DNS64 synthesis groups associated with this member.
10441 Dns64Groups []string `json:"dns64_groups,omitempty"`
10442 10443 // The DNS cache acceleration status.
10444 DnsCacheAccelerationStatus string `json:"dns_cache_acceleration_status,omitempty"`
10445 10446 // The minimum TTL value, in seconds, that a DNS record must have in order for
10447 // it to be cached by the DNS Cache Acceleration service. An integer from 1 to
10448 // 65000 that represents the TTL in seconds.
10449 DnsCacheAccelerationTtl *uint32 `json:"dns_cache_acceleration_ttl,omitempty"`
10450 10451 // The flag that indicates whether the anycast failure (BFD session down) is
10452 // enabled on member failure or not.
10453 DnsHealthCheckAnycastControl *bool `json:"dns_health_check_anycast_control,omitempty"`
10454 10455 // The list of domain names for the DNS health check.
10456 DnsHealthCheckDomainList []string `json:"dns_health_check_domain_list,omitempty"`
10457 10458 // The time interval (in seconds) for DNS health check.
10459 DnsHealthCheckInterval *uint32 `json:"dns_health_check_interval,omitempty"`
10460 10461 // The flag that indicates whether the recursive DNS health check is enabled or
10462 // not.
10463 DnsHealthCheckRecursionFlag *bool `json:"dns_health_check_recursion_flag,omitempty"`
10464 10465 // The number of DNS health check retries.
10466 DnsHealthCheckRetries *uint32 `json:"dns_health_check_retries,omitempty"`
10467 10468 // The DNS health check timeout interval (in seconds).
10469 DnsHealthCheckTimeout *uint32 `json:"dns_health_check_timeout,omitempty"`
10470 10471 // Determines which IP address is used as the source for DDNS notify and
10472 // transfer operations.
10473 DnsNotifyTransferSource string `json:"dns_notify_transfer_source,omitempty"`
10474 10475 // The source address used if dns_notify_transfer_source type is "IP".
10476 DnsNotifyTransferSourceAddress *string `json:"dns_notify_transfer_source_address,omitempty"`
10477 10478 // Enables DNS over TLS service.
10479 DnsOverTlsService *bool `json:"dns_over_tls_service,omitempty"`
10480 10481 // The time limit (in minutes) for the DNS query capture file.
10482 DnsQueryCaptureFileTimeLimit *uint32 `json:"dns_query_capture_file_time_limit,omitempty"`
10483 10484 // The source address used if dns_query_source_interface type is "IP".
10485 DnsQuerySourceAddress *string `json:"dns_query_source_address,omitempty"`
10486 10487 // Determines which IP address is used as the source for DDNS query operations.
10488 DnsQuerySourceInterface string `json:"dns_query_source_interface,omitempty"`
10489 10490 // Array of notify/query source settings for views.
10491 DnsViewAddressSettings []*SettingViewaddress `json:"dns_view_address_settings,omitempty"`
10492 10493 // Determines if the blacklist rules for DNSSEC-enabled clients are enabled or
10494 // not.
10495 DnssecBlacklistEnabled *bool `json:"dnssec_blacklist_enabled,omitempty"`
10496 10497 // Determines if the DNS64 groups for DNSSEC-enabled clients are enabled or
10498 // not.
10499 DnssecDns64Enabled *bool `json:"dnssec_dns64_enabled,omitempty"`
10500 10501 // Determines if the DNS security extension is enabled or not.
10502 DnssecEnabled *bool `json:"dnssec_enabled,omitempty"`
10503 10504 // Determines when the DNS member accepts expired signatures.
10505 DnssecExpiredSignaturesEnabled *bool `json:"dnssec_expired_signatures_enabled,omitempty"`
10506 10507 // A list of zones for which the server does not perform DNSSEC validation.
10508 DnssecNegativeTrustAnchors []string `json:"dnssec_negative_trust_anchors,omitempty"`
10509 10510 // Determines if the NXDOMAIN rules for DNSSEC-enabled clients are enabled or
10511 // not.
10512 DnssecNxdomainEnabled *bool `json:"dnssec_nxdomain_enabled,omitempty"`
10513 10514 // Determines if the RPZ policies for DNSSEC-enabled clients are enabled or
10515 // not.
10516 DnssecRpzEnabled *bool `json:"dnssec_rpz_enabled,omitempty"`
10517 10518 // The list of trusted keys for the DNSSEC feature.
10519 DnssecTrustedKeys []*Dnssectrustedkey `json:"dnssec_trusted_keys,omitempty"`
10520 10521 // Determines if the DNS security validation is enabled or not.
10522 DnssecValidationEnabled *bool `json:"dnssec_validation_enabled,omitempty"`
10523 10524 // The DNSTAP settings.
10525 DnstapSetting *Dnstapsetting `json:"dnstap_setting,omitempty"`
10526 10527 // DNS over HTTPS sessions duration.
10528 DohHttpsSessionDuration *uint32 `json:"doh_https_session_duration,omitempty"`
10529 10530 // Enables DNS over HTTPS service.
10531 DohService *bool `json:"doh_service,omitempty"`
10532 10533 // The list of domains for DNS query capture.
10534 DomainsToCaptureDnsQueries []string `json:"domains_to_capture_dns_queries,omitempty"`
10535 10536 // Setting to control specific behavior for DTC DNS responses for incoming lbdn
10537 // matched queries.
10538 DtcDnsQueriesSpecificBehavior string `json:"dtc_dns_queries_specific_behavior,omitempty"`
10539 10540 // Determines whether to prefer the client address from the edns-client-subnet
10541 // option for DTC or not.
10542 DtcEdnsPreferClientSubnet *bool `json:"dtc_edns_prefer_client_subnet,omitempty"`
10543 10544 // The health check source type.
10545 DtcHealthSource string `json:"dtc_health_source,omitempty"`
10546 10547 // The source address used if dtc_health_source type is "IP".
10548 DtcHealthSourceAddress *string `json:"dtc_health_source_address,omitempty"`
10549 10550 // Advertises the EDNS0 buffer size to the upstream server. The value should be
10551 // between 512 and 4096 bytes. The recommended value is between 512 and 1220
10552 // bytes.
10553 EdnsUdpSize *uint32 `json:"edns_udp_size,omitempty"`
10554 10555 // Determines if the blocking of DNS queries is enabled or not. This setting
10556 // overrides the Grid enable_blackhole settings.
10557 EnableBlackhole *bool `json:"enable_blackhole,omitempty"`
10558 10559 // Determines if a blacklist is enabled or not on the Grid member.
10560 EnableBlacklist *bool `json:"enable_blacklist,omitempty"`
10561 10562 // The flag that indicates whether the capture of DNS queries is enabled or
10563 // disabled.
10564 EnableCaptureDnsQueries *bool `json:"enable_capture_dns_queries,omitempty"`
10565 10566 // The flag that indicates whether the capture of DNS responses is enabled or
10567 // disabled.
10568 EnableCaptureDnsResponses *bool `json:"enable_capture_dns_responses,omitempty"`
10569 10570 // Determines if the DNS service of a member is enabled or not.
10571 EnableDns *bool `json:"enable_dns,omitempty"`
10572 10573 // Determines if the DNS64 support is enabled or not for this member.
10574 EnableDns64 *bool `json:"enable_dns64,omitempty"`
10575 10576 // Determines if the DNS Cache Acceleration service is enabled or not for a
10577 // member.
10578 EnableDnsCacheAcceleration *bool `json:"enable_dns_cache_acceleration,omitempty"`
10579 10580 // The flag that indicates whether the DNS health check is enabled or not.
10581 EnableDnsHealthCheck *bool `json:"enable_dns_health_check,omitempty"`
10582 10583 // Determines whether the query messages need to be forwarded to DNSTAP or not.
10584 EnableDnstapQueries *bool `json:"enable_dnstap_queries,omitempty"`
10585 10586 // Determines whether the response messages need to be forwarded to DNSTAP or
10587 // not.
10588 EnableDnstapResponses *bool `json:"enable_dnstap_responses,omitempty"`
10589 10590 // The flag that indicates whether excluding domain names from captured DNS
10591 // queries and responses is enabled or disabled.
10592 EnableExcludedDomainNames *bool `json:"enable_excluded_domain_names,omitempty"`
10593 10594 // Determines if the fixed RRset order FQDN is enabled or not.
10595 EnableFixedRrsetOrderFqdns *bool `json:"enable_fixed_rrset_order_fqdns,omitempty"`
10596 10597 // Determines whether Fault Tolerant Caching (FTC) is enabled.
10598 EnableFtc *bool `json:"enable_ftc,omitempty"`
10599 10600 // Determines whether the appliance is enabled to receive GSS-TSIG
10601 // authenticated updates from DHCP clients.
10602 EnableGssTsig *bool `json:"enable_gss_tsig,omitempty"`
10603 10604 // Determines if the notify source port for a member is enabled or not.
10605 EnableNotifySourcePort *bool `json:"enable_notify_source_port,omitempty"`
10606 10607 // Determines if the DNS query rewrite is enabled or not for this member.
10608 EnableQueryRewrite *bool `json:"enable_query_rewrite,omitempty"`
10609 10610 // Determines if the query source port for a memer is enabled or not.
10611 EnableQuerySourcePort *bool `json:"enable_query_source_port,omitempty"`
10612 10613 // The list of domains that are excluded from DNS query and response capture.
10614 ExcludedDomainNames []string `json:"excluded_domain_names,omitempty"`
10615 10616 // Extensible attributes associated with the object. For valid values for
10617 // extensible attributes, see {extattrs:values}.
10618 Ea EA `json:"extattrs"`
10619 10620 // The DNS capture file transfer settings. Include the specified parameter to
10621 // set the attribute value. Omit the parameter to retrieve the attribute value.
10622 FileTransferSetting *Filetransfersetting `json:"file_transfer_setting,omitempty"`
10623 10624 // The type of AAAA filtering for this member DNS object.
10625 FilterAaaa string `json:"filter_aaaa,omitempty"`
10626 10627 // The list of IPv4 addresses and networks from which queries are received.
10628 // AAAA filtering is applied to these addresses.
10629 FilterAaaaList []*Addressac `json:"filter_aaaa_list,omitempty"`
10630 10631 // The fixed RRset order FQDN. If this field does not contain an empty value,
10632 // the appliance will automatically set the enable_fixed_rrset_order_fqdns
10633 // field to 'true', unless the same request sets the enable field to 'false'.
10634 FixedRrsetOrderFqdns []*GridDnsFixedrrsetorderfqdn `json:"fixed_rrset_order_fqdns,omitempty"`
10635 10636 // Permits this member to send queries to forwarders only. When the value is
10637 // "true", the member sends queries to forwarders only, and not to other
10638 // internal or Internet root servers.
10639 ForwardOnly *bool `json:"forward_only,omitempty"`
10640 10641 // Allows secondary servers to forward updates to the DNS server. This setting
10642 // overrides grid update settings.
10643 ForwardUpdates *bool `json:"forward_updates,omitempty"`
10644 10645 // The forwarders for the member. A forwarder is essentially a name server to
10646 // which other name servers first send all of their off-site queries. The
10647 // forwarder builds up a cache of information, avoiding the need for the other
10648 // name servers to send queries off-site. This setting overrides the Grid level
10649 // setting.
10650 Forwarders []string `json:"forwarders,omitempty"`
10651 10652 // The timeout interval (in seconds) after which the expired Fault Tolerant
10653 // Caching (FTC)record is stale and no longer valid.
10654 FtcExpiredRecordTimeout *uint32 `json:"ftc_expired_record_timeout,omitempty"`
10655 10656 // The TTL value (in seconds) of the expired Fault Tolerant Caching (FTC)
10657 // record in DNS responses.
10658 FtcExpiredRecordTtl *uint32 `json:"ftc_expired_record_ttl,omitempty"`
10659 10660 // The list of glue record addresses.
10661 GlueRecordAddresses []*MemberDnsgluerecordaddr `json:"glue_record_addresses,omitempty"`
10662 10663 // The list of GSS-TSIG keys for a member DNS object.
10664 GssTsigKeys []*Kerberoskey `json:"gss_tsig_keys,omitempty"`
10665 10666 // The host name of the Grid member.
10667 HostName string `json:"host_name,omitempty"`
10668 10669 // The IPv4 Address of the Grid member.
10670 Ipv4Addr string `json:"ipv4addr,omitempty"`
10671 10672 // The list of IPv6 glue record addresses.
10673 Ipv6GlueRecordAddresses []*MemberDnsgluerecordaddr `json:"ipv6_glue_record_addresses,omitempty"`
10674 10675 // The IPv6 Address of the Grid member.
10676 Ipv6Addr string `json:"ipv6addr,omitempty"`
10677 10678 // The flag that indicates whether member DNS supports Unbound as the recursive
10679 // resolver or not.
10680 IsUnboundCapable bool `json:"is_unbound_capable,omitempty"`
10681 10682 // The number of seconds to cache lame delegations or lame servers.
10683 LameTtl *uint32 `json:"lame_ttl,omitempty"`
10684 10685 // The logging categories for this DNS member.
10686 LoggingCategories *GridLoggingcategories `json:"logging_categories,omitempty"`
10687 10688 // The maximum time (in seconds) for which the server will cache positive
10689 // answers.
10690 MaxCacheTtl *uint32 `json:"max_cache_ttl,omitempty"`
10691 10692 // The maximum time in seconds a DNS response can be stored in the hardware
10693 // acceleration cache. Valid values are unsigned integer between 60 and 86400,
10694 // inclusive.
10695 MaxCachedLifetime *uint32 `json:"max_cached_lifetime,omitempty"`
10696 10697 // The maximum time (in seconds) for which the server will cache negative
10698 // (NXDOMAIN) responses. The maximum allowed value is 604800.
10699 MaxNcacheTtl *uint32 `json:"max_ncache_ttl,omitempty"`
10700 10701 // The value is used by authoritative DNS servers to never send DNS responses
10702 // larger than the configured value. The value should be between 512 and 4096
10703 // bytes. The recommended value is between 512 and 1220 bytes.
10704 MaxUdpSize *uint32 `json:"max_udp_size,omitempty"`
10705 10706 // Enables the ability to return a minimal amount of data in response to a
10707 // query. This capability speeds up the DNS services provided by the appliance.
10708 MinimalResp *bool `json:"minimal_resp,omitempty"`
10709 10710 // Specifies the number of seconds of delay the notify messages are sent to
10711 // secondaries.
10712 NotifyDelay *uint32 `json:"notify_delay,omitempty"`
10713 10714 // The source port for notify messages. When requesting zone transfers from the
10715 // primary server, some secondary DNS servers use the source port number (the
10716 // primary server used to send the notify message) as the destination port
10717 // number in the zone transfer request. This setting overrides Grid static
10718 // source port settings. Valid values are between 1 and 63999. The default is
10719 // selected by BIND.
10720 NotifySourcePort *uint32 `json:"notify_source_port,omitempty"`
10721 10722 // Determines if NXDOMAIN redirection queries are logged or not.
10723 NxdomainLogQuery *bool `json:"nxdomain_log_query,omitempty"`
10724 10725 // Enables NXDOMAIN redirection.
10726 NxdomainRedirect *bool `json:"nxdomain_redirect,omitempty"`
10727 10728 // The IPv4 NXDOMAIN redirection addresses.
10729 NxdomainRedirectAddresses []string `json:"nxdomain_redirect_addresses,omitempty"`
10730 10731 // The IPv6 NXDOMAIN redirection addresses.
10732 NxdomainRedirectAddressesV6 []string `json:"nxdomain_redirect_addresses_v6,omitempty"`
10733 10734 // The TTL value of synthetic DNS responses that result from NXDOMAIN
10735 // redirection.
10736 NxdomainRedirectTtl *uint32 `json:"nxdomain_redirect_ttl,omitempty"`
10737 10738 // The names of the Ruleset objects assigned at the Grid level for NXDOMAIN
10739 // redirection.
10740 NxdomainRulesets []string `json:"nxdomain_rulesets,omitempty"`
10741 10742 // The source port for queries. Specifying a source port number for recursive
10743 // queries ensures that a firewall will allow the response. Valid values are
10744 // between 1 and 63999. The default is selected by BIND.
10745 QuerySourcePort *uint32 `json:"query_source_port,omitempty"`
10746 10747 // The record name restriction policy.
10748 RecordNamePolicy *string `json:"record_name_policy,omitempty"`
10749 10750 // A limit on the number of concurrent recursive clients.
10751 RecursiveClientLimit *uint32 `json:"recursive_client_limit,omitempty"`
10752 10753 // The list of IPv4 or IPv6 addresses, networks or hosts authenticated by
10754 // Transaction signature (TSIG) key from which recursive queries are allowed or
10755 // denied.
10756 RecursiveQueryList []*Addressac `json:"recursive_query_list,omitempty"`
10757 10758 // The recursive resolver for member DNS.
10759 RecursiveResolver string `json:"recursive_resolver,omitempty"`
10760 10761 // The recursive query timeout for the member. The value must be 0 or between
10762 // 10 and 30.
10763 ResolverQueryTimeout *uint32 `json:"resolver_query_timeout,omitempty"`
10764 10765 // The response rate limiting settings for the member.
10766 ResponseRateLimiting *GridResponseratelimiting `json:"response_rate_limiting,omitempty"`
10767 10768 // Determines the type of root name servers.
10769 RootNameServerType string `json:"root_name_server_type,omitempty"`
10770 10771 // Enables NSDNAME and NSIP resource records from RPZ feeds at member level.
10772 RpzDisableNsdnameNsip *bool `json:"rpz_disable_nsdname_nsip,omitempty"`
10773 10774 // Enables the appliance to ignore RPZ-IP triggers with prefix lengths less
10775 // than the specified minimum prefix length.
10776 RpzDropIpRuleEnabled *bool `json:"rpz_drop_ip_rule_enabled,omitempty"`
10777 10778 // The minimum prefix length for IPv4 RPZ-IP triggers. The appliance ignores
10779 // RPZ-IP triggers with prefix lengths less than the specified minimum IPv4
10780 // prefix length.
10781 RpzDropIpRuleMinPrefixLengthIpv4 *uint32 `json:"rpz_drop_ip_rule_min_prefix_length_ipv4,omitempty"`
10782 10783 // The minimum prefix length for IPv6 RPZ-IP triggers. The appliance ignores
10784 // RPZ-IP triggers with prefix lengths less than the specified minimum IPv6
10785 // prefix length.
10786 RpzDropIpRuleMinPrefixLengthIpv6 *uint32 `json:"rpz_drop_ip_rule_min_prefix_length_ipv6,omitempty"`
10787 10788 // The flag that indicates whether recursive RPZ lookups are enabled.
10789 RpzQnameWaitRecurse *bool `json:"rpz_qname_wait_recurse,omitempty"`
10790 10791 // The number of maximum concurrent SOA queries per second for the member.
10792 SerialQueryRate *uint32 `json:"serial_query_rate,omitempty"`
10793 10794 // The value of the server-id directive for BIND and Unbound DNS.
10795 ServerIdDirective string `json:"server_id_directive,omitempty"`
10796 10797 // The value of the user-defined hostname directive for BIND and UNBOUND DNS.
10798 // To enable user-defined hostname directive, you must set the
10799 // bind_hostname_directive to "USER_DEFINED".
10800 ServerIdDirectiveString *string `json:"server_id_directive_string,omitempty"`
10801 10802 // Determines if RPZ rules are applied to queries originated from this member
10803 // and received by other Grid members.
10804 SkipInGridRpzQueries *bool `json:"skip_in_grid_rpz_queries,omitempty"`
10805 10806 // A sort list determines the order of addresses in responses made to DNS
10807 // queries. This setting overrides Grid sort list settings.
10808 Sortlist []*Sortlist `json:"sortlist,omitempty"`
10809 10810 // The flag that indicates whether the storage of query capture reports on the
10811 // appliance is enabled or disabled.
10812 StoreLocally *bool `json:"store_locally,omitempty"`
10813 10814 // The syslog facility. This is the location on the syslog server to which you
10815 // want to sort the DNS logging messages. This setting overrides the Grid
10816 // logging facility settings.
10817 SyslogFacility string `json:"syslog_facility,omitempty"`
10818 10819 // TCP Idle timeout for DNS over TLS connections.
10820 TcpIdleTimeout *uint32 `json:"tcp_idle_timeout,omitempty"`
10821 10822 // DNS over TLS sessions duration.
10823 TlsSessionDuration *uint32 `json:"tls_session_duration,omitempty"`
10824 10825 // Excludes specified DNS servers during zone transfers.
10826 TransferExcludedServers []string `json:"transfer_excluded_servers,omitempty"`
10827 10828 // The BIND format for a zone transfer. This provides tracking capabilities for
10829 // single or multiple transfers and their associated servers.
10830 TransferFormat string `json:"transfer_format,omitempty"`
10831 10832 // The number of maximum concurrent transfers for the member.
10833 TransfersIn *uint32 `json:"transfers_in,omitempty"`
10834 10835 // The number of maximum outbound concurrent zone transfers for the member.
10836 TransfersOut *uint32 `json:"transfers_out,omitempty"`
10837 10838 // The number of maximum concurrent transfers per member for the member.
10839 TransfersPerNs *uint32 `json:"transfers_per_ns,omitempty"`
10840 10841 // Logging level for the Unbound recursive resolver.
10842 UnboundLoggingLevel string `json:"unbound_logging_level,omitempty"`
10843 10844 // Use flag for: add_client_ip_mac_options
10845 UseAddClientIpMacOptions *bool `json:"use_add_client_ip_mac_options,omitempty"`
10846 10847 // Use flag for: allow_query
10848 UseAllowQuery *bool `json:"use_allow_query,omitempty"`
10849 10850 // Use flag for: allow_transfer
10851 UseAllowTransfer *bool `json:"use_allow_transfer,omitempty"`
10852 10853 // Use flag for: attack_mitigation
10854 UseAttackMitigation *bool `json:"use_attack_mitigation,omitempty"`
10855 10856 // Use flag for: auto_blackhole
10857 UseAutoBlackhole *bool `json:"use_auto_blackhole,omitempty"`
10858 10859 // Use flag for: bind_hostname_directive
10860 UseBindHostnameDirective *bool `json:"use_bind_hostname_directive,omitempty"`
10861 10862 // Use flag for: enable_blackhole
10863 UseBlackhole *bool `json:"use_blackhole,omitempty"`
10864 10865 // Use flag for: blackhole_list , blacklist_action, blacklist_log_query,
10866 // blacklist_redirect_addresses, blacklist_redirect_ttl, blacklist_rulesets,
10867 // enable_blacklist
10868 UseBlacklist *bool `json:"use_blacklist,omitempty"`
10869 10870 // Use flag for: capture_dns_queries_on_all_domains
10871 UseCaptureDnsQueriesOnAllDomains *bool `json:"use_capture_dns_queries_on_all_domains,omitempty"`
10872 10873 // Use flag for: copy_client_ip_mac_options
10874 UseCopyClientIpMacOptions *bool `json:"use_copy_client_ip_mac_options,omitempty"`
10875 10876 // Use flag for: copy_xfer_to_notify
10877 UseCopyXferToNotify *bool `json:"use_copy_xfer_to_notify,omitempty"`
10878 10879 // Use flag for: disable_edns
10880 UseDisableEdns *bool `json:"use_disable_edns,omitempty"`
10881 10882 // Use flag for: enable_dns64 , dns64_groups
10883 UseDns64 *bool `json:"use_dns64,omitempty"`
10884 10885 // Use flag for: dns_cache_acceleration_ttl
10886 UseDnsCacheAccelerationTtl *bool `json:"use_dns_cache_acceleration_ttl,omitempty"`
10887 10888 // Use flag for: dns_health_check_domain_list ,
10889 // dns_health_check_recursion_flag, dns_health_check_anycast_control,
10890 // enable_dns_health_check, dns_health_check_interval,
10891 // dns_health_check_timeout, dns_health_check_retries
10892 UseDnsHealthCheck *bool `json:"use_dns_health_check,omitempty"`
10893 10894 // Use flag for: dnssec_enabled , dnssec_expired_signatures_enabled,
10895 // dnssec_validation_enabled, dnssec_trusted_keys
10896 UseDnssec *bool `json:"use_dnssec,omitempty"`
10897 10898 // Use flag for: enable_dnstap_queries , enable_dnstap_responses,
10899 // dnstap_setting
10900 UseDnstapSetting *bool `json:"use_dnstap_setting,omitempty"`
10901 10902 // Use flag for: dtc_dns_queries_specific_behavior
10903 UseDtcDnsQueriesSpecificBehavior *bool `json:"use_dtc_dns_queries_specific_behavior,omitempty"`
10904 10905 // Use flag for: dtc_edns_prefer_client_subnet
10906 UseDtcEdnsPreferClientSubnet *bool `json:"use_dtc_edns_prefer_client_subnet,omitempty"`
10907 10908 // Use flag for: edns_udp_size
10909 UseEdnsUdpSize *bool `json:"use_edns_udp_size,omitempty"`
10910 10911 // Use flag for: enable_capture_dns_queries , enable_capture_dns_responses
10912 UseEnableCaptureDns *bool `json:"use_enable_capture_dns,omitempty"`
10913 10914 // Use flag for: enable_excluded_domain_names
10915 UseEnableExcludedDomainNames *bool `json:"use_enable_excluded_domain_names,omitempty"`
10916 10917 // Use flag for: enable_gss_tsig
10918 UseEnableGssTsig *bool `json:"use_enable_gss_tsig,omitempty"`
10919 10920 // Use flag for: enable_query_rewrite
10921 UseEnableQueryRewrite *bool `json:"use_enable_query_rewrite,omitempty"`
10922 10923 // Use flag for: filter_aaaa , filter_aaaa_list
10924 UseFilterAaaa *bool `json:"use_filter_aaaa,omitempty"`
10925 10926 // Use flag for: fixed_rrset_order_fqdns , enable_fixed_rrset_order_fqdns
10927 UseFixedRrsetOrderFqdns *bool `json:"use_fixed_rrset_order_fqdns,omitempty"`
10928 10929 // Use flag for: forward_updates
10930 UseForwardUpdates *bool `json:"use_forward_updates,omitempty"`
10931 10932 // Use flag for: forwarders , forward_only
10933 UseForwarders *bool `json:"use_forwarders,omitempty"`
10934 10935 // Use flag for: enable_ftc , ftc_expired_record_ttl,
10936 // ftc_expired_record_timeout
10937 UseFtc *bool `json:"use_ftc,omitempty"`
10938 10939 // Use flag for: gss_tsig_keys
10940 UseGssTsigKeys *bool `json:"use_gss_tsig_keys,omitempty"`
10941 10942 // Use flag for: lame_ttl
10943 UseLameTtl *bool `json:"use_lame_ttl,omitempty"`
10944 10945 // Determines if the DNS service on the IPv6 LAN2 port is enabled or not.
10946 UseLan2Ipv6Port *bool `json:"use_lan2_ipv6_port,omitempty"`
10947 10948 // Determines if the DNS service on the LAN2 port is enabled or not.
10949 UseLan2Port *bool `json:"use_lan2_port,omitempty"`
10950 10951 // Determines if the DNS service on the IPv6 LAN port is enabled or not.
10952 UseLanIpv6Port *bool `json:"use_lan_ipv6_port,omitempty"`
10953 10954 // Determines the status of the use of DNS services on the IPv4 LAN1 port.
10955 UseLanPort *bool `json:"use_lan_port,omitempty"`
10956 10957 // Use flag for: logging_categories
10958 UseLoggingCategories *bool `json:"use_logging_categories,omitempty"`
10959 10960 // Use flag for: max_cache_ttl
10961 UseMaxCacheTtl *bool `json:"use_max_cache_ttl,omitempty"`
10962 10963 // Use flag for: max_cached_lifetime
10964 UseMaxCachedLifetime *bool `json:"use_max_cached_lifetime,omitempty"`
10965 10966 // Use flag for: max_ncache_ttl
10967 UseMaxNcacheTtl *bool `json:"use_max_ncache_ttl,omitempty"`
10968 10969 // Use flag for: max_udp_size
10970 UseMaxUdpSize *bool `json:"use_max_udp_size,omitempty"`
10971 10972 // Determines if the DNS services on the IPv6 MGMT port is enabled or not.
10973 UseMgmtIpv6Port *bool `json:"use_mgmt_ipv6_port,omitempty"`
10974 10975 // Determines if the DNS services on the MGMT port is enabled or not.
10976 UseMgmtPort *bool `json:"use_mgmt_port,omitempty"`
10977 10978 // Use flag for: notify_delay
10979 UseNotifyDelay *bool `json:"use_notify_delay,omitempty"`
10980 10981 // Use flag for: nxdomain_redirect , nxdomain_redirect_addresses,
10982 // nxdomain_redirect_addresses_v6, nxdomain_redirect_ttl, nxdomain_log_query,
10983 // nxdomain_rulesets
10984 UseNxdomainRedirect *bool `json:"use_nxdomain_redirect,omitempty"`
10985 10986 // Use flag for: record_name_policy
10987 UseRecordNamePolicy *bool `json:"use_record_name_policy,omitempty"`
10988 10989 // Use flag for: recursive_client_limit
10990 UseRecursiveClientLimit *bool `json:"use_recursive_client_limit,omitempty"`
10991 10992 // Use flag for: allow_recursive_query , recursive_query_list
10993 UseRecursiveQuerySetting *bool `json:"use_recursive_query_setting,omitempty"`
10994 10995 // Use flag for: resolver_query_timeout
10996 UseResolverQueryTimeout *bool `json:"use_resolver_query_timeout,omitempty"`
10997 10998 // Use flag for: response_rate_limiting
10999 UseResponseRateLimiting *bool `json:"use_response_rate_limiting,omitempty"`
11000 11001 // Use flag for: root_name_server_type , custom_root_name_servers,
11002 // use_root_server_for_all_views
11003 UseRootNameServer *bool `json:"use_root_name_server,omitempty"`
11004 11005 // Determines if root name servers should be applied to all views or only to
11006 // Default view.
11007 UseRootServerForAllViews *bool `json:"use_root_server_for_all_views,omitempty"`
11008 11009 // Use flag for: rpz_disable_nsdname_nsip
11010 UseRpzDisableNsdnameNsip *bool `json:"use_rpz_disable_nsdname_nsip,omitempty"`
11011 11012 // Use flag for: rpz_drop_ip_rule_enabled ,
11013 // rpz_drop_ip_rule_min_prefix_length_ipv4,
11014 // rpz_drop_ip_rule_min_prefix_length_ipv6
11015 UseRpzDropIpRule *bool `json:"use_rpz_drop_ip_rule,omitempty"`
11016 11017 // Use flag for: rpz_qname_wait_recurse
11018 UseRpzQnameWaitRecurse *bool `json:"use_rpz_qname_wait_recurse,omitempty"`
11019 11020 // Use flag for: serial_query_rate
11021 UseSerialQueryRate *bool `json:"use_serial_query_rate,omitempty"`
11022 11023 // Use flag for: server_id_directive
11024 UseServerIdDirective *bool `json:"use_server_id_directive,omitempty"`
11025 11026 // Use flag for: sortlist
11027 UseSortlist *bool `json:"use_sortlist,omitempty"`
11028 11029 // Use flag for: enable_notify_source_port , notify_source_port,
11030 // enable_query_source_port, query_source_port
11031 UseSourcePorts *bool `json:"use_source_ports,omitempty"`
11032 11033 // Use flag for: syslog_facility
11034 UseSyslogFacility *bool `json:"use_syslog_facility,omitempty"`
11035 11036 // Use flag for: transfers_in
11037 UseTransfersIn *bool `json:"use_transfers_in,omitempty"`
11038 11039 // Use flag for: transfers_out
11040 UseTransfersOut *bool `json:"use_transfers_out,omitempty"`
11041 11042 // Use flag for: transfers_per_ns
11043 UseTransfersPerNs *bool `json:"use_transfers_per_ns,omitempty"`
11044 11045 // Use flag for: allow_update , allow_gss_tsig_zone_updates
11046 UseUpdateSetting *bool `json:"use_update_setting,omitempty"`
11047 11048 // Use flag for: transfer_excluded_servers , transfer_format
11049 UseZoneTransferFormat *bool `json:"use_zone_transfer_format,omitempty"`
11050 11051 // The list of views associated with this member.
11052 Views []string `json:"views,omitempty"`
11053 }
11054 11055 func (MemberDns) ObjectType() string {
11056 return "member:dns"
11057 }
11058 11059 func (obj MemberDns) ReturnFields() []string {
11060 if obj.returnFields == nil {
11061 obj.returnFields = []string{"host_name", "ipv4addr", "ipv6addr"}
11062 }
11063 return obj.returnFields
11064 }
11065 11066 // MemberFiledistribution represents Infoblox object member:filedistribution.
11067 // The Grid member file distribution object is used to configure file
11068 // distribution services such as TFTP, FTP and HTTP, and access control lists
11069 // (ACL) that determine which clients are granted access to the service (TFTP,
11070 // FTP, HTTP), and which clients are denied access to the service.
11071 type MemberFiledistribution struct {
11072 IBBase `json:"-"`
11073 11074 Ref string `json:"_ref,omitempty"`
11075 11076 // Determines whether uploads to the Grid member are allowed.
11077 AllowUploads *bool `json:"allow_uploads,omitempty"`
11078 11079 // The Grid member descriptive comment.
11080 Comment string `json:"comment,omitempty"`
11081 11082 // Determines whether the FTP prtocol is enabled for file distribution.
11083 EnableFtp *bool `json:"enable_ftp,omitempty"`
11084 11085 // Determines whether the LIST command for FTP is enabled.
11086 EnableFtpFilelist *bool `json:"enable_ftp_filelist,omitempty"`
11087 11088 // Determines whether the passive mode for FTP is enabled.
11089 EnableFtpPassive *bool `json:"enable_ftp_passive,omitempty"`
11090 11091 // Determines whether the HTTP prtocol is enabled for file distribution.
11092 EnableHttp *bool `json:"enable_http,omitempty"`
11093 11094 // Determines whether the HTTP prtocol access control (AC) settings are
11095 // enabled.
11096 EnableHttpAcl *bool `json:"enable_http_acl,omitempty"`
11097 11098 // Determines whether the TFTP prtocol is enabled for file distribution.
11099 EnableTftp *bool `json:"enable_tftp,omitempty"`
11100 11101 // Access control (AC) settings for the FTP protocol.
11102 FtpAcls []*Addressac `json:"ftp_acls,omitempty"`
11103 11104 // The network port used by the FTP protocol.
11105 FtpPort *uint32 `json:"ftp_port,omitempty"`
11106 11107 // The FTP protocol status.
11108 FtpStatus string `json:"ftp_status,omitempty"`
11109 11110 // The Grid member host name.
11111 HostName string `json:"host_name,omitempty"`
11112 11113 // Access control (AC) settings for the HTTP protocol.
11114 HttpAcls []*Addressac `json:"http_acls,omitempty"`
11115 11116 // The HTTP protocol status.
11117 HttpStatus string `json:"http_status,omitempty"`
11118 11119 // The IPv4 address of the Grid member.
11120 Ipv4Address string `json:"ipv4_address,omitempty"`
11121 11122 // The IPv6 address of the Grid member.
11123 Ipv6Address string `json:"ipv6_address,omitempty"`
11124 11125 // The Grid member file distribution status.
11126 Status string `json:"status,omitempty"`
11127 11128 // The access control (AC) settings for the TFTP protocol.
11129 TftpAcls []*Addressac `json:"tftp_acls,omitempty"`
11130 11131 // The network port used by the TFTP protocol.
11132 TftpPort *uint32 `json:"tftp_port,omitempty"`
11133 11134 // The TFTP protocol status.
11135 TftpStatus string `json:"tftp_status,omitempty"`
11136 11137 // Use flag for: allow_uploads
11138 UseAllowUploads *bool `json:"use_allow_uploads,omitempty"`
11139 }
11140 11141 func (MemberFiledistribution) ObjectType() string {
11142 return "member:filedistribution"
11143 }
11144 11145 func (obj MemberFiledistribution) ReturnFields() []string {
11146 if obj.returnFields == nil {
11147 obj.returnFields = []string{"host_name", "ipv4_address", "ipv6_address", "status"}
11148 }
11149 return obj.returnFields
11150 }
11151 11152 // MemberLicense represents Infoblox object member:license.
11153 // This object represents the member license.
11154 type MemberLicense struct {
11155 IBBase `json:"-"`
11156 11157 Ref string `json:"_ref,omitempty"`
11158 11159 // The license expiration status.
11160 ExpirationStatus string `json:"expiration_status,omitempty"`
11161 11162 // The expiration timestamp of the license.
11163 ExpiryDate *UnixTime `json:"expiry_date,omitempty"`
11164 11165 // The hardware ID of the physical node on which the license is installed.
11166 Hwid string `json:"hwid,omitempty"`
11167 11168 // License string.
11169 Key string `json:"key,omitempty"`
11170 11171 // The overall type of license: static or dynamic.
11172 Kind string `json:"kind,omitempty"`
11173 11174 // The license limit value.
11175 Limit string `json:"limit,omitempty"`
11176 11177 // The license limit context.
11178 LimitContext string `json:"limit_context,omitempty"`
11179 11180 // The license type.
11181 Type string `json:"type,omitempty"`
11182 }
11183 11184 func (MemberLicense) ObjectType() string {
11185 return "member:license"
11186 }
11187 11188 func (obj MemberLicense) ReturnFields() []string {
11189 if obj.returnFields == nil {
11190 obj.returnFields = []string{"type"}
11191 }
11192 return obj.returnFields
11193 }
11194 11195 // MemberParentalcontrol represents Infoblox object member:parentalcontrol.
11196 // This object represents a set of parental control properties for the Grid
11197 // member.
11198 type MemberParentalcontrol struct {
11199 IBBase `json:"-"`
11200 11201 Ref string `json:"_ref,omitempty"`
11202 11203 // Determines if the parental control service is enabled.
11204 EnableService *bool `json:"enable_service,omitempty"`
11205 11206 // The parental control member hostname.
11207 Name string `json:"name,omitempty"`
11208 }
11209 11210 func (MemberParentalcontrol) ObjectType() string {
11211 return "member:parentalcontrol"
11212 }
11213 11214 func (obj MemberParentalcontrol) ReturnFields() []string {
11215 if obj.returnFields == nil {
11216 obj.returnFields = []string{"enable_service", "name"}
11217 }
11218 return obj.returnFields
11219 }
11220 11221 // MemberThreatanalytics represents Infoblox object member:threatanalytics.
11222 // To mitigate DNS data exfiltration, Infoblox DNS threat analytics employs
11223 // analytics algorithms that analyze incoming DNS queries and responses to
11224 // detect DNS tunneling traffic.
11225 type MemberThreatanalytics struct {
11226 IBBase `json:"-"`
11227 11228 Ref string `json:"_ref,omitempty"`
11229 11230 // The Grid member descriptive comment.
11231 Comment string `json:"comment,omitempty"`
11232 11233 // Determines whether the threat analytics service is enabled.
11234 EnableService *bool `json:"enable_service,omitempty"`
11235 11236 // The Grid member host name.
11237 HostName string `json:"host_name,omitempty"`
11238 11239 // The IPv4 Address address of the Grid member.
11240 Ipv4Address string `json:"ipv4_address,omitempty"`
11241 11242 // The IPv6 Address address of the Grid member.
11243 Ipv6Address string `json:"ipv6_address,omitempty"`
11244 11245 // The Grid member threat analytics status.
11246 Status string `json:"status,omitempty"`
11247 }
11248 11249 func (MemberThreatanalytics) ObjectType() string {
11250 return "member:threatanalytics"
11251 }
11252 11253 func (obj MemberThreatanalytics) ReturnFields() []string {
11254 if obj.returnFields == nil {
11255 obj.returnFields = []string{"host_name", "ipv4_address", "ipv6_address", "status"}
11256 }
11257 return obj.returnFields
11258 }
11259 11260 // MemberThreatprotection represents Infoblox object member:threatprotection.
11261 // This object provides information about the member threat protection
11262 // settings.
11263 type MemberThreatprotection struct {
11264 IBBase `json:"-"`
11265 11266 Ref string `json:"_ref,omitempty"`
11267 11268 // The human readable comment for member threat protection properties.
11269 Comment string `json:"comment,omitempty"`
11270 11271 // The ruleset used for threat protection.
11272 CurrentRuleset *string `json:"current_ruleset,omitempty"`
11273 11274 // Determines if multiple BIND responses via TCP connection is enabled or not.
11275 DisableMultipleDnsTcpRequest *bool `json:"disable_multiple_dns_tcp_request,omitempty"`
11276 11277 // Determines if DNS responses are sent from acceleration cache before applying
11278 // Threat Protection rules. Recommended for better performance when using DNS
11279 // Cache Acceleration.
11280 EnableAccelRespBeforeThreatProtection *bool `json:"enable_accel_resp_before_threat_protection,omitempty"`
11281 11282 // Determines if NAT (Network Address Translation) mapping for threat
11283 // protection is enabled or not.
11284 EnableNatRules *bool `json:"enable_nat_rules,omitempty"`
11285 11286 // Determines if the Threat protection service is enabled or not.
11287 EnableService *bool `json:"enable_service,omitempty"`
11288 11289 // The number of events logged per second per rule.
11290 EventsPerSecondPerRule *uint32 `json:"events_per_second_per_rule,omitempty"`
11291 11292 // The hardware model of the member.
11293 HardwareModel string `json:"hardware_model,omitempty"`
11294 11295 // The hardware type of the member.
11296 HardwareType string `json:"hardware_type,omitempty"`
11297 11298 // A Grid member name.
11299 HostName string `json:"host_name,omitempty"`
11300 11301 // The IPv4 address of member threat protection service.
11302 Ipv4address string `json:"ipv4address,omitempty"`
11303 11304 // The IPv6 address of member threat protection service.
11305 Ipv6address string `json:"ipv6address,omitempty"`
11306 11307 // The list of NAT rules.
11308 NatRules []*ThreatprotectionNatrule `json:"nat_rules,omitempty"`
11309 11310 // Outbound settings for ATP events.
11311 OutboundSettings *SettingAtpoutbound `json:"outbound_settings,omitempty"`
11312 11313 // The Threat Protection profile associated with the member.
11314 Profile *string `json:"profile,omitempty"`
11315 11316 // Use flag for: current_ruleset
11317 UseCurrentRuleset *bool `json:"use_current_ruleset,omitempty"`
11318 11319 // Use flag for: disable_multiple_dns_tcp_request
11320 UseDisableMultipleDnsTcpRequest *bool `json:"use_disable_multiple_dns_tcp_request,omitempty"`
11321 11322 // Use flag for: enable_accel_resp_before_threat_protection
11323 UseEnableAccelRespBeforeThreatProtection *bool `json:"use_enable_accel_resp_before_threat_protection,omitempty"`
11324 11325 // Use flag for: enable_nat_rules
11326 UseEnableNatRules *bool `json:"use_enable_nat_rules,omitempty"`
11327 11328 // Use flag for: events_per_second_per_rule
11329 UseEventsPerSecondPerRule *bool `json:"use_events_per_second_per_rule,omitempty"`
11330 11331 // Use flag for: outbound_settings
11332 UseOutboundSettings *bool `json:"use_outbound_settings,omitempty"`
11333 }
11334 11335 func (MemberThreatprotection) ObjectType() string {
11336 return "member:threatprotection"
11337 }
11338 11339 func (obj MemberThreatprotection) ReturnFields() []string {
11340 if obj.returnFields == nil {
11341 obj.returnFields = []string{}
11342 }
11343 return obj.returnFields
11344 }
11345 11346 // Memberdfp represents Infoblox object memberdfp.
11347 // This object represnts DFP fields at member level
11348 type Memberdfp struct {
11349 IBBase `json:"-"`
11350 11351 Ref string `json:"_ref,omitempty"`
11352 11353 // Option to resolve DNS query if resolution over Active Trust Cloud failed.
11354 DfpForwardFirst *bool `json:"dfp_forward_first,omitempty"`
11355 11356 // Extensible attributes associated with the object. For valid values for
11357 // extensible attributes, see {extattrs:values}.
11358 Ea EA `json:"extattrs"`
11359 11360 // Host name of the parent Member
11361 HostName string `json:"host_name,omitempty"`
11362 11363 // DFP override lock'.
11364 IsDfpOverride *bool `json:"is_dfp_override,omitempty"`
11365 }
11366 11367 func (Memberdfp) ObjectType() string {
11368 return "memberdfp"
11369 }
11370 11371 func (obj Memberdfp) ReturnFields() []string {
11372 if obj.returnFields == nil {
11373 obj.returnFields = []string{}
11374 }
11375 return obj.returnFields
11376 }
11377 11378 // Msserver represents Infoblox object msserver.
11379 // This object represents the Microsoft Server.
11380 type Msserver struct {
11381 IBBase `json:"-"`
11382 11383 Ref string `json:"_ref,omitempty"`
11384 11385 // The Active Directory domain to which this server belongs (if applicable).
11386 AdDomain string `json:"ad_domain,omitempty"`
11387 11388 // The Active Directory Sites information
11389 AdSites *Adsites `json:"ad_sites,omitempty"`
11390 11391 // The Active Directory User synchronization information.
11392 AdUser *MsserverAduser `json:"ad_user,omitempty"`
11393 11394 // The address or FQDN of the server.
11395 Address *string `json:"address,omitempty"`
11396 11397 // User comments for this Microsoft Server
11398 Comment *string `json:"comment,omitempty"`
11399 11400 // Result of the last RPC connection attempt made
11401 ConnectionStatus string `json:"connection_status,omitempty"`
11402 11403 // Detail of the last connection attempt made
11404 ConnectionStatusDetail string `json:"connection_status_detail,omitempty"`
11405 11406 // RW fields needed for DHCP purposes at Microsoft Server level
11407 DhcpServer *Dhcpserver `json:"dhcp_server,omitempty"`
11408 11409 // Allow/forbids usage of this Microsoft Server
11410 Disabled *bool `json:"disabled,omitempty"`
11411 11412 // Structure containing DNS information
11413 DnsServer *Dnsserver `json:"dns_server,omitempty"`
11414 11415 // Reference to the DNS view
11416 DnsView *string `json:"dns_view,omitempty"`
11417 11418 // Extensible attributes associated with the object. For valid values for
11419 // extensible attributes, see {extattrs:values}.
11420 Ea EA `json:"extattrs"`
11421 11422 // eference to the assigned grid member
11423 GridMember *string `json:"grid_member,omitempty"`
11424 11425 // Timestamp of the last message received
11426 LastSeen *UnixTime `json:"last_seen,omitempty"`
11427 11428 // Directs logging of sync messages either to syslog or mslog
11429 LogDestination string `json:"log_destination,omitempty"`
11430 11431 // Log level for this Microsoft Server
11432 LogLevel string `json:"log_level,omitempty"`
11433 11434 // Microsoft Server login name, with optional domainname
11435 LoginName *string `json:"login_name,omitempty"`
11436 11437 // Microsoft Server login password
11438 LoginPassword *string `json:"login_password,omitempty"`
11439 11440 // Hostname of grid member managing this Microsoft Server
11441 ManagingMember string `json:"managing_member,omitempty"`
11442 11443 // Maximum number of connections to MS server
11444 MsMaxConnection *uint32 `json:"ms_max_connection,omitempty"`
11445 11446 // Timeout in seconds of RPC connections for this MS Server
11447 MsRpcTimeoutInSeconds *uint32 `json:"ms_rpc_timeout_in_seconds,omitempty"`
11448 11449 // Reference to the network view
11450 NetworkView *string `json:"network_view,omitempty"`
11451 11452 // Enable read-only management for this Microsoft Server
11453 ReadOnly *bool `json:"read_only,omitempty"`
11454 11455 // The root Active Directory domain to which this server belongs (if
11456 // applicable).
11457 RootAdDomain string `json:"root_ad_domain,omitempty"`
11458 11459 // Gives the server name as reported by itself
11460 ServerName string `json:"server_name,omitempty"`
11461 11462 // Minimum number of minutes between two synchronizations
11463 SynchronizationMinDelay *uint32 `json:"synchronization_min_delay,omitempty"`
11464 11465 // Synchronization status summary
11466 SynchronizationStatus string `json:"synchronization_status,omitempty"`
11467 11468 // Detail status if synchronization_status is ERROR
11469 SynchronizationStatusDetail string `json:"synchronization_status_detail,omitempty"`
11470 11471 // Override log_destination inherited from grid level
11472 UseLogDestination *bool `json:"use_log_destination,omitempty"`
11473 11474 // Override grid ms_max_connection setting
11475 UseMsMaxConnection *bool `json:"use_ms_max_connection,omitempty"`
11476 11477 // Flag to override cluster RPC timeout
11478 UseMsRpcTimeoutInSeconds *bool `json:"use_ms_rpc_timeout_in_seconds,omitempty"`
11479 11480 // Version of the Microsoft Server
11481 Version string `json:"version,omitempty"`
11482 }
11483 11484 func (Msserver) ObjectType() string {
11485 return "msserver"
11486 }
11487 11488 func (obj Msserver) ReturnFields() []string {
11489 if obj.returnFields == nil {
11490 obj.returnFields = []string{"address"}
11491 }
11492 return obj.returnFields
11493 }
11494 11495 // MsserverAdsitesDomain represents Infoblox object msserver:adsites:domain.
11496 // The object provides information about the Active Directory Domain.
11497 type MsserverAdsitesDomain struct {
11498 IBBase `json:"-"`
11499 11500 Ref string `json:"_ref,omitempty"`
11501 11502 // The name of the Extensible Attribute Definition object that is linked to the
11503 // Active Directory Sites Domain.
11504 EaDefinition string `json:"ea_definition,omitempty"`
11505 11506 // The IP address or FQDN of the managing master for the MS server, if
11507 // applicable.
11508 MsSyncMasterName string `json:"ms_sync_master_name,omitempty"`
11509 11510 // The name of the Active Directory Domain properties object.
11511 Name string `json:"name,omitempty"`
11512 11513 // The NetBIOS name of the Active Directory Domain properties object.
11514 Netbios string `json:"netbios,omitempty"`
11515 11516 // The name of the network view in which the Active Directory Domain resides.
11517 NetworkView string `json:"network_view,omitempty"`
11518 11519 // Determines whether the Active Directory Domain properties object is a
11520 // read-only object.
11521 ReadOnly bool `json:"read_only,omitempty"`
11522 }
11523 11524 func (MsserverAdsitesDomain) ObjectType() string {
11525 return "msserver:adsites:domain"
11526 }
11527 11528 func (obj MsserverAdsitesDomain) ReturnFields() []string {
11529 if obj.returnFields == nil {
11530 obj.returnFields = []string{"name", "netbios", "network_view"}
11531 }
11532 return obj.returnFields
11533 }
11534 11535 // MsserverAdsitesSite represents Infoblox object msserver:adsites:site.
11536 // This object provides information about the Active Directory Site.
11537 type MsserverAdsitesSite struct {
11538 IBBase `json:"-"`
11539 11540 Ref string `json:"_ref,omitempty"`
11541 11542 // The reference to the Active Directory Domain to which the site belongs.
11543 Domain *string `json:"domain,omitempty"`
11544 11545 // The name of the site properties object for the Active Directory Sites.
11546 Name *string `json:"name,omitempty"`
11547 11548 // The list of networks to which the device interfaces belong.
11549 Networks []*Ipv4Network `json:"networks,omitempty"`
11550 }
11551 11552 func (MsserverAdsitesSite) ObjectType() string {
11553 return "msserver:adsites:site"
11554 }
11555 11556 func (obj MsserverAdsitesSite) ReturnFields() []string {
11557 if obj.returnFields == nil {
11558 obj.returnFields = []string{"domain", "name"}
11559 }
11560 return obj.returnFields
11561 }
11562 11563 // MsserverDhcp represents Infoblox object msserver:dhcp.
11564 // This object represents a subset of the Microsoft Server DHCP properties.
11565 type MsserverDhcp struct {
11566 IBBase `json:"-"`
11567 11568 Ref string `json:"_ref,omitempty"`
11569 11570 // The address or FQDN of the DHCP Microsoft Server.
11571 Address string `json:"address,omitempty"`
11572 11573 // Comment from Microsoft Server
11574 Comment string `json:"comment,omitempty"`
11575 11576 // The percentage of the total DHCP utilization of DHCP objects belonging to
11577 // the DHCP Microsoft Server multiplied by 1000. This is the percentage of the
11578 // total number of available IP addresses from all the DHCP objects belonging
11579 // to the DHCP Microsoft Server versus the total number of all IP addresses in
11580 // all of the DHCP objects on the DHCP Microsoft Server.
11581 DhcpUtilization uint32 `json:"dhcp_utilization,omitempty"`
11582 11583 // A string describing the utilization level of DHCP objects that belong to the
11584 // DHCP Microsoft Server.
11585 DhcpUtilizationStatus string `json:"dhcp_utilization_status,omitempty"`
11586 11587 // The total number of DHCP leases issued for the DHCP objects on the DHCP
11588 // Microsoft Server.
11589 DynamicHosts uint32 `json:"dynamic_hosts,omitempty"`
11590 11591 // Timestamp of the last synchronization attempt
11592 LastSyncTs *UnixTime `json:"last_sync_ts,omitempty"`
11593 11594 // The login name of the DHCP Microsoft Server.
11595 LoginName *string `json:"login_name,omitempty"`
11596 11597 // The login password of the DHCP Microsoft Server.
11598 LoginPassword *string `json:"login_password,omitempty"`
11599 11600 // Network view to update
11601 NetworkView string `json:"network_view,omitempty"`
11602 11603 // Defines what control to apply on the DHCP server
11604 NextSyncControl string `json:"next_sync_control,omitempty"`
11605 11606 // Whether Microsoft server is read only
11607 ReadOnly bool `json:"read_only,omitempty"`
11608 11609 // Microsoft server address
11610 ServerName string `json:"server_name,omitempty"`
11611 11612 // The number of static DHCP addresses configured in DHCP objects that belong
11613 // to the DHCP Microsoft Server.
11614 StaticHosts uint32 `json:"static_hosts,omitempty"`
11615 11616 // Status of the Microsoft DHCP Service
11617 Status string `json:"status,omitempty"`
11618 11619 // Detailed status of the DHCP status
11620 StatusDetail string `json:"status_detail,omitempty"`
11621 11622 // Timestamp of the last update
11623 StatusLastUpdated *UnixTime `json:"status_last_updated,omitempty"`
11624 11625 // Flag indicating if the DHCP supports Failover
11626 SupportsFailover bool `json:"supports_failover,omitempty"`
11627 11628 // The minimum number of minutes between two synchronizations.
11629 SynchronizationInterval *uint32 `json:"synchronization_interval,omitempty"`
11630 11631 // The total number of DHCP addresses configured in DHCP objects that belong to
11632 // the DHCP Microsoft Server.
11633 TotalHosts uint32 `json:"total_hosts,omitempty"`
11634 11635 // Use flag for: login_name , login_password
11636 UseLogin *bool `json:"use_login,omitempty"`
11637 11638 // Use flag for: synchronization_interval
11639 UseSynchronizationInterval *bool `json:"use_synchronization_interval,omitempty"`
11640 }
11641 11642 func (MsserverDhcp) ObjectType() string {
11643 return "msserver:dhcp"
11644 }
11645 11646 func (obj MsserverDhcp) ReturnFields() []string {
11647 if obj.returnFields == nil {
11648 obj.returnFields = []string{"address"}
11649 }
11650 return obj.returnFields
11651 }
11652 11653 // MsserverDns represents Infoblox object msserver:dns.
11654 // This object represents a subset of the Microsoft Server DNS properties.
11655 type MsserverDns struct {
11656 IBBase `json:"-"`
11657 11658 Ref string `json:"_ref,omitempty"`
11659 11660 // The address or FQDN of the DNS Microsoft Server.
11661 Address string `json:"address,omitempty"`
11662 11663 // Determines if synchronization of DNS reporting data from the Microsoft
11664 // server is enabled or not.
11665 EnableDnsReportsSync *bool `json:"enable_dns_reports_sync,omitempty"`
11666 11667 // The login name of the DNS Microsoft Server.
11668 LoginName *string `json:"login_name,omitempty"`
11669 11670 // The login password of the DNS Microsoft Server.
11671 LoginPassword *string `json:"login_password,omitempty"`
11672 11673 // The minimum number of minutes between two synchronizations.
11674 SynchronizationInterval *uint32 `json:"synchronization_interval,omitempty"`
11675 11676 // Use flag for: enable_dns_reports_sync
11677 UseEnableDnsReportsSync *bool `json:"use_enable_dns_reports_sync,omitempty"`
11678 11679 // Use flag for: login_name , login_password
11680 UseLogin *bool `json:"use_login,omitempty"`
11681 11682 // Use flag for: synchronization_interval
11683 UseSynchronizationInterval *bool `json:"use_synchronization_interval,omitempty"`
11684 }
11685 11686 func (MsserverDns) ObjectType() string {
11687 return "msserver:dns"
11688 }
11689 11690 func (obj MsserverDns) ReturnFields() []string {
11691 if obj.returnFields == nil {
11692 obj.returnFields = []string{"address"}
11693 }
11694 return obj.returnFields
11695 }
11696 11697 // Mssuperscope represents Infoblox object mssuperscope.
11698 // This object represents a superscope feature of Microsoft DHCP server. You
11699 // can use a superscope to group and activate multiple ranges via a single
11700 // object.
11701 type Mssuperscope struct {
11702 IBBase `json:"-"`
11703 11704 Ref string `json:"_ref,omitempty"`
11705 11706 // The superscope descriptive comment.
11707 Comment *string `json:"comment,omitempty"`
11708 11709 // The percentage of the total DHCP usage of the ranges in the superscope.
11710 DhcpUtilization uint32 `json:"dhcp_utilization,omitempty"`
11711 11712 // Utilization level of the DHCP range objects that belong to the superscope.
11713 DhcpUtilizationStatus string `json:"dhcp_utilization_status,omitempty"`
11714 11715 // Determines whether the superscope is disabled.
11716 Disable *bool `json:"disable,omitempty"`
11717 11718 // The total number of DHCP leases issued for the DHCP range objects that
11719 // belong to the superscope.
11720 DynamicHosts uint32 `json:"dynamic_hosts,omitempty"`
11721 11722 // Extensible attributes associated with the object. For valid values for
11723 // extensible attributes, see {extattrs:values}.
11724 Ea EA `json:"extattrs"`
11725 11726 // The percentage value for DHCP range usage after which an alarm will be
11727 // active.
11728 HighWaterMark uint32 `json:"high_water_mark,omitempty"`
11729 11730 // The percentage value for DHCP range usage after which an alarm will be
11731 // reset.
11732 HighWaterMarkReset uint32 `json:"high_water_mark_reset,omitempty"`
11733 11734 // The percentage value for DHCP range usage below which an alarm will be
11735 // active.
11736 LowWaterMark uint32 `json:"low_water_mark,omitempty"`
11737 11738 // The percentage value for DHCP range usage below which an alarm will be
11739 // reset.
11740 LowWaterMarkReset uint32 `json:"low_water_mark_reset,omitempty"`
11741 11742 // The name of the Microsoft DHCP superscope.
11743 Name *string `json:"name,omitempty"`
11744 11745 // The name of the network view in which the superscope resides.
11746 NetworkView *string `json:"network_view,omitempty"`
11747 11748 // The list of DHCP ranges that are associated with the superscope.
11749 Ranges []*Range `json:"ranges,omitempty"`
11750 11751 // The number of static DHCP addresses configured in DHCP range objects that
11752 // belong to the superscope.
11753 StaticHosts uint32 `json:"static_hosts,omitempty"`
11754 11755 // The total number of DHCP addresses configured in DHCP range objects that
11756 // belong to the superscope.
11757 TotalHosts uint32 `json:"total_hosts,omitempty"`
11758 }
11759 11760 func (Mssuperscope) ObjectType() string {
11761 return "mssuperscope"
11762 }
11763 11764 func (obj Mssuperscope) ReturnFields() []string {
11765 if obj.returnFields == nil {
11766 obj.returnFields = []string{"disable", "name", "network_view"}
11767 }
11768 return obj.returnFields
11769 }
11770 11771 // Namedacl represents Infoblox object namedacl.
11772 // A named ACL (Access Control List) is a list of IPv4/IPv6 addresses,
11773 // networks, TSIG-based anonymous access controls, and other named ACLs, to
11774 // which you can grant or deny permission for operations such as dynamic DNS
11775 // updates or zone transfers.
11776 type Namedacl struct {
11777 IBBase `json:"-"`
11778 11779 Ref string `json:"_ref,omitempty"`
11780 11781 // The access control list of IPv4/IPv6 addresses, networks, TSIG-based
11782 // anonymous access controls, and other named ACLs.
11783 AccessList []*Addressac `json:"access_list,omitempty"`
11784 11785 // Comment for the named ACL; maximum 256 characters.
11786 Comment *string `json:"comment,omitempty"`
11787 11788 // The exploded access list for the named ACL. This list displays all the
11789 // access control entries in a named ACL and its nested named ACLs, if
11790 // applicable.
11791 ExplodedAccessList []*Addressac `json:"exploded_access_list,omitempty"`
11792 11793 // Extensible attributes associated with the object. For valid values for
11794 // extensible attributes, see {extattrs:values}.
11795 Ea EA `json:"extattrs"`
11796 11797 // The name of the named ACL.
11798 Name *string `json:"name,omitempty"`
11799 }
11800 11801 func (Namedacl) ObjectType() string {
11802 return "namedacl"
11803 }
11804 11805 func (obj Namedacl) ReturnFields() []string {
11806 if obj.returnFields == nil {
11807 obj.returnFields = []string{"comment", "name"}
11808 }
11809 return obj.returnFields
11810 }
11811 11812 // Natgroup represents Infoblox object natgroup.
11813 // NAT groups are necessary if the Grid master is behind a NAT device and there
11814 // are members behind both side of the NAT device. Any member on the same side
11815 // as the master goes into the same NAT group as the master and uses its
11816 // interface address for Grid communication. Grid members on the other side of
11817 // that NAT device do not go into the same NAT group as the master and use the
11818 // master’s NAT address for Grid communication.
11819 type Natgroup struct {
11820 IBBase `json:"-"`
11821 11822 Ref string `json:"_ref,omitempty"`
11823 11824 // The NAT group descriptive comment.
11825 Comment *string `json:"comment,omitempty"`
11826 11827 // The name of a NAT group object.
11828 Name *string `json:"name,omitempty"`
11829 }
11830 11831 func (Natgroup) ObjectType() string {
11832 return "natgroup"
11833 }
11834 11835 func (obj Natgroup) ReturnFields() []string {
11836 if obj.returnFields == nil {
11837 obj.returnFields = []string{"comment", "name"}
11838 }
11839 return obj.returnFields
11840 }
11841 11842 // Ipv4Network represents Infoblox object network.
11843 // When DHCP services are configured on an appliance, the network that it
11844 // serves must be defined. After a network is created, you can either create
11845 // all the subnets individually, or create a parent network that encompasses
11846 // the subnets.
11847 type Ipv4Network struct {
11848 IBBase `json:"-"`
11849 11850 Ref string `json:"_ref,omitempty"`
11851 11852 // Authority for the DHCP network.
11853 Authority *bool `json:"authority,omitempty"`
11854 11855 // This flag controls whether reverse zones are automatically created when the
11856 // network is added.
11857 AutoCreateReversezone bool `json:"auto_create_reversezone,omitempty"`
11858 11859 // The bootfile name for the network. You can configure the DHCP server to
11860 // support clients that use the boot file name option in their DHCPREQUEST
11861 // messages.
11862 Bootfile *string `json:"bootfile,omitempty"`
11863 11864 // The bootserver address for the network. You can specify the name and/or IP
11865 // address of the boot server that the host needs to boot. The boot server IPv4
11866 // Address or name in FQDN format.
11867 Bootserver *string `json:"bootserver,omitempty"`
11868 11869 // Structure containing all cloud API related information for this object.
11870 CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`
11871 11872 // Comment for the network, maximum 256 characters.
11873 Comment *string `json:"comment,omitempty"`
11874 11875 // The number of conflicts discovered via network discovery.
11876 ConflictCount uint32 `json:"conflict_count,omitempty"`
11877 11878 // The dynamic DNS domain name the appliance uses specifically for DDNS updates
11879 // for this network.
11880 DdnsDomainname *string `json:"ddns_domainname,omitempty"`
11881 11882 // If this field is set to True, the DHCP server generates a hostname and
11883 // updates DNS with it when the DHCP client request does not contain a
11884 // hostname.
11885 DdnsGenerateHostname *bool `json:"ddns_generate_hostname,omitempty"`
11886 11887 // This field controls whether only the DHCP server is allowed to update DNS,
11888 // regardless of the DHCP clients requests. Note that changes for this field
11889 // take effect only if ddns_use_option81 is True.
11890 DdnsServerAlwaysUpdates *bool `json:"ddns_server_always_updates,omitempty"`
11891 11892 // The DNS update Time to Live (TTL) value of a DHCP network object. The TTL is
11893 // a 32-bit unsigned integer that represents the duration, in seconds, for
11894 // which the update is cached. Zero indicates that the update is not cached.
11895 DdnsTtl *uint32 `json:"ddns_ttl,omitempty"`
11896 11897 // By default, the DHCP server does not update DNS when it allocates a fixed
11898 // address to a client. You can configure the DHCP server to update the A and
11899 // PTR records of a client with a fixed address. When this feature is enabled
11900 // and the DHCP server adds A and PTR records for a fixed address, the DHCP
11901 // server never discards the records.
11902 DdnsUpdateFixedAddresses *bool `json:"ddns_update_fixed_addresses,omitempty"`
11903 11904 // The support for DHCP Option 81 at the network level.
11905 DdnsUseOption81 *bool `json:"ddns_use_option81,omitempty"`
11906 11907 // The reason for deleting the RIR registration request.
11908 DeleteReason *string `json:"delete_reason,omitempty"`
11909 11910 // If set to true, BOOTP settings are disabled and BOOTP requests will be
11911 // denied.
11912 DenyBootp *bool `json:"deny_bootp,omitempty"`
11913 11914 // The percentage of the total DHCP utilization of the network multiplied by
11915 // 1000. This is the percentage of the total number of available IP addresses
11916 // belonging to the network versus the total number of all IP addresses in
11917 // network.
11918 DhcpUtilization uint32 `json:"dhcp_utilization,omitempty"`
11919 11920 // A string describing the utilization level of the network.
11921 DhcpUtilizationStatus string `json:"dhcp_utilization_status,omitempty"`
11922 11923 // Determines whether a network is disabled or not. When this is set to False,
11924 // the network is enabled.
11925 Disable *bool `json:"disable,omitempty"`
11926 11927 // Discover now status for this network.
11928 DiscoverNowStatus string `json:"discover_now_status,omitempty"`
11929 11930 // Number of the discovered BGP AS. When multiple BGP autonomous systems are
11931 // discovered in the network, this field displays "Multiple".
11932 DiscoveredBgpAs string `json:"discovered_bgp_as,omitempty"`
11933 11934 // Discovered bridge domain.
11935 DiscoveredBridgeDomain *string `json:"discovered_bridge_domain,omitempty"`
11936 11937 // Discovered tenant.
11938 DiscoveredTenant *string `json:"discovered_tenant,omitempty"`
11939 11940 // The identifier of the discovered VLAN. When multiple VLANs are discovered in
11941 // the network, this field displays "Multiple".
11942 DiscoveredVlanId string `json:"discovered_vlan_id,omitempty"`
11943 11944 // The name of the discovered VLAN. When multiple VLANs are discovered in the
11945 // network, this field displays "Multiple".
11946 DiscoveredVlanName string `json:"discovered_vlan_name,omitempty"`
11947 11948 // Description of the discovered VRF. When multiple VRFs are discovered in the
11949 // network, this field displays "Multiple".
11950 DiscoveredVrfDescription string `json:"discovered_vrf_description,omitempty"`
11951 11952 // The name of the discovered VRF. When multiple VRFs are discovered in the
11953 // network, this field displays "Multiple".
11954 DiscoveredVrfName string `json:"discovered_vrf_name,omitempty"`
11955 11956 // Route distinguisher of the discovered VRF. When multiple VRFs are discovered
11957 // in the network, this field displays "Multiple".
11958 DiscoveredVrfRd string `json:"discovered_vrf_rd,omitempty"`
11959 11960 // The discovery basic poll settings for this network.
11961 DiscoveryBasicPollSettings *DiscoveryBasicpollsettings `json:"discovery_basic_poll_settings,omitempty"`
11962 11963 // The discovery blackout setting for this network.
11964 DiscoveryBlackoutSetting *PropertiesBlackoutsetting `json:"discovery_blackout_setting,omitempty"`
11965 11966 // The network discovery engine type.
11967 DiscoveryEngineType string `json:"discovery_engine_type,omitempty"`
11968 11969 // The member that will run discovery for this network.
11970 DiscoveryMember *string `json:"discovery_member,omitempty"`
11971 11972 // The total number of DHCP leases issued for the network.
11973 DynamicHosts uint32 `json:"dynamic_hosts,omitempty"`
11974 11975 // The e-mail lists to which the appliance sends DHCP threshold alarm e-mail
11976 // messages.
11977 EmailList []string `json:"email_list,omitempty"`
11978 11979 // The dynamic DNS updates flag of a DHCP network object. If set to True, the
11980 // DHCP server sends DDNS updates to DNS servers in the same Grid, and to
11981 // external DNS servers.
11982 EnableDdns *bool `json:"enable_ddns,omitempty"`
11983 11984 // Determines if DHCP thresholds are enabled for the network.
11985 EnableDhcpThresholds *bool `json:"enable_dhcp_thresholds,omitempty"`
11986 11987 // Determines whether a discovery is enabled or not for this network. When this
11988 // is set to False, the network discovery is disabled.
11989 EnableDiscovery *bool `json:"enable_discovery,omitempty"`
11990 11991 // Determines if DHCP threshold warnings are sent through email.
11992 EnableEmailWarnings *bool `json:"enable_email_warnings,omitempty"`
11993 11994 // Determines if IFMAP publishing is enabled for the network.
11995 EnableIfmapPublishing *bool `json:"enable_ifmap_publishing,omitempty"`
11996 11997 // Determines if the discovery for the network should be immediately enabled.
11998 EnableImmediateDiscovery *bool `json:"enable_immediate_discovery,omitempty"`
11999 12000 // Set this to True if you want the DHCP server to use a different lease time
12001 // for PXE clients.
12002 EnablePxeLeaseTime *bool `json:"enable_pxe_lease_time,omitempty"`
12003 12004 // Determines if DHCP threshold warnings are send through SNMP.
12005 EnableSnmpWarnings *bool `json:"enable_snmp_warnings,omitempty"`
12006 12007 // The endpoints that provides data for the DHCP Network object.
12008 EndpointSources []*CiscoiseEndpoint `json:"endpoint_sources,omitempty"`
12009 12010 // Extensible attributes associated with the object. For valid values for
12011 // extensible attributes, see {extattrs:values}.
12012 Ea EA `json:"extattrs"`
12013 12014 // The percentage of DHCP network usage threshold above which network usage is
12015 // not expected and may warrant your attention. When the high watermark is
12016 // reached, the Infoblox appliance generates a syslog message and sends a
12017 // warning (if enabled). A number that specifies the percentage of allocated
12018 // addresses. The range is from 1 to 100.
12019 HighWaterMark *uint32 `json:"high_water_mark,omitempty"`
12020 12021 // The percentage of DHCP network usage below which the corresponding SNMP trap
12022 // is reset. A number that specifies the percentage of allocated addresses. The
12023 // range is from 1 to 100. The high watermark reset value must be lower than
12024 // the high watermark value.
12025 HighWaterMarkReset *uint32 `json:"high_water_mark_reset,omitempty"`
12026 12027 // If this field is set to False, the appliance returns all DHCP options the
12028 // client is eligible to receive, rather than only the list of options the
12029 // client has requested.
12030 IgnoreDhcpOptionListRequest *bool `json:"ignore_dhcp_option_list_request,omitempty"`
12031 12032 // Indicates whether the appliance will ignore DHCP client IDs or MAC
12033 // addresses. Valid values are "NONE", "CLIENT", or "MACADDR". The default is
12034 // "NONE".
12035 IgnoreId string `json:"ignore_id,omitempty"`
12036 12037 // A list of MAC addresses the appliance will ignore.
12038 IgnoreMacAddresses []string `json:"ignore_mac_addresses,omitempty"`
12039 12040 // The e-mail lists to which the appliance sends IPAM threshold alarm e-mail
12041 // messages.
12042 IpamEmailAddresses []string `json:"ipam_email_addresses,omitempty"`
12043 12044 // The IPAM Threshold settings for this network.
12045 IpamThresholdSettings *SettingIpamThreshold `json:"ipam_threshold_settings,omitempty"`
12046 12047 // The IPAM Trap settings for this network.
12048 IpamTrapSettings *SettingIpamTrap `json:"ipam_trap_settings,omitempty"`
12049 12050 // The IPv4 Address of the network.
12051 Ipv4Addr *string `json:"ipv4addr,omitempty"`
12052 12053 // The timestamp when the last RIR registration update was sent.
12054 LastRirRegistrationUpdateSent *UnixTime `json:"last_rir_registration_update_sent,omitempty"`
12055 12056 // Last RIR registration update status.
12057 LastRirRegistrationUpdateStatus string `json:"last_rir_registration_update_status,omitempty"`
12058 12059 // An integer that specifies the period of time (in seconds) that frees and
12060 // backs up leases remained in the database before they are automatically
12061 // deleted. To disable lease scavenging, set the parameter to -1. The minimum
12062 // positive value must be greater than 86400 seconds (1 day).
12063 LeaseScavengeTime int `json:"lease_scavenge_time,omitempty"`
12064 12065 // This field contains the logic filters to be applied on the this network.
12066 // This list corresponds to the match rules that are written to the dhcpd
12067 // configuration file.
12068 LogicFilterRules []*Logicfilterrule `json:"logic_filter_rules,omitempty"`
12069 12070 // The percentage of DHCP network usage below which the Infoblox appliance
12071 // generates a syslog message and sends a warning (if enabled). A number that
12072 // specifies the percentage of allocated addresses. The range is from 1 to 100.
12073 LowWaterMark *uint32 `json:"low_water_mark,omitempty"`
12074 12075 // The percentage of DHCP network usage threshold below which network usage is
12076 // not expected and may warrant your attention. When the low watermark is
12077 // crossed, the Infoblox appliance generates a syslog message and sends a
12078 // warning (if enabled). A number that specifies the percentage of allocated
12079 // addresses. The range is from 1 to 100. The low watermark reset value must be
12080 // higher than the low watermark value.
12081 LowWaterMarkReset *uint32 `json:"low_water_mark_reset,omitempty"`
12082 12083 // A list of members or Microsoft (r) servers that serve DHCP for this network.
12084 // All members in the array must be of the same type. The struct type must be
12085 // indicated in each element, by setting the "_struct" member to the struct
12086 // type.
12087 Members []*Msdhcpserver `json:"members,omitempty"`
12088 12089 // This field controls whether this object is synchronized with the Multi-Grid
12090 // Master. If this field is set to True, objects are not synchronized.
12091 MgmPrivate *bool `json:"mgm_private,omitempty"`
12092 12093 // This field is assumed to be True unless filled by any conforming objects,
12094 // such as Network, IPv6 Network, Network Container, IPv6 Network Container,
12095 // and Network View. This value is set to False if mgm_private is set to True
12096 // in the parent object.
12097 MgmPrivateOverridable bool `json:"mgm_private_overridable,omitempty"`
12098 12099 // The Microsoft Active Directory user related information.
12100 MsAdUserData *MsserverAduserData `json:"ms_ad_user_data,omitempty"`
12101 12102 // The netmask of the network in CIDR format.
12103 Netmask *uint32 `json:"netmask,omitempty"`
12104 12105 // The network address in IPv4 Address/CIDR format. For regular expression
12106 // searches, only the IPv4 Address portion is supported. Searches for the CIDR
12107 // portion is always an exact match. For example, both network containers
12108 // 10.0.0.0/8 and 20.1.0.0/16 are matched by expression '.0' and only
12109 // 20.1.0.0/16 is matched by '.0/16'.
12110 Network *string `json:"network,omitempty"`
12111 12112 // The network container to which this network belongs (if any).
12113 NetworkContainer string `json:"network_container,omitempty"`
12114 12115 // The name of the network view in which this network resides.
12116 NetworkView string `json:"network_view,omitempty"`
12117 12118 // The name in FQDN and/or IPv4 Address of the next server that the host needs
12119 // to boot.
12120 Nextserver *string `json:"nextserver,omitempty"`
12121 12122 // An array of DHCP option dhcpoption structs that lists the DHCP options
12123 // associated with the object.
12124 Options []*Dhcpoption `json:"options,omitempty"`
12125 12126 // The port control blackout setting for this network.
12127 PortControlBlackoutSetting *PropertiesBlackoutsetting `json:"port_control_blackout_setting,omitempty"`
12128 12129 // The PXE lease time value of a DHCP Network object. Some hosts use PXE
12130 // (Preboot Execution Environment) to boot remotely from a server. To better
12131 // manage your IP resources, set a different lease time for PXE boot requests.
12132 // You can configure the DHCP server to allocate an IP address with a shorter
12133 // lease time to hosts that send PXE boot requests, so IP addresses are not
12134 // leased longer than necessary. A 32-bit unsigned integer that represents the
12135 // duration, in seconds, for which the update is cached. Zero indicates that
12136 // the update is not cached.
12137 PxeLeaseTime *uint32 `json:"pxe_lease_time,omitempty"`
12138 12139 // If the field is set to True, the leases are kept in the Recycle Bin until
12140 // one week after expiration. Otherwise, the leases are permanently deleted.
12141 RecycleLeases *bool `json:"recycle_leases,omitempty"`
12142 12143 // Restarts the member service.
12144 RestartIfNeeded *bool `json:"restart_if_needed,omitempty"`
12145 12146 // The registry (RIR) that allocated the network address space.
12147 Rir string `json:"rir,omitempty"`
12148 12149 // The RIR organization assoicated with the network.
12150 RirOrganization *string `json:"rir_organization,omitempty"`
12151 12152 // The RIR registration action.
12153 RirRegistrationAction string `json:"rir_registration_action,omitempty"`
12154 12155 // The registration status of the network in RIR.
12156 RirRegistrationStatus string `json:"rir_registration_status,omitempty"`
12157 12158 // If the field is set to True, the discovery blackout setting will be used for
12159 // port control blackout setting.
12160 SamePortControlDiscoveryBlackout *bool `json:"same_port_control_discovery_blackout,omitempty"`
12161 12162 // Determines whether to send the RIR registration request.
12163 SendRirRequest *bool `json:"send_rir_request,omitempty"`
12164 12165 // The number of static DHCP addresses configured in the network.
12166 StaticHosts uint32 `json:"static_hosts,omitempty"`
12167 12168 // The DHCP Network Cisco ISE subscribe settings.
12169 SubscribeSettings *CiscoiseSubscribesetting `json:"subscribe_settings,omitempty"`
12170 12171 // If set on creation, the network is created according to the values specified
12172 // in the selected template.
12173 Template string `json:"template,omitempty"`
12174 12175 // The total number of DHCP addresses configured in the network.
12176 TotalHosts uint32 `json:"total_hosts,omitempty"`
12177 12178 // Determines whether the DHCP IPv4 Network is unmanaged or not.
12179 Unmanaged *bool `json:"unmanaged,omitempty"`
12180 12181 // The number of unmanaged IP addresses as discovered by network discovery.
12182 UnmanagedCount uint32 `json:"unmanaged_count,omitempty"`
12183 12184 // This field controls whether the DHCP server updates DNS when a DHCP lease is
12185 // renewed.
12186 UpdateDnsOnLeaseRenewal *bool `json:"update_dns_on_lease_renewal,omitempty"`
12187 12188 // Use flag for: authority
12189 UseAuthority *bool `json:"use_authority,omitempty"`
12190 12191 // Use flag for: discovery_blackout_setting , port_control_blackout_setting,
12192 // same_port_control_discovery_blackout
12193 UseBlackoutSetting *bool `json:"use_blackout_setting,omitempty"`
12194 12195 // Use flag for: bootfile
12196 UseBootfile *bool `json:"use_bootfile,omitempty"`
12197 12198 // Use flag for: bootserver
12199 UseBootserver *bool `json:"use_bootserver,omitempty"`
12200 12201 // Use flag for: ddns_domainname
12202 UseDdnsDomainname *bool `json:"use_ddns_domainname,omitempty"`
12203 12204 // Use flag for: ddns_generate_hostname
12205 UseDdnsGenerateHostname *bool `json:"use_ddns_generate_hostname,omitempty"`
12206 12207 // Use flag for: ddns_ttl
12208 UseDdnsTtl *bool `json:"use_ddns_ttl,omitempty"`
12209 12210 // Use flag for: ddns_update_fixed_addresses
12211 UseDdnsUpdateFixedAddresses *bool `json:"use_ddns_update_fixed_addresses,omitempty"`
12212 12213 // Use flag for: ddns_use_option81
12214 UseDdnsUseOption81 *bool `json:"use_ddns_use_option81,omitempty"`
12215 12216 // Use flag for: deny_bootp
12217 UseDenyBootp *bool `json:"use_deny_bootp,omitempty"`
12218 12219 // Use flag for: discovery_basic_poll_settings
12220 UseDiscoveryBasicPollingSettings *bool `json:"use_discovery_basic_polling_settings,omitempty"`
12221 12222 // Use flag for: email_list
12223 UseEmailList *bool `json:"use_email_list,omitempty"`
12224 12225 // Use flag for: enable_ddns
12226 UseEnableDdns *bool `json:"use_enable_ddns,omitempty"`
12227 12228 // Use flag for: enable_dhcp_thresholds
12229 UseEnableDhcpThresholds *bool `json:"use_enable_dhcp_thresholds,omitempty"`
12230 12231 // Use flag for: discovery_member , enable_discovery
12232 UseEnableDiscovery *bool `json:"use_enable_discovery,omitempty"`
12233 12234 // Use flag for: enable_ifmap_publishing
12235 UseEnableIfmapPublishing *bool `json:"use_enable_ifmap_publishing,omitempty"`
12236 12237 // Use flag for: ignore_dhcp_option_list_request
12238 UseIgnoreDhcpOptionListRequest *bool `json:"use_ignore_dhcp_option_list_request,omitempty"`
12239 12240 // Use flag for: ignore_id
12241 UseIgnoreId *bool `json:"use_ignore_id,omitempty"`
12242 12243 // Use flag for: ipam_email_addresses
12244 UseIpamEmailAddresses *bool `json:"use_ipam_email_addresses,omitempty"`
12245 12246 // Use flag for: ipam_threshold_settings
12247 UseIpamThresholdSettings *bool `json:"use_ipam_threshold_settings,omitempty"`
12248 12249 // Use flag for: ipam_trap_settings
12250 UseIpamTrapSettings *bool `json:"use_ipam_trap_settings,omitempty"`
12251 12252 // Use flag for: lease_scavenge_time
12253 UseLeaseScavengeTime *bool `json:"use_lease_scavenge_time,omitempty"`
12254 12255 // Use flag for: logic_filter_rules
12256 UseLogicFilterRules *bool `json:"use_logic_filter_rules,omitempty"`
12257 12258 // Use flag for: mgm_private
12259 UseMgmPrivate *bool `json:"use_mgm_private,omitempty"`
12260 12261 // Use flag for: nextserver
12262 UseNextserver *bool `json:"use_nextserver,omitempty"`
12263 12264 // Use flag for: options
12265 UseOptions *bool `json:"use_options,omitempty"`
12266 12267 // Use flag for: pxe_lease_time
12268 UsePxeLeaseTime *bool `json:"use_pxe_lease_time,omitempty"`
12269 12270 // Use flag for: recycle_leases
12271 UseRecycleLeases *bool `json:"use_recycle_leases,omitempty"`
12272 12273 // Use flag for: subscribe_settings
12274 UseSubscribeSettings *bool `json:"use_subscribe_settings,omitempty"`
12275 12276 // Use flag for: update_dns_on_lease_renewal
12277 UseUpdateDnsOnLeaseRenewal *bool `json:"use_update_dns_on_lease_renewal,omitempty"`
12278 12279 // Use flag for: zone_associations
12280 UseZoneAssociations *bool `json:"use_zone_associations,omitempty"`
12281 12282 // The network utilization in percentage.
12283 Utilization uint32 `json:"utilization,omitempty"`
12284 12285 // The timestamp when the utilization statistics were last updated.
12286 UtilizationUpdate *UnixTime `json:"utilization_update,omitempty"`
12287 12288 // List of VLANs assigned to Network.
12289 Vlans []*Vlanlink `json:"vlans,omitempty"`
12290 12291 // The list of zones associated with this network.
12292 ZoneAssociations []*Zoneassociation `json:"zone_associations,omitempty"`
12293 }
12294 12295 func (Ipv4Network) ObjectType() string {
12296 return "network"
12297 }
12298 12299 func (obj Ipv4Network) ReturnFields() []string {
12300 if obj.returnFields == nil {
12301 obj.returnFields = []string{"comment", "network", "network_view"}
12302 }
12303 return obj.returnFields
12304 }
12305 12306 // NetworkDiscovery represents Infoblox object network_discovery.
12307 // This object can be used to control the network discovery process.
12308 type NetworkDiscovery struct {
12309 IBBase `json:"-"`
12310 12311 Ref string `json:"_ref,omitempty"`
12312 }
12313 12314 func (NetworkDiscovery) ObjectType() string {
12315 return "network_discovery"
12316 }
12317 12318 func (obj NetworkDiscovery) ReturnFields() []string {
12319 if obj.returnFields == nil {
12320 obj.returnFields = []string{}
12321 }
12322 return obj.returnFields
12323 }
12324 12325 // Ipv4NetworkContainer represents Infoblox object networkcontainer.
12326 // A network can contain child networks. The network that contains child
12327 // networks is called a network container. This object encapsulates an IPv4
12328 // network container object.
12329 type Ipv4NetworkContainer struct {
12330 IBBase `json:"-"`
12331 12332 Ref string `json:"_ref,omitempty"`
12333 12334 // Authority for the DHCP network container.
12335 Authority *bool `json:"authority,omitempty"`
12336 12337 // This flag controls whether reverse zones are automatically created when the
12338 // network is added.
12339 AutoCreateReversezone bool `json:"auto_create_reversezone,omitempty"`
12340 12341 // The boot server IPv4 Address or name in FQDN format for the network
12342 // container. You can specify the name and/or IP address of the boot server
12343 // that the host needs to boot.
12344 Bootfile *string `json:"bootfile,omitempty"`
12345 12346 // The bootserver address for the network container. You can specify the name
12347 // and/or IP address of the boot server that the host needs to boot. The boot
12348 // server IPv4 Address or name in FQDN format.
12349 Bootserver *string `json:"bootserver,omitempty"`
12350 12351 // Structure containing all cloud API related information for this object.
12352 CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`
12353 12354 // Comment for the network container; maximum 256 characters.
12355 Comment *string `json:"comment,omitempty"`
12356 12357 // The dynamic DNS domain name the appliance uses specifically for DDNS updates
12358 // for this network container.
12359 DdnsDomainname *string `json:"ddns_domainname,omitempty"`
12360 12361 // If this field is set to True, the DHCP server generates a hostname and
12362 // updates DNS with it when the DHCP client request does not contain a
12363 // hostname.
12364 DdnsGenerateHostname *bool `json:"ddns_generate_hostname,omitempty"`
12365 12366 // This field controls whether the DHCP server is allowed to update DNS,
12367 // regardless of the DHCP client requests. Note that changes for this field
12368 // take effect only if ddns_use_option81 is True.
12369 DdnsServerAlwaysUpdates *bool `json:"ddns_server_always_updates,omitempty"`
12370 12371 // The DNS update Time to Live (TTL) value of a DHCP network container object.
12372 // The TTL is a 32-bit unsigned integer that represents the duration, in
12373 // seconds, for which the update is cached. Zero indicates that the update is
12374 // not cached.
12375 DdnsTtl *uint32 `json:"ddns_ttl,omitempty"`
12376 12377 // By default, the DHCP server does not update DNS when it allocates a fixed
12378 // address to a client. You can configure the DHCP server to update the A and
12379 // PTR records of a client with a fixed address. When this feature is enabled
12380 // and the DHCP server adds A and PTR records for a fixed address, the DHCP
12381 // server never discards the records.
12382 DdnsUpdateFixedAddresses *bool `json:"ddns_update_fixed_addresses,omitempty"`
12383 12384 // The support for DHCP Option 81 at the network container level.
12385 DdnsUseOption81 *bool `json:"ddns_use_option81,omitempty"`
12386 12387 // The reason for deleting the RIR registration request.
12388 DeleteReason *string `json:"delete_reason,omitempty"`
12389 12390 // If set to True, BOOTP settings are disabled and BOOTP requests will be
12391 // denied.
12392 DenyBootp *bool `json:"deny_bootp,omitempty"`
12393 12394 // Discover now status for this network container.
12395 DiscoverNowStatus string `json:"discover_now_status,omitempty"`
12396 12397 // The discovery basic poll settings for this network container.
12398 DiscoveryBasicPollSettings *DiscoveryBasicpollsettings `json:"discovery_basic_poll_settings,omitempty"`
12399 12400 // The discovery blackout setting for this network container.
12401 DiscoveryBlackoutSetting *PropertiesBlackoutsetting `json:"discovery_blackout_setting,omitempty"`
12402 12403 // The network discovery engine type.
12404 DiscoveryEngineType string `json:"discovery_engine_type,omitempty"`
12405 12406 // The member that will run discovery for this network container.
12407 DiscoveryMember *string `json:"discovery_member,omitempty"`
12408 12409 // The e-mail lists to which the appliance sends DHCP threshold alarm e-mail
12410 // messages.
12411 EmailList []string `json:"email_list,omitempty"`
12412 12413 // The dynamic DNS updates flag of a DHCP network container object. If set to
12414 // True, the DHCP server sends DDNS updates to DNS servers in the same Grid,
12415 // and to external DNS servers.
12416 EnableDdns *bool `json:"enable_ddns,omitempty"`
12417 12418 // Determines if DHCP thresholds are enabled for the network container.
12419 EnableDhcpThresholds *bool `json:"enable_dhcp_thresholds,omitempty"`
12420 12421 // Determines whether a discovery is enabled or not for this network container.
12422 // When this is set to False, the network container discovery is disabled.
12423 EnableDiscovery *bool `json:"enable_discovery,omitempty"`
12424 12425 // Determines if DHCP threshold warnings are sent through email.
12426 EnableEmailWarnings *bool `json:"enable_email_warnings,omitempty"`
12427 12428 // Determines if the discovery for the network container should be immediately
12429 // enabled.
12430 EnableImmediateDiscovery *bool `json:"enable_immediate_discovery,omitempty"`
12431 12432 // Set this to True if you want the DHCP server to use a different lease time
12433 // for PXE clients.
12434 EnablePxeLeaseTime *bool `json:"enable_pxe_lease_time,omitempty"`
12435 12436 // Determines if DHCP threshold warnings are send through SNMP.
12437 EnableSnmpWarnings *bool `json:"enable_snmp_warnings,omitempty"`
12438 12439 // The endpoints that provides data for the DHCP Network Container object.
12440 EndpointSources []*CiscoiseEndpoint `json:"endpoint_sources,omitempty"`
12441 12442 // Extensible attributes associated with the object. For valid values for
12443 // extensible attributes, see {extattrs:values}.
12444 Ea EA `json:"extattrs"`
12445 12446 // The percentage of DHCP network container usage threshold above which network
12447 // container usage is not expected and may warrant your attention. When the
12448 // high watermark is reached, the Infoblox appliance generates a syslog message
12449 // and sends a warning (if enabled). A number that specifies the percentage of
12450 // allocated addresses. The range is from 1 to 100.
12451 HighWaterMark *uint32 `json:"high_water_mark,omitempty"`
12452 12453 // The percentage of DHCP network container usage below which the corresponding
12454 // SNMP trap is reset. A number that specifies the percentage of allocated
12455 // addresses. The range is from 1 to 100. The high watermark reset value must
12456 // be lower than the high watermark value.
12457 HighWaterMarkReset *uint32 `json:"high_water_mark_reset,omitempty"`
12458 12459 // If this field is set to False, the appliance returns all DHCP options the
12460 // client is eligible to receive, rather than only the list of options the
12461 // client has requested.
12462 IgnoreDhcpOptionListRequest *bool `json:"ignore_dhcp_option_list_request,omitempty"`
12463 12464 // Indicates whether the appliance will ignore DHCP client IDs or MAC
12465 // addresses.
12466 IgnoreId string `json:"ignore_id,omitempty"`
12467 12468 // A list of MAC addresses the appliance will ignore.
12469 IgnoreMacAddresses []string `json:"ignore_mac_addresses,omitempty"`
12470 12471 // The e-mail lists to which the appliance sends IPAM threshold alarm e-mail
12472 // messages.
12473 IpamEmailAddresses []string `json:"ipam_email_addresses,omitempty"`
12474 12475 // The IPAM Threshold settings for this network container.
12476 IpamThresholdSettings *SettingIpamThreshold `json:"ipam_threshold_settings,omitempty"`
12477 12478 // The IPAM Trap settings for this network container.
12479 IpamTrapSettings *SettingIpamTrap `json:"ipam_trap_settings,omitempty"`
12480 12481 // The timestamp when the last RIR registration update was sent.
12482 LastRirRegistrationUpdateSent *UnixTime `json:"last_rir_registration_update_sent,omitempty"`
12483 12484 // Last RIR registration update status.
12485 LastRirRegistrationUpdateStatus string `json:"last_rir_registration_update_status,omitempty"`
12486 12487 // An integer that specifies the period of time (in seconds) that frees and
12488 // backs up leases remained in the database before they are automatically
12489 // deleted. To disable lease scavenging, set the parameter to -1. The minimum
12490 // positive value must be greater than 86400 seconds (1 day).
12491 LeaseScavengeTime int `json:"lease_scavenge_time,omitempty"`
12492 12493 // This field contains the logic filters to be applied on the this network
12494 // container. This list corresponds to the match rules that are written to the
12495 // dhcpd configuration file.
12496 LogicFilterRules []*Logicfilterrule `json:"logic_filter_rules,omitempty"`
12497 12498 // The percentage of DHCP network container usage below which the Infoblox
12499 // appliance generates a syslog message and sends a warning (if enabled). A
12500 // number that specifies the percentage of allocated addresses. The range is
12501 // from 1 to 100.
12502 LowWaterMark *uint32 `json:"low_water_mark,omitempty"`
12503 12504 // The percentage of DHCP network container usage threshold below which network
12505 // container usage is not expected and may warrant your attention. When the low
12506 // watermark is crossed, the Infoblox appliance generates a syslog message and
12507 // sends a warning (if enabled). A number that specifies the percentage of
12508 // allocated addresses. The range is from 1 to 100. The low watermark reset
12509 // value must be higher than the low watermark value.
12510 LowWaterMarkReset *uint32 `json:"low_water_mark_reset,omitempty"`
12511 12512 // This field controls whether this object is synchronized with the Multi-Grid
12513 // Master. If this field is set to True, objects are not synchronized.
12514 MgmPrivate *bool `json:"mgm_private,omitempty"`
12515 12516 // This field is assumed to be True unless filled by any conforming objects,
12517 // such as Network, IPv6 Network, Network Container, IPv6 Network Container,
12518 // and Network View. This value is set to False if mgm_private is set to True
12519 // in the parent object.
12520 MgmPrivateOverridable bool `json:"mgm_private_overridable,omitempty"`
12521 12522 // The Microsoft Active Directory user related information.
12523 MsAdUserData *MsserverAduserData `json:"ms_ad_user_data,omitempty"`
12524 12525 // The network address in IPv4 Address/CIDR format. For regular expression
12526 // searches, only the IPv4 Address portion is supported. Searches for the CIDR
12527 // portion is always an exact match. For example, both network containers
12528 // 10.0.0.0/8 and 20.1.0.0/16 are matched by expression '.0' and only
12529 // 20.1.0.0/16 is matched by '.0/16'.
12530 Network string `json:"network,omitempty"`
12531 12532 // The network container to which this network belongs, if any.
12533 NetworkContainer string `json:"network_container,omitempty"`
12534 12535 // The name of the network view in which this network resides.
12536 NetworkView string `json:"network_view,omitempty"`
12537 12538 // The name in FQDN and/or IPv4 Address of the next server that the host needs
12539 // to boot.
12540 Nextserver *string `json:"nextserver,omitempty"`
12541 12542 // An array of DHCP option dhcpoption structs that lists the DHCP options
12543 // associated with the object.
12544 Options []*Dhcpoption `json:"options,omitempty"`
12545 12546 // The port control blackout setting for this network container.
12547 PortControlBlackoutSetting *PropertiesBlackoutsetting `json:"port_control_blackout_setting,omitempty"`
12548 12549 // The PXE lease time value of a DHCP Network container object. Some hosts use
12550 // PXE (Preboot Execution Environment) to boot remotely from a server. To
12551 // better manage your IP resources, set a different lease time for PXE boot
12552 // requests. You can configure the DHCP server to allocate an IP address with a
12553 // shorter lease time to hosts that send PXE boot requests, so IP addresses are
12554 // not leased longer than necessary. A 32-bit unsigned integer that represents
12555 // the duration, in seconds, for which the update is cached. Zero indicates
12556 // that the update is not cached.
12557 PxeLeaseTime *uint32 `json:"pxe_lease_time,omitempty"`
12558 12559 // If the field is set to True, the leases are kept in the Recycle Bin until
12560 // one week after expiration. Otherwise, the leases are permanently deleted.
12561 RecycleLeases *bool `json:"recycle_leases,omitempty"`
12562 12563 // Remove subnets delete option. Determines whether all child objects should be
12564 // removed alongside with the network container or child objects should be
12565 // assigned to another parental container. By default child objects are deleted
12566 // with the network container.
12567 RemoveSubnets bool `json:"remove_subnets,omitempty"`
12568 12569 // Restarts the member service.
12570 RestartIfNeeded *bool `json:"restart_if_needed,omitempty"`
12571 12572 // The registry (RIR) that allocated the network container address space.
12573 Rir string `json:"rir,omitempty"`
12574 12575 // The RIR organization assoicated with the network container.
12576 RirOrganization *string `json:"rir_organization,omitempty"`
12577 12578 // The RIR registration action.
12579 RirRegistrationAction string `json:"rir_registration_action,omitempty"`
12580 12581 // The registration status of the network container in RIR.
12582 RirRegistrationStatus string `json:"rir_registration_status,omitempty"`
12583 12584 // If the field is set to True, the discovery blackout setting will be used for
12585 // port control blackout setting.
12586 SamePortControlDiscoveryBlackout *bool `json:"same_port_control_discovery_blackout,omitempty"`
12587 12588 // Determines whether to send the RIR registration request.
12589 SendRirRequest *bool `json:"send_rir_request,omitempty"`
12590 12591 // The DHCP Network Container Cisco ISE subscribe settings.
12592 SubscribeSettings *CiscoiseSubscribesetting `json:"subscribe_settings,omitempty"`
12593 12594 // Determines whether the network container is unmanaged or not.
12595 Unmanaged *bool `json:"unmanaged,omitempty"`
12596 12597 // This field controls whether the DHCP server updates DNS when a DHCP lease is
12598 // renewed.
12599 UpdateDnsOnLeaseRenewal *bool `json:"update_dns_on_lease_renewal,omitempty"`
12600 12601 // Use flag for: authority
12602 UseAuthority *bool `json:"use_authority,omitempty"`
12603 12604 // Use flag for: discovery_blackout_setting , port_control_blackout_setting,
12605 // same_port_control_discovery_blackout
12606 UseBlackoutSetting *bool `json:"use_blackout_setting,omitempty"`
12607 12608 // Use flag for: bootfile
12609 UseBootfile *bool `json:"use_bootfile,omitempty"`
12610 12611 // Use flag for: bootserver
12612 UseBootserver *bool `json:"use_bootserver,omitempty"`
12613 12614 // Use flag for: ddns_domainname
12615 UseDdnsDomainname *bool `json:"use_ddns_domainname,omitempty"`
12616 12617 // Use flag for: ddns_generate_hostname
12618 UseDdnsGenerateHostname *bool `json:"use_ddns_generate_hostname,omitempty"`
12619 12620 // Use flag for: ddns_ttl
12621 UseDdnsTtl *bool `json:"use_ddns_ttl,omitempty"`
12622 12623 // Use flag for: ddns_update_fixed_addresses
12624 UseDdnsUpdateFixedAddresses *bool `json:"use_ddns_update_fixed_addresses,omitempty"`
12625 12626 // Use flag for: ddns_use_option81
12627 UseDdnsUseOption81 *bool `json:"use_ddns_use_option81,omitempty"`
12628 12629 // Use flag for: deny_bootp
12630 UseDenyBootp *bool `json:"use_deny_bootp,omitempty"`
12631 12632 // Use flag for: discovery_basic_poll_settings
12633 UseDiscoveryBasicPollingSettings *bool `json:"use_discovery_basic_polling_settings,omitempty"`
12634 12635 // Use flag for: email_list
12636 UseEmailList *bool `json:"use_email_list,omitempty"`
12637 12638 // Use flag for: enable_ddns
12639 UseEnableDdns *bool `json:"use_enable_ddns,omitempty"`
12640 12641 // Use flag for: enable_dhcp_thresholds
12642 UseEnableDhcpThresholds *bool `json:"use_enable_dhcp_thresholds,omitempty"`
12643 12644 // Use flag for: discovery_member , enable_discovery
12645 UseEnableDiscovery *bool `json:"use_enable_discovery,omitempty"`
12646 12647 // Use flag for: ignore_dhcp_option_list_request
12648 UseIgnoreDhcpOptionListRequest *bool `json:"use_ignore_dhcp_option_list_request,omitempty"`
12649 12650 // Use flag for: ignore_id
12651 UseIgnoreId *bool `json:"use_ignore_id,omitempty"`
12652 12653 // Use flag for: ipam_email_addresses
12654 UseIpamEmailAddresses *bool `json:"use_ipam_email_addresses,omitempty"`
12655 12656 // Use flag for: ipam_threshold_settings
12657 UseIpamThresholdSettings *bool `json:"use_ipam_threshold_settings,omitempty"`
12658 12659 // Use flag for: ipam_trap_settings
12660 UseIpamTrapSettings *bool `json:"use_ipam_trap_settings,omitempty"`
12661 12662 // Use flag for: lease_scavenge_time
12663 UseLeaseScavengeTime *bool `json:"use_lease_scavenge_time,omitempty"`
12664 12665 // Use flag for: logic_filter_rules
12666 UseLogicFilterRules *bool `json:"use_logic_filter_rules,omitempty"`
12667 12668 // Use flag for: mgm_private
12669 UseMgmPrivate *bool `json:"use_mgm_private,omitempty"`
12670 12671 // Use flag for: nextserver
12672 UseNextserver *bool `json:"use_nextserver,omitempty"`
12673 12674 // Use flag for: options
12675 UseOptions *bool `json:"use_options,omitempty"`
12676 12677 // Use flag for: pxe_lease_time
12678 UsePxeLeaseTime *bool `json:"use_pxe_lease_time,omitempty"`
12679 12680 // Use flag for: recycle_leases
12681 UseRecycleLeases *bool `json:"use_recycle_leases,omitempty"`
12682 12683 // Use flag for: subscribe_settings
12684 UseSubscribeSettings *bool `json:"use_subscribe_settings,omitempty"`
12685 12686 // Use flag for: update_dns_on_lease_renewal
12687 UseUpdateDnsOnLeaseRenewal *bool `json:"use_update_dns_on_lease_renewal,omitempty"`
12688 12689 // Use flag for: zone_associations
12690 UseZoneAssociations *bool `json:"use_zone_associations,omitempty"`
12691 12692 // The network container utilization in percentage.
12693 Utilization uint32 `json:"utilization,omitempty"`
12694 12695 // The list of zones associated with this network.
12696 ZoneAssociations []*Zoneassociation `json:"zone_associations,omitempty"`
12697 }
12698 12699 func (Ipv4NetworkContainer) ObjectType() string {
12700 return "networkcontainer"
12701 }
12702 12703 func (obj Ipv4NetworkContainer) ReturnFields() []string {
12704 if obj.returnFields == nil {
12705 obj.returnFields = []string{"comment", "network", "network_view"}
12706 }
12707 return obj.returnFields
12708 }
12709 12710 // NetworkTemplate represents Infoblox object networktemplate.
12711 // The network template used to create networks in a quick and consistent way.
12712 // Networks created from a network template inherit all the properties defined
12713 // in the network template, except for the comment and netmask that can be
12714 // defined in the network.
12715 type NetworkTemplate struct {
12716 IBBase `json:"-"`
12717 12718 Ref string `json:"_ref,omitempty"`
12719 12720 // This flag controls whether the template allows any netmask. You must specify
12721 // a netmask when creating a network using this template. If you set this
12722 // parameter to false, you must specify the "netmask" field for the network
12723 // template object.
12724 AllowAnyNetmask *bool `json:"allow_any_netmask,omitempty"`
12725 12726 // Authority for the DHCP network.
12727 Authority *bool `json:"authority,omitempty"`
12728 12729 // This flag controls whether reverse zones are automatically created when the
12730 // network is added.
12731 AutoCreateReversezone *bool `json:"auto_create_reversezone,omitempty"`
12732 12733 // The boot server IPv4 Address or name in FQDN format for the network. You can
12734 // specify the name and/or IP address of the boot server that the host needs to
12735 // boot.
12736 Bootfile *string `json:"bootfile,omitempty"`
12737 12738 // The bootserver address for the network. You can specify the name and/or IP
12739 // address of the boot server that the host needs to boot. The boot server IPv4
12740 // Address or name in FQDN format.
12741 Bootserver *string `json:"bootserver,omitempty"`
12742 12743 // This flag controls whether this template can be used to create network
12744 // objects in a cloud-computing deployment.
12745 CloudApiCompatible *bool `json:"cloud_api_compatible,omitempty"`
12746 12747 // Comment for the network; maximum 256 characters.
12748 Comment *string `json:"comment,omitempty"`
12749 12750 // The dynamic DNS domain name the appliance uses specifically for DDNS updates
12751 // for this network.
12752 DdnsDomainname *string `json:"ddns_domainname,omitempty"`
12753 12754 // If this field is set to True, the DHCP server generates a hostname and
12755 // updates DNS with it when the DHCP client request does not contain a
12756 // hostname.
12757 DdnsGenerateHostname *bool `json:"ddns_generate_hostname,omitempty"`
12758 12759 // This field controls whether the DHCP server is allowed to update DNS,
12760 // regardless of the DHCP client requests. Note that changes for this field
12761 // take effect only if ddns_use_option81 is True.
12762 DdnsServerAlwaysUpdates *bool `json:"ddns_server_always_updates,omitempty"`
12763 12764 // The DNS update Time to Live (TTL) value of a DHCP network object. The TTL is
12765 // a 32-bit unsigned integer that represents the duration, in seconds, for
12766 // which the update is cached. Zero indicates that the update is not cached.
12767 DdnsTtl *uint32 `json:"ddns_ttl,omitempty"`
12768 12769 // By default, the DHCP server does not update DNS when it allocates a fixed
12770 // address to a client. You can configure the DHCP server to update the A and
12771 // PTR records of a client with a fixed address. When this feature is enabled
12772 // and the DHCP server adds A and PTR records for a fixed address, the DHCP
12773 // server never discards the records.
12774 DdnsUpdateFixedAddresses *bool `json:"ddns_update_fixed_addresses,omitempty"`
12775 12776 // The support for DHCP Option 81 at the network level.
12777 DdnsUseOption81 *bool `json:"ddns_use_option81,omitempty"`
12778 12779 // Reference the Cloud Platform Appliance to which authority of the object
12780 // should be delegated when the object is created using the template.
12781 DelegatedMember *Dhcpmember `json:"delegated_member,omitempty"`
12782 12783 // If set to True, BOOTP settings are disabled and BOOTP requests will be
12784 // denied.
12785 DenyBootp *bool `json:"deny_bootp,omitempty"`
12786 12787 // The e-mail lists to which the appliance sends DHCP threshold alarm e-mail
12788 // messages.
12789 EmailList []string `json:"email_list,omitempty"`
12790 12791 // The dynamic DNS updates flag of a DHCP network object. If set to True, the
12792 // DHCP server sends DDNS updates to DNS servers in the same Grid, and to
12793 // external DNS servers.
12794 EnableDdns *bool `json:"enable_ddns,omitempty"`
12795 12796 // Determines if DHCP thresholds are enabled for the network.
12797 EnableDhcpThresholds *bool `json:"enable_dhcp_thresholds,omitempty"`
12798 12799 // Determines if DHCP threshold warnings are sent through email.
12800 EnableEmailWarnings *bool `json:"enable_email_warnings,omitempty"`
12801 12802 // Set this to True if you want the DHCP server to use a different lease time
12803 // for PXE clients.
12804 EnablePxeLeaseTime *bool `json:"enable_pxe_lease_time,omitempty"`
12805 12806 // Determines if DHCP threshold warnings are send through SNMP.
12807 EnableSnmpWarnings *bool `json:"enable_snmp_warnings,omitempty"`
12808 12809 // Extensible attributes associated with the object. For valid values for
12810 // extensible attributes, see {extattrs:values}.
12811 Ea EA `json:"extattrs"`
12812 12813 // The list of fixed address templates assigned to this network template
12814 // object. When you create a network based on a network template object that
12815 // contains fixed address templates, the fixed addresses are created based on
12816 // the associated fixed address templates.
12817 FixedAddressTemplates []string `json:"fixed_address_templates,omitempty"`
12818 12819 // The percentage of DHCP network usage threshold above which network usage is
12820 // not expected and may warrant your attention. When the high watermark is
12821 // reached, the Infoblox appliance generates a syslog message and sends a
12822 // warning (if enabled). A number that specifies the percentage of allocated
12823 // addresses. The range is from 1 to 100.
12824 HighWaterMark *uint32 `json:"high_water_mark,omitempty"`
12825 12826 // The percentage of DHCP network usage below which the corresponding SNMP trap
12827 // is reset. A number that specifies the percentage of allocated addresses. The
12828 // range is from 1 to 100. The high watermark reset value must be lower than
12829 // the high watermark value.
12830 HighWaterMarkReset *uint32 `json:"high_water_mark_reset,omitempty"`
12831 12832 // If this field is set to False, the appliance returns all DHCP options the
12833 // client is eligible to receive, rather than only the list of options the
12834 // client has requested.
12835 IgnoreDhcpOptionListRequest *bool `json:"ignore_dhcp_option_list_request,omitempty"`
12836 12837 // The e-mail lists to which the appliance sends IPAM threshold alarm e-mail
12838 // messages.
12839 IpamEmailAddresses []string `json:"ipam_email_addresses,omitempty"`
12840 12841 // The IPAM Threshold settings for this network template.
12842 IpamThresholdSettings *SettingIpamThreshold `json:"ipam_threshold_settings,omitempty"`
12843 12844 // The IPAM Trap settings for this network template.
12845 IpamTrapSettings *SettingIpamTrap `json:"ipam_trap_settings,omitempty"`
12846 12847 // An integer that specifies the period of time (in seconds) that frees and
12848 // backs up leases remained in the database before they are automatically
12849 // deleted. To disable lease scavenging, set the parameter to -1. The minimum
12850 // positive value must be greater than 86400 seconds (1 day).
12851 LeaseScavengeTime int `json:"lease_scavenge_time,omitempty"`
12852 12853 // This field contains the logic filters to be applied on the this network
12854 // template. This list corresponds to the match rules that are written to the
12855 // dhcpd configuration file.
12856 LogicFilterRules []*Logicfilterrule `json:"logic_filter_rules,omitempty"`
12857 12858 // The percentage of DHCP network usage below which the Infoblox appliance
12859 // generates a syslog message and sends a warning (if enabled). A number that
12860 // specifies the percentage of allocated addresses. The range is from 1 to 100.
12861 LowWaterMark *uint32 `json:"low_water_mark,omitempty"`
12862 12863 // The percentage of DHCP network usage threshold below which network usage is
12864 // not expected and may warrant your attention. When the low watermark is
12865 // crossed, the Infoblox appliance generates a syslog message and sends a
12866 // warning (if enabled). A number that specifies the percentage of allocated
12867 // addresses. The range is from 1 to 100. The low watermark reset value must be
12868 // higher than the low watermark value.
12869 LowWaterMarkReset *uint32 `json:"low_water_mark_reset,omitempty"`
12870 12871 // A list of members or Microsoft (r) servers that serve DHCP for this network.
12872 // All members in the array must be of the same type. The struct type must be
12873 // indicated in each element, by setting the "_struct" member to the struct
12874 // type.
12875 Members []*Msdhcpserver `json:"members,omitempty"`
12876 12877 // The name of this network template.
12878 Name *string `json:"name,omitempty"`
12879 12880 // The netmask of the network in CIDR format.
12881 Netmask *uint32 `json:"netmask,omitempty"`
12882 12883 // The name in FQDN and/or IPv4 Address of the next server that the host needs
12884 // to boot.
12885 Nextserver *string `json:"nextserver,omitempty"`
12886 12887 // An array of DHCP option dhcpoption structs that lists the DHCP options
12888 // associated with the object.
12889 Options []*Dhcpoption `json:"options,omitempty"`
12890 12891 // The PXE lease time value of a DHCP Network object. Some hosts use PXE
12892 // (Preboot Execution Environment) to boot remotely from a server. To better
12893 // manage your IP resources, set a different lease time for PXE boot requests.
12894 // You can configure the DHCP server to allocate an IP address with a shorter
12895 // lease time to hosts that send PXE boot requests, so IP addresses are not
12896 // leased longer than necessary. A 32-bit unsigned integer that represents the
12897 // duration, in seconds, for which the update is cached. Zero indicates that
12898 // the update is not cached.
12899 PxeLeaseTime *uint32 `json:"pxe_lease_time,omitempty"`
12900 12901 // The list of IP address range templates assigned to this network template
12902 // object. When you create a network based on a network template object that
12903 // contains range templates, the IP address ranges are created based on the
12904 // associated IP address range templates.
12905 RangeTemplates []string `json:"range_templates,omitempty"`
12906 12907 // If the field is set to True, the leases are kept in the Recycle Bin until
12908 // one week after expiration. Otherwise, the leases are permanently deleted.
12909 RecycleLeases *bool `json:"recycle_leases,omitempty"`
12910 12911 // THe registry (RIR) that allocated the network address space.
12912 Rir string `json:"rir,omitempty"`
12913 12914 // The RIR organization assoicated with the network.
12915 RirOrganization *string `json:"rir_organization,omitempty"`
12916 12917 // The RIR registration action.
12918 RirRegistrationAction string `json:"rir_registration_action,omitempty"`
12919 12920 // The registration status of the network in RIR.
12921 RirRegistrationStatus string `json:"rir_registration_status,omitempty"`
12922 12923 // Determines whether to send the RIR registration request.
12924 SendRirRequest *bool `json:"send_rir_request,omitempty"`
12925 12926 // This field controls whether the DHCP server updates DNS when a DHCP lease is
12927 // renewed.
12928 UpdateDnsOnLeaseRenewal *bool `json:"update_dns_on_lease_renewal,omitempty"`
12929 12930 // Use flag for: authority
12931 UseAuthority *bool `json:"use_authority,omitempty"`
12932 12933 // Use flag for: bootfile
12934 UseBootfile *bool `json:"use_bootfile,omitempty"`
12935 12936 // Use flag for: bootserver
12937 UseBootserver *bool `json:"use_bootserver,omitempty"`
12938 12939 // Use flag for: ddns_domainname
12940 UseDdnsDomainname *bool `json:"use_ddns_domainname,omitempty"`
12941 12942 // Use flag for: ddns_generate_hostname
12943 UseDdnsGenerateHostname *bool `json:"use_ddns_generate_hostname,omitempty"`
12944 12945 // Use flag for: ddns_ttl
12946 UseDdnsTtl *bool `json:"use_ddns_ttl,omitempty"`
12947 12948 // Use flag for: ddns_update_fixed_addresses
12949 UseDdnsUpdateFixedAddresses *bool `json:"use_ddns_update_fixed_addresses,omitempty"`
12950 12951 // Use flag for: ddns_use_option81
12952 UseDdnsUseOption81 *bool `json:"use_ddns_use_option81,omitempty"`
12953 12954 // Use flag for: deny_bootp
12955 UseDenyBootp *bool `json:"use_deny_bootp,omitempty"`
12956 12957 // Use flag for: email_list
12958 UseEmailList *bool `json:"use_email_list,omitempty"`
12959 12960 // Use flag for: enable_ddns
12961 UseEnableDdns *bool `json:"use_enable_ddns,omitempty"`
12962 12963 // Use flag for: enable_dhcp_thresholds
12964 UseEnableDhcpThresholds *bool `json:"use_enable_dhcp_thresholds,omitempty"`
12965 12966 // Use flag for: ignore_dhcp_option_list_request
12967 UseIgnoreDhcpOptionListRequest *bool `json:"use_ignore_dhcp_option_list_request,omitempty"`
12968 12969 // Use flag for: ipam_email_addresses
12970 UseIpamEmailAddresses *bool `json:"use_ipam_email_addresses,omitempty"`
12971 12972 // Use flag for: ipam_threshold_settings
12973 UseIpamThresholdSettings *bool `json:"use_ipam_threshold_settings,omitempty"`
12974 12975 // Use flag for: ipam_trap_settings
12976 UseIpamTrapSettings *bool `json:"use_ipam_trap_settings,omitempty"`
12977 12978 // Use flag for: lease_scavenge_time
12979 UseLeaseScavengeTime *bool `json:"use_lease_scavenge_time,omitempty"`
12980 12981 // Use flag for: logic_filter_rules
12982 UseLogicFilterRules *bool `json:"use_logic_filter_rules,omitempty"`
12983 12984 // Use flag for: nextserver
12985 UseNextserver *bool `json:"use_nextserver,omitempty"`
12986 12987 // Use flag for: options
12988 UseOptions *bool `json:"use_options,omitempty"`
12989 12990 // Use flag for: pxe_lease_time
12991 UsePxeLeaseTime *bool `json:"use_pxe_lease_time,omitempty"`
12992 12993 // Use flag for: recycle_leases
12994 UseRecycleLeases *bool `json:"use_recycle_leases,omitempty"`
12995 12996 // Use flag for: update_dns_on_lease_renewal
12997 UseUpdateDnsOnLeaseRenewal *bool `json:"use_update_dns_on_lease_renewal,omitempty"`
12998 }
12999 13000 func (NetworkTemplate) ObjectType() string {
13001 return "networktemplate"
13002 }
13003 13004 func (obj NetworkTemplate) ReturnFields() []string {
13005 if obj.returnFields == nil {
13006 obj.returnFields = []string{"comment", "name"}
13007 }
13008 return obj.returnFields
13009 }
13010 13011 // Networkuser represents Infoblox object networkuser.
13012 // The DHCP Network User object provides information about Active Directory
13013 // users such as user session for a specific IP address, domain, login and
13014 // logout timestamps.
13015 type Networkuser struct {
13016 IBBase `json:"-"`
13017 13018 Ref string `json:"_ref,omitempty"`
13019 13020 // The IPv4 Address or IPv6 Address of the Network User.
13021 Address *string `json:"address,omitempty"`
13022 13023 // The reference of the IPAM IPv4Address or IPv6Address object describing the
13024 // address of the Network User.
13025 AddressObject string `json:"address_object,omitempty"`
13026 13027 // The Network User data source.
13028 DataSource string `json:"data_source,omitempty"`
13029 13030 // The Network User data source IPv4 Address or IPv6 Address or FQDN address.
13031 DataSourceIp string `json:"data_source_ip,omitempty"`
13032 13033 // The domain name of the Network User.
13034 Domainname *string `json:"domainname,omitempty"`
13035 13036 // The first seen timestamp of the Network User.
13037 FirstSeenTime *UnixTime `json:"first_seen_time,omitempty"`
13038 13039 // The group identifier of the Network User.
13040 Guid *string `json:"guid,omitempty"`
13041 13042 // The last seen timestamp of the Network User.
13043 LastSeenTime *UnixTime `json:"last_seen_time,omitempty"`
13044 13045 // The last updated timestamp of the Network User.
13046 LastUpdatedTime *UnixTime `json:"last_updated_time,omitempty"`
13047 13048 // The logon identifier of the Network User.
13049 LogonId *string `json:"logon_id,omitempty"`
13050 13051 // The logout timestamp of the Network User.
13052 LogoutTime *UnixTime `json:"logout_time,omitempty"`
13053 13054 // The name of the Network User.
13055 Name *string `json:"name,omitempty"`
13056 13057 // The reference to the network to which the Network User belongs.
13058 Network string `json:"network,omitempty"`
13059 13060 // The name of the network view in which this Network User resides.
13061 NetworkView *string `json:"network_view,omitempty"`
13062 13063 // The status of the Network User.
13064 UserStatus string `json:"user_status,omitempty"`
13065 }
13066 13067 func (Networkuser) ObjectType() string {
13068 return "networkuser"
13069 }
13070 13071 func (obj Networkuser) ReturnFields() []string {
13072 if obj.returnFields == nil {
13073 obj.returnFields = []string{"address", "domainname", "name", "network_view", "user_status"}
13074 }
13075 return obj.returnFields
13076 }
13077 13078 // NetworkView represents Infoblox object networkview.
13079 // A network view is a single routing domain with its own networks and shared
13080 // networks. A network view can contain both IPv4 and IPv6 networks. All
13081 // networks must belong to a network view.
13082 type NetworkView struct {
13083 IBBase `json:"-"`
13084 13085 Ref string `json:"_ref,omitempty"`
13086 13087 // The list of DNS views associated with this network view.
13088 AssociatedDnsViews []string `json:"associated_dns_views,omitempty"`
13089 13090 // The list of members associated with a network view.
13091 AssociatedMembers []*NetworkviewAssocmember `json:"associated_members,omitempty"`
13092 13093 // Structure containing all cloud API related information for this object.
13094 CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`
13095 13096 // Comment for the network view; maximum 256 characters.
13097 Comment *string `json:"comment,omitempty"`
13098 13099 // DNS views that will receive the updates if you enable the appliance to send
13100 // updates to Grid members.
13101 DdnsDnsView *string `json:"ddns_dns_view,omitempty"`
13102 13103 // An array of Ddns Zone Primary dhcpddns structs that lists the information of
13104 // primary zone to wich DDNS updates should be sent.
13105 DdnsZonePrimaries []*Dhcpddns `json:"ddns_zone_primaries,omitempty"`
13106 13107 // Extensible attributes associated with the object. For valid values for
13108 // extensible attributes, see {extattrs:values}.
13109 Ea EA `json:"extattrs"`
13110 13111 // The list of linked authoritative DNS zones.
13112 InternalForwardZones []*ZoneAuth `json:"internal_forward_zones,omitempty"`
13113 13114 // The NIOS appliance provides one default network view. You can rename the
13115 // default view and change its settings, but you cannot delete it. There must
13116 // always be at least one network view in the appliance.
13117 IsDefault bool `json:"is_default,omitempty"`
13118 13119 // This field controls whether this object is synchronized with the Multi-Grid
13120 // Master. If this field is set to True, objects are not synchronized.
13121 MgmPrivate *bool `json:"mgm_private,omitempty"`
13122 13123 // The Microsoft Active Directory user related information.
13124 MsAdUserData *MsserverAduserData `json:"ms_ad_user_data,omitempty"`
13125 13126 // Name of the network view.
13127 Name *string `json:"name,omitempty"`
13128 13129 // The list of forward-mapping zones to which the DHCP server sends the
13130 // updates.
13131 RemoteForwardZones []*Remoteddnszone `json:"remote_forward_zones,omitempty"`
13132 13133 // The list of reverse-mapping zones to which the DHCP server sends the
13134 // updates.
13135 RemoteReverseZones []*Remoteddnszone `json:"remote_reverse_zones,omitempty"`
13136 }
13137 13138 func (NetworkView) ObjectType() string {
13139 return "networkview"
13140 }
13141 13142 func (obj NetworkView) ReturnFields() []string {
13143 if obj.returnFields == nil {
13144 obj.returnFields = []string{"comment", "is_default", "name"}
13145 }
13146 return obj.returnFields
13147 }
13148 13149 func NewEmptyNetworkView() *NetworkView {
13150 res := &NetworkView{}
13151 res.returnFields = []string{"extattrs", "name", "comment"}
13152 return res
13153 }
13154 13155 func NewNetworkView(name string, comment string, eas EA, ref string) *NetworkView {
13156 res := NewEmptyNetworkView()
13157 res.Name = &name
13158 res.Comment = &comment
13159 res.Ea = eas
13160 res.Ref = ref
13161 return res
13162 }
13163 13164 // NotificationRestEndpoint represents Infoblox object notification:rest:endpoint.
13165 // The notification REST endpoint object represents settings of particular REST
13166 // API endpoint.
13167 type NotificationRestEndpoint struct {
13168 IBBase `json:"-"`
13169 13170 Ref string `json:"_ref,omitempty"`
13171 13172 // The client certificate subject of a notification REST endpoint.
13173 ClientCertificateSubject string `json:"client_certificate_subject,omitempty"`
13174 13175 // The token returned by the uploadinit function call in object fileop for a
13176 // notification REST endpoit client certificate.
13177 ClientCertificateToken *string `json:"client_certificate_token,omitempty"`
13178 13179 // The timestamp when client certificate for a notification REST endpoint was
13180 // created.
13181 ClientCertificateValidFrom *UnixTime `json:"client_certificate_valid_from,omitempty"`
13182 13183 // The timestamp when client certificate for a notification REST endpoint
13184 // expires.
13185 ClientCertificateValidTo *UnixTime `json:"client_certificate_valid_to,omitempty"`
13186 13187 // The comment of a notification REST endpoint.
13188 Comment *string `json:"comment,omitempty"`
13189 13190 // Extensible attributes associated with the object. For valid values for
13191 // extensible attributes, see {extattrs:values}.
13192 Ea EA `json:"extattrs"`
13193 13194 // The log level for a notification REST endpoint.
13195 LogLevel string `json:"log_level,omitempty"`
13196 13197 // The name of a notification REST endpoint.
13198 Name *string `json:"name,omitempty"`
13199 13200 // The outbound member which will generate an event.
13201 OutboundMemberType string `json:"outbound_member_type,omitempty"`
13202 13203 // The list of members for outbound events.
13204 OutboundMembers []string `json:"outbound_members,omitempty"`
13205 13206 // The password of the user that can log into a notification REST endpoint.
13207 Password *string `json:"password,omitempty"`
13208 13209 // The server certificate validation type.
13210 ServerCertValidation string `json:"server_cert_validation,omitempty"`
13211 13212 // Determines if the sync process is disabled for a notification REST endpoint.
13213 SyncDisabled *bool `json:"sync_disabled,omitempty"`
13214 13215 // The notification REST template instance. The parameters of REST API endpoint
13216 // template instance are prohibited to change.
13217 TemplateInstance *NotificationRestTemplateinstance `json:"template_instance,omitempty"`
13218 13219 // The timeout of session management (in seconds).
13220 Timeout *uint32 `json:"timeout,omitempty"`
13221 13222 // The URI of a notification REST endpoint.
13223 Uri *string `json:"uri,omitempty"`
13224 13225 // The username of the user that can log into a notification REST endpoint.
13226 Username *string `json:"username,omitempty"`
13227 13228 // The vendor identifier.
13229 VendorIdentifier *string `json:"vendor_identifier,omitempty"`
13230 13231 // The user name for WAPI integration.
13232 WapiUserName *string `json:"wapi_user_name,omitempty"`
13233 13234 // The user password for WAPI integration.
13235 WapiUserPassword *string `json:"wapi_user_password,omitempty"`
13236 }
13237 13238 func (NotificationRestEndpoint) ObjectType() string {
13239 return "notification:rest:endpoint"
13240 }
13241 13242 func (obj NotificationRestEndpoint) ReturnFields() []string {
13243 if obj.returnFields == nil {
13244 obj.returnFields = []string{"name", "outbound_member_type", "uri"}
13245 }
13246 return obj.returnFields
13247 }
13248 13249 // NotificationRestTemplate represents Infoblox object notification:rest:template.
13250 // The notification REST template object represents settings of particular REST
13251 // API template.
13252 type NotificationRestTemplate struct {
13253 IBBase `json:"-"`
13254 13255 Ref string `json:"_ref,omitempty"`
13256 13257 // The action name.
13258 ActionName string `json:"action_name,omitempty"`
13259 13260 // The time stamp when a template was added.
13261 AddedOn *UnixTime `json:"added_on,omitempty"`
13262 13263 // The comment for this REST API template.
13264 Comment *string `json:"comment,omitempty"`
13265 13266 // The JSON formatted content of a template. The data passed by content creates
13267 // parameters for a template.
13268 Content *string `json:"content,omitempty"`
13269 13270 // The event type.
13271 EventType []string `json:"event_type,omitempty"`
13272 13273 // The name of a notification REST template.
13274 Name *string `json:"name,omitempty"`
13275 13276 // The outbound type for the template.
13277 OutboundType string `json:"outbound_type,omitempty"`
13278 13279 // The notification REST template parameters.
13280 Parameters []*NotificationRestTemplateparameter `json:"parameters,omitempty"`
13281 13282 // The template type.
13283 TemplateType string `json:"template_type,omitempty"`
13284 13285 // The vendor identifier.
13286 VendorIdentifier string `json:"vendor_identifier,omitempty"`
13287 }
13288 13289 func (NotificationRestTemplate) ObjectType() string {
13290 return "notification:rest:template"
13291 }
13292 13293 func (obj NotificationRestTemplate) ReturnFields() []string {
13294 if obj.returnFields == nil {
13295 obj.returnFields = []string{"content", "name"}
13296 }
13297 return obj.returnFields
13298 }
13299 13300 // NotificationRule represents Infoblox object notification:rule.
13301 // Notification rule specifies the server to which this rule is applicable,
13302 // certain conditions (i.e. triggers), and the action to be taken when the rule
13303 // is hit. It also specifies where this rule engine is configured to be run.
13304 type NotificationRule struct {
13305 IBBase `json:"-"`
13306 13307 Ref string `json:"_ref,omitempty"`
13308 13309 // Determines whether the notification rule is applied on all members or not.
13310 // When this is set to False, the notification rule is applied only on
13311 // selected_members.
13312 AllMembers *bool `json:"all_members,omitempty"`
13313 13314 // The notification rule descriptive comment.
13315 Comment *string `json:"comment,omitempty"`
13316 13317 // Determines whether a notification rule is disabled or not. When this is set
13318 // to False, the notification rule is enabled.
13319 Disable *bool `json:"disable,omitempty"`
13320 13321 // Determines whether the notification rule for event deduplication is enabled.
13322 // Note that to enable event deduplication, you must set at least one
13323 // deduplication field.
13324 EnableEventDeduplication *bool `json:"enable_event_deduplication,omitempty"`
13325 13326 // Determines whether the notification rule for the event deduplication syslog
13327 // is enabled.
13328 EnableEventDeduplicationLog *bool `json:"enable_event_deduplication_log,omitempty"`
13329 13330 // The list of fields that must be used in the notification rule for event
13331 // deduplication.
13332 EventDeduplicationFields []string `json:"event_deduplication_fields,omitempty"`
13333 13334 // The lookback period for the notification rule for event deduplication.
13335 EventDeduplicationLookbackPeriod *uint32 `json:"event_deduplication_lookback_period,omitempty"`
13336 13337 // Event priority.
13338 EventPriority *string `json:"event_priority,omitempty"`
13339 13340 // The notification rule event type.
13341 EventType string `json:"event_type,omitempty"`
13342 13343 // The notification rule expression list.
13344 ExpressionList []*NotificationRuleexpressionop `json:"expression_list,omitempty"`
13345 13346 // The notification rule name.
13347 Name string `json:"name,omitempty"`
13348 13349 // The notification rule action is applied if expression list evaluates to
13350 // True.
13351 NotificationAction string `json:"notification_action,omitempty"`
13352 13353 // The notification target.
13354 NotificationTarget *string `json:"notification_target,omitempty"`
13355 13356 // The publish settings.
13357 PublishSettings *CiscoisePublishsetting `json:"publish_settings,omitempty"`
13358 13359 // Schedule setting that must be specified if event_type is SCHEDULE.
13360 ScheduledEvent *SettingSchedule `json:"scheduled_event,omitempty"`
13361 13362 // The list of the members on which the notification rule is applied.
13363 SelectedMembers []string `json:"selected_members,omitempty"`
13364 13365 // The notification REST template instance.
13366 TemplateInstance *NotificationRestTemplateinstance `json:"template_instance,omitempty"`
13367 13368 // Use flag for: publish_settings
13369 UsePublishSettings *bool `json:"use_publish_settings,omitempty"`
13370 }
13371 13372 func (NotificationRule) ObjectType() string {
13373 return "notification:rule"
13374 }
13375 13376 func (obj NotificationRule) ReturnFields() []string {
13377 if obj.returnFields == nil {
13378 obj.returnFields = []string{"event_type", "name", "notification_action", "notification_target"}
13379 }
13380 return obj.returnFields
13381 }
13382 13383 // Nsgroup represents Infoblox object nsgroup.
13384 // A name server group is a collection of one or more primary DNS servers and
13385 // one or more secondary DNS servers. Grouping a commonly used set of primary
13386 // and secondary DNS servers together simplifies zone creation, allowing you to
13387 // specify a single name server group instead of specifying multiple name
13388 // servers individually.
13389 type Nsgroup struct {
13390 IBBase `json:"-"`
13391 13392 Ref string `json:"_ref,omitempty"`
13393 13394 // Comment for the name server group; maximum 256 characters.
13395 Comment *string `json:"comment,omitempty"`
13396 13397 // Extensible attributes associated with the object. For valid values for
13398 // extensible attributes, see {extattrs:values}.
13399 Ea EA `json:"extattrs"`
13400 13401 // The list of external primary servers.
13402 ExternalPrimaries []NameServer `json:"external_primaries,omitempty"`
13403 13404 // The list of external secondary servers.
13405 ExternalSecondaries []NameServer `json:"external_secondaries,omitempty"`
13406 13407 // The grid primary servers for this group.
13408 GridPrimary []*Memberserver `json:"grid_primary,omitempty"`
13409 13410 // The list with Grid members that are secondary servers for this group.
13411 GridSecondaries []*Memberserver `json:"grid_secondaries,omitempty"`
13412 13413 // Determines if this name server group is the Grid default.
13414 IsGridDefault *bool `json:"is_grid_default,omitempty"`
13415 13416 // Determines if the "multiple DNS primaries" feature is enabled for the group.
13417 IsMultimaster bool `json:"is_multimaster,omitempty"`
13418 13419 // The name of this name server group.
13420 Name *string `json:"name,omitempty"`
13421 13422 // This flag controls whether the group is using an external primary. Note that
13423 // modification of this field requires passing values for "grid_secondaries"
13424 // and "external_primaries".
13425 UseExternalPrimary *bool `json:"use_external_primary,omitempty"`
13426 }
13427 13428 func (Nsgroup) ObjectType() string {
13429 return "nsgroup"
13430 }
13431 13432 func (obj Nsgroup) ReturnFields() []string {
13433 if obj.returnFields == nil {
13434 obj.returnFields = []string{"comment", "name"}
13435 }
13436 return obj.returnFields
13437 }
13438 13439 // NsgroupDelegation represents Infoblox object nsgroup:delegation.
13440 // The NS group delegation object provides delegation servers configuration for
13441 // delegated zones. When you configure a name server group, you can now create
13442 // a set of external name servers as a delegation name server group and assign
13443 // it to delegated zones. Specifying a single delegation name server group
13444 // instead of configuring multiple name servers individually for each delegated
13445 // zones can significantly reduce configuration efforts.
13446 type NsgroupDelegation struct {
13447 IBBase `json:"-"`
13448 13449 Ref string `json:"_ref,omitempty"`
13450 13451 // The comment for the delegated NS group.
13452 Comment *string `json:"comment,omitempty"`
13453 13454 // The list of delegated servers for the delegated NS group.
13455 DelegateTo []NameServer `json:"delegate_to,omitempty"`
13456 13457 // Extensible attributes associated with the object. For valid values for
13458 // extensible attributes, see {extattrs:values}.
13459 Ea EA `json:"extattrs"`
13460 13461 // The name of the delegated NS group.
13462 Name *string `json:"name,omitempty"`
13463 }
13464 13465 func (NsgroupDelegation) ObjectType() string {
13466 return "nsgroup:delegation"
13467 }
13468 13469 func (obj NsgroupDelegation) ReturnFields() []string {
13470 if obj.returnFields == nil {
13471 obj.returnFields = []string{"delegate_to", "name"}
13472 }
13473 return obj.returnFields
13474 }
13475 13476 // NsgroupForwardingmember represents Infoblox object nsgroup:forwardingmember.
13477 // The Forwarding Member Name Server Group provides forwarding servers
13478 // configuration for forward zones.
13479 type NsgroupForwardingmember struct {
13480 IBBase `json:"-"`
13481 13482 Ref string `json:"_ref,omitempty"`
13483 13484 // Comment for the Forwarding Member Name Server Group; maximum 256 characters.
13485 Comment *string `json:"comment,omitempty"`
13486 13487 // Extensible attributes associated with the object. For valid values for
13488 // extensible attributes, see {extattrs:values}.
13489 Ea EA `json:"extattrs"`
13490 13491 // The list of forwarding member servers.
13492 ForwardingServers []*Forwardingmemberserver `json:"forwarding_servers,omitempty"`
13493 13494 // The name of the Forwarding Member Name Server Group.
13495 Name *string `json:"name,omitempty"`
13496 }
13497 13498 func (NsgroupForwardingmember) ObjectType() string {
13499 return "nsgroup:forwardingmember"
13500 }
13501 13502 func (obj NsgroupForwardingmember) ReturnFields() []string {
13503 if obj.returnFields == nil {
13504 obj.returnFields = []string{"forwarding_servers", "name"}
13505 }
13506 return obj.returnFields
13507 }
13508 13509 // NsgroupForwardstubserver represents Infoblox object nsgroup:forwardstubserver.
13510 // The Forward Stub Server Name Server Group allows configuring external
13511 // servers for Forward Zone and Stub Zone.
13512 type NsgroupForwardstubserver struct {
13513 IBBase `json:"-"`
13514 13515 Ref string `json:"_ref,omitempty"`
13516 13517 // Comment for the Forward Stub Server Name Server Group; maximum 256
13518 // characters.
13519 Comment *string `json:"comment,omitempty"`
13520 13521 // Extensible attributes associated with the object. For valid values for
13522 // extensible attributes, see {extattrs:values}.
13523 Ea EA `json:"extattrs"`
13524 13525 // The list of external servers.
13526 ExternalServers []NameServer `json:"external_servers,omitempty"`
13527 13528 // The name of this Forward Stub Server Name Server Group.
13529 Name *string `json:"name,omitempty"`
13530 }
13531 13532 func (NsgroupForwardstubserver) ObjectType() string {
13533 return "nsgroup:forwardstubserver"
13534 }
13535 13536 func (obj NsgroupForwardstubserver) ReturnFields() []string {
13537 if obj.returnFields == nil {
13538 obj.returnFields = []string{"external_servers", "name"}
13539 }
13540 return obj.returnFields
13541 }
13542 13543 // NsgroupStubmember represents Infoblox object nsgroup:stubmember.
13544 // The Stub Member Name Server Group provides stub servers configuration for
13545 // stub zones.
13546 type NsgroupStubmember struct {
13547 IBBase `json:"-"`
13548 13549 Ref string `json:"_ref,omitempty"`
13550 13551 // Comment for the Stub Member Name Server Group; maximum 256 characters.
13552 Comment *string `json:"comment,omitempty"`
13553 13554 // Extensible attributes associated with the object. For valid values for
13555 // extensible attributes, see {extattrs:values}.
13556 Ea EA `json:"extattrs"`
13557 13558 // The name of the Stub Member Name Server Group.
13559 Name *string `json:"name,omitempty"`
13560 13561 // The Grid member servers of this stub zone. Note that the
13562 // lead/stealth/grid_replicate/
13563 // preferred_primaries/override_preferred_primaries fields of the struct will
13564 // be ignored when set in this field.
13565 StubMembers []*Memberserver `json:"stub_members,omitempty"`
13566 }
13567 13568 func (NsgroupStubmember) ObjectType() string {
13569 return "nsgroup:stubmember"
13570 }
13571 13572 func (obj NsgroupStubmember) ReturnFields() []string {
13573 if obj.returnFields == nil {
13574 obj.returnFields = []string{"name"}
13575 }
13576 return obj.returnFields
13577 }
13578 13579 // Orderedranges represents Infoblox object orderedranges.
13580 // An ordered DHCP ranges object contains an ordered list of DHCP range objects
13581 // that belong to a network.
13582 type Orderedranges struct {
13583 IBBase `json:"-"`
13584 13585 Ref string `json:"_ref,omitempty"`
13586 13587 // The reference to the network that contains ranges.
13588 Network string `json:"network,omitempty"`
13589 13590 // The ordered list of references to ranges.
13591 Ranges []*Range `json:"ranges,omitempty"`
13592 }
13593 13594 func (Orderedranges) ObjectType() string {
13595 return "orderedranges"
13596 }
13597 13598 func (obj Orderedranges) ReturnFields() []string {
13599 if obj.returnFields == nil {
13600 obj.returnFields = []string{"network", "ranges"}
13601 }
13602 return obj.returnFields
13603 }
13604 13605 // Orderedresponsepolicyzones represents Infoblox object orderedresponsepolicyzones.
13606 // An ordered list of Response Policy Zones in a DNS view. Server will reject
13607 // zones that are disabled or zones without primary name server assigned.
13608 type Orderedresponsepolicyzones struct {
13609 IBBase `json:"-"`
13610 13611 Ref string `json:"_ref,omitempty"`
13612 13613 // An ordered list of Response Policy Zone names.
13614 RpZones []string `json:"rp_zones,omitempty"`
13615 13616 // The DNS View name.
13617 View *string `json:"view,omitempty"`
13618 }
13619 13620 func (Orderedresponsepolicyzones) ObjectType() string {
13621 return "orderedresponsepolicyzones"
13622 }
13623 13624 func (obj Orderedresponsepolicyzones) ReturnFields() []string {
13625 if obj.returnFields == nil {
13626 obj.returnFields = []string{"view"}
13627 }
13628 return obj.returnFields
13629 }
13630 13631 // OutboundCloudclient represents Infoblox object outbound:cloudclient.
13632 // You can use the outbound Cloud Client object to configure the detection and
13633 // authentication of domains in the Cloud, and then apply them to on-premises
13634 // DNS firewall RPZ zones within a configurable time frame.
13635 type OutboundCloudclient struct {
13636 IBBase `json:"-"`
13637 13638 Ref string `json:"_ref,omitempty"`
13639 13640 // Determines whether the OutBound Cloud Client is enabled.
13641 Enable *bool `json:"enable,omitempty"`
13642 13643 // The Grid member where our outbound is running.
13644 GridMember *string `json:"grid_member,omitempty"`
13645 13646 // The time interval (in seconds) for requesting newly detected domains by the
13647 // Infoblox Outbound Cloud Client and applying them to the list of configured
13648 // RPZs.
13649 Interval *uint32 `json:"interval,omitempty"`
13650 13651 // List of event types to request
13652 OutboundCloudClientEvents []*OutboundCloudclientEvent `json:"outbound_cloud_client_events,omitempty"`
13653 }
13654 13655 func (OutboundCloudclient) ObjectType() string {
13656 return "outbound:cloudclient"
13657 }
13658 13659 func (obj OutboundCloudclient) ReturnFields() []string {
13660 if obj.returnFields == nil {
13661 obj.returnFields = []string{"enable", "interval"}
13662 }
13663 return obj.returnFields
13664 }
13665 13666 // ParentalcontrolAvp represents Infoblox object parentalcontrol:avp.
13667 // The accounting attribute value pair object is used to extract accounting
13668 // information from accounting protocols logs.
13669 type ParentalcontrolAvp struct {
13670 IBBase `json:"-"`
13671 13672 Ref string `json:"_ref,omitempty"`
13673 13674 // The comment for the AVP.
13675 Comment *string `json:"comment,omitempty"`
13676 13677 // The list of domains applicable to AVP.
13678 DomainTypes []string `json:"domain_types,omitempty"`
13679 13680 // Determines if AVP is restricted to domains.
13681 IsRestricted *bool `json:"is_restricted,omitempty"`
13682 13683 // The name of AVP.
13684 Name *string `json:"name,omitempty"`
13685 13686 // The type of AVP as per RFC 2865/2866.
13687 Type *uint32 `json:"type,omitempty"`
13688 13689 // Determines if AVP was defined by user.
13690 UserDefined bool `json:"user_defined,omitempty"`
13691 13692 // The type of value.
13693 ValueType string `json:"value_type,omitempty"`
13694 13695 // The vendor ID as per RFC 2865/2866.
13696 VendorId *uint32 `json:"vendor_id,omitempty"`
13697 13698 // The vendor type as per RFC 2865/2866.
13699 VendorType *uint32 `json:"vendor_type,omitempty"`
13700 }
13701 13702 func (ParentalcontrolAvp) ObjectType() string {
13703 return "parentalcontrol:avp"
13704 }
13705 13706 func (obj ParentalcontrolAvp) ReturnFields() []string {
13707 if obj.returnFields == nil {
13708 obj.returnFields = []string{"name", "type", "value_type"}
13709 }
13710 return obj.returnFields
13711 }
13712 13713 // ParentalcontrolBlockingpolicy represents Infoblox object parentalcontrol:blockingpolicy.
13714 // This object represents a set of parental control properties for blocking
13715 // policy.
13716 type ParentalcontrolBlockingpolicy struct {
13717 IBBase `json:"-"`
13718 13719 Ref string `json:"_ref,omitempty"`
13720 13721 // The name of the blocking policy.
13722 Name *string `json:"name,omitempty"`
13723 13724 // The 32 bit hex value of the blocking policy.
13725 Value *string `json:"value,omitempty"`
13726 }
13727 13728 func (ParentalcontrolBlockingpolicy) ObjectType() string {
13729 return "parentalcontrol:blockingpolicy"
13730 }
13731 13732 func (obj ParentalcontrolBlockingpolicy) ReturnFields() []string {
13733 if obj.returnFields == nil {
13734 obj.returnFields = []string{"name", "value"}
13735 }
13736 return obj.returnFields
13737 }
13738 13739 // ParentalcontrolSubscriber represents Infoblox object parentalcontrol:subscriber.
13740 // The parental control subscriber properties contains user defined RADIUS
13741 // subscriber information which will be used by DNS/RPZ for reporting and
13742 // logging violations.
13743 type ParentalcontrolSubscriber struct {
13744 IBBase `json:"-"`
13745 13746 Ref string `json:"_ref,omitempty"`
13747 13748 // The name of AVP to be used as an alternate subscriber ID for fixed lines.
13749 AltSubscriberId *string `json:"alt_subscriber_id,omitempty"`
13750 13751 // A character string to control aspects of rewriting of the fields.
13752 AltSubscriberIdRegexp *string `json:"alt_subscriber_id_regexp,omitempty"`
13753 13754 // The subexpression indicates which subexpression to extract. If zero, then
13755 // the text matching the entire regular expression is extracted. If non-zero,
13756 // then the regex must contain at least that many sub-expression groups. It
13757 // takes values from 0 to 8.
13758 AltSubscriberIdSubexpression *uint32 `json:"alt_subscriber_id_subexpression,omitempty"`
13759 13760 // The list of ordered AVP Ancillary Fields.
13761 Ancillaries []string `json:"ancillaries,omitempty"`
13762 13763 // Category content account name using the categorization service.
13764 CatAcctname *string `json:"cat_acctname,omitempty"`
13765 13766 // Category content account password to access the categorization service.
13767 CatPassword *string `json:"cat_password,omitempty"`
13768 13769 // Category content updates every number of hours.
13770 CatUpdateFrequency *uint32 `json:"cat_update_frequency,omitempty"`
13771 13772 // Category content vendor url to download category data from and upload
13773 // feedback to, configure for parental control.
13774 CategoryUrl *string `json:"category_url,omitempty"`
13775 13776 // Determines if NAS RADIUS traffic is accepted over MGMT only.
13777 EnableMgmtOnlyNas *bool `json:"enable_mgmt_only_nas,omitempty"`
13778 13779 // Determines if parental control is enabled.
13780 EnableParentalControl *bool `json:"enable_parental_control,omitempty"`
13781 13782 // The time for collector to be fully populated. Valid values are from 1 to
13783 // 65535.
13784 InterimAccountingInterval *uint32 `json:"interim_accounting_interval,omitempty"`
13785 13786 // The ordered list of IP Anchors AVPs. The list content cannot be changed, but
13787 // the order of elements.
13788 IpAnchors []string `json:"ip_anchors,omitempty"`
13789 13790 // A character string to control aspects of rewriting of the fields.
13791 IpSpaceDiscRegexp *string `json:"ip_space_disc_regexp,omitempty"`
13792 13793 // The subexpression indicates which subexpression to extract. If zero, then
13794 // the text matching the entire regular expression is extracted. If non-zero,
13795 // then the regex must contain at least that many sub-expression groups. It
13796 // takes values from 0 to 8.
13797 IpSpaceDiscSubexpression *uint32 `json:"ip_space_disc_subexpression,omitempty"`
13798 13799 // The name of AVP to be used as IP address discriminator.
13800 IpSpaceDiscriminator *string `json:"ip_space_discriminator,omitempty"`
13801 13802 // The name of AVP to be used as local ID.
13803 LocalId *string `json:"local_id,omitempty"`
13804 13805 // A character string to control aspects of rewriting of the fields.
13806 LocalIdRegexp *string `json:"local_id_regexp,omitempty"`
13807 13808 // The subexpression indicates which subexpression to extract. If zero, then
13809 // the text matching the entire regular expression is extracted. If non-zero,
13810 // then the regex must contain at least that many sub-expression groups. It
13811 // takes values from 0 to 8.
13812 LocalIdSubexpression *uint32 `json:"local_id_subexpression,omitempty"`
13813 13814 // CEF log all guest lookups, will produce two logs in case of a violation.
13815 LogGuestLookups *bool `json:"log_guest_lookups,omitempty"`
13816 13817 // NAS contextual information AVP.
13818 NasContextInfo *string `json:"nas_context_info,omitempty"`
13819 13820 // The SOA to store parental control records.
13821 PcZoneName *string `json:"pc_zone_name,omitempty"`
13822 13823 // Proxy server password used for authentication.
13824 ProxyPassword *string `json:"proxy_password,omitempty"`
13825 13826 // Proxy url to download category data from and upload feedback to, configure
13827 // for parental control. The default value 'None' is no longer valid as it
13828 // match url regex pattern "^http|https://". The new default value does not get
13829 // saved in database, but rather used for comparision with object created in
13830 // unit test cases.
13831 ProxyUrl *string `json:"proxy_url,omitempty"`
13832 13833 // Proxy server username used for authentication.
13834 ProxyUsername *string `json:"proxy_username,omitempty"`
13835 13836 // The name of AVP to be used as a subscriber.
13837 SubscriberId *string `json:"subscriber_id,omitempty"`
13838 13839 // A character string to control aspects of rewriting of the fields.
13840 SubscriberIdRegexp *string `json:"subscriber_id_regexp,omitempty"`
13841 13842 // The subexpression indicates which subexpression to extract. If zero, then
13843 // the text matching the entire regular expression is extracted. If non-zero,
13844 // then the regex must contain at least that many sub-expression groups. It
13845 // takes values from 0 to 8.
13846 SubscriberIdSubexpression *uint32 `json:"subscriber_id_subexpression,omitempty"`
13847 }
13848 13849 func (ParentalcontrolSubscriber) ObjectType() string {
13850 return "parentalcontrol:subscriber"
13851 }
13852 13853 func (obj ParentalcontrolSubscriber) ReturnFields() []string {
13854 if obj.returnFields == nil {
13855 obj.returnFields = []string{"alt_subscriber_id", "local_id", "subscriber_id"}
13856 }
13857 return obj.returnFields
13858 }
13859 13860 // ParentalcontrolSubscriberrecord represents Infoblox object parentalcontrol:subscriberrecord.
13861 // This object represents a set of parental control properties for subscriber
13862 // record.
13863 type ParentalcontrolSubscriberrecord struct {
13864 IBBase `json:"-"`
13865 13866 Ref string `json:"_ref,omitempty"`
13867 13868 // accounting_session_id
13869 AccountingSessionId *string `json:"accounting_session_id,omitempty"`
13870 13871 // alt_ip_addr
13872 AltIpAddr *string `json:"alt_ip_addr,omitempty"`
13873 13874 // ans0
13875 Ans0 *string `json:"ans0,omitempty"`
13876 13877 // ans1
13878 Ans1 *string `json:"ans1,omitempty"`
13879 13880 // ans2
13881 Ans2 *string `json:"ans2,omitempty"`
13882 13883 // ans3
13884 Ans3 *string `json:"ans3,omitempty"`
13885 13886 // ans4
13887 Ans4 *string `json:"ans4,omitempty"`
13888 13889 // black_list
13890 BlackList *string `json:"black_list,omitempty"`
13891 13892 // bwflag
13893 Bwflag *bool `json:"bwflag,omitempty"`
13894 13895 // dynamic_category_policy
13896 DynamicCategoryPolicy *bool `json:"dynamic_category_policy,omitempty"`
13897 13898 // flags
13899 Flags *string `json:"flags,omitempty"`
13900 13901 // ip_addr
13902 IpAddr *string `json:"ip_addr,omitempty"`
13903 13904 // ipsd
13905 Ipsd *string `json:"ipsd,omitempty"`
13906 13907 // localid
13908 Localid *string `json:"localid,omitempty"`
13909 13910 // nas_contextual
13911 NasContextual *string `json:"nas_contextual,omitempty"`
13912 13913 // parental_control_policy
13914 ParentalControlPolicy *string `json:"parental_control_policy,omitempty"`
13915 13916 // prefix
13917 Prefix *uint32 `json:"prefix,omitempty"`
13918 13919 // proxy_all
13920 ProxyAll *bool `json:"proxy_all,omitempty"`
13921 13922 // site
13923 Site *string `json:"site,omitempty"`
13924 13925 // subscriber_id
13926 SubscriberId *string `json:"subscriber_id,omitempty"`
13927 13928 // subscriber_secure_policy
13929 SubscriberSecurePolicy *string `json:"subscriber_secure_policy,omitempty"`
13930 13931 // unknown_category_policy
13932 UnknownCategoryPolicy *bool `json:"unknown_category_policy,omitempty"`
13933 13934 // white_list
13935 WhiteList *string `json:"white_list,omitempty"`
13936 13937 // wpc_category_policy
13938 WpcCategoryPolicy *string `json:"wpc_category_policy,omitempty"`
13939 }
13940 13941 func (ParentalcontrolSubscriberrecord) ObjectType() string {
13942 return "parentalcontrol:subscriberrecord"
13943 }
13944 13945 func (obj ParentalcontrolSubscriberrecord) ReturnFields() []string {
13946 if obj.returnFields == nil {
13947 obj.returnFields = []string{"accounting_session_id", "ip_addr", "ipsd", "localid", "prefix", "site", "subscriber_id"}
13948 }
13949 return obj.returnFields
13950 }
13951 13952 // ParentalcontrolSubscribersite represents Infoblox object parentalcontrol:subscribersite.
13953 // This object represents a set of parental control properties for subscriber
13954 // site.
13955 type ParentalcontrolSubscribersite struct {
13956 IBBase `json:"-"`
13957 13958 Ref string `json:"_ref,omitempty"`
13959 13960 // The list of ABS for the site.
13961 Abss []*ParentalcontrolAbs `json:"abss,omitempty"`
13962 13963 // The size of the Deterministic NAT block-size.
13964 BlockSize *uint32 `json:"block_size,omitempty"`
13965 13966 // The IPv4 Address of the blocking server.
13967 BlockingIpv4Vip1 *string `json:"blocking_ipv4_vip1,omitempty"`
13968 13969 // The IPv4 Address of the blocking server.
13970 BlockingIpv4Vip2 *string `json:"blocking_ipv4_vip2,omitempty"`
13971 13972 // The IPv6 Address of the blocking server.
13973 BlockingIpv6Vip1 *string `json:"blocking_ipv6_vip1,omitempty"`
13974 13975 // The IPv6 Address of the blocking server.
13976 BlockingIpv6Vip2 *string `json:"blocking_ipv6_vip2,omitempty"`
13977 13978 // The human readable comment for the site.
13979 Comment *string `json:"comment,omitempty"`
13980 13981 // Enable/disable the DCA subscriber B/W list support.
13982 DcaSubBwList *bool `json:"dca_sub_bw_list,omitempty"`
13983 13984 // Enable/disable the DCA subscriber query count.
13985 DcaSubQueryCount *bool `json:"dca_sub_query_count,omitempty"`
13986 13987 // Extensible attributes associated with the object. For valid values for
13988 // extensible attributes, see {extattrs:values}.
13989 Ea EA `json:"extattrs"`
13990 13991 // The start of the first Deterministic block.
13992 FirstPort *uint32 `json:"first_port,omitempty"`
13993 13994 // The max number of subscribers for the site. It is used to configure the
13995 // cache size.
13996 MaximumSubscribers *uint32 `json:"maximum_subscribers,omitempty"`
13997 13998 // The list of members for the site.
13999 Members []*ParentalcontrolSitemember `json:"members,omitempty"`
14000 14001 // The list of MSP for the site.
14002 Msps []*ParentalcontrolMsp `json:"msps,omitempty"`
14003 14004 // The name of the site.
14005 Name string `json:"name,omitempty"`
14006 14007 // The list of accounting log servers.
14008 NasGateways []*ParentalcontrolNasgateway `json:"nas_gateways,omitempty"`
14009 14010 // The port number to reach the collector.
14011 NasPort *uint32 `json:"nas_port,omitempty"`
14012 14013 // Enables Proxy RPZ PASSTGHRU.
14014 ProxyRpzPassthru *bool `json:"proxy_rpz_passthru,omitempty"`
14015 14016 // The list of SPM for the site.
14017 Spms []*ParentalcontrolSpm `json:"spms,omitempty"`
14018 14019 // Stop the anycast service when the subscriber service is in the interim
14020 // state.
14021 StopAnycast *bool `json:"stop_anycast,omitempty"`
14022 14023 // Restrict subscriber cache entries to NATed clients.
14024 StrictNat *bool `json:"strict_nat,omitempty"`
14025 }
14026 14027 func (ParentalcontrolSubscribersite) ObjectType() string {
14028 return "parentalcontrol:subscribersite"
14029 }
14030 14031 func (obj ParentalcontrolSubscribersite) ReturnFields() []string {
14032 if obj.returnFields == nil {
14033 obj.returnFields = []string{"block_size", "dca_sub_bw_list", "dca_sub_query_count", "first_port", "name", "stop_anycast", "strict_nat"}
14034 }
14035 return obj.returnFields
14036 }
14037 14038 // Permission represents Infoblox object permission.
14039 // Limited-access admin groups can access certain DHCP resources only if their
14040 // administrative permissions are defined. By default, the appliance denies
14041 // access when a limited-access admin group does not have defined permissions.
14042 // You can grant admin groups read-only or read/write permission, or deny
14043 // access by using this object.
14044 type Permission struct {
14045 IBBase `json:"-"`
14046 14047 Ref string `json:"_ref,omitempty"`
14048 14049 // The name of the admin group this permission applies to.
14050 Group *string `json:"group,omitempty"`
14051 14052 // A reference to a WAPI object, which will be the object this permission
14053 // applies to.
14054 Object *string `json:"object,omitempty"`
14055 14056 // The type of permission.
14057 Permission string `json:"permission,omitempty"`
14058 14059 // The type of resource this permission applies to. If 'object' is set, the
14060 // permission is going to apply to child objects of the specified type, for
14061 // example if 'object' was set to an authoritative zone reference and
14062 // 'resource_type' was set to 'A', the permission would apply to A Resource
14063 // Records within the specified zone.
14064 ResourceType string `json:"resource_type,omitempty"`
14065 14066 // The name of the role this permission applies to.
14067 Role *string `json:"role,omitempty"`
14068 }
14069 14070 func (Permission) ObjectType() string {
14071 return "permission"
14072 }
14073 14074 func (obj Permission) ReturnFields() []string {
14075 if obj.returnFields == nil {
14076 obj.returnFields = []string{"group", "permission", "resource_type", "role"}
14077 }
14078 return obj.returnFields
14079 }
14080 14081 // PxgridEndpoint represents Infoblox object pxgrid:endpoint.
14082 // The pxgrid endpoint object represents the settings of a particular PXGRID
14083 // endpoint.
14084 type PxgridEndpoint struct {
14085 IBBase `json:"-"`
14086 14087 Ref string `json:"_ref,omitempty"`
14088 14089 // The pxgrid endpoint IPv4 Address or IPv6 Address or Fully-Qualified Domain
14090 // Name (FQDN)
14091 Address *string `json:"address,omitempty"`
14092 14093 // The Cisco ISE client certificate subject.
14094 ClientCertificateSubject string `json:"client_certificate_subject,omitempty"`
14095 14096 // The token returned by the uploadinit function call in object fileop for
14097 // Cisco ISE client certificate.
14098 ClientCertificateToken *string `json:"client_certificate_token,omitempty"`
14099 14100 // The pxgrid endpoint client certificate valid from.
14101 ClientCertificateValidFrom *UnixTime `json:"client_certificate_valid_from,omitempty"`
14102 14103 // The pxgrid endpoint client certificate valid to.
14104 ClientCertificateValidTo *UnixTime `json:"client_certificate_valid_to,omitempty"`
14105 14106 // The Cisco ISE endpoint descriptive comment.
14107 Comment *string `json:"comment,omitempty"`
14108 14109 // Determines whether a Cisco ISE endpoint is disabled or not. When this is set
14110 // to False, the Cisco ISE endpoint is enabled.
14111 Disable *bool `json:"disable,omitempty"`
14112 14113 // Extensible attributes associated with the object. For valid values for
14114 // extensible attributes, see {extattrs:values}.
14115 Ea EA `json:"extattrs"`
14116 14117 // The log level for a notification pxgrid endpoint.
14118 LogLevel string `json:"log_level,omitempty"`
14119 14120 // The name of the pxgrid endpoint.
14121 Name *string `json:"name,omitempty"`
14122 14123 // The pxgrid network view name.
14124 NetworkView *string `json:"network_view,omitempty"`
14125 14126 // The outbound member that will generate events.
14127 OutboundMemberType string `json:"outbound_member_type,omitempty"`
14128 14129 // The list of members for outbound events.
14130 OutboundMembers []string `json:"outbound_members,omitempty"`
14131 14132 // The Cisco ISE publish settings.
14133 PublishSettings *CiscoisePublishsetting `json:"publish_settings,omitempty"`
14134 14135 // The Cisco ISE subscribe settings.
14136 SubscribeSettings *CiscoiseSubscribesetting `json:"subscribe_settings,omitempty"`
14137 14138 // The Pxgrid template instance. You cannot change the parameters of the pxgrid
14139 // endpoint template instance.
14140 TemplateInstance *NotificationRestTemplateinstance `json:"template_instance,omitempty"`
14141 14142 // The timeout of session management (in seconds).
14143 Timeout *uint32 `json:"timeout,omitempty"`
14144 14145 // The vendor identifier.
14146 VendorIdentifier *string `json:"vendor_identifier,omitempty"`
14147 14148 // The user name for WAPI integration.
14149 WapiUserName *string `json:"wapi_user_name,omitempty"`
14150 14151 // The user password for WAPI integration.
14152 WapiUserPassword *string `json:"wapi_user_password,omitempty"`
14153 }
14154 14155 func (PxgridEndpoint) ObjectType() string {
14156 return "pxgrid:endpoint"
14157 }
14158 14159 func (obj PxgridEndpoint) ReturnFields() []string {
14160 if obj.returnFields == nil {
14161 obj.returnFields = []string{"address", "disable", "name", "outbound_member_type"}
14162 }
14163 return obj.returnFields
14164 }
14165 14166 // RadiusAuthservice represents Infoblox object radius:authservice.
14167 // RADIUS provides authentication, accounting, and authorization functions.
14168 type RadiusAuthservice struct {
14169 IBBase `json:"-"`
14170 14171 Ref string `json:"_ref,omitempty"`
14172 14173 // The number of times to attempt to contact an accounting RADIUS server.
14174 AcctRetries *uint32 `json:"acct_retries,omitempty"`
14175 14176 // The number of seconds to wait for a response from the RADIUS server.
14177 AcctTimeout *uint32 `json:"acct_timeout,omitempty"`
14178 14179 // The number of times to attempt to contact an authentication RADIUS server.
14180 AuthRetries *uint32 `json:"auth_retries,omitempty"`
14181 14182 // The number of seconds to wait for a response from the RADIUS server.
14183 AuthTimeout *uint32 `json:"auth_timeout,omitempty"`
14184 14185 // The TTL of cached authentication data in seconds.
14186 CacheTtl *uint32 `json:"cache_ttl,omitempty"`
14187 14188 // The RADIUS descriptive comment.
14189 Comment *string `json:"comment,omitempty"`
14190 14191 // Determines whether the RADIUS authentication service is disabled.
14192 Disable *bool `json:"disable,omitempty"`
14193 14194 // Determines whether the authentication cache is enabled.
14195 EnableCache *bool `json:"enable_cache,omitempty"`
14196 14197 // The way to contact the RADIUS server.
14198 Mode string `json:"mode,omitempty"`
14199 14200 // The RADIUS authentication service name.
14201 Name *string `json:"name,omitempty"`
14202 14203 // The time period to wait before retrying a server that has been marked as
14204 // down.
14205 RecoveryInterval *uint32 `json:"recovery_interval,omitempty"`
14206 14207 // The ordered list of RADIUS authentication servers.
14208 Servers []*RadiusServer `json:"servers,omitempty"`
14209 }
14210 14211 func (RadiusAuthservice) ObjectType() string {
14212 return "radius:authservice"
14213 }
14214 14215 func (obj RadiusAuthservice) ReturnFields() []string {
14216 if obj.returnFields == nil {
14217 obj.returnFields = []string{"comment", "disable", "name"}
14218 }
14219 return obj.returnFields
14220 }
14221 14222 // Range represents Infoblox object range.
14223 // A DHCP range defines the specified range of IP addresses in a network. A
14224 // DHCP range should be added for a network so the Infoblox appliance can
14225 // assign IP addresses within that specified range to DHCP clients. If the
14226 // client is on a network that is assigned a DHCP range, the device distributes
14227 // an available IP address from that range to the DHCP client, or to a DHCP
14228 // relay agent if the request came through an agent. The DHCP range should also
14229 // be assigned with a device. If devices are in a grid, the particular member
14230 // serving DHCP for the DHCP range must be specified. If the server is an
14231 // independent device, this device must be specified as the member that serves
14232 // the DHCP range.
14233 type Range struct {
14234 IBBase `json:"-"`
14235 14236 Ref string `json:"_ref,omitempty"`
14237 14238 // This field controls whether only the DHCP server is allowed to update DNS,
14239 // regardless of the DHCP clients requests.
14240 AlwaysUpdateDns *bool `json:"always_update_dns,omitempty"`
14241 14242 // The bootfile name for the range. You can configure the DHCP server to
14243 // support clients that use the boot file name option in their DHCPREQUEST
14244 // messages.
14245 Bootfile *string `json:"bootfile,omitempty"`
14246 14247 // The bootserver address for the range. You can specify the name and/or IP
14248 // address of the boot server that the host needs to boot. The boot server IPv4
14249 // Address or name in FQDN format.
14250 Bootserver *string `json:"bootserver,omitempty"`
14251 14252 // Structure containing all cloud API related information for this object.
14253 CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`
14254 14255 // Comment for the range; maximum 256 characters.
14256 Comment *string `json:"comment,omitempty"`
14257 14258 // The dynamic DNS domain name the appliance uses specifically for DDNS updates
14259 // for this range.
14260 DdnsDomainname *string `json:"ddns_domainname,omitempty"`
14261 14262 // If this field is set to True, the DHCP server generates a hostname and
14263 // updates DNS with it when the DHCP client request does not contain a
14264 // hostname.
14265 DdnsGenerateHostname *bool `json:"ddns_generate_hostname,omitempty"`
14266 14267 // If True, send NAK forcing the client to take the new address.
14268 DenyAllClients *bool `json:"deny_all_clients,omitempty"`
14269 14270 // If set to true, BOOTP settings are disabled and BOOTP requests will be
14271 // denied.
14272 DenyBootp *bool `json:"deny_bootp,omitempty"`
14273 14274 // The percentage of the total DHCP utilization of the range multiplied by
14275 // 1000. This is the percentage of the total number of available IP addresses
14276 // belonging to the range versus the total number of all IP addresses in the
14277 // range.
14278 DhcpUtilization uint32 `json:"dhcp_utilization,omitempty"`
14279 14280 // A string describing the utilization level of the range.
14281 DhcpUtilizationStatus string `json:"dhcp_utilization_status,omitempty"`
14282 14283 // Determines whether a range is disabled or not. When this is set to False,
14284 // the range is enabled.
14285 Disable *bool `json:"disable,omitempty"`
14286 14287 // Discover now status for this range.
14288 DiscoverNowStatus string `json:"discover_now_status,omitempty"`
14289 14290 // The discovery basic poll settings for this range.
14291 DiscoveryBasicPollSettings *DiscoveryBasicpollsettings `json:"discovery_basic_poll_settings,omitempty"`
14292 14293 // The discovery blackout setting for this range.
14294 DiscoveryBlackoutSetting *PropertiesBlackoutsetting `json:"discovery_blackout_setting,omitempty"`
14295 14296 // The member that will run discovery for this range.
14297 DiscoveryMember *string `json:"discovery_member,omitempty"`
14298 14299 // The total number of DHCP leases issued for the range.
14300 DynamicHosts uint32 `json:"dynamic_hosts,omitempty"`
14301 14302 // The e-mail lists to which the appliance sends DHCP threshold alarm e-mail
14303 // messages.
14304 EmailList []string `json:"email_list,omitempty"`
14305 14306 // The dynamic DNS updates flag of a DHCP range object. If set to True, the
14307 // DHCP server sends DDNS updates to DNS servers in the same Grid, and to
14308 // external DNS servers.
14309 EnableDdns *bool `json:"enable_ddns,omitempty"`
14310 14311 // Determines if DHCP thresholds are enabled for the range.
14312 EnableDhcpThresholds *bool `json:"enable_dhcp_thresholds,omitempty"`
14313 14314 // Determines whether a discovery is enabled or not for this range. When this
14315 // is set to False, the discovery for this range is disabled.
14316 EnableDiscovery *bool `json:"enable_discovery,omitempty"`
14317 14318 // Determines if DHCP threshold warnings are sent through email.
14319 EnableEmailWarnings *bool `json:"enable_email_warnings,omitempty"`
14320 14321 // Determines if IFMAP publishing is enabled for the range.
14322 EnableIfmapPublishing *bool `json:"enable_ifmap_publishing,omitempty"`
14323 14324 // Determines if the discovery for the range should be immediately enabled.
14325 EnableImmediateDiscovery *bool `json:"enable_immediate_discovery,omitempty"`
14326 14327 // Set this to True if you want the DHCP server to use a different lease time
14328 // for PXE clients.
14329 EnablePxeLeaseTime *bool `json:"enable_pxe_lease_time,omitempty"`
14330 14331 // Determines if DHCP threshold warnings are send through SNMP.
14332 EnableSnmpWarnings *bool `json:"enable_snmp_warnings,omitempty"`
14333 14334 // The IPv4 Address end address of the range.
14335 EndAddr *string `json:"end_addr,omitempty"`
14336 14337 // The endpoints that provides data for the DHCP Range object.
14338 EndpointSources []*CiscoiseEndpoint `json:"endpoint_sources,omitempty"`
14339 14340 // These are ranges of IP addresses that the appliance does not use to assign
14341 // to clients. You can use these exclusion addresses as static IP addresses.
14342 // They contain the start and end addresses of the exclusion range, and
14343 // optionally, information about this exclusion range.
14344 Exclude []*Exclusionrange `json:"exclude,omitempty"`
14345 14346 // Extensible attributes associated with the object. For valid values for
14347 // extensible attributes, see {extattrs:values}.
14348 Ea EA `json:"extattrs"`
14349 14350 // The name of the failover association: the server in this failover
14351 // association will serve the IPv4 range in case the main server is out of
14352 // service. {range:range} must be set to 'FAILOVER' or 'FAILOVER_MS' if you
14353 // want the failover association specified here to serve the range.
14354 FailoverAssociation *string `json:"failover_association,omitempty"`
14355 14356 // This field contains the fingerprint filters for this DHCP range. The
14357 // appliance uses matching rules in these filters to select the address range
14358 // from which it assigns a lease.
14359 FingerprintFilterRules []*Filterrule `json:"fingerprint_filter_rules,omitempty"`
14360 14361 // The percentage of DHCP range usage threshold above which range usage is not
14362 // expected and may warrant your attention. When the high watermark is reached,
14363 // the Infoblox appliance generates a syslog message and sends a warning (if
14364 // enabled). A number that specifies the percentage of allocated addresses. The
14365 // range is from 1 to 100.
14366 HighWaterMark *uint32 `json:"high_water_mark,omitempty"`
14367 14368 // The percentage of DHCP range usage below which the corresponding SNMP trap
14369 // is reset. A number that specifies the percentage of allocated addresses. The
14370 // range is from 1 to 100. The high watermark reset value must be lower than
14371 // the high watermark value.
14372 HighWaterMarkReset *uint32 `json:"high_water_mark_reset,omitempty"`
14373 14374 // If this field is set to False, the appliance returns all DHCP options the
14375 // client is eligible to receive, rather than only the list of options the
14376 // client has requested.
14377 IgnoreDhcpOptionListRequest *bool `json:"ignore_dhcp_option_list_request,omitempty"`
14378 14379 // Indicates whether the appliance will ignore DHCP client IDs or MAC
14380 // addresses. Valid values are "NONE", "CLIENT", or "MACADDR". The default is
14381 // "NONE".
14382 IgnoreId string `json:"ignore_id,omitempty"`
14383 14384 // A list of MAC addresses the appliance will ignore.
14385 IgnoreMacAddresses []string `json:"ignore_mac_addresses,omitempty"`
14386 14387 // This field will be 'true' if this particular range is part of a split scope.
14388 IsSplitScope bool `json:"is_split_scope,omitempty"`
14389 14390 // Permission for known clients. This can be 'Allow' or 'Deny'. If set to
14391 // 'Deny' known clients will be denied IP addresses. Known clients include
14392 // roaming hosts and clients with fixed addresses or DHCP host entries. Unknown
14393 // clients include clients that are not roaming hosts and clients that do not
14394 // have fixed addresses or DHCP host entries.
14395 KnownClients *string `json:"known_clients,omitempty"`
14396 14397 // An integer that specifies the period of time (in seconds) that frees and
14398 // backs up leases remained in the database before they are automatically
14399 // deleted. To disable lease scavenging, set the parameter to -1. The minimum
14400 // positive value must be greater than 86400 seconds (1 day).
14401 LeaseScavengeTime int `json:"lease_scavenge_time,omitempty"`
14402 14403 // This field contains the logic filters to be applied to this range. This list
14404 // corresponds to the match rules that are written to the dhcpd configuration
14405 // file.
14406 LogicFilterRules []*Logicfilterrule `json:"logic_filter_rules,omitempty"`
14407 14408 // The percentage of DHCP range usage below which the Infoblox appliance
14409 // generates a syslog message and sends a warning (if enabled). A number that
14410 // specifies the percentage of allocated addresses. The range is from 1 to 100.
14411 LowWaterMark *uint32 `json:"low_water_mark,omitempty"`
14412 14413 // The percentage of DHCP range usage threshold below which range usage is not
14414 // expected and may warrant your attention. When the low watermark is crossed,
14415 // the Infoblox appliance generates a syslog message and sends a warning (if
14416 // enabled). A number that specifies the percentage of allocated addresses. The
14417 // range is from 1 to 100. The low watermark reset value must be higher than
14418 // the low watermark value.
14419 LowWaterMarkReset *uint32 `json:"low_water_mark_reset,omitempty"`
14420 14421 // This field contains the MAC filters to be applied to this range. The
14422 // appliance uses the matching rules of these filters to select the address
14423 // range from which it assigns a lease.
14424 MacFilterRules []*Filterrule `json:"mac_filter_rules,omitempty"`
14425 14426 // The member that will provide service for this range. {range:range} needs to
14427 // be set to 'MEMBER' if you want the server specified here to serve the range.
14428 // For searching by this field you should use a HTTP method that contains a
14429 // body (POST or PUT) with Dhcp Member structure dhcpmember and the request
14430 // should have option _method=GET.
14431 Member *Dhcpmember `json:"member,omitempty"`
14432 14433 // The Microsoft Active Directory user related information.
14434 MsAdUserData *MsserverAduserData `json:"ms_ad_user_data,omitempty"`
14435 14436 // This field contains the Microsoft DHCP options for this range.
14437 MsOptions []*Msdhcpoption `json:"ms_options,omitempty"`
14438 14439 // The Microsoft server that will provide service for this range. {range:range}
14440 // needs to be set to 'MS_SERVER' if you want the server specified here to
14441 // serve the range. For searching by this field you should use a HTTP method
14442 // that contains a body (POST or PUT) with MS DHCP server structure
14443 // msdhcpserver and the request should have option _method=GET.
14444 MsServer *Msdhcpserver `json:"ms_server,omitempty"`
14445 14446 // This field contains the NAC filters to be applied to this range. The
14447 // appliance uses the matching rules of these filters to select the address
14448 // range from which it assigns a lease.
14449 NacFilterRules []*Filterrule `json:"nac_filter_rules,omitempty"`
14450 14451 // This field contains the name of the Microsoft scope.
14452 Name *string `json:"name,omitempty"`
14453 14454 // The network to which this range belongs, in IPv4 Address/CIDR format.
14455 Network *string `json:"network,omitempty"`
14456 14457 // The name of the network view in which this range resides.
14458 NetworkView *string `json:"network_view,omitempty"`
14459 14460 // The name in FQDN and/or IPv4 Address of the next server that the host needs
14461 // to boot.
14462 Nextserver *string `json:"nextserver,omitempty"`
14463 14464 // This field contains the Option filters to be applied to this range. The
14465 // appliance uses the matching rules of these filters to select the address
14466 // range from which it assigns a lease.
14467 OptionFilterRules []*Filterrule `json:"option_filter_rules,omitempty"`
14468 14469 // An array of DHCP option dhcpoption structs that lists the DHCP options
14470 // associated with the object.
14471 Options []*Dhcpoption `json:"options,omitempty"`
14472 14473 // The port control blackout setting for this range.
14474 PortControlBlackoutSetting *PropertiesBlackoutsetting `json:"port_control_blackout_setting,omitempty"`
14475 14476 // The PXE lease time value of a DHCP Range object. Some hosts use PXE (Preboot
14477 // Execution Environment) to boot remotely from a server. To better manage your
14478 // IP resources, set a different lease time for PXE boot requests. You can
14479 // configure the DHCP server to allocate an IP address with a shorter lease
14480 // time to hosts that send PXE boot requests, so IP addresses are not leased
14481 // longer than necessary. A 32-bit unsigned integer that represents the
14482 // duration, in seconds, for which the update is cached. Zero indicates that
14483 // the update is not cached.
14484 PxeLeaseTime *uint32 `json:"pxe_lease_time,omitempty"`
14485 14486 // If the field is set to True, the leases are kept in the Recycle Bin until
14487 // one week after expiration. Otherwise, the leases are permanently deleted.
14488 RecycleLeases *bool `json:"recycle_leases,omitempty"`
14489 14490 // This field contains the Relay Agent filters to be applied to this range. The
14491 // appliance uses the matching rules of these filters to select the address
14492 // range from which it assigns a lease.
14493 RelayAgentFilterRules []*Filterrule `json:"relay_agent_filter_rules,omitempty"`
14494 14495 // Restarts the member service.
14496 RestartIfNeeded *bool `json:"restart_if_needed,omitempty"`
14497 14498 // If the field is set to True, the discovery blackout setting will be used for
14499 // port control blackout setting.
14500 SamePortControlDiscoveryBlackout *bool `json:"same_port_control_discovery_blackout,omitempty"`
14501 14502 // The type of server that is going to serve the range.
14503 ServerAssociationType string `json:"server_association_type,omitempty"`
14504 14505 // The Microsoft member to which the split scope is assigned. See
14506 // {next_available_ip:next_available_ip} for more information
14507 SplitMember *Msdhcpserver `json:"split_member,omitempty"`
14508 14509 // This field controls the percentage used when creating a split scope. Valid
14510 // values are numbers between 1 and 99. If the value is 40, it means that the
14511 // top 40% of the exclusion will be created on the DHCP range assigned to
14512 // {next_available_ip:next_available_ip} and the lower 60% of the range will be
14513 // assigned to DHCP range assigned to {next_available_ip:next_available_ip}
14514 SplitScopeExclusionPercent uint32 `json:"split_scope_exclusion_percent,omitempty"`
14515 14516 // The IPv4 Address starting address of the range.
14517 StartAddr *string `json:"start_addr,omitempty"`
14518 14519 // The number of static DHCP addresses configured in the range.
14520 StaticHosts uint32 `json:"static_hosts,omitempty"`
14521 14522 // The DHCP Range Cisco ISE subscribe settings.
14523 SubscribeSettings *CiscoiseSubscribesetting `json:"subscribe_settings,omitempty"`
14524 14525 // If set on creation, the range will be created according to the values
14526 // specified in the named template.
14527 Template string `json:"template,omitempty"`
14528 14529 // The total number of DHCP addresses configured in the range.
14530 TotalHosts uint32 `json:"total_hosts,omitempty"`
14531 14532 // Permission for unknown clients. This can be 'Allow' or 'Deny'. If set to
14533 // 'Deny', unknown clients will be denied IP addresses. Known clients include
14534 // roaming hosts and clients with fixed addresses or DHCP host entries. Unknown
14535 // clients include clients that are not roaming hosts and clients that do not
14536 // have fixed addresses or DHCP host entries.
14537 UnknownClients *string `json:"unknown_clients,omitempty"`
14538 14539 // This field controls whether the DHCP server updates DNS when a DHCP lease is
14540 // renewed.
14541 UpdateDnsOnLeaseRenewal *bool `json:"update_dns_on_lease_renewal,omitempty"`
14542 14543 // Use flag for: discovery_blackout_setting , port_control_blackout_setting,
14544 // same_port_control_discovery_blackout
14545 UseBlackoutSetting *bool `json:"use_blackout_setting,omitempty"`
14546 14547 // Use flag for: bootfile
14548 UseBootfile *bool `json:"use_bootfile,omitempty"`
14549 14550 // Use flag for: bootserver
14551 UseBootserver *bool `json:"use_bootserver,omitempty"`
14552 14553 // Use flag for: ddns_domainname
14554 UseDdnsDomainname *bool `json:"use_ddns_domainname,omitempty"`
14555 14556 // Use flag for: ddns_generate_hostname
14557 UseDdnsGenerateHostname *bool `json:"use_ddns_generate_hostname,omitempty"`
14558 14559 // Use flag for: deny_bootp
14560 UseDenyBootp *bool `json:"use_deny_bootp,omitempty"`
14561 14562 // Use flag for: discovery_basic_poll_settings
14563 UseDiscoveryBasicPollingSettings *bool `json:"use_discovery_basic_polling_settings,omitempty"`
14564 14565 // Use flag for: email_list
14566 UseEmailList *bool `json:"use_email_list,omitempty"`
14567 14568 // Use flag for: enable_ddns
14569 UseEnableDdns *bool `json:"use_enable_ddns,omitempty"`
14570 14571 // Use flag for: enable_dhcp_thresholds
14572 UseEnableDhcpThresholds *bool `json:"use_enable_dhcp_thresholds,omitempty"`
14573 14574 // Use flag for: discovery_member , enable_discovery
14575 UseEnableDiscovery *bool `json:"use_enable_discovery,omitempty"`
14576 14577 // Use flag for: enable_ifmap_publishing
14578 UseEnableIfmapPublishing *bool `json:"use_enable_ifmap_publishing,omitempty"`
14579 14580 // Use flag for: ignore_dhcp_option_list_request
14581 UseIgnoreDhcpOptionListRequest *bool `json:"use_ignore_dhcp_option_list_request,omitempty"`
14582 14583 // Use flag for: ignore_id
14584 UseIgnoreId *bool `json:"use_ignore_id,omitempty"`
14585 14586 // Use flag for: known_clients
14587 UseKnownClients *bool `json:"use_known_clients,omitempty"`
14588 14589 // Use flag for: lease_scavenge_time
14590 UseLeaseScavengeTime *bool `json:"use_lease_scavenge_time,omitempty"`
14591 14592 // Use flag for: logic_filter_rules
14593 UseLogicFilterRules *bool `json:"use_logic_filter_rules,omitempty"`
14594 14595 // Use flag for: ms_options
14596 UseMsOptions *bool `json:"use_ms_options,omitempty"`
14597 14598 // Use flag for: nextserver
14599 UseNextserver *bool `json:"use_nextserver,omitempty"`
14600 14601 // Use flag for: options
14602 UseOptions *bool `json:"use_options,omitempty"`
14603 14604 // Use flag for: pxe_lease_time
14605 UsePxeLeaseTime *bool `json:"use_pxe_lease_time,omitempty"`
14606 14607 // Use flag for: recycle_leases
14608 UseRecycleLeases *bool `json:"use_recycle_leases,omitempty"`
14609 14610 // Use flag for: subscribe_settings
14611 UseSubscribeSettings *bool `json:"use_subscribe_settings,omitempty"`
14612 14613 // Use flag for: unknown_clients
14614 UseUnknownClients *bool `json:"use_unknown_clients,omitempty"`
14615 14616 // Use flag for: update_dns_on_lease_renewal
14617 UseUpdateDnsOnLeaseRenewal *bool `json:"use_update_dns_on_lease_renewal,omitempty"`
14618 }
14619 14620 func (Range) ObjectType() string {
14621 return "range"
14622 }
14623 14624 func (obj Range) ReturnFields() []string {
14625 if obj.returnFields == nil {
14626 obj.returnFields = []string{"comment", "end_addr", "network", "network_view", "start_addr"}
14627 }
14628 return obj.returnFields
14629 }
14630 14631 // Rangetemplate represents Infoblox object rangetemplate.
14632 // The range template used to create a range objects in a quick and consistant
14633 // way. Range object created from a range template will inherit most properties
14634 // defined in range template object so most of the range template properties
14635 // are the same as the range object properties.
14636 type Rangetemplate struct {
14637 IBBase `json:"-"`
14638 14639 Ref string `json:"_ref,omitempty"`
14640 14641 // The bootfile name for the range. You can configure the DHCP server to
14642 // support clients that use the boot file name option in their DHCPREQUEST
14643 // messages.
14644 Bootfile *string `json:"bootfile,omitempty"`
14645 14646 // The bootserver address for the range. You can specify the name and/or IP
14647 // address of the boot server that the host needs to boot. The boot server IPv4
14648 // Address or name in FQDN format.
14649 Bootserver *string `json:"bootserver,omitempty"`
14650 14651 // This flag controls whether this template can be used to create network
14652 // objects in a cloud-computing deployment.
14653 CloudApiCompatible *bool `json:"cloud_api_compatible,omitempty"`
14654 14655 // A descriptive comment of a range template object.
14656 Comment *string `json:"comment,omitempty"`
14657 14658 // The dynamic DNS domain name the appliance uses specifically for DDNS updates
14659 // for this range.
14660 DdnsDomainname *string `json:"ddns_domainname,omitempty"`
14661 14662 // If this field is set to True, the DHCP server generates a hostname and
14663 // updates DNS with it when the DHCP client request does not contain a
14664 // hostname.
14665 DdnsGenerateHostname *bool `json:"ddns_generate_hostname,omitempty"`
14666 14667 // The vconnector member that the object should be delegated to when created
14668 // from this range template.
14669 DelegatedMember *Dhcpmember `json:"delegated_member,omitempty"`
14670 14671 // If True, send NAK forcing the client to take the new address.
14672 DenyAllClients *bool `json:"deny_all_clients,omitempty"`
14673 14674 // Determines if BOOTP settings are disabled and BOOTP requests will be denied.
14675 DenyBootp *bool `json:"deny_bootp,omitempty"`
14676 14677 // The e-mail lists to which the appliance sends DHCP threshold alarm e-mail
14678 // messages.
14679 EmailList []string `json:"email_list,omitempty"`
14680 14681 // Determines if the DHCP server sends DDNS updates to DNS servers in the same
14682 // Grid, and to external DNS servers.
14683 EnableDdns *bool `json:"enable_ddns,omitempty"`
14684 14685 // Determines if DHCP thresholds are enabled for the range.
14686 EnableDhcpThresholds *bool `json:"enable_dhcp_thresholds,omitempty"`
14687 14688 // Determines if DHCP threshold warnings are sent through email.
14689 EnableEmailWarnings *bool `json:"enable_email_warnings,omitempty"`
14690 14691 // Set this to True if you want the DHCP server to use a different lease time
14692 // for PXE clients.
14693 EnablePxeLeaseTime *bool `json:"enable_pxe_lease_time,omitempty"`
14694 14695 // Determines if DHCP threshold warnings are sent through SNMP.
14696 EnableSnmpWarnings *bool `json:"enable_snmp_warnings,omitempty"`
14697 14698 // These are ranges of IP addresses that the appliance does not use to assign
14699 // to clients. You can use these exclusion addresses as static IP addresses.
14700 // They contain the start and end addresses of the exclusion range, and
14701 // optionally, information about this exclusion range.
14702 Exclude []*Exclusionrangetemplate `json:"exclude,omitempty"`
14703 14704 // Extensible attributes associated with the object. For valid values for
14705 // extensible attributes, see {extattrs:values}.
14706 Ea EA `json:"extattrs"`
14707 14708 // The name of the failover association: the server in this failover
14709 // association will serve the IPv4 range in case the main server is out of
14710 // service. {rangetemplate:rangetemplate} must be set to 'FAILOVER' or
14711 // 'FAILOVER_MS' if you want the failover association specified here to serve
14712 // the range.
14713 FailoverAssociation *string `json:"failover_association,omitempty"`
14714 14715 // This field contains the fingerprint filters for this DHCP range. The
14716 // appliance uses matching rules in these filters to select the address range
14717 // from which it assigns a lease.
14718 FingerprintFilterRules []*Filterrule `json:"fingerprint_filter_rules,omitempty"`
14719 14720 // The percentage of DHCP range usage threshold above which range usage is not
14721 // expected and may warrant your attention. When the high watermark is reached,
14722 // the Infoblox appliance generates a syslog message and sends a warning (if
14723 // enabled). A number that specifies the percentage of allocated addresses. The
14724 // range is from 1 to 100.
14725 HighWaterMark *uint32 `json:"high_water_mark,omitempty"`
14726 14727 // The percentage of DHCP range usage below which the corresponding SNMP trap
14728 // is reset. A number that specifies the percentage of allocated addresses. The
14729 // range is from 1 to 100. The high watermark reset value must be lower than
14730 // the high watermark value.
14731 HighWaterMarkReset *uint32 `json:"high_water_mark_reset,omitempty"`
14732 14733 // If this field is set to False, the appliance returns all DHCP options the
14734 // client is eligible to receive, rather than only the list of options the
14735 // client has requested.
14736 IgnoreDhcpOptionListRequest *bool `json:"ignore_dhcp_option_list_request,omitempty"`
14737 14738 // Permission for known clients. If set to 'Deny' known clients will be denied
14739 // IP addresses. Known clients include roaming hosts and clients with fixed
14740 // addresses or DHCP host entries. Unknown clients include clients that are not
14741 // roaming hosts and clients that do not have fixed addresses or DHCP host
14742 // entries.
14743 KnownClients string `json:"known_clients,omitempty"`
14744 14745 // An integer that specifies the period of time (in seconds) that frees and
14746 // backs up leases remained in the database before they are automatically
14747 // deleted. To disable lease scavenging, set the parameter to -1. The minimum
14748 // positive value must be greater than 86400 seconds (1 day).
14749 LeaseScavengeTime int `json:"lease_scavenge_time,omitempty"`
14750 14751 // This field contains the logic filters to be applied on this range. This list
14752 // corresponds to the match rules that are written to the dhcpd configuration
14753 // file.
14754 LogicFilterRules []*Logicfilterrule `json:"logic_filter_rules,omitempty"`
14755 14756 // The percentage of DHCP range usage below which the Infoblox appliance
14757 // generates a syslog message and sends a warning (if enabled). A number that
14758 // specifies the percentage of allocated addresses. The range is from 1 to 100.
14759 LowWaterMark *uint32 `json:"low_water_mark,omitempty"`
14760 14761 // The percentage of DHCP range usage threshold below which range usage is not
14762 // expected and may warrant your attention. When the low watermark is crossed,
14763 // the Infoblox appliance generates a syslog message and sends a warning (if
14764 // enabled). A number that specifies the percentage of allocated addresses. The
14765 // range is from 1 to 100. The low watermark reset value must be higher than
14766 // the low watermark value.
14767 LowWaterMarkReset *uint32 `json:"low_water_mark_reset,omitempty"`
14768 14769 // This field contains the MAC filters to be applied to this range. The
14770 // appliance uses the matching rules of these filters to select the address
14771 // range from which it assigns a lease.
14772 MacFilterRules []*Filterrule `json:"mac_filter_rules,omitempty"`
14773 14774 // The member that will provide service for this range.
14775 // {rangetemplate:rangetemplate} needs to be set to 'MEMBER' if you want the
14776 // server specified here to serve the range. For searching by this field you
14777 // should use a HTTP method that contains a body (POST or PUT) with Dhcp Member
14778 // structure dhcpmember and the request should have option _method=GET.
14779 Member *Dhcpmember `json:"member,omitempty"`
14780 14781 // The Microsoft DHCP options for this range.
14782 MsOptions []*Msdhcpoption `json:"ms_options,omitempty"`
14783 14784 // The Microsoft server that will provide service for this range.
14785 // {rangetemplate:rangetemplate} needs to be set to 'MS_SERVER' if you want the
14786 // server specified here to serve the range. For searching by this field you
14787 // should use a HTTP method that contains a body (POST or PUT) with MS DHCP
14788 // server structure msdhcpserver and the request should have option
14789 // _method=GET.
14790 MsServer *Msdhcpserver `json:"ms_server,omitempty"`
14791 14792 // This field contains the NAC filters to be applied to this range. The
14793 // appliance uses the matching rules of these filters to select the address
14794 // range from which it assigns a lease.
14795 NacFilterRules []*Filterrule `json:"nac_filter_rules,omitempty"`
14796 14797 // The name of a range template object.
14798 Name *string `json:"name,omitempty"`
14799 14800 // The name in FQDN and/or IPv4 Address format of the next server that the host
14801 // needs to boot.
14802 Nextserver *string `json:"nextserver,omitempty"`
14803 14804 // The number of addresses for this range.
14805 NumberOfAddresses *uint32 `json:"number_of_addresses,omitempty"`
14806 14807 // The start address offset for this range.
14808 Offset *uint32 `json:"offset,omitempty"`
14809 14810 // This field contains the Option filters to be applied to this range. The
14811 // appliance uses the matching rules of these filters to select the address
14812 // range from which it assigns a lease.
14813 OptionFilterRules []*Filterrule `json:"option_filter_rules,omitempty"`
14814 14815 // An array of DHCP option dhcpoption structs that lists the DHCP options
14816 // associated with the object.
14817 Options []*Dhcpoption `json:"options,omitempty"`
14818 14819 // The PXE lease time value for a range object. Some hosts use PXE (Preboot
14820 // Execution Environment) to boot remotely from a server. To better manage your
14821 // IP resources, set a different lease time for PXE boot requests. You can
14822 // configure the DHCP server to allocate an IP address with a shorter lease
14823 // time to hosts that send PXE boot requests, so IP addresses are not leased
14824 // longer than necessary. A 32-bit unsigned integer that represents the
14825 // duration, in seconds, for which the update is cached. Zero indicates that
14826 // the update is not cached.
14827 PxeLeaseTime *uint32 `json:"pxe_lease_time,omitempty"`
14828 14829 // If the field is set to True, the leases are kept in the Recycle Bin until
14830 // one week after expiration. Otherwise, the leases are permanently deleted.
14831 RecycleLeases *bool `json:"recycle_leases,omitempty"`
14832 14833 // This field contains the Relay Agent filters to be applied to this range. The
14834 // appliance uses the matching rules of these filters to select the address
14835 // range from which it assigns a lease.
14836 RelayAgentFilterRules []*Filterrule `json:"relay_agent_filter_rules,omitempty"`
14837 14838 // The type of server that is going to serve the range.
14839 ServerAssociationType string `json:"server_association_type,omitempty"`
14840 14841 // Permission for unknown clients. If set to 'Deny' unknown clients will be
14842 // denied IP addresses. Known clients include roaming hosts and clients with
14843 // fixed addresses or DHCP host entries. Unknown clients include clients that
14844 // are not roaming hosts and clients that do not have fixed addresses or DHCP
14845 // host entries.
14846 UnknownClients string `json:"unknown_clients,omitempty"`
14847 14848 // This field controls whether the DHCP server updates DNS when a DHCP lease is
14849 // renewed.
14850 UpdateDnsOnLeaseRenewal *bool `json:"update_dns_on_lease_renewal,omitempty"`
14851 14852 // Use flag for: bootfile
14853 UseBootfile *bool `json:"use_bootfile,omitempty"`
14854 14855 // Use flag for: bootserver
14856 UseBootserver *bool `json:"use_bootserver,omitempty"`
14857 14858 // Use flag for: ddns_domainname
14859 UseDdnsDomainname *bool `json:"use_ddns_domainname,omitempty"`
14860 14861 // Use flag for: ddns_generate_hostname
14862 UseDdnsGenerateHostname *bool `json:"use_ddns_generate_hostname,omitempty"`
14863 14864 // Use flag for: deny_bootp
14865 UseDenyBootp *bool `json:"use_deny_bootp,omitempty"`
14866 14867 // Use flag for: email_list
14868 UseEmailList *bool `json:"use_email_list,omitempty"`
14869 14870 // Use flag for: enable_ddns
14871 UseEnableDdns *bool `json:"use_enable_ddns,omitempty"`
14872 14873 // Use flag for: enable_dhcp_thresholds
14874 UseEnableDhcpThresholds *bool `json:"use_enable_dhcp_thresholds,omitempty"`
14875 14876 // Use flag for: ignore_dhcp_option_list_request
14877 UseIgnoreDhcpOptionListRequest *bool `json:"use_ignore_dhcp_option_list_request,omitempty"`
14878 14879 // Use flag for: known_clients
14880 UseKnownClients *bool `json:"use_known_clients,omitempty"`
14881 14882 // Use flag for: lease_scavenge_time
14883 UseLeaseScavengeTime *bool `json:"use_lease_scavenge_time,omitempty"`
14884 14885 // Use flag for: logic_filter_rules
14886 UseLogicFilterRules *bool `json:"use_logic_filter_rules,omitempty"`
14887 14888 // Use flag for: ms_options
14889 UseMsOptions *bool `json:"use_ms_options,omitempty"`
14890 14891 // Use flag for: nextserver
14892 UseNextserver *bool `json:"use_nextserver,omitempty"`
14893 14894 // Use flag for: options
14895 UseOptions *bool `json:"use_options,omitempty"`
14896 14897 // Use flag for: pxe_lease_time
14898 UsePxeLeaseTime *bool `json:"use_pxe_lease_time,omitempty"`
14899 14900 // Use flag for: recycle_leases
14901 UseRecycleLeases *bool `json:"use_recycle_leases,omitempty"`
14902 14903 // Use flag for: unknown_clients
14904 UseUnknownClients *bool `json:"use_unknown_clients,omitempty"`
14905 14906 // Use flag for: update_dns_on_lease_renewal
14907 UseUpdateDnsOnLeaseRenewal *bool `json:"use_update_dns_on_lease_renewal,omitempty"`
14908 }
14909 14910 func (Rangetemplate) ObjectType() string {
14911 return "rangetemplate"
14912 }
14913 14914 func (obj Rangetemplate) ReturnFields() []string {
14915 if obj.returnFields == nil {
14916 obj.returnFields = []string{"comment", "name", "number_of_addresses", "offset"}
14917 }
14918 return obj.returnFields
14919 }
14920 14921 // RecordA represents Infoblox object record:a.
14922 // An A (address) record maps a domain name to an IPv4 address. To define a
14923 // specific name-to-address mapping, add an A record to a previously defined
14924 // authoritative forward-mapping zone.
14925 type RecordA struct {
14926 IBBase `json:"-"`
14927 14928 Ref string `json:"_ref,omitempty"`
14929 14930 // Aws Route 53 record information.
14931 AwsRte53RecordInfo *Awsrte53recordinfo `json:"aws_rte53_record_info,omitempty"`
14932 14933 // Structure containing all cloud API related information for this object.
14934 CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`
14935 14936 // Comment for the record; maximum 256 characters.
14937 Comment *string `json:"comment,omitempty"`
14938 14939 // The time of the record creation in Epoch seconds format.
14940 CreationTime *UnixTime `json:"creation_time,omitempty"`
14941 14942 // The record creator. Note that changing creator from or to 'SYSTEM' value is
14943 // not allowed.
14944 Creator string `json:"creator,omitempty"`
14945 14946 // The GSS-TSIG principal that owns this record.
14947 DdnsPrincipal *string `json:"ddns_principal,omitempty"`
14948 14949 // Determines if the DDNS updates for this record are allowed or not.
14950 DdnsProtected *bool `json:"ddns_protected,omitempty"`
14951 14952 // Determines if the record is disabled or not. False means that the record is
14953 // enabled.
14954 Disable *bool `json:"disable,omitempty"`
14955 14956 // The discovered data for this A record.
14957 DiscoveredData *Discoverydata `json:"discovered_data,omitempty"`
14958 14959 // The name for an A record in punycode format.
14960 DnsName string `json:"dns_name,omitempty"`
14961 14962 // Extensible attributes associated with the object. For valid values for
14963 // extensible attributes, see {extattrs:values}.
14964 Ea EA `json:"extattrs"`
14965 14966 // Determines if the reclamation is allowed for the record or not.
14967 ForbidReclamation *bool `json:"forbid_reclamation,omitempty"`
14968 14969 // The IPv4 Address of the record.
14970 Ipv4Addr *string `json:"ipv4addr,omitempty"`
14971 14972 // The time of the last DNS query in Epoch seconds format.
14973 LastQueried *UnixTime `json:"last_queried,omitempty"`
14974 14975 // The Microsoft Active Directory user related information.
14976 MsAdUserData *MsserverAduserData `json:"ms_ad_user_data,omitempty"`
14977 14978 // Name for A record in FQDN format. This value can be in unicode format.
14979 Name *string `json:"name,omitempty"`
14980 14981 // Determines if the record is reclaimable or not.
14982 Reclaimable bool `json:"reclaimable,omitempty"`
14983 14984 // Delete option that indicates whether the associated PTR records should be
14985 // removed while deleting the specified A record.
14986 RemoveAssociatedPtr bool `json:"remove_associated_ptr,omitempty"`
14987 14988 // The name of the shared record group in which the record resides. This field
14989 // exists only on db_objects if this record is a shared record.
14990 SharedRecordGroup string `json:"shared_record_group,omitempty"`
14991 14992 // The Time To Live (TTL) value for record. A 32-bit unsigned integer that
14993 // represents the duration, in seconds, for which the record is valid (cached).
14994 // Zero indicates that the record should not be cached.
14995 Ttl *uint32 `json:"ttl,omitempty"`
14996 14997 // Use flag for: ttl
14998 UseTtl *bool `json:"use_ttl,omitempty"`
14999 15000 // The name of the DNS view in which the record resides. Example: "external".
15001 View string `json:"view,omitempty"`
15002 15003 // The name of the zone in which the record resides. Example: "zone.com". If a
15004 // view is not specified when searching by zone, the default view is used.
15005 Zone string `json:"zone,omitempty"`
15006 }
15007 15008 func (RecordA) ObjectType() string {
15009 return "record:a"
15010 }
15011 15012 func (obj RecordA) ReturnFields() []string {
15013 if obj.returnFields == nil {
15014 obj.returnFields = []string{"ipv4addr", "name", "view"}
15015 }
15016 return obj.returnFields
15017 }
15018 15019 func NewEmptyRecordA() *RecordA {
15020 res := &RecordA{}
15021 res.returnFields = []string{
15022 "extattrs", "ipv4addr", "name", "view", "zone", "comment", "ttl", "use_ttl"}
15023 15024 return res
15025 }
15026 15027 func NewRecordA(
15028 view string,
15029 zone string,
15030 name string,
15031 ipAddr string,
15032 ttl uint32,
15033 useTTL bool,
15034 comment string,
15035 eas EA,
15036 ref string) *RecordA {
15037 15038 res := NewEmptyRecordA()
15039 res.View = view
15040 res.Zone = zone
15041 res.Name = &name
15042 res.Ipv4Addr = &ipAddr
15043 res.Ttl = &ttl
15044 res.UseTtl = &useTTL
15045 res.Comment = &comment
15046 res.Ea = eas
15047 res.Ref = ref
15048 15049 return res
15050 }
15051 15052 // RecordAAAA represents Infoblox object record:aaaa.
15053 // An AAAA (address) record maps a domain name to an IPv6 address. To define a
15054 // specific name-to-address mapping, add an AAAA record to a previously defined
15055 // authoritative forward-mapping zone.
15056 type RecordAAAA struct {
15057 IBBase `json:"-"`
15058 15059 Ref string `json:"_ref,omitempty"`
15060 15061 // Aws Route 53 record information.
15062 AwsRte53RecordInfo *Awsrte53recordinfo `json:"aws_rte53_record_info,omitempty"`
15063 15064 // Structure containing all cloud API related information for this object.
15065 CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`
15066 15067 // Comment for the record; maximum 256 characters.
15068 Comment *string `json:"comment,omitempty"`
15069 15070 // The time of the record creation in Epoch seconds format.
15071 CreationTime *UnixTime `json:"creation_time,omitempty"`
15072 15073 // The record creator. Note that changing creator from or to 'SYSTEM' value is
15074 // not allowed.
15075 Creator string `json:"creator,omitempty"`
15076 15077 // The GSS-TSIG principal that owns this record.
15078 DdnsPrincipal *string `json:"ddns_principal,omitempty"`
15079 15080 // Determines if the DDNS updates for this record are allowed or not.
15081 DdnsProtected *bool `json:"ddns_protected,omitempty"`
15082 15083 // Determines if the record is disabled or not. False means that the record is
15084 // enabled.
15085 Disable *bool `json:"disable,omitempty"`
15086 15087 // The discovered data for this AAAA record.
15088 DiscoveredData *Discoverydata `json:"discovered_data,omitempty"`
15089 15090 // The name for an AAAA record in punycode format.
15091 DnsName string `json:"dns_name,omitempty"`
15092 15093 // Extensible attributes associated with the object. For valid values for
15094 // extensible attributes, see {extattrs:values}.
15095 Ea EA `json:"extattrs"`
15096 15097 // Determines if the reclamation is allowed for the record or not.
15098 ForbidReclamation *bool `json:"forbid_reclamation,omitempty"`
15099 15100 // The IPv6 Address of the record.
15101 Ipv6Addr *string `json:"ipv6addr,omitempty"`
15102 15103 // The time of the last DNS query in Epoch seconds format.
15104 LastQueried *UnixTime `json:"last_queried,omitempty"`
15105 15106 // The Microsoft Active Directory user related information.
15107 MsAdUserData *MsserverAduserData `json:"ms_ad_user_data,omitempty"`
15108 15109 // Name for the AAAA record in FQDN format. This value can be in unicode
15110 // format.
15111 Name *string `json:"name,omitempty"`
15112 15113 // Determines if the record is reclaimable or not.
15114 Reclaimable bool `json:"reclaimable,omitempty"`
15115 15116 // Delete option that indicates whether the associated PTR records should be
15117 // removed while deleting the specified A record.
15118 RemoveAssociatedPtr bool `json:"remove_associated_ptr,omitempty"`
15119 15120 // The name of the shared record group in which the record resides. This field
15121 // exists only on db_objects if this record is a shared record.
15122 SharedRecordGroup string `json:"shared_record_group,omitempty"`
15123 15124 // The Time To Live (TTL) value for the record. A 32-bit unsigned integer that
15125 // represents the duration, in seconds, for which the record is valid (cached).
15126 // Zero indicates that the record should not be cached.
15127 Ttl *uint32 `json:"ttl,omitempty"`
15128 15129 // Use flag for: ttl
15130 UseTtl *bool `json:"use_ttl,omitempty"`
15131 15132 // The name of the DNS view in which the record resides. Example: "external".
15133 View string `json:"view,omitempty"`
15134 15135 // The name of the zone in which the record resides. Example: "zone.com". If a
15136 // view is not specified when searching by zone, the default view is used.
15137 Zone string `json:"zone,omitempty"`
15138 }
15139 15140 func (RecordAAAA) ObjectType() string {
15141 return "record:aaaa"
15142 }
15143 15144 func (obj RecordAAAA) ReturnFields() []string {
15145 if obj.returnFields == nil {
15146 obj.returnFields = []string{"ipv6addr", "name", "view"}
15147 }
15148 return obj.returnFields
15149 }
15150 15151 func NewEmptyRecordAAAA() *RecordAAAA {
15152 res := &RecordAAAA{}
15153 res.returnFields = []string{"extattrs", "ipv6addr", "name", "view", "zone", "use_ttl", "ttl", "comment"}
15154 15155 return res
15156 }
15157 15158 func NewRecordAAAA(
15159 view string,
15160 name string,
15161 ipAddr string,
15162 useTtl bool,
15163 ttl uint32,
15164 comment string,
15165 eas EA,
15166 ref string) *RecordAAAA {
15167 15168 res := NewEmptyRecordAAAA()
15169 res.View = view
15170 res.Name = &name
15171 res.Ipv6Addr = &ipAddr
15172 res.UseTtl = &useTtl
15173 res.Ttl = &ttl
15174 res.Comment = &comment
15175 res.Ea = eas
15176 res.Ref = ref
15177 15178 return res
15179 }
15180 15181 // RecordAlias represents Infoblox object record:alias.
15182 // Alias resource record allows you to create typed aliases for standard DNS
15183 // resource records which are resolved dynamically by an authoritative server.
15184 // Unlike CNAME Alias can be created in the zone apex.
15185 type RecordAlias struct {
15186 IBBase `json:"-"`
15187 15188 Ref string `json:"_ref,omitempty"`
15189 15190 // Aws Route 53 record information.
15191 AwsRte53RecordInfo *Awsrte53recordinfo `json:"aws_rte53_record_info,omitempty"`
15192 15193 // Structure containing all cloud API related information for this object.
15194 CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`
15195 15196 // Comment for the record; maximum 256 characters.
15197 Comment *string `json:"comment,omitempty"`
15198 15199 // The record creator.
15200 Creator string `json:"creator,omitempty"`
15201 15202 // Determines if the record is disabled or not. False means that the record is
15203 // enabled.
15204 Disable *bool `json:"disable,omitempty"`
15205 15206 // The name for an Alias record in punycode format.
15207 DnsName string `json:"dns_name,omitempty"`
15208 15209 // Target name in punycode format.
15210 DnsTargetName string `json:"dns_target_name,omitempty"`
15211 15212 // Extensible attributes associated with the object. For valid values for
15213 // extensible attributes, see {extattrs:values}.
15214 Ea EA `json:"extattrs"`
15215 15216 // The time of the last DNS query in Epoch seconds format.
15217 LastQueried *UnixTime `json:"last_queried,omitempty"`
15218 15219 // The name for an Alias record in FQDN format. This value can be in unicode
15220 // format. Regular expression search is not supported for unicode values.
15221 Name *string `json:"name,omitempty"`
15222 15223 // Target name in FQDN format. This value can be in unicode format.
15224 TargetName *string `json:"target_name,omitempty"`
15225 15226 // Target type.
15227 TargetType string `json:"target_type,omitempty"`
15228 15229 // The Time To Live (TTL) value for record. A 32-bit unsigned integer that
15230 // represents the duration, in seconds, for which the record is valid (cached).
15231 // Zero indicates that the record should not be cached.
15232 Ttl *uint32 `json:"ttl,omitempty"`
15233 15234 // Use flag for: ttl
15235 UseTtl *bool `json:"use_ttl,omitempty"`
15236 15237 // The name of the DNS View in which the record resides. Example: "external".
15238 View *string `json:"view,omitempty"`
15239 15240 // The name of the zone in which the record resides. Example: "zone.com". If a
15241 // view is not specified when searching by zone, the default view is used.
15242 Zone string `json:"zone,omitempty"`
15243 }
15244 15245 func (RecordAlias) ObjectType() string {
15246 return "record:alias"
15247 }
15248 15249 func (obj RecordAlias) ReturnFields() []string {
15250 if obj.returnFields == nil {
15251 obj.returnFields = []string{"name", "target_name", "target_type", "view"}
15252 }
15253 return obj.returnFields
15254 }
15255 15256 // RecordCaa represents Infoblox object record:caa.
15257 // The Certification Authority Authorization (CAA) DNS resource record (RR) is
15258 // used to specify which certificate authorities (CAs) are allowed to issue
15259 // certificates for a domain. For further details see RFC-6844.
15260 type RecordCaa struct {
15261 IBBase `json:"-"`
15262 15263 Ref string `json:"_ref,omitempty"`
15264 15265 // Flag of CAA record.
15266 CaFlag *uint32 `json:"ca_flag,omitempty"`
15267 15268 // Tag of CAA record.
15269 CaTag *string `json:"ca_tag,omitempty"`
15270 15271 // Value of CAA record
15272 CaValue *string `json:"ca_value,omitempty"`
15273 15274 // Structure containing all cloud API related information for this object.
15275 CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`
15276 15277 // Comment for the record; maximum 256 characters.
15278 Comment *string `json:"comment,omitempty"`
15279 15280 // The creation time of the record.
15281 CreationTime *UnixTime `json:"creation_time,omitempty"`
15282 15283 // The record creator. Note that changing creator from or to 'SYSTEM' value is
15284 // not allowed.
15285 Creator string `json:"creator,omitempty"`
15286 15287 // The GSS-TSIG principal that owns this record.
15288 DdnsPrincipal *string `json:"ddns_principal,omitempty"`
15289 15290 // Determines if the DDNS updates for this record are allowed or not.
15291 DdnsProtected *bool `json:"ddns_protected,omitempty"`
15292 15293 // Determines if the record is disabled or not. False means that the record is
15294 // enabled.
15295 Disable *bool `json:"disable,omitempty"`
15296 15297 // The name of the CAA record in punycode format.
15298 DnsName string `json:"dns_name,omitempty"`
15299 15300 // Extensible attributes associated with the object. For valid values for
15301 // extensible attributes, see {extattrs:values}.
15302 Ea EA `json:"extattrs"`
15303 15304 // Determines if the reclamation is allowed for the record or not.
15305 ForbidReclamation *bool `json:"forbid_reclamation,omitempty"`
15306 15307 // The time of the last DNS query in Epoch seconds format.
15308 LastQueried *UnixTime `json:"last_queried,omitempty"`
15309 15310 // The CAA record name in FQDN format. This value can be in unicode format.
15311 Name *string `json:"name,omitempty"`
15312 15313 // Determines if the record is reclaimable or not.
15314 Reclaimable bool `json:"reclaimable,omitempty"`
15315 15316 // The Time to Live (TTL) value for the record. A 32-bit unsigned integer that
15317 // represents the duration, in seconds, for which the record is valid (cached).
15318 // Zero indicates that the record should not be cached.
15319 Ttl *uint32 `json:"ttl,omitempty"`
15320 15321 // Use flag for: ttl
15322 UseTtl *bool `json:"use_ttl,omitempty"`
15323 15324 // The name of the DNS view in which the record resides. Example: "external".
15325 View *string `json:"view,omitempty"`
15326 15327 // The name of the zone in which the record resides. Example: "zone.com". If a
15328 // view is not specified when searching by zone, the default view is used.
15329 Zone string `json:"zone,omitempty"`
15330 }
15331 15332 func (RecordCaa) ObjectType() string {
15333 return "record:caa"
15334 }
15335 15336 func (obj RecordCaa) ReturnFields() []string {
15337 if obj.returnFields == nil {
15338 obj.returnFields = []string{"name", "view"}
15339 }
15340 return obj.returnFields
15341 }
15342 15343 // RecordCNAME represents Infoblox object record:cname.
15344 // A CNAME record maps an alias to a canonical name. You can use CNAME records
15345 // in both forward- and IPv4 reverse-mapping zones to serve two different
15346 // purposes. (At this time, you cannot use CNAME records with IPv6
15347 // reverse-mapping zones.)
15348 type RecordCNAME struct {
15349 IBBase `json:"-"`
15350 15351 Ref string `json:"_ref,omitempty"`
15352 15353 // Aws Route 53 record information.
15354 AwsRte53RecordInfo *Awsrte53recordinfo `json:"aws_rte53_record_info,omitempty"`
15355 15356 // Canonical name in FQDN format. This value can be in unicode format.
15357 Canonical *string `json:"canonical,omitempty"`
15358 15359 // Structure containing all cloud API related information for this object.
15360 CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`
15361 15362 // Comment for the record; maximum 256 characters.
15363 Comment *string `json:"comment,omitempty"`
15364 15365 // The time of the record creation in Epoch seconds format.
15366 CreationTime *UnixTime `json:"creation_time,omitempty"`
15367 15368 // The record creator. Note that changing creator from or to 'SYSTEM' value is
15369 // not allowed.
15370 Creator string `json:"creator,omitempty"`
15371 15372 // The GSS-TSIG principal that owns this record.
15373 DdnsPrincipal *string `json:"ddns_principal,omitempty"`
15374 15375 // Determines if the DDNS updates for this record are allowed or not.
15376 DdnsProtected *bool `json:"ddns_protected,omitempty"`
15377 15378 // Determines if the record is disabled or not. False means that the record is
15379 // enabled.
15380 Disable *bool `json:"disable,omitempty"`
15381 15382 // Canonical name in punycode format.
15383 DnsCanonical string `json:"dns_canonical,omitempty"`
15384 15385 // The name for the CNAME record in punycode format.
15386 DnsName string `json:"dns_name,omitempty"`
15387 15388 // Extensible attributes associated with the object. For valid values for
15389 // extensible attributes, see {extattrs:values}.
15390 Ea EA `json:"extattrs"`
15391 15392 // Determines if the reclamation is allowed for the record or not.
15393 ForbidReclamation *bool `json:"forbid_reclamation,omitempty"`
15394 15395 // The time of the last DNS query in Epoch seconds format.
15396 LastQueried *UnixTime `json:"last_queried,omitempty"`
15397 15398 // The name for a CNAME record in FQDN format. This value can be in unicode
15399 // format. Regular expression search is not supported for unicode values.
15400 Name *string `json:"name,omitempty"`
15401 15402 // Determines if the record is reclaimable or not.
15403 Reclaimable bool `json:"reclaimable,omitempty"`
15404 15405 // The name of the shared record group in which the record resides. This field
15406 // exists only on db_objects if this record is a shared record.
15407 SharedRecordGroup string `json:"shared_record_group,omitempty"`
15408 15409 // The Time To Live (TTL) value for record. A 32-bit unsigned integer that
15410 // represents the duration, in seconds, for which the record is valid (cached).
15411 // Zero indicates that the record should not be cached.
15412 Ttl *uint32 `json:"ttl,omitempty"`
15413 15414 // Use flag for: ttl
15415 UseTtl *bool `json:"use_ttl,omitempty"`
15416 15417 // The name of the DNS view in which the record resides. Example: "external".
15418 View *string `json:"view,omitempty"`
15419 15420 // The name of the zone in which the record resides. Example: "zone.com". If a
15421 // view is not specified when searching by zone, the default view is used.
15422 Zone string `json:"zone,omitempty"`
15423 }
15424 15425 func (RecordCNAME) ObjectType() string {
15426 return "record:cname"
15427 }
15428 15429 func (obj RecordCNAME) ReturnFields() []string {
15430 if obj.returnFields == nil {
15431 obj.returnFields = []string{"canonical", "name", "view"}
15432 }
15433 return obj.returnFields
15434 }
15435 15436 func NewEmptyRecordCNAME() *RecordCNAME {
15437 res := &RecordCNAME{}
15438 res.returnFields = []string{"extattrs", "canonical", "name", "view", "zone", "comment", "ttl", "use_ttl"}
15439 15440 return res
15441 }
15442 15443 func NewRecordCNAME(dnsView string,
15444 canonical string,
15445 recordName string,
15446 useTtl bool,
15447 ttl uint32,
15448 comment string,
15449 ea EA,
15450 ref string) *RecordCNAME {
15451 15452 res := NewEmptyRecordCNAME()
15453 15454 res.View = &dnsView
15455 if *res.View == "" {
15456 res.View = nil
15457 }
15458 15459 res.Canonical = &canonical
15460 res.Name = &recordName
15461 res.UseTtl = &useTtl
15462 res.Ttl = &ttl
15463 res.Comment = &comment
15464 res.Ea = ea
15465 res.Ref = ref
15466 15467 return res
15468 }
15469 15470 // RecordDhcid represents Infoblox object record:dhcid.
15471 // The DHCID DNS resource record (RR) is used to associate the DNS domain names
15472 // with the DHCP clients using the domain names.
15473 type RecordDhcid struct {
15474 IBBase `json:"-"`
15475 15476 Ref string `json:"_ref,omitempty"`
15477 15478 // The creation time of the record.
15479 CreationTime *UnixTime `json:"creation_time,omitempty"`
15480 15481 // The record creator.
15482 Creator string `json:"creator,omitempty"`
15483 15484 // The Base64 encoded DHCP client information.
15485 Dhcid string `json:"dhcid,omitempty"`
15486 15487 // The name for the DHCID record in punycode format.
15488 DnsName string `json:"dns_name,omitempty"`
15489 15490 // The name of the DHCID record in FQDN format.
15491 Name string `json:"name,omitempty"`
15492 15493 // The Time To Live (TTL) value for the record. A 32-bit unsigned integer that
15494 // represents the duration, in seconds, for which the record is valid (cached).
15495 // Zero indicates that the record should not be cached.
15496 Ttl uint32 `json:"ttl,omitempty"`
15497 15498 // Use flag for: ttl
15499 UseTtl bool `json:"use_ttl,omitempty"`
15500 15501 // The name of the DNS view in which the record resides. Example: "external".
15502 View string `json:"view,omitempty"`
15503 15504 // The name of the zone in which the record resides. Example: "zone.com". If a
15505 // view is not specified when searching by zone, the default view is used.
15506 Zone string `json:"zone,omitempty"`
15507 }
15508 15509 func (RecordDhcid) ObjectType() string {
15510 return "record:dhcid"
15511 }
15512 15513 func (obj RecordDhcid) ReturnFields() []string {
15514 if obj.returnFields == nil {
15515 obj.returnFields = []string{"name", "view"}
15516 }
15517 return obj.returnFields
15518 }
15519 15520 // RecordDname represents Infoblox object record:dname.
15521 // A DNAME record maps all the names in one domain to those in another domain,
15522 // essentially substituting one domain name suffix with the other.
15523 type RecordDname struct {
15524 IBBase `json:"-"`
15525 15526 Ref string `json:"_ref,omitempty"`
15527 15528 // The structure containing all cloud API related information for this object.
15529 CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`
15530 15531 // The comment for the record.
15532 Comment *string `json:"comment,omitempty"`
15533 15534 // The time of the record creation in Epoch seconds format.
15535 CreationTime *UnixTime `json:"creation_time,omitempty"`
15536 15537 // The record creator.
15538 Creator string `json:"creator,omitempty"`
15539 15540 // The GSS-TSIG principal that owns this record.
15541 DdnsPrincipal *string `json:"ddns_principal,omitempty"`
15542 15543 // Determines if the DDNS updates for this record are allowed.
15544 DdnsProtected *bool `json:"ddns_protected,omitempty"`
15545 15546 // Determines if the record is disabled.
15547 Disable *bool `json:"disable,omitempty"`
15548 15549 // Name of a DNS DNAME record in punycode format.
15550 DnsName string `json:"dns_name,omitempty"`
15551 15552 // The target domain name of the DNS DNAME record in punycode format.
15553 DnsTarget string `json:"dns_target,omitempty"`
15554 15555 // Extensible attributes associated with the object. For valid values for
15556 // extensible attributes, see {extattrs:values}.
15557 Ea EA `json:"extattrs"`
15558 15559 // Determines if reclamation is allowed for the record.
15560 ForbidReclamation *bool `json:"forbid_reclamation,omitempty"`
15561 15562 // The time of the last DNS query in Epoch seconds format.
15563 LastQueried *UnixTime `json:"last_queried,omitempty"`
15564 15565 // The name of the DNS DNAME record in FQDN format.
15566 Name *string `json:"name,omitempty"`
15567 15568 // Determines if the record is reclaimable.
15569 Reclaimable bool `json:"reclaimable,omitempty"`
15570 15571 // The name of the shared record group in which the record resides. This field
15572 // exists only on db_objects if this record is a shared record.
15573 SharedRecordGroup string `json:"shared_record_group,omitempty"`
15574 15575 // The target domain name of the DNS DNAME record in FQDN format.
15576 Target *string `json:"target,omitempty"`
15577 15578 // Time To Live (TTL) value for the record. A 32-bit unsigned integer that
15579 // represents the duration, in seconds, that the record is valid (cached). Zero
15580 // indicates that the record should not be cached.
15581 Ttl *uint32 `json:"ttl,omitempty"`
15582 15583 // Use flag for: ttl
15584 UseTtl *bool `json:"use_ttl,omitempty"`
15585 15586 // The name of the DNS View in which the record resides, for example
15587 // "external".
15588 View string `json:"view,omitempty"`
15589 15590 // The name of the zone in which the record resides. For example: "zone.com".
15591 // If a view is not specified when searching by zone, the default view is used.
15592 Zone string `json:"zone,omitempty"`
15593 }
15594 15595 func (RecordDname) ObjectType() string {
15596 return "record:dname"
15597 }
15598 15599 func (obj RecordDname) ReturnFields() []string {
15600 if obj.returnFields == nil {
15601 obj.returnFields = []string{"name", "target", "view"}
15602 }
15603 return obj.returnFields
15604 }
15605 15606 // RecordDnskey represents Infoblox object record:dnskey.
15607 // The DNSKEY resource record stores public keys for the DNSSEC authentication
15608 // process. The DNSKEY records are generated automatically when the
15609 // corresponding authoritative zone is signed. The DNSKEY resource record
15610 // object is read-only.
15611 type RecordDnskey struct {
15612 IBBase `json:"-"`
15613 15614 Ref string `json:"_ref,omitempty"`
15615 15616 // The public key encryption algorithm of a DNSKEY Record object.
15617 Algorithm string `json:"algorithm,omitempty"`
15618 15619 // The comment for the record.
15620 Comment string `json:"comment,omitempty"`
15621 15622 // The creation time of the record.
15623 CreationTime *UnixTime `json:"creation_time,omitempty"`
15624 15625 // The record creator.
15626 Creator string `json:"creator,omitempty"`
15627 15628 // Name of a DNSKEY record in punycode format.
15629 DnsName string `json:"dns_name,omitempty"`
15630 15631 // The flags field is a 16-bit unsigned integer. Currently, only two bits of
15632 // this value are used: the least significant bit and bit 7. The other bits are
15633 // reserved for future use and must be zero. If bit 7 is set to 1, the key is a
15634 // DNS zone key. Otherwise, the key is not a zone key and cannot be used to
15635 // verify zone data. The least significant bit indicates "secure entry point
15636 // property". If it is not zero, the key is a key signing key (KSK type).
15637 // Otherwise, the key type is ZSK.
15638 Flags int `json:"flags,omitempty"`
15639 15640 // The key tag identifying the public key of a DNSKEY Record object.
15641 KeyTag uint32 `json:"key_tag,omitempty"`
15642 15643 // The time of the last DNS query in Epoch seconds format.
15644 LastQueried *UnixTime `json:"last_queried,omitempty"`
15645 15646 // The name of the DNSKEY record in FQDN format. It has to be the same as the
15647 // zone, where the record resides.
15648 Name string `json:"name,omitempty"`
15649 15650 // The public key. The format of the returned value depends on the key
15651 // algorithm.
15652 PublicKey string `json:"public_key,omitempty"`
15653 15654 // The Time To Live (TTL) value for the record. A 32-bit unsigned integer that
15655 // represents the duration, in seconds, for which the record is valid (cached).
15656 // Zero indicates that the record should not be cached.
15657 Ttl uint32 `json:"ttl,omitempty"`
15658 15659 // Use flag for: ttl
15660 UseTtl bool `json:"use_ttl,omitempty"`
15661 15662 // The name of the DNS View in which the record resides. Example: "external".
15663 View string `json:"view,omitempty"`
15664 15665 // The name of the zone in which the record resides. Example: "zone.com". If a
15666 // view is not specified when searching by zone, the default view is used.
15667 Zone string `json:"zone,omitempty"`
15668 }
15669 15670 func (RecordDnskey) ObjectType() string {
15671 return "record:dnskey"
15672 }
15673 15674 func (obj RecordDnskey) ReturnFields() []string {
15675 if obj.returnFields == nil {
15676 obj.returnFields = []string{"name", "view"}
15677 }
15678 return obj.returnFields
15679 }
15680 15681 // RecordDs represents Infoblox object record:ds.
15682 // The DS key record is a part of the DNS security extension records. The DS RR
15683 // contains a hash of a child zone’s KSK and can be used as a trust anchor in
15684 // some security-aware resolvers and to create a secure delegation point for a
15685 // signed subzone in DNS servers. It is used to authorize the DNSKEY records of
15686 // the child zone and thus to establish the DNSSEC chain of trust.
15687 type RecordDs struct {
15688 IBBase `json:"-"`
15689 15690 Ref string `json:"_ref,omitempty"`
15691 15692 // The algorithm of the DNSKEY RR to which this DS RR refers. It uses the same
15693 // algorithm values and types as the corresponding DNSKEY RR.
15694 Algorithm string `json:"algorithm,omitempty"`
15695 15696 // Structure containing all cloud API related information for this object.
15697 CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`
15698 15699 // The comment for the record.
15700 Comment string `json:"comment,omitempty"`
15701 15702 // The creation time of the record.
15703 CreationTime *UnixTime `json:"creation_time,omitempty"`
15704 15705 // Creator of the record.
15706 Creator string `json:"creator,omitempty"`
15707 15708 // The digest of the DNSKEY resource record that is stored in a DS Record
15709 // object.
15710 Digest string `json:"digest,omitempty"`
15711 15712 // The algorithm used to construct the digest.
15713 DigestType string `json:"digest_type,omitempty"`
15714 15715 // The name for the DS record in punycode format.
15716 DnsName string `json:"dns_name,omitempty"`
15717 15718 // The key tag value that is used to determine which key to use to verify
15719 // signatures.
15720 KeyTag uint32 `json:"key_tag,omitempty"`
15721 15722 // The time of the last DNS query in Epoch seconds format.
15723 LastQueried *UnixTime `json:"last_queried,omitempty"`
15724 15725 // The name of the DNS DS record in FQDN format.
15726 Name string `json:"name,omitempty"`
15727 15728 // The Time To Live (TTL) value for the record. A 32-bit unsigned integer that
15729 // represents the duration, in seconds, for which the record is valid (cached).
15730 // Zero indicates that the record should not be cached.
15731 Ttl uint32 `json:"ttl,omitempty"`
15732 15733 // Use flag for: ttl
15734 UseTtl bool `json:"use_ttl,omitempty"`
15735 15736 // The name of the DNS View in which the record resides. Example: "external".
15737 View string `json:"view,omitempty"`
15738 15739 // The name of the zone in which the record resides. Example: "zone.com". If a
15740 // view is not specified when searching by zone, the default view is used.
15741 Zone string `json:"zone,omitempty"`
15742 }
15743 15744 func (RecordDs) ObjectType() string {
15745 return "record:ds"
15746 }
15747 15748 func (obj RecordDs) ReturnFields() []string {
15749 if obj.returnFields == nil {
15750 obj.returnFields = []string{"name", "view"}
15751 }
15752 return obj.returnFields
15753 }
15754 15755 // RecordDtclbdn represents Infoblox object record:dtclbdn.
15756 // Load Balanced Domain Name (LBDN) is a Load balanced domain name record type,
15757 // which is served by Infoblox Name Servers. LBDN is a qualified domain name
15758 // associated with a specific service such as ftp.abc.com or www.abc.com. A
15759 // LBDN record must be associated to a zone for which Infoblox is authoritative
15760 // for. User may assign multiple “Resource Pools” to a LBDN record. User
15761 // may also assign one or more DNS Distribution (Load balancing) methods an
15762 // LBDN record. User must not be able to create multiple LBDNs for the same
15763 // name.
15764 type RecordDtclbdn struct {
15765 IBBase `json:"-"`
15766 15767 Ref string `json:"_ref,omitempty"`
15768 15769 // The comment for the DTC LBDN record object; maximum 256 characters.
15770 Comment string `json:"comment,omitempty"`
15771 15772 // Determines whether the DTC LBDN is disabled or not.
15773 Disable bool `json:"disable,omitempty"`
15774 15775 // Extensible attributes associated with the object. For valid values for
15776 // extensible attributes, see {extattrs:values}.
15777 Ea EA `json:"extattrs"`
15778 15779 // The time of the last DNS query in Epoch seconds format.
15780 LastQueried *UnixTime `json:"last_queried,omitempty"`
15781 15782 // The DTC LBDN object.
15783 Lbdn string `json:"lbdn,omitempty"`
15784 15785 // The display name of the DTC LBDN record.
15786 Name string `json:"name,omitempty"`
15787 15788 // An FQDN pattern, LBDN wildcards can be used.
15789 Pattern string `json:"pattern,omitempty"`
15790 15791 // The name of the DNS View in which the record resides.
15792 View string `json:"view,omitempty"`
15793 15794 // The name of the zone in which the record resides.
15795 Zone string `json:"zone,omitempty"`
15796 }
15797 15798 func (RecordDtclbdn) ObjectType() string {
15799 return "record:dtclbdn"
15800 }
15801 15802 func (obj RecordDtclbdn) ReturnFields() []string {
15803 if obj.returnFields == nil {
15804 obj.returnFields = []string{"comment", "name", "view", "zone"}
15805 }
15806 return obj.returnFields
15807 }
15808 15809 // HostRecord represents Infoblox object record:host.
15810 // A host record defines attributes for a node, such as the name-to-address and
15811 // address-to-name mapping. This alleviates having to specify an A record and a
15812 // PTR record separately for the same node. A host can also define aliases and
15813 // DHCP fixed address nodes. The zone must be created first before adding a
15814 // host record for the zone.
15815 type HostRecord struct {
15816 IBBase `json:"-"`
15817 15818 Ref string `json:"_ref,omitempty"`
15819 15820 // This is a list of aliases for the host. The aliases must be in FQDN format.
15821 // This value can be in unicode format.
15822 Aliases []string `json:"aliases"`
15823 15824 // This field controls whether the credential is used for both the Telnet and
15825 // SSH credentials. If set to False, the credential is used only for SSH.
15826 AllowTelnet *bool `json:"allow_telnet,omitempty"`
15827 15828 // The CLI credentials for the host record.
15829 CliCredentials []*DiscoveryClicredential `json:"cli_credentials,omitempty"`
15830 15831 // Structure containing all cloud API related information for this object.
15832 CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`
15833 15834 // Comment for the record; maximum 256 characters.
15835 Comment *string `json:"comment,omitempty"`
15836 15837 // When configure_for_dns is false, the host does not have parent zone
15838 // information.
15839 EnableDns *bool `json:"configure_for_dns,omitempty"`
15840 15841 // The time of the record creation in Epoch seconds format.
15842 CreationTime *UnixTime `json:"creation_time,omitempty"`
15843 15844 // Determines if the DDNS updates for this record are allowed or not.
15845 DdnsProtected *bool `json:"ddns_protected,omitempty"`
15846 15847 // The description of the device.
15848 DeviceDescription *string `json:"device_description,omitempty"`
15849 15850 // The location of the device.
15851 DeviceLocation *string `json:"device_location,omitempty"`
15852 15853 // The type of the device.
15854 DeviceType *string `json:"device_type,omitempty"`
15855 15856 // The vendor of the device.
15857 DeviceVendor *string `json:"device_vendor,omitempty"`
15858 15859 // Determines if the record is disabled or not. False means that the record is
15860 // enabled.
15861 Disable *bool `json:"disable,omitempty"`
15862 15863 // Determines if the discovery for the record is disabled or not. False means
15864 // that the discovery is enabled.
15865 DisableDiscovery *bool `json:"disable_discovery,omitempty"`
15866 15867 // The list of aliases for the host in punycode format.
15868 DnsAliases []string `json:"dns_aliases,omitempty"`
15869 15870 // The name for a host record in punycode format.
15871 DnsName string `json:"dns_name,omitempty"`
15872 15873 // Determines if the discovery for the record should be immediately enabled.
15874 EnableImmediateDiscovery *bool `json:"enable_immediate_discovery,omitempty"`
15875 15876 // Extensible attributes associated with the object. For valid values for
15877 // extensible attributes, see {extattrs:values}.
15878 Ea EA `json:"extattrs"`
15879 15880 // This is a list of IPv4 Addresses for the host.
15881 Ipv4Addrs []HostRecordIpv4Addr `json:"ipv4addrs"`
15882 15883 // This is a list of IPv6 Addresses for the host.
15884 Ipv6Addrs []HostRecordIpv6Addr `json:"ipv6addrs"`
15885 15886 // The time of the last DNS query in Epoch seconds format.
15887 LastQueried *UnixTime `json:"last_queried,omitempty"`
15888 15889 // The Microsoft Active Directory user related information.
15890 MsAdUserData *MsserverAduserData `json:"ms_ad_user_data,omitempty"`
15891 15892 // The host name in FQDN format This value can be in unicode format. Regular
15893 // expression search is not supported for unicode values.
15894 Name *string `json:"name,omitempty"`
15895 15896 // The name of the network view in which the host record resides.
15897 NetworkView string `json:"network_view,omitempty"`
15898 15899 // Restarts the member service.
15900 RestartIfNeeded *bool `json:"restart_if_needed,omitempty"`
15901 15902 // The value of this field specifies the order in which resource record sets
15903 // are returned. The possible values are "cyclic", "random" and "fixed".
15904 RrsetOrder *string `json:"rrset_order,omitempty"`
15905 15906 // The SNMPv3 credential for a host record.
15907 Snmp3Credential *DiscoverySnmp3credential `json:"snmp3_credential,omitempty"`
15908 15909 // The SNMPv1 or SNMPv2 credential for a host record.
15910 SnmpCredential *DiscoverySnmpcredential `json:"snmp_credential,omitempty"`
15911 15912 // The Time To Live (TTL) value for record. A 32-bit unsigned integer that
15913 // represents the duration, in seconds, for which the record is valid (cached).
15914 // Zero indicates that the record should not be cached.
15915 Ttl *uint32 `json:"ttl,omitempty"`
15916 15917 // If set to true, the CLI credential will override member-level settings.
15918 UseCliCredentials *bool `json:"use_cli_credentials,omitempty"`
15919 15920 // Determines if the SNMPv3 credential should be used for the record.
15921 UseSnmp3Credential *bool `json:"use_snmp3_credential,omitempty"`
15922 15923 // If set to true, the SNMP credential will override member-level settings.
15924 UseSnmpCredential *bool `json:"use_snmp_credential,omitempty"`
15925 15926 // Use flag for: ttl
15927 UseTtl *bool `json:"use_ttl,omitempty"`
15928 15929 // The name of the DNS view in which the record resides. Example: "external".
15930 View *string `json:"view,omitempty"`
15931 15932 // The name of the zone in which the record resides. Example: "zone.com". If a
15933 // view is not specified when searching by zone, the default view is used.
15934 Zone string `json:"zone,omitempty"`
15935 }
15936 15937 func (HostRecord) ObjectType() string {
15938 return "record:host"
15939 }
15940 15941 func (obj HostRecord) ReturnFields() []string {
15942 if obj.returnFields == nil {
15943 obj.returnFields = []string{"ipv4addrs", "ipv6addrs", "name", "view"}
15944 }
15945 return obj.returnFields
15946 }
15947 15948 func NewEmptyHostRecord() *HostRecord {
15949 res := &HostRecord{}
15950 res.returnFields = []string{"extattrs", "ipv4addrs", "ipv6addrs", "name", "view", "zone", "comment", "network_view", "aliases", "use_ttl", "ttl", "configure_for_dns"}
15951 return res
15952 }
15953 15954 func NewHostRecord(
15955 netView string,
15956 name string,
15957 ipv4Addr string,
15958 ipv6Addr string,
15959 ipv4AddrList []HostRecordIpv4Addr,
15960 ipv6AddrList []HostRecordIpv6Addr,
15961 eas EA,
15962 enableDNS bool,
15963 dnsView string,
15964 zone string,
15965 ref string,
15966 useTtl bool,
15967 ttl uint32,
15968 comment string,
15969 aliases []string,
15970 disable bool) *HostRecord {
15971 15972 res := NewEmptyHostRecord()
15973 res.NetworkView = netView
15974 res.Name = &name
15975 res.Ea = eas
15976 res.View = &dnsView
15977 if *res.View == "" {
15978 res.View = nil
15979 }
15980 res.Zone = zone
15981 res.Ref = ref
15982 res.Comment = &comment
15983 res.Disable = &disable
15984 //res.Ipv4Addr = ipv4Addr
15985 //res.Ipv6Addr = ipv6Addr
15986 res.Ipv4Addrs = ipv4AddrList
15987 res.Ipv6Addrs = ipv6AddrList
15988 res.UseTtl = &useTtl
15989 res.Ttl = &ttl
15990 res.Aliases = aliases
15991 res.EnableDns = &enableDNS
15992 15993 return res
15994 }
15995 15996 // HostRecordIpv4Addr represents Infoblox object record:host_ipv4addr.
15997 // A Host Address is an object used to specify addresses in the record.host
15998 // object.
15999 type HostRecordIpv4Addr struct {
16000 IBBase `json:"-"`
16001 16002 Ref string `json:"_ref,omitempty"`
16003 16004 // The name of the boot file the client must download.
16005 Bootfile *string `json:"bootfile,omitempty"`
16006 16007 // The IP address or hostname of the boot file server where the boot file is
16008 // stored.
16009 Bootserver *string `json:"bootserver,omitempty"`
16010 16011 // Set this to True to enable the DHCP configuration for this host address.
16012 EnableDhcp *bool `json:"configure_for_dhcp,omitempty"`
16013 16014 // Set this to True to disable the BOOTP settings and deny BOOTP boot requests.
16015 DenyBootp *bool `json:"deny_bootp,omitempty"`
16016 16017 // The discovery status of this Host Address.
16018 DiscoverNowStatus string `json:"discover_now_status,omitempty"`
16019 16020 // The discovered data for this Host Address.
16021 DiscoveredData *Discoverydata `json:"discovered_data,omitempty"`
16022 16023 // Set this to True if you want the DHCP server to use a different lease time
16024 // for PXE clients. You can specify the duration of time it takes a host to
16025 // connect to a boot server, such as a TFTP server, and download the file it
16026 // needs to boot. For example, set a longer lease time if the client downloads
16027 // an OS (operating system) or configuration file, or set a shorter lease time
16028 // if the client downloads only configuration changes. Enter the lease time for
16029 // the preboot execution environment for hosts to boot remotely from a server.
16030 EnablePxeLeaseTime *bool `json:"enable_pxe_lease_time,omitempty"`
16031 16032 // The host to which the host address belongs, in FQDN format. It is only
16033 // present when the host address object is not returned as part of a host.
16034 Host string `json:"host,omitempty"`
16035 16036 // If this field is set to false, the appliance returns all DHCP options the
16037 // client is eligible to receive, rather than only the list of options the
16038 // client has requested.
16039 IgnoreClientRequestedOptions *bool `json:"ignore_client_requested_options,omitempty"`
16040 16041 // The IPv4 Address of the host.
16042 Ipv4Addr *string `json:"ipv4addr,omitempty"`
16043 16044 // This flag reflects whether the MAC address for this host address is invalid.
16045 IsInvalidMac bool `json:"is_invalid_mac,omitempty"`
16046 16047 // The time of the last DNS query in Epoch seconds format.
16048 LastQueried *UnixTime `json:"last_queried,omitempty"`
16049 16050 // This field contains the logic filters to be applied on the this host
16051 // address. This list corresponds to the match rules that are written to the
16052 // dhcpd configuration file.
16053 LogicFilterRules []*Logicfilterrule `json:"logic_filter_rules,omitempty"`
16054 16055 // The MAC address for this host address.
16056 Mac *string `json:"mac,omitempty"`
16057 16058 // Set this to 'MAC_ADDRESS' to assign the IP address to the selected host,
16059 // provided that the MAC address of the requesting host matches the MAC address
16060 // that you specify in the field. Set this to 'RESERVED' to reserve this
16061 // particular IP address for future use, or if the IP address is statically
16062 // configured on a system (the Infoblox server does not assign the address from
16063 // a DHCP request).
16064 MatchClient *string `json:"match_client,omitempty"`
16065 16066 // The Microsoft Active Directory user related information.
16067 MsAdUserData *MsserverAduserData `json:"ms_ad_user_data,omitempty"`
16068 16069 // The network of the host address, in FQDN/CIDR format.
16070 Network string `json:"network,omitempty"`
16071 16072 // The name of the network view in which the host address resides.
16073 NetworkView string `json:"network_view,omitempty"`
16074 16075 // The name in FQDN format and/or IPv4 Address of the next server that the host
16076 // needs to boot.
16077 Nextserver *string `json:"nextserver,omitempty"`
16078 16079 // An array of DHCP option dhcpoption structs that lists the DHCP options
16080 // associated with the object.
16081 Options []*Dhcpoption `json:"options,omitempty"`
16082 16083 // The lease time for PXE clients, see *enable_pxe_lease_time* for more
16084 // information.
16085 PxeLeaseTime *uint32 `json:"pxe_lease_time,omitempty"`
16086 16087 // The reference to the reserved interface to which the device belongs.
16088 ReservedInterface *string `json:"reserved_interface,omitempty"`
16089 16090 // Use flag for: bootfile
16091 UseBootfile *bool `json:"use_bootfile,omitempty"`
16092 16093 // Use flag for: bootserver
16094 UseBootserver *bool `json:"use_bootserver,omitempty"`
16095 16096 // Use flag for: deny_bootp
16097 UseDenyBootp *bool `json:"use_deny_bootp,omitempty"`
16098 16099 // Set this to True when using this host address for EA inheritance.
16100 UseForEaInheritance *bool `json:"use_for_ea_inheritance,omitempty"`
16101 16102 // Use flag for: ignore_client_requested_options
16103 UseIgnoreClientRequestedOptions *bool `json:"use_ignore_client_requested_options,omitempty"`
16104 16105 // Use flag for: logic_filter_rules
16106 UseLogicFilterRules *bool `json:"use_logic_filter_rules,omitempty"`
16107 16108 // Use flag for: nextserver
16109 UseNextserver *bool `json:"use_nextserver,omitempty"`
16110 16111 // Use flag for: options
16112 UseOptions *bool `json:"use_options,omitempty"`
16113 16114 // Use flag for: pxe_lease_time
16115 UsePxeLeaseTime *bool `json:"use_pxe_lease_time,omitempty"`
16116 }
16117 16118 func (HostRecordIpv4Addr) ObjectType() string {
16119 return "record:host_ipv4addr"
16120 }
16121 16122 func (obj HostRecordIpv4Addr) ReturnFields() []string {
16123 if obj.returnFields == nil {
16124 obj.returnFields = []string{"configure_for_dhcp", "host", "ipv4addr", "mac"}
16125 }
16126 return obj.returnFields
16127 }
16128 16129 func NewEmptyHostRecordIpv4Addr() *HostRecordIpv4Addr {
16130 return &HostRecordIpv4Addr{}
16131 }
16132 16133 func NewHostRecordIpv4Addr(
16134 ipAddr string,
16135 macAddr string,
16136 enableDhcp bool,
16137 ref string) *HostRecordIpv4Addr {
16138 16139 res := NewEmptyHostRecordIpv4Addr()
16140 res.Ipv4Addr = &ipAddr
16141 res.Mac = &macAddr
16142 res.Ref = ref
16143 res.EnableDhcp = &enableDhcp
16144 16145 return res
16146 }
16147 16148 // HostRecordIpv6Addr represents Infoblox object record:host_ipv6addr.
16149 // An IPv6 host address is an object used to specify addresses in the
16150 // record.host object.
16151 type HostRecordIpv6Addr struct {
16152 IBBase `json:"-"`
16153 16154 Ref string `json:"_ref,omitempty"`
16155 16156 // Type of the DHCP IPv6 Host Address object.
16157 AddressType string `json:"address_type,omitempty"`
16158 16159 // Set this to True to enable the DHCP configuration for this IPv6 host
16160 // address.
16161 EnableDhcp *bool `json:"configure_for_dhcp,omitempty"`
16162 16163 // The discovery status of this IPv6 Host Address.
16164 DiscoverNowStatus string `json:"discover_now_status,omitempty"`
16165 16166 // The discovered data for this host address.
16167 DiscoveredData *Discoverydata `json:"discovered_data,omitempty"`
16168 16169 // Use this method to set or retrieve the domain_name value of the DHCP IPv6
16170 // Host Address object.
16171 DomainName *string `json:"domain_name,omitempty"`
16172 16173 // The IPv6 addresses of DNS recursive name servers to which the DHCP client
16174 // can send name resolution requests. The DHCP server includes this information
16175 // in the DNS Recursive Name Server option in Advertise, Rebind,
16176 // Information-Request, and Reply messages.
16177 DomainNameServers []string `json:"domain_name_servers,omitempty"`
16178 16179 // DHCPv6 Unique Identifier (DUID) of the address object.
16180 Duid *string `json:"duid,omitempty"`
16181 16182 // The host to which the IPv6 host address belongs, in FQDN format. It is only
16183 // present when the host address object is not returned as part of a host.
16184 Host string `json:"host,omitempty"`
16185 16186 // The IPv6 Address prefix of the DHCP IPv6 Host Address object.
16187 Ipv6Addr *string `json:"ipv6addr,omitempty"`
16188 16189 // The IPv6 Address prefix of the DHCP IPv6 Host Address object.
16190 Ipv6prefix *string `json:"ipv6prefix,omitempty"`
16191 16192 // Prefix bits of the DHCP IPv6 Host Address object.
16193 Ipv6prefixBits *uint32 `json:"ipv6prefix_bits,omitempty"`
16194 16195 // The time of the last DNS query in Epoch seconds format.
16196 LastQueried *UnixTime `json:"last_queried,omitempty"`
16197 16198 // This field contains the logic filters to be applied on the this host
16199 // address. This list corresponds to the match rules that are written to the
16200 // dhcpd configuration file.
16201 LogicFilterRules []*Logicfilterrule `json:"logic_filter_rules,omitempty"`
16202 16203 // Set this to 'DUID' to assign the IP address to the selected host, provided
16204 // that the DUID of the requesting host matches the DUID that you specify in
16205 // the field. Set this to 'RESERVED' to reserve this particular IP address for
16206 // future use, or if the IP address is statically configured on a system (the
16207 // Infoblox server does not assign the address from a DHCP request).
16208 MatchClient *string `json:"match_client,omitempty"`
16209 16210 // The Microsoft Active Directory user related information.
16211 MsAdUserData *MsserverAduserData `json:"ms_ad_user_data,omitempty"`
16212 16213 // The network of the host address, in FQDN/CIDR format.
16214 Network string `json:"network,omitempty"`
16215 16216 // The name of the network view in which the host address resides.
16217 NetworkView string `json:"network_view,omitempty"`
16218 16219 // An array of DHCP option dhcpoption structs that lists the DHCP options
16220 // associated with the object.
16221 Options []*Dhcpoption `json:"options,omitempty"`
16222 16223 // Use this method to set or retrieve the preferred lifetime value of the DHCP
16224 // IPv6 Host Address object.
16225 PreferredLifetime *uint32 `json:"preferred_lifetime,omitempty"`
16226 16227 // The reference to the reserved interface to which the device belongs.
16228 ReservedInterface *string `json:"reserved_interface,omitempty"`
16229 16230 // Use flag for: domain_name
16231 UseDomainName *bool `json:"use_domain_name,omitempty"`
16232 16233 // Use flag for: domain_name_servers
16234 UseDomainNameServers *bool `json:"use_domain_name_servers,omitempty"`
16235 16236 // Set this to True when using this host address for EA inheritance.
16237 UseForEaInheritance *bool `json:"use_for_ea_inheritance,omitempty"`
16238 16239 // Use flag for: logic_filter_rules
16240 UseLogicFilterRules *bool `json:"use_logic_filter_rules,omitempty"`
16241 16242 // Use flag for: options
16243 UseOptions *bool `json:"use_options,omitempty"`
16244 16245 // Use flag for: preferred_lifetime
16246 UsePreferredLifetime *bool `json:"use_preferred_lifetime,omitempty"`
16247 16248 // Use flag for: valid_lifetime
16249 UseValidLifetime *bool `json:"use_valid_lifetime,omitempty"`
16250 16251 // Use this method to set or retrieve the valid lifetime value of the DHCP IPv6
16252 // Host Address object.
16253 ValidLifetime *uint32 `json:"valid_lifetime,omitempty"`
16254 }
16255 16256 func (HostRecordIpv6Addr) ObjectType() string {
16257 return "record:host_ipv6addr"
16258 }
16259 16260 func (obj HostRecordIpv6Addr) ReturnFields() []string {
16261 if obj.returnFields == nil {
16262 obj.returnFields = []string{"configure_for_dhcp", "duid", "host", "ipv6addr"}
16263 }
16264 return obj.returnFields
16265 }
16266 16267 func NewEmptyHostRecordIpv6Addr() *HostRecordIpv6Addr {
16268 return &HostRecordIpv6Addr{}
16269 }
16270 16271 func NewHostRecordIpv6Addr(
16272 ipAddr string,
16273 duid string,
16274 enableDhcp bool,
16275 ref string) *HostRecordIpv6Addr {
16276 16277 res := NewEmptyHostRecordIpv6Addr()
16278 res.Ipv6Addr = &ipAddr
16279 res.Duid = &duid
16280 res.Ref = ref
16281 res.EnableDhcp = &enableDhcp
16282 16283 return res
16284 }
16285 16286 // RecordMX represents Infoblox object record:mx.
16287 // An MX (mail exchanger) record maps a domain name to a mail exchanger. A mail
16288 // exchanger is a server that either delivers or forwards mail. You can specify
16289 // one or more mail exchangers for a zone, as well as the preference for using
16290 // each mail exchanger. A standard MX record applies to a particular domain or
16291 // subdomain.
16292 type RecordMX struct {
16293 IBBase `json:"-"`
16294 16295 Ref string `json:"_ref,omitempty"`
16296 16297 // Aws Route 53 record information.
16298 AwsRte53RecordInfo *Awsrte53recordinfo `json:"aws_rte53_record_info,omitempty"`
16299 16300 // Structure containing all cloud API related information for this object.
16301 CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`
16302 16303 // Comment for the record; maximum 256 characters.
16304 Comment *string `json:"comment,omitempty"`
16305 16306 // The time of the record creation in Epoch seconds format.
16307 CreationTime *UnixTime `json:"creation_time,omitempty"`
16308 16309 // The record creator. Note that changing creator from or to 'SYSTEM' value is
16310 // not allowed.
16311 Creator string `json:"creator,omitempty"`
16312 16313 // The GSS-TSIG principal that owns this record.
16314 DdnsPrincipal *string `json:"ddns_principal,omitempty"`
16315 16316 // Determines if the DDNS updates for this record are allowed or not.
16317 DdnsProtected *bool `json:"ddns_protected,omitempty"`
16318 16319 // Determines if the record is disabled or not. False means that the record is
16320 // enabled.
16321 Disable *bool `json:"disable,omitempty"`
16322 16323 // The Mail exchanger name in punycode format.
16324 DnsMailExchanger string `json:"dns_mail_exchanger,omitempty"`
16325 16326 // The name for a MX record in punycode format.
16327 DnsName string `json:"dns_name,omitempty"`
16328 16329 // Extensible attributes associated with the object. For valid values for
16330 // extensible attributes, see {extattrs:values}.
16331 Ea EA `json:"extattrs"`
16332 16333 // Determines if the reclamation is allowed for the record or not.
16334 ForbidReclamation *bool `json:"forbid_reclamation,omitempty"`
16335 16336 // The time of the last DNS query in Epoch seconds format.
16337 LastQueried *UnixTime `json:"last_queried,omitempty"`
16338 16339 // Mail exchanger name in FQDN format. This value can be in unicode format.
16340 MailExchanger *string `json:"mail_exchanger,omitempty"`
16341 16342 // Name for the MX record in FQDN format. This value can be in unicode format.
16343 Name *string `json:"name,omitempty"`
16344 16345 // Preference value, 0 to 65535 (inclusive) in 32-bit unsigned integer format.
16346 Preference *uint32 `json:"preference,omitempty"`
16347 16348 // Determines if the record is reclaimable or not.
16349 Reclaimable bool `json:"reclaimable,omitempty"`
16350 16351 // The name of the shared record group in which the record resides. This field
16352 // exists only on db_objects if this record is a shared record.
16353 SharedRecordGroup string `json:"shared_record_group,omitempty"`
16354 16355 // The Time To Live (TTL) value for record. A 32-bit unsigned integer that
16356 // represents the duration, in seconds, for which the record is valid (cached).
16357 // Zero indicates that the record should not be cached.
16358 Ttl *uint32 `json:"ttl,omitempty"`
16359 16360 // Use flag for: ttl
16361 UseTtl *bool `json:"use_ttl,omitempty"`
16362 16363 // The name of the DNS view in which the record resides. Example: "external".
16364 View *string `json:"view,omitempty"`
16365 16366 // The name of the zone in which the record resides. Example: "zone.com". If a
16367 // view is not specified when searching by zone, the default view is used.
16368 Zone string `json:"zone,omitempty"`
16369 }
16370 16371 func (RecordMX) ObjectType() string {
16372 return "record:mx"
16373 }
16374 16375 func (obj RecordMX) ReturnFields() []string {
16376 if obj.returnFields == nil {
16377 obj.returnFields = []string{"mail_exchanger", "name", "preference", "view"}
16378 }
16379 return obj.returnFields
16380 }
16381 16382 // RecordNaptr represents Infoblox object record:naptr.
16383 // A DNS NAPTR object represents a Naming Authority Pointer (NAPTR) resource
16384 // record. This resource record specifies a regular expression-based rewrite
16385 // rule that, when applied to an existing string, produces a new domain name or
16386 // URI.
16387 type RecordNaptr struct {
16388 IBBase `json:"-"`
16389 16390 Ref string `json:"_ref,omitempty"`
16391 16392 // Structure containing all cloud API related information for this object.
16393 CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`
16394 16395 // Comment for the record; maximum 256 characters.
16396 Comment *string `json:"comment,omitempty"`
16397 16398 // The time of the record creation in Epoch seconds format.
16399 CreationTime *UnixTime `json:"creation_time,omitempty"`
16400 16401 // The record creator. Note that changing creator from or to 'SYSTEM' value is
16402 // not allowed.
16403 Creator string `json:"creator,omitempty"`
16404 16405 // The GSS-TSIG principal that owns this record.
16406 DdnsPrincipal *string `json:"ddns_principal,omitempty"`
16407 16408 // Determines if the DDNS updates for this record are allowed or not.
16409 DdnsProtected *bool `json:"ddns_protected,omitempty"`
16410 16411 // Determines if the record is disabled or not. False means that the record is
16412 // enabled.
16413 Disable *bool `json:"disable,omitempty"`
16414 16415 // The name of the NAPTR record in punycode format.
16416 DnsName string `json:"dns_name,omitempty"`
16417 16418 // The replacement field of the NAPTR record in punycode format.
16419 DnsReplacement string `json:"dns_replacement,omitempty"`
16420 16421 // Extensible attributes associated with the object. For valid values for
16422 // extensible attributes, see {extattrs:values}.
16423 Ea EA `json:"extattrs"`
16424 16425 // The flags used to control the interpretation of the fields for an NAPTR
16426 // record object. Supported values for the flags field are "U", "S", "P" and
16427 // "A".
16428 Flags *string `json:"flags,omitempty"`
16429 16430 // Determines if the reclamation is allowed for the record or not.
16431 ForbidReclamation *bool `json:"forbid_reclamation,omitempty"`
16432 16433 // The time of the last DNS query in Epoch seconds format.
16434 LastQueried *UnixTime `json:"last_queried,omitempty"`
16435 16436 // The name of the NAPTR record in FQDN format. This value can be in unicode
16437 // format.
16438 Name *string `json:"name,omitempty"`
16439 16440 // The order parameter of the NAPTR records. This parameter specifies the order
16441 // in which the NAPTR rules are applied when multiple rules are present. Valid
16442 // values are from 0 to 65535 (inclusive), in 32-bit unsigned integer format.
16443 Order *uint32 `json:"order,omitempty"`
16444 16445 // The preference of the NAPTR record. The preference field determines the
16446 // order NAPTR records are processed when multiple records with the same order
16447 // parameter are present. Valid values are from 0 to 65535 (inclusive), in
16448 // 32-bit unsigned integer format.
16449 Preference *uint32 `json:"preference,omitempty"`
16450 16451 // Determines if the record is reclaimable or not.
16452 Reclaimable bool `json:"reclaimable,omitempty"`
16453 16454 // The regular expression-based rewriting rule of the NAPTR record. This should
16455 // be a POSIX compliant regular expression, including the substitution rule and
16456 // flags. Refer to RFC 2915 for the field syntax details.
16457 Regexp *string `json:"regexp,omitempty"`
16458 16459 // The replacement field of the NAPTR record object. For nonterminal NAPTR
16460 // records, this field specifies the next domain name to look up. This value
16461 // can be in unicode format.
16462 Replacement *string `json:"replacement,omitempty"`
16463 16464 // The services field of the NAPTR record object; maximum 128 characters. The
16465 // services field contains protocol and service identifiers, such as "http+E2U"
16466 // or "SIPS+D2T".
16467 Services *string `json:"services,omitempty"`
16468 16469 // The Time to Live (TTL) value for the NAPTR record. A 32-bit unsigned integer
16470 // that represents the duration, in seconds, for which the record is valid
16471 // (cached). Zero indicates that the record should not be cached.
16472 Ttl *uint32 `json:"ttl,omitempty"`
16473 16474 // Use flag for: ttl
16475 UseTtl *bool `json:"use_ttl,omitempty"`
16476 16477 // The name of the DNS view in which the record resides. Example: "external".
16478 View string `json:"view,omitempty"`
16479 16480 // The name of the zone in which the record resides. Example: "zone.com". If a
16481 // view is not specified when searching by zone, the default view is used.
16482 Zone string `json:"zone,omitempty"`
16483 }
16484 16485 func (RecordNaptr) ObjectType() string {
16486 return "record:naptr"
16487 }
16488 16489 func (obj RecordNaptr) ReturnFields() []string {
16490 if obj.returnFields == nil {
16491 obj.returnFields = []string{"name", "order", "preference", "regexp", "replacement", "services", "view"}
16492 }
16493 return obj.returnFields
16494 }
16495 16496 // RecordNS represents Infoblox object record:ns.
16497 // A DNS NS record identifies an authoritative DNS server for a domain. Each
16498 // authoritative DNS server must have an NS record. The appliance automatically
16499 // creates an NS record when you assign a grid member as the primary server for
16500 // a zone. You can manually create NS records for other zones.
16501 type RecordNS struct {
16502 IBBase `json:"-"`
16503 16504 Ref string `json:"_ref,omitempty"`
16505 16506 // The list of zone name servers.
16507 Addresses []*ZoneNameServer `json:"addresses,omitempty"`
16508 16509 // Structure containing all cloud API related information for this object.
16510 CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`
16511 16512 // The record creator.
16513 Creator string `json:"creator,omitempty"`
16514 16515 // The name of the NS record in punycode format.
16516 DnsName string `json:"dns_name,omitempty"`
16517 16518 // The time of the last DNS query in Epoch seconds format.
16519 LastQueried *UnixTime `json:"last_queried,omitempty"`
16520 16521 // The MS delegation point name.
16522 MsDelegationName *string `json:"ms_delegation_name,omitempty"`
16523 16524 // The name of the NS record in FQDN format. This value can be in unicode
16525 // format.
16526 Name string `json:"name,omitempty"`
16527 16528 // The domain name of an authoritative server for the redirected zone.
16529 Nameserver *string `json:"nameserver,omitempty"`
16530 16531 // The host name policy for the record.
16532 Policy string `json:"policy,omitempty"`
16533 16534 // The name of the DNS view in which the record resides. Example: "external".
16535 View string `json:"view,omitempty"`
16536 16537 // The name of the zone in which the record resides. Example: "zone.com". If a
16538 // view is not specified when searching by zone, the default view is used.
16539 Zone string `json:"zone,omitempty"`
16540 }
16541 16542 func (RecordNS) ObjectType() string {
16543 return "record:ns"
16544 }
16545 16546 func (obj RecordNS) ReturnFields() []string {
16547 if obj.returnFields == nil {
16548 obj.returnFields = []string{"name", "nameserver", "view"}
16549 }
16550 return obj.returnFields
16551 }
16552 16553 // RecordNsec represents Infoblox object record:nsec.
16554 // NSEC resource record is one of the resource records included in the DNS
16555 // security extension mechanism (DNSSEC). This record is used to provide
16556 // authenticated denial of existence of a resource record in response to a
16557 // resolver query.
16558 type RecordNsec struct {
16559 IBBase `json:"-"`
16560 16561 Ref string `json:"_ref,omitempty"`
16562 16563 // Structure containing all cloud API related information for this object.
16564 CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`
16565 16566 // Time that the record was created.
16567 CreationTime *UnixTime `json:"creation_time,omitempty"`
16568 16569 // Creator of the record.
16570 Creator string `json:"creator,omitempty"`
16571 16572 // Name for an NSEC record in punycode format.
16573 DnsName string `json:"dns_name,omitempty"`
16574 16575 // Name of the next owner in punycode format.
16576 DnsNextOwnerName string `json:"dns_next_owner_name,omitempty"`
16577 16578 // The time of the last DNS query in Epoch seconds format.
16579 LastQueried *UnixTime `json:"last_queried,omitempty"`
16580 16581 // The name of the NSEC record in FQDN format.
16582 Name string `json:"name,omitempty"`
16583 16584 // Name of the next owner that has authoritative data or that contains a
16585 // delegation point NS record.
16586 NextOwnerName string `json:"next_owner_name,omitempty"`
16587 16588 // The RRSet types that exist at the original owner name of the NSEC RR.
16589 RrsetTypes []string `json:"rrset_types,omitempty"`
16590 16591 // The Time To Live (TTL) value for the record. A 32-bit unsigned integer that
16592 // represents the duration, in seconds, for which the record is valid (cached).
16593 // Zero indicates that the record should not be cached.
16594 Ttl uint32 `json:"ttl,omitempty"`
16595 16596 // Use flag for: ttl
16597 UseTtl bool `json:"use_ttl,omitempty"`
16598 16599 // The name of the DNS View in which the record resides. Example: "external".
16600 View string `json:"view,omitempty"`
16601 16602 // The name of the zone in which the record resides. Example: "zone.com". If a
16603 // view is not specified when searching by zone, the default view is used.
16604 Zone string `json:"zone,omitempty"`
16605 }
16606 16607 func (RecordNsec) ObjectType() string {
16608 return "record:nsec"
16609 }
16610 16611 func (obj RecordNsec) ReturnFields() []string {
16612 if obj.returnFields == nil {
16613 obj.returnFields = []string{"name", "view"}
16614 }
16615 return obj.returnFields
16616 }
16617 16618 // RecordNsec3 represents Infoblox object record:nsec3.
16619 // When a name server receives a request for a domain name that does not exist
16620 // in a zone, the name server sends an authenticated negative response in the
16621 // form of an NSEC or NSEC3 RR. NSEC and NSEC3 records contain the next secure
16622 // domain name in a zone and list the RR types present at the NSEC or NSEC3
16623 // RR’s owner name. The difference between an NSEC and NSEC3 RRs is that the
16624 // owner name in an NSEC3 RR is a cryptographic hash of the original owner name
16625 // prepended to the name of the zone. NSEC3 RRs protect against zone
16626 // enumeration.
16627 type RecordNsec3 struct {
16628 IBBase `json:"-"`
16629 16630 Ref string `json:"_ref,omitempty"`
16631 16632 // The hash algorithm that was used.
16633 Algorithm string `json:"algorithm,omitempty"`
16634 16635 // Structure containing all cloud API related information for this object.
16636 CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`
16637 16638 // The creation time of the record.
16639 CreationTime *UnixTime `json:"creation_time,omitempty"`
16640 16641 // Creator of the record.
16642 Creator string `json:"creator,omitempty"`
16643 16644 // Name for an NSEC3 record in punycode format.
16645 DnsName string `json:"dns_name,omitempty"`
16646 16647 // The set of 8 one-bit flags, of which only one flag, the Opt-Out flag, is
16648 // defined by RFC 5155. The Opt-Out flag indicates whether the NSEC3 record
16649 // covers unsigned delegations.
16650 Flags uint32 `json:"flags,omitempty"`
16651 16652 // The number of times the hash function was performed.
16653 Iterations uint32 `json:"iterations,omitempty"`
16654 16655 // The time of the last DNS query in Epoch seconds format.
16656 LastQueried *UnixTime `json:"last_queried,omitempty"`
16657 16658 // The name of the NSEC3 record in FQDN format.
16659 Name string `json:"name,omitempty"`
16660 16661 // The hashed next owner name that has authoritative data or that contains a
16662 // delegation point NS record.
16663 NextOwnerName string `json:"next_owner_name,omitempty"`
16664 16665 // The RRSet types that exist at the original owner name of the NSEC3 RR.
16666 RrsetTypes []string `json:"rrset_types,omitempty"`
16667 16668 // A series of case-insensitive hexadecimal digits. It is appended to the
16669 // original owner name as protection against pre-calculated dictionary attacks.
16670 // A new salt value is generated when ZSK rolls over. You can control the
16671 // period of the rollover. For random salt values, the selected length is
16672 // between one and 15 octets.
16673 Salt string `json:"salt,omitempty"`
16674 16675 // The Time To Live (TTL) value for the record. A 32-bit unsigned integer that
16676 // represents the duration, in seconds, for which the record is valid (cached).
16677 // Zero indicates that the record should not be cached.
16678 Ttl uint32 `json:"ttl,omitempty"`
16679 16680 // Use flag for: ttl
16681 UseTtl bool `json:"use_ttl,omitempty"`
16682 16683 // The name of the DNS View in which the record resides. Example: "external".
16684 View string `json:"view,omitempty"`
16685 16686 // The name of the zone in which the record resides. Example: "zone.com". If a
16687 // view is not specified when searching by zone, the default view is used.
16688 Zone string `json:"zone,omitempty"`
16689 }
16690 16691 func (RecordNsec3) ObjectType() string {
16692 return "record:nsec3"
16693 }
16694 16695 func (obj RecordNsec3) ReturnFields() []string {
16696 if obj.returnFields == nil {
16697 obj.returnFields = []string{"name", "view"}
16698 }
16699 return obj.returnFields
16700 }
16701 16702 // RecordNsec3param represents Infoblox object record:nsec3param.
16703 // An authoritative DNS server uses NSEC3PARAM RRs to determine which NSEC3
16704 // records it includes in its negative responses. An NSEC3PARAM RR contains the
16705 // parameters that an authoritative server needs to calculate hashed owner
16706 // names. As stated in RFC 5155, the presence of an NSEC3PARAM RR at a zone
16707 // apex indicates that the specified parameters may be used by authoritative
16708 // servers to choose an appropriate set of NSEC3 RRs for negative responses.
16709 type RecordNsec3param struct {
16710 IBBase `json:"-"`
16711 16712 Ref string `json:"_ref,omitempty"`
16713 16714 // The hash algorithm that was used.
16715 Algorithm string `json:"algorithm,omitempty"`
16716 16717 // Structure containing all cloud API related information for this object.
16718 CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`
16719 16720 // The creation time of the record.
16721 CreationTime *UnixTime `json:"creation_time,omitempty"`
16722 16723 // Creator of the record.
16724 Creator string `json:"creator,omitempty"`
16725 16726 // Name for an NSEC3PARAM record in punycode format.
16727 DnsName string `json:"dns_name,omitempty"`
16728 16729 // The set of 8 one-bit flags, of which only one flag, the Opt-Out flag, is
16730 // defined by RFC 5155. The Opt-Out flag indicates whether the NSEC3 record
16731 // covers unsigned delegations.
16732 Flags uint32 `json:"flags,omitempty"`
16733 16734 // The number of times the hash function was performed.
16735 Iterations uint32 `json:"iterations,omitempty"`
16736 16737 // The time of the last DNS query in Epoch seconds format.
16738 LastQueried *UnixTime `json:"last_queried,omitempty"`
16739 16740 // The name of the NSEC3PARAM record in FQDN format. It has to be the same as
16741 // the zone, where the record resides.
16742 Name string `json:"name,omitempty"`
16743 16744 // A series of case-insensitive hexadecimal digits. It is appended to the
16745 // original owner name as protection against pre-calculated dictionary attacks.
16746 // A new salt value is generated when the ZSK rolls over, for which the user
16747 // can control the period. For a random salt value, the selected length is
16748 // between one and 15 octets.
16749 Salt string `json:"salt,omitempty"`
16750 16751 // The Time To Live (TTL) value for the record. A 32-bit unsigned integer that
16752 // represents the duration, in seconds, for which the record is valid (cached).
16753 // Zero indicates that the record should not be cached.
16754 Ttl uint32 `json:"ttl,omitempty"`
16755 16756 // Use flag for: ttl
16757 UseTtl bool `json:"use_ttl,omitempty"`
16758 16759 // The name of the DNS View in which the record resides. Example: "external".
16760 View string `json:"view,omitempty"`
16761 16762 // The name of the zone in which the record resides. Example: "zone.com". If a
16763 // view is not specified when searching by zone, the default view is used.
16764 Zone string `json:"zone,omitempty"`
16765 }
16766 16767 func (RecordNsec3param) ObjectType() string {
16768 return "record:nsec3param"
16769 }
16770 16771 func (obj RecordNsec3param) ReturnFields() []string {
16772 if obj.returnFields == nil {
16773 obj.returnFields = []string{"name", "view"}
16774 }
16775 return obj.returnFields
16776 }
16777 16778 // RecordPTR represents Infoblox object record:ptr.
16779 // In a forward-mapping zone, a PTR (pointer) record maps a domain name to
16780 // another domain name. In a reverse-mapping zone, a PTR (pointer) record maps
16781 // an address to a domain name. To define a specific address-to-name mapping,
16782 // add a PTR record to a previously defined authoritative reverse-mapping zone.
16783 type RecordPTR struct {
16784 IBBase `json:"-"`
16785 16786 Ref string `json:"_ref,omitempty"`
16787 16788 // Aws Route 53 record information.
16789 AwsRte53RecordInfo *Awsrte53recordinfo `json:"aws_rte53_record_info,omitempty"`
16790 16791 // Structure containing all cloud API related information for this object.
16792 CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`
16793 16794 // Comment for the record; maximum 256 characters.
16795 Comment *string `json:"comment,omitempty"`
16796 16797 // The time of the record creation in Epoch seconds format.
16798 CreationTime *UnixTime `json:"creation_time,omitempty"`
16799 16800 // The record creator. Note that changing creator from or to 'SYSTEM' value is
16801 // not allowed.
16802 Creator string `json:"creator,omitempty"`
16803 16804 // The GSS-TSIG principal that owns this record.
16805 DdnsPrincipal *string `json:"ddns_principal,omitempty"`
16806 16807 // Determines if the DDNS updates for this record are allowed or not.
16808 DdnsProtected *bool `json:"ddns_protected,omitempty"`
16809 16810 // Determines if the record is disabled or not. False means that the record is
16811 // enabled.
16812 Disable *bool `json:"disable,omitempty"`
16813 16814 // The discovered data for this PTR record.
16815 DiscoveredData *Discoverydata `json:"discovered_data,omitempty"`
16816 16817 // The name for a DNS PTR record in punycode format.
16818 DnsName string `json:"dns_name,omitempty"`
16819 16820 // The domain name of the DNS PTR record in punycode format.
16821 DnsPtrdname string `json:"dns_ptrdname,omitempty"`
16822 16823 // Extensible attributes associated with the object. For valid values for
16824 // extensible attributes, see {extattrs:values}.
16825 Ea EA `json:"extattrs"`
16826 16827 // Determines if the reclamation is allowed for the record or not.
16828 ForbidReclamation *bool `json:"forbid_reclamation,omitempty"`
16829 16830 // The IPv4 Address of the record.
16831 Ipv4Addr *string `json:"ipv4addr,omitempty"`
16832 16833 // The IPv6 Address of the record.
16834 Ipv6Addr *string `json:"ipv6addr,omitempty"`
16835 16836 // The time of the last DNS query in Epoch seconds format.
16837 LastQueried *UnixTime `json:"last_queried,omitempty"`
16838 16839 // The Microsoft Active Directory user related information.
16840 MsAdUserData *MsserverAduserData `json:"ms_ad_user_data,omitempty"`
16841 16842 // The name of the DNS PTR record in FQDN format.
16843 Name *string `json:"name,omitempty"`
16844 16845 // The domain name of the DNS PTR record in FQDN format.
16846 PtrdName *string `json:"ptrdname,omitempty"`
16847 16848 // Determines if the record is reclaimable or not.
16849 Reclaimable bool `json:"reclaimable,omitempty"`
16850 16851 // The name of the shared record group in which the record resides. This field
16852 // exists only on db_objects if this record is a shared record.
16853 SharedRecordGroup string `json:"shared_record_group,omitempty"`
16854 16855 // Time To Live (TTL) value for the record. A 32-bit unsigned integer that
16856 // represents the duration, in seconds, that the record is valid (cached). Zero
16857 // indicates that the record should not be cached.
16858 Ttl *uint32 `json:"ttl,omitempty"`
16859 16860 // Use flag for: ttl
16861 UseTtl *bool `json:"use_ttl,omitempty"`
16862 16863 // Name of the DNS View in which the record resides, for example "external".
16864 View string `json:"view,omitempty"`
16865 16866 // The name of the zone in which the record resides. For example: "zone.com".
16867 // If a view is not specified when searching by zone, the default view is used.
16868 Zone string `json:"zone,omitempty"`
16869 }
16870 16871 func (RecordPTR) ObjectType() string {
16872 return "record:ptr"
16873 }
16874 16875 func (obj RecordPTR) ReturnFields() []string {
16876 if obj.returnFields == nil {
16877 obj.returnFields = []string{"ptrdname", "view"}
16878 }
16879 return obj.returnFields
16880 }
16881 16882 func NewEmptyRecordPTR() *RecordPTR {
16883 res := RecordPTR{}
16884 res.returnFields = []string{"extattrs", "ipv4addr", "ipv6addr", "name", "ptrdname", "view", "zone", "comment", "use_ttl", "ttl"}
16885 16886 return &res
16887 }
16888 16889 func NewRecordPTR(dnsView string, ptrdname string, useTtl bool, ttl uint32, comment string, ea EA) *RecordPTR {
16890 res := NewEmptyRecordPTR()
16891 res.View = dnsView
16892 res.PtrdName = &ptrdname
16893 res.UseTtl = &useTtl
16894 res.Ttl = &ttl
16895 res.Comment = &comment
16896 res.Ea = ea
16897 16898 return res
16899 }
16900 16901 // RecordRpzA represents Infoblox object record:rpz:a.
16902 // An RPZ Substitute (A Record) Rule maps a domain name to a substitute IPv4
16903 // address. To define a specific name-to-address mapping, add an Substitute (A
16904 // Record) Rule to a previously defined Response Policy Zone.
16905 type RecordRpzA struct {
16906 IBBase `json:"-"`
16907 16908 Ref string `json:"_ref,omitempty"`
16909 16910 // The comment for the record; maximum 256 characters.
16911 Comment *string `json:"comment,omitempty"`
16912 16913 // Determines if the record is disabled or not. False means that the record is
16914 // enabled.
16915 Disable *bool `json:"disable,omitempty"`
16916 16917 // Extensible attributes associated with the object. For valid values for
16918 // extensible attributes, see {extattrs:values}.
16919 Ea EA `json:"extattrs"`
16920 16921 // The IPv4 Address of the substitute rule.
16922 Ipv4Addr *string `json:"ipv4addr,omitempty"`
16923 16924 // The name for a record in FQDN format. This value cannot be in unicode
16925 // format.
16926 Name *string `json:"name,omitempty"`
16927 16928 // The name of a response policy zone in which the record resides.
16929 RpZone *string `json:"rp_zone,omitempty"`
16930 16931 // The Time To Live (TTL) value for record. A 32-bit unsigned integer that
16932 // represents the duration, in seconds, for which the record is valid (cached).
16933 // Zero indicates that the record should not be cached.
16934 Ttl *uint32 `json:"ttl,omitempty"`
16935 16936 // Use flag for: ttl
16937 UseTtl *bool `json:"use_ttl,omitempty"`
16938 16939 // The name of the DNS View in which the record resides. Example: "external".
16940 View *string `json:"view,omitempty"`
16941 16942 // The name of the zone in which the record resides. Example: "zone.com". If a
16943 // view is not specified when searching by zone, the default view is used.
16944 Zone string `json:"zone,omitempty"`
16945 }
16946 16947 func (RecordRpzA) ObjectType() string {
16948 return "record:rpz:a"
16949 }
16950 16951 func (obj RecordRpzA) ReturnFields() []string {
16952 if obj.returnFields == nil {
16953 obj.returnFields = []string{"ipv4addr", "name", "view"}
16954 }
16955 return obj.returnFields
16956 }
16957 16958 // RecordRpzAIpaddress represents Infoblox object record:rpz:a:ipaddress.
16959 // An RPZ AIpAddress is an Substitute (IPv4 Address) Rule that maps an IP
16960 // address represented by a host name to a substitute IPv4 address. To define a
16961 // specific address-to-address mapping, add an Substitute (IPv4 Address) Rule
16962 // to a previously defined Response Policy Zone.
16963 type RecordRpzAIpaddress struct {
16964 IBBase `json:"-"`
16965 16966 Ref string `json:"_ref,omitempty"`
16967 16968 // The comment for the record; maximum 256 characters.
16969 Comment *string `json:"comment,omitempty"`
16970 16971 // Determines if the record is disabled or not. False means that the record is
16972 // enabled.
16973 Disable *bool `json:"disable,omitempty"`
16974 16975 // Extensible attributes associated with the object. For valid values for
16976 // extensible attributes, see {extattrs:values}.
16977 Ea EA `json:"extattrs"`
16978 16979 // The IPv4 Address of the substitute rule.
16980 Ipv4Addr *string `json:"ipv4addr,omitempty"`
16981 16982 // The name for a record in FQDN format. This value cannot be in unicode
16983 // format.
16984 Name *string `json:"name,omitempty"`
16985 16986 // The name of a response policy zone in which the record resides.
16987 RpZone *string `json:"rp_zone,omitempty"`
16988 16989 // The Time To Live (TTL) value for record. A 32-bit unsigned integer that
16990 // represents the duration, in seconds, for which the record is valid (cached).
16991 // Zero indicates that the record should not be cached.
16992 Ttl *uint32 `json:"ttl,omitempty"`
16993 16994 // Use flag for: ttl
16995 UseTtl *bool `json:"use_ttl,omitempty"`
16996 16997 // The name of the DNS View in which the record resides. Example: "external".
16998 View *string `json:"view,omitempty"`
16999 17000 // The name of the zone in which the record resides. Example: "zone.com". If a
17001 // view is not specified when searching by zone, the default view is used.
17002 Zone string `json:"zone,omitempty"`
17003 }
17004 17005 func (RecordRpzAIpaddress) ObjectType() string {
17006 return "record:rpz:a:ipaddress"
17007 }
17008 17009 func (obj RecordRpzAIpaddress) ReturnFields() []string {
17010 if obj.returnFields == nil {
17011 obj.returnFields = []string{"ipv4addr", "name", "view"}
17012 }
17013 return obj.returnFields
17014 }
17015 17016 // RecordRpzAaaa represents Infoblox object record:rpz:aaaa.
17017 // An RPZ Substitute (AAAA Record) Rule, maps a domain name to a substitute
17018 // IPv6 address. To define a specific name-to-address mapping, add an
17019 // Substitute (AAAA Record) Rule to a previously defined Response Policy Zone.
17020 type RecordRpzAaaa struct {
17021 IBBase `json:"-"`
17022 17023 Ref string `json:"_ref,omitempty"`
17024 17025 // The comment for the record; maximum 256 characters.
17026 Comment *string `json:"comment,omitempty"`
17027 17028 // Determines if the record is disabled or not. False means that the record is
17029 // enabled.
17030 Disable *bool `json:"disable,omitempty"`
17031 17032 // Extensible attributes associated with the object. For valid values for
17033 // extensible attributes, see {extattrs:values}.
17034 Ea EA `json:"extattrs"`
17035 17036 // The IPv6 Address of the substitute rule.
17037 Ipv6Addr *string `json:"ipv6addr,omitempty"`
17038 17039 // The name for a record in FQDN format. This value cannot be in unicode
17040 // format.
17041 Name *string `json:"name,omitempty"`
17042 17043 // The name of a response policy zone in which the record resides.
17044 RpZone *string `json:"rp_zone,omitempty"`
17045 17046 // The Time To Live (TTL) value for record. A 32-bit unsigned integer that
17047 // represents the duration, in seconds, for which the record is valid (cached).
17048 // Zero indicates that the record should not be cached.
17049 Ttl *uint32 `json:"ttl,omitempty"`
17050 17051 // Use flag for: ttl
17052 UseTtl *bool `json:"use_ttl,omitempty"`
17053 17054 // The name of the DNS View in which the record resides. Example: "external".
17055 View *string `json:"view,omitempty"`
17056 17057 // The name of the zone in which the record resides. Example: "zone.com". If a
17058 // view is not specified when searching by zone, the default view is used.
17059 Zone string `json:"zone,omitempty"`
17060 }
17061 17062 func (RecordRpzAaaa) ObjectType() string {
17063 return "record:rpz:aaaa"
17064 }
17065 17066 func (obj RecordRpzAaaa) ReturnFields() []string {
17067 if obj.returnFields == nil {
17068 obj.returnFields = []string{"ipv6addr", "name", "view"}
17069 }
17070 return obj.returnFields
17071 }
17072 17073 // RecordRpzAaaaIpaddress represents Infoblox object record:rpz:aaaa:ipaddress.
17074 // An RPZ Substitute (IPv6 Address) Rule maps an IP address represented by a
17075 // host name to a substitute IPv6 address. To define a specific
17076 // address-to-address mapping, add an RPZ Substitute (IPv6 Address) Rule to a
17077 // previously defined Response Policy Zone.
17078 type RecordRpzAaaaIpaddress struct {
17079 IBBase `json:"-"`
17080 17081 Ref string `json:"_ref,omitempty"`
17082 17083 // The comment for the record; maximum 256 characters.
17084 Comment *string `json:"comment,omitempty"`
17085 17086 // Determines if the record is disabled or not. False means that the record is
17087 // enabled.
17088 Disable *bool `json:"disable,omitempty"`
17089 17090 // Extensible attributes associated with the object. For valid values for
17091 // extensible attributes, see {extattrs:values}.
17092 Ea EA `json:"extattrs"`
17093 17094 // The IPv6 Address of the substitute rule.
17095 Ipv6Addr *string `json:"ipv6addr,omitempty"`
17096 17097 // The name for a record in FQDN format. This value cannot be in unicode
17098 // format.
17099 Name *string `json:"name,omitempty"`
17100 17101 // The name of a response policy zone in which the record resides.
17102 RpZone *string `json:"rp_zone,omitempty"`
17103 17104 // The Time To Live (TTL) value for record. A 32-bit unsigned integer that
17105 // represents the duration, in seconds, for which the record is valid (cached).
17106 // Zero indicates that the record should not be cached.
17107 Ttl *uint32 `json:"ttl,omitempty"`
17108 17109 // Use flag for: ttl
17110 UseTtl *bool `json:"use_ttl,omitempty"`
17111 17112 // The name of the DNS View in which the record resides. Example: "external".
17113 View *string `json:"view,omitempty"`
17114 17115 // The name of the zone in which the record resides. Example: "zone.com". If a
17116 // view is not specified when searching by zone, the default view is used.
17117 Zone string `json:"zone,omitempty"`
17118 }
17119 17120 func (RecordRpzAaaaIpaddress) ObjectType() string {
17121 return "record:rpz:aaaa:ipaddress"
17122 }
17123 17124 func (obj RecordRpzAaaaIpaddress) ReturnFields() []string {
17125 if obj.returnFields == nil {
17126 obj.returnFields = []string{"ipv6addr", "name", "view"}
17127 }
17128 return obj.returnFields
17129 }
17130 17131 // RecordRpzCname represents Infoblox object record:rpz:cname.
17132 // An RPZ CNAME record represents different RPZ rules, depending on the value
17133 // of the canonical name. The intention of this object is to support QNAME
17134 // Trigger policy. The QNAME policy trigger applies to requested domain names
17135 // (QNAME). This record represents Passthru Domain Name Rule, Block Domain Name
17136 // (No Such Domain) Rule, Block Domain Name (No Data) Rule and Substitute
17137 // (Domain Name) Rule.
17138 type RecordRpzCname struct {
17139 IBBase `json:"-"`
17140 17141 Ref string `json:"_ref,omitempty"`
17142 17143 // The canonical name in FQDN format. This value can be in unicode format.
17144 Canonical *string `json:"canonical,omitempty"`
17145 17146 // The comment for the record; maximum 256 characters.
17147 Comment *string `json:"comment,omitempty"`
17148 17149 // Determines if the record is disabled or not. False means that the record is
17150 // enabled.
17151 Disable *bool `json:"disable,omitempty"`
17152 17153 // Extensible attributes associated with the object. For valid values for
17154 // extensible attributes, see {extattrs:values}.
17155 Ea EA `json:"extattrs"`
17156 17157 // The name for a record in FQDN format. This value cannot be in unicode
17158 // format.
17159 Name *string `json:"name,omitempty"`
17160 17161 // The name of a response policy zone in which the record resides.
17162 RpZone *string `json:"rp_zone,omitempty"`
17163 17164 // The Time To Live (TTL) value for record. A 32-bit unsigned integer that
17165 // represents the duration, in seconds, for which the record is valid (cached).
17166 // Zero indicates that the record should not be cached.
17167 Ttl *uint32 `json:"ttl,omitempty"`
17168 17169 // Use flag for: ttl
17170 UseTtl *bool `json:"use_ttl,omitempty"`
17171 17172 // The name of the DNS View in which the record resides. Example: "external".
17173 View *string `json:"view,omitempty"`
17174 17175 // The name of the zone in which the record resides. Example: "zone.com". If a
17176 // view is not specified when searching by zone, the default view is used.
17177 Zone string `json:"zone,omitempty"`
17178 }
17179 17180 func (RecordRpzCname) ObjectType() string {
17181 return "record:rpz:cname"
17182 }
17183 17184 func (obj RecordRpzCname) ReturnFields() []string {
17185 if obj.returnFields == nil {
17186 obj.returnFields = []string{"canonical", "name", "view"}
17187 }
17188 return obj.returnFields
17189 }
17190 17191 // RecordRpzCnameClientipaddress represents Infoblox object record:rpz:cname:clientipaddress.
17192 // A DNS RPZ CNAMEClientIpAddress record represents different RPZ rules,
17193 // depending on the value of the canonical name. This record represents
17194 // Passthru IP Address Rule, Block IP Address (No Such Domain) Rule, Block IP
17195 // Address (No Data) Rule.
17196 type RecordRpzCnameClientipaddress struct {
17197 IBBase `json:"-"`
17198 17199 Ref string `json:"_ref,omitempty"`
17200 17201 // The canonical name in FQDN format. This value can be in unicode format.
17202 Canonical *string `json:"canonical,omitempty"`
17203 17204 // The comment for the record; maximum 256 characters.
17205 Comment *string `json:"comment,omitempty"`
17206 17207 // Determines if the record is disabled or not. False means that the record is
17208 // enabled.
17209 Disable *bool `json:"disable,omitempty"`
17210 17211 // Extensible attributes associated with the object. For valid values for
17212 // extensible attributes, see {extattrs:values}.
17213 Ea EA `json:"extattrs"`
17214 17215 // Indicates whether the record is an IPv4 record. If the return value is
17216 // "true", it is an IPv4 record. Ohterwise, it is an IPv6 record.
17217 IsIpv4 bool `json:"is_ipv4,omitempty"`
17218 17219 // The name for a record in FQDN format. This value cannot be in unicode
17220 // format.
17221 Name *string `json:"name,omitempty"`
17222 17223 // The name of a response policy zone in which the record resides.
17224 RpZone *string `json:"rp_zone,omitempty"`
17225 17226 // The Time To Live (TTL) value for record. A 32-bit unsigned integer that
17227 // represents the duration, in seconds, for which the record is valid (cached).
17228 // Zero indicates that the record should not be cached.
17229 Ttl *uint32 `json:"ttl,omitempty"`
17230 17231 // Use flag for: ttl
17232 UseTtl *bool `json:"use_ttl,omitempty"`
17233 17234 // The name of the DNS View in which the record resides. Example: "external".
17235 View *string `json:"view,omitempty"`
17236 17237 // The name of the zone in which the record resides. Example: "zone.com". If a
17238 // view is not specified when searching by zone, the default view is used.
17239 Zone string `json:"zone,omitempty"`
17240 }
17241 17242 func (RecordRpzCnameClientipaddress) ObjectType() string {
17243 return "record:rpz:cname:clientipaddress"
17244 }
17245 17246 func (obj RecordRpzCnameClientipaddress) ReturnFields() []string {
17247 if obj.returnFields == nil {
17248 obj.returnFields = []string{"canonical", "name", "view"}
17249 }
17250 return obj.returnFields
17251 }
17252 17253 // RecordRpzCnameClientipaddressdn represents Infoblox object record:rpz:cname:clientipaddressdn.
17254 // A DNS Substitute Domain Name (Based on Client IP Address) rule represents
17255 // different Response Policy Zone (RPZ) rules, depending on the value of the
17256 // canonical name.
17257 type RecordRpzCnameClientipaddressdn struct {
17258 IBBase `json:"-"`
17259 17260 Ref string `json:"_ref,omitempty"`
17261 17262 // The canonical name in FQDN format. This value can be in unicode format.
17263 Canonical *string `json:"canonical,omitempty"`
17264 17265 // The comment for the record; maximum 256 characters.
17266 Comment *string `json:"comment,omitempty"`
17267 17268 // Determines if the record is disabled or not. False means that the record is
17269 // enabled.
17270 Disable *bool `json:"disable,omitempty"`
17271 17272 // Extensible attributes associated with the object. For valid values for
17273 // extensible attributes, see {extattrs:values}.
17274 Ea EA `json:"extattrs"`
17275 17276 // Indicates whether the record is an IPv4 record. If the return value is
17277 // "true", it is an IPv4 record. Ohterwise, it is an IPv6 record.
17278 IsIpv4 bool `json:"is_ipv4,omitempty"`
17279 17280 // The name for a record in FQDN format. This value cannot be in unicode
17281 // format.
17282 Name *string `json:"name,omitempty"`
17283 17284 // The name of a response policy zone in which the record resides.
17285 RpZone *string `json:"rp_zone,omitempty"`
17286 17287 // The Time To Live (TTL) value for record. A 32-bit unsigned integer that
17288 // represents the duration, in seconds, for which the record is valid (cached).
17289 // Zero indicates that the record should not be cached.
17290 Ttl *uint32 `json:"ttl,omitempty"`
17291 17292 // Use flag for: ttl
17293 UseTtl *bool `json:"use_ttl,omitempty"`
17294 17295 // The name of the DNS View in which the record resides. Example: "external".
17296 View *string `json:"view,omitempty"`
17297 17298 // The name of the zone in which the record resides. Example: "zone.com". If a
17299 // view is not specified when searching by zone, the default view is used.
17300 Zone string `json:"zone,omitempty"`
17301 }
17302 17303 func (RecordRpzCnameClientipaddressdn) ObjectType() string {
17304 return "record:rpz:cname:clientipaddressdn"
17305 }
17306 17307 func (obj RecordRpzCnameClientipaddressdn) ReturnFields() []string {
17308 if obj.returnFields == nil {
17309 obj.returnFields = []string{"canonical", "name", "view"}
17310 }
17311 return obj.returnFields
17312 }
17313 17314 // RecordRpzCnameIpaddress represents Infoblox object record:rpz:cname:ipaddress.
17315 // A DNS RPZ CNAMEIpAddress record represents different RPZ rules, depending on
17316 // the value of the canonical name. This record represents Passthru IP Address
17317 // Rule, Block IP Address (No Such Domain) Rule, Block IP Address (No Data)
17318 // Rule.
17319 type RecordRpzCnameIpaddress struct {
17320 IBBase `json:"-"`
17321 17322 Ref string `json:"_ref,omitempty"`
17323 17324 // The canonical name in FQDN format. This value can be in unicode format.
17325 Canonical *string `json:"canonical,omitempty"`
17326 17327 // The comment for the record; maximum 256 characters.
17328 Comment *string `json:"comment,omitempty"`
17329 17330 // Determines if the record is disabled or not. False means that the record is
17331 // enabled.
17332 Disable *bool `json:"disable,omitempty"`
17333 17334 // Extensible attributes associated with the object. For valid values for
17335 // extensible attributes, see {extattrs:values}.
17336 Ea EA `json:"extattrs"`
17337 17338 // Indicates whether the record is an IPv4 record. If the return value is
17339 // "true", it is an IPv4 record. Ohterwise, it is an IPv6 record.
17340 IsIpv4 bool `json:"is_ipv4,omitempty"`
17341 17342 // The name for a record in FQDN format. This value cannot be in unicode
17343 // format.
17344 Name *string `json:"name,omitempty"`
17345 17346 // The name of a response policy zone in which the record resides.
17347 RpZone *string `json:"rp_zone,omitempty"`
17348 17349 // The Time To Live (TTL) value for record. A 32-bit unsigned integer that
17350 // represents the duration, in seconds, for which the record is valid (cached).
17351 // Zero indicates that the record should not be cached.
17352 Ttl *uint32 `json:"ttl,omitempty"`
17353 17354 // Use flag for: ttl
17355 UseTtl *bool `json:"use_ttl,omitempty"`
17356 17357 // The name of the DNS View in which the record resides. Example: "external".
17358 View *string `json:"view,omitempty"`
17359 17360 // The name of the zone in which the record resides. Example: "zone.com". If a
17361 // view is not specified when searching by zone, the default view is used.
17362 Zone string `json:"zone,omitempty"`
17363 }
17364 17365 func (RecordRpzCnameIpaddress) ObjectType() string {
17366 return "record:rpz:cname:ipaddress"
17367 }
17368 17369 func (obj RecordRpzCnameIpaddress) ReturnFields() []string {
17370 if obj.returnFields == nil {
17371 obj.returnFields = []string{"canonical", "name", "view"}
17372 }
17373 return obj.returnFields
17374 }
17375 17376 // RecordRpzCnameIpaddressdn represents Infoblox object record:rpz:cname:ipaddressdn.
17377 // A DNS Substitute Domain Name (Based on IP Address) rule represents different
17378 // Response Policy Zone (RPZ) rules, depending on the value of the canonical
17379 // name.
17380 type RecordRpzCnameIpaddressdn struct {
17381 IBBase `json:"-"`
17382 17383 Ref string `json:"_ref,omitempty"`
17384 17385 // The canonical name in FQDN format. This value can be in unicode format.
17386 Canonical *string `json:"canonical,omitempty"`
17387 17388 // The comment for the record; maximum 256 characters.
17389 Comment *string `json:"comment,omitempty"`
17390 17391 // Determines if the record is disabled or not. False means that the record is
17392 // enabled.
17393 Disable *bool `json:"disable,omitempty"`
17394 17395 // Extensible attributes associated with the object. For valid values for
17396 // extensible attributes, see {extattrs:values}.
17397 Ea EA `json:"extattrs"`
17398 17399 // Indicates whether the record is an IPv4 record. If the return value is
17400 // "true", it is an IPv4 record. Ohterwise, it is an IPv6 record.
17401 IsIpv4 bool `json:"is_ipv4,omitempty"`
17402 17403 // The name for a record in FQDN format. This value cannot be in unicode
17404 // format.
17405 Name *string `json:"name,omitempty"`
17406 17407 // The name of a response policy zone in which the record resides.
17408 RpZone *string `json:"rp_zone,omitempty"`
17409 17410 // The Time To Live (TTL) value for record. A 32-bit unsigned integer that
17411 // represents the duration, in seconds, for which the record is valid (cached).
17412 // Zero indicates that the record should not be cached.
17413 Ttl *uint32 `json:"ttl,omitempty"`
17414 17415 // Use flag for: ttl
17416 UseTtl *bool `json:"use_ttl,omitempty"`
17417 17418 // The name of the DNS View in which the record resides. Example: "external".
17419 View *string `json:"view,omitempty"`
17420 17421 // The name of the zone in which the record resides. Example: "zone.com". If a
17422 // view is not specified when searching by zone, the default view is used.
17423 Zone string `json:"zone,omitempty"`
17424 }
17425 17426 func (RecordRpzCnameIpaddressdn) ObjectType() string {
17427 return "record:rpz:cname:ipaddressdn"
17428 }
17429 17430 func (obj RecordRpzCnameIpaddressdn) ReturnFields() []string {
17431 if obj.returnFields == nil {
17432 obj.returnFields = []string{"canonical", "name", "view"}
17433 }
17434 return obj.returnFields
17435 }
17436 17437 // RecordRpzMx represents Infoblox object record:rpz:mx.
17438 // An RPZ Substitute (MX Record) Rule maps a domain name to a mail exchanger. A
17439 // mail exchanger is a server that either delivers or forwards mail.
17440 type RecordRpzMx struct {
17441 IBBase `json:"-"`
17442 17443 Ref string `json:"_ref,omitempty"`
17444 17445 // The comment for the record; maximum 256 characters.
17446 Comment *string `json:"comment,omitempty"`
17447 17448 // Determines if the record is disabled or not. False means that the record is
17449 // enabled.
17450 Disable *bool `json:"disable,omitempty"`
17451 17452 // Extensible attributes associated with the object. For valid values for
17453 // extensible attributes, see {extattrs:values}.
17454 Ea EA `json:"extattrs"`
17455 17456 // Mail exchanger name in FQDN format. This value can be in unicode format.
17457 MailExchanger *string `json:"mail_exchanger,omitempty"`
17458 17459 // The name for a record in FQDN format. This value cannot be in unicode
17460 // format.
17461 Name *string `json:"name,omitempty"`
17462 17463 // Preference value, 0 to 65535 (inclusive) in 32-bit unsigned integer format.
17464 Preference *uint32 `json:"preference,omitempty"`
17465 17466 // The name of a response policy zone in which the record resides.
17467 RpZone *string `json:"rp_zone,omitempty"`
17468 17469 // The Time To Live (TTL) value for record. A 32-bit unsigned integer that
17470 // represents the duration, in seconds, for which the record is valid (cached).
17471 // Zero indicates that the record should not be cached.
17472 Ttl *uint32 `json:"ttl,omitempty"`
17473 17474 // Use flag for: ttl
17475 UseTtl *bool `json:"use_ttl,omitempty"`
17476 17477 // The name of the DNS View in which the record resides. Example: "external".
17478 View *string `json:"view,omitempty"`
17479 17480 // The name of the zone in which the record resides. Example: "zone.com". If a
17481 // view is not specified when searching by zone, the default view is used.
17482 Zone string `json:"zone,omitempty"`
17483 }
17484 17485 func (RecordRpzMx) ObjectType() string {
17486 return "record:rpz:mx"
17487 }
17488 17489 func (obj RecordRpzMx) ReturnFields() []string {
17490 if obj.returnFields == nil {
17491 obj.returnFields = []string{"mail_exchanger", "name", "preference", "view"}
17492 }
17493 return obj.returnFields
17494 }
17495 17496 // RecordRpzNaptr represents Infoblox object record:rpz:naptr.
17497 // An RPZ Substitute (NAPTR Record) Rule object represents the substitution
17498 // rule for DNS Naming Authority Pointer (NAPTR) records. This rule specifies a
17499 // regular expression-based rewrite rule that, when applied to an existing
17500 // string, produces a new domain name or URI.
17501 type RecordRpzNaptr struct {
17502 IBBase `json:"-"`
17503 17504 Ref string `json:"_ref,omitempty"`
17505 17506 // The comment for the record; maximum 256 characters.
17507 Comment *string `json:"comment,omitempty"`
17508 17509 // Determines if the record is disabled or not. False means that the record is
17510 // enabled.
17511 Disable *bool `json:"disable,omitempty"`
17512 17513 // Extensible attributes associated with the object. For valid values for
17514 // extensible attributes, see {extattrs:values}.
17515 Ea EA `json:"extattrs"`
17516 17517 // The flags used to control the interpretation of the fields for a Substitute
17518 // (NAPTR Record) Rule object. Supported values for the flags field are "U",
17519 // "S", "P" and "A".
17520 Flags *string `json:"flags,omitempty"`
17521 17522 // The time of the last DNS query in Epoch seconds format.
17523 LastQueried *UnixTime `json:"last_queried,omitempty"`
17524 17525 // The name for a record in FQDN format. This value cannot be in unicode
17526 // format.
17527 Name *string `json:"name,omitempty"`
17528 17529 // The order parameter of the Substitute (NAPTR Record) Rule records. This
17530 // parameter specifies the order in which the NAPTR rules are applied when
17531 // multiple rules are present. Valid values are from 0 to 65535 (inclusive), in
17532 // 32-bit unsigned integer format.
17533 Order *uint32 `json:"order,omitempty"`
17534 17535 // The preference of the Substitute (NAPTR Record) Rule record. The preference
17536 // field determines the order NAPTR records are processed when multiple records
17537 // with the same order parameter are present. Valid values are from 0 to 65535
17538 // (inclusive), in 32-bit unsigned integer format.
17539 Preference *uint32 `json:"preference,omitempty"`
17540 17541 // The regular expression-based rewriting rule of the Substitute (NAPTR Record)
17542 // Rule record. This should be a POSIX compliant regular expression, including
17543 // the substitution rule and flags. Refer to RFC 2915 for the field syntax
17544 // details.
17545 Regexp *string `json:"regexp,omitempty"`
17546 17547 // The replacement field of the Substitute (NAPTR Record) Rule object. For
17548 // nonterminal NAPTR records, this field specifies the next domain name to look
17549 // up. This value can be in unicode format.
17550 Replacement *string `json:"replacement,omitempty"`
17551 17552 // The name of a response policy zone in which the record resides.
17553 RpZone *string `json:"rp_zone,omitempty"`
17554 17555 // The services field of the Substitute (NAPTR Record) Rule object; maximum 128
17556 // characters. The services field contains protocol and service identifiers,
17557 // such as "http+E2U" or "SIPS+D2T".
17558 Services *string `json:"services,omitempty"`
17559 17560 // The Time To Live (TTL) value for record. A 32-bit unsigned integer that
17561 // represents the duration, in seconds, for which the record is valid (cached).
17562 // Zero indicates that the record should not be cached.
17563 Ttl *uint32 `json:"ttl,omitempty"`
17564 17565 // Use flag for: ttl
17566 UseTtl *bool `json:"use_ttl,omitempty"`
17567 17568 // The name of the DNS View in which the record resides. Example: "external".
17569 View *string `json:"view,omitempty"`
17570 17571 // The name of the zone in which the record resides. Example: "zone.com". If a
17572 // view is not specified when searching by zone, the default view is used.
17573 Zone string `json:"zone,omitempty"`
17574 }
17575 17576 func (RecordRpzNaptr) ObjectType() string {
17577 return "record:rpz:naptr"
17578 }
17579 17580 func (obj RecordRpzNaptr) ReturnFields() []string {
17581 if obj.returnFields == nil {
17582 obj.returnFields = []string{"name", "order", "preference", "regexp", "replacement", "services", "view"}
17583 }
17584 return obj.returnFields
17585 }
17586 17587 // RecordRpzPtr represents Infoblox object record:rpz:ptr.
17588 // An RPZ Substitute (PTR Record) Rule object represents a Pointer (PTR)
17589 // resource record. To define a specific address-to-name mapping, add an RPZ
17590 // Substitute (PTR Record) Rule to a previously defined Response Policy Zone.
17591 type RecordRpzPtr struct {
17592 IBBase `json:"-"`
17593 17594 Ref string `json:"_ref,omitempty"`
17595 17596 // The comment for the record; maximum 256 characters.
17597 Comment *string `json:"comment,omitempty"`
17598 17599 // Determines if the record is disabled or not. False means that the record is
17600 // enabled.
17601 Disable *bool `json:"disable,omitempty"`
17602 17603 // Extensible attributes associated with the object. For valid values for
17604 // extensible attributes, see {extattrs:values}.
17605 Ea EA `json:"extattrs"`
17606 17607 // The IPv4 Address of the substitute rule.
17608 Ipv4Addr *string `json:"ipv4addr,omitempty"`
17609 17610 // The IPv6 Address of the substitute rule.
17611 Ipv6Addr *string `json:"ipv6addr,omitempty"`
17612 17613 // The name of the RPZ Substitute (PTR Record) Rule object in FQDN format.
17614 Name *string `json:"name,omitempty"`
17615 17616 // The domain name of the RPZ Substitute (PTR Record) Rule object in FQDN
17617 // format.
17618 PtrdName *string `json:"ptrdname,omitempty"`
17619 17620 // The name of a response policy zone in which the record resides.
17621 RpZone *string `json:"rp_zone,omitempty"`
17622 17623 // The Time To Live (TTL) value for record. A 32-bit unsigned integer that
17624 // represents the duration, in seconds, for which the record is valid (cached).
17625 // Zero indicates that the record should not be cached.
17626 Ttl *uint32 `json:"ttl,omitempty"`
17627 17628 // Use flag for: ttl
17629 UseTtl *bool `json:"use_ttl,omitempty"`
17630 17631 // The name of the DNS View in which the record resides. Example: "external".
17632 View *string `json:"view,omitempty"`
17633 17634 // The name of the zone in which the record resides. Example: "zone.com". If a
17635 // view is not specified when searching by zone, the default view is used.
17636 Zone string `json:"zone,omitempty"`
17637 }
17638 17639 func (RecordRpzPtr) ObjectType() string {
17640 return "record:rpz:ptr"
17641 }
17642 17643 func (obj RecordRpzPtr) ReturnFields() []string {
17644 if obj.returnFields == nil {
17645 obj.returnFields = []string{"ptrdname", "view"}
17646 }
17647 return obj.returnFields
17648 }
17649 17650 // RecordRpzSrv represents Infoblox object record:rpz:srv.
17651 // An RPZ Substitute (SRV Record) Rule object represents the substitution rule
17652 // for DNS SRV records.
17653 type RecordRpzSrv struct {
17654 IBBase `json:"-"`
17655 17656 Ref string `json:"_ref,omitempty"`
17657 17658 // The comment for the record; maximum 256 characters.
17659 Comment *string `json:"comment,omitempty"`
17660 17661 // Determines if the record is disabled or not. False means that the record is
17662 // enabled.
17663 Disable *bool `json:"disable,omitempty"`
17664 17665 // Extensible attributes associated with the object. For valid values for
17666 // extensible attributes, see {extattrs:values}.
17667 Ea EA `json:"extattrs"`
17668 17669 // The name for a record in FQDN format. This value cannot be in unicode
17670 // format.
17671 Name *string `json:"name,omitempty"`
17672 17673 // The port of the Substitute (SRV Record) Rule. Valid values are from 0 to
17674 // 65535 (inclusive), in 32-bit unsigned integer format.
17675 Port *uint32 `json:"port,omitempty"`
17676 17677 // The priority of the Substitute (SRV Record) Rule. Valid values are from 0 to
17678 // 65535 (inclusive), in 32-bit unsigned integer format.
17679 Priority *uint32 `json:"priority,omitempty"`
17680 17681 // The name of a response policy zone in which the record resides.
17682 RpZone *string `json:"rp_zone,omitempty"`
17683 17684 // The target of the Substitute (SRV Record) Rule in FQDN format. This value
17685 // can be in unicode format.
17686 Target *string `json:"target,omitempty"`
17687 17688 // The Time To Live (TTL) value for record. A 32-bit unsigned integer that
17689 // represents the duration, in seconds, for which the record is valid (cached).
17690 // Zero indicates that the record should not be cached.
17691 Ttl *uint32 `json:"ttl,omitempty"`
17692 17693 // Use flag for: ttl
17694 UseTtl *bool `json:"use_ttl,omitempty"`
17695 17696 // The name of the DNS View in which the record resides. Example: "external".
17697 View *string `json:"view,omitempty"`
17698 17699 // The weight of the Substitute (SRV Record) Rule. Valid values are from 0 to
17700 // 65535 (inclusive), in 32-bit unsigned integer format.
17701 Weight *uint32 `json:"weight,omitempty"`
17702 17703 // The name of the zone in which the record resides. Example: "zone.com". If a
17704 // view is not specified when searching by zone, the default view is used.
17705 Zone string `json:"zone,omitempty"`
17706 }
17707 17708 func (RecordRpzSrv) ObjectType() string {
17709 return "record:rpz:srv"
17710 }
17711 17712 func (obj RecordRpzSrv) ReturnFields() []string {
17713 if obj.returnFields == nil {
17714 obj.returnFields = []string{"name", "port", "priority", "target", "view", "weight"}
17715 }
17716 return obj.returnFields
17717 }
17718 17719 // RecordRpzTxt represents Infoblox object record:rpz:txt.
17720 // An RPZ Substitute (TXT Record) Rule object represents the substitution rule
17721 // for DNS TXT records.
17722 type RecordRpzTxt struct {
17723 IBBase `json:"-"`
17724 17725 Ref string `json:"_ref,omitempty"`
17726 17727 // The comment for the record; maximum 256 characters.
17728 Comment *string `json:"comment,omitempty"`
17729 17730 // Determines if the record is disabled or not. False means that the record is
17731 // enabled.
17732 Disable *bool `json:"disable,omitempty"`
17733 17734 // Extensible attributes associated with the object. For valid values for
17735 // extensible attributes, see {extattrs:values}.
17736 Ea EA `json:"extattrs"`
17737 17738 // The name for a record in FQDN format. This value cannot be in unicode
17739 // format.
17740 Name *string `json:"name,omitempty"`
17741 17742 // The name of a response policy zone in which the record resides.
17743 RpZone *string `json:"rp_zone,omitempty"`
17744 17745 // Text associated with the record. It can contain up to 255 bytes per
17746 // substring, up to a total of 512 bytes. To enter leading, trailing, or
17747 // embedded spaces in the text, add quotes around the text to preserve the
17748 // spaces.
17749 Text *string `json:"text,omitempty"`
17750 17751 // The Time To Live (TTL) value for record. A 32-bit unsigned integer that
17752 // represents the duration, in seconds, for which the record is valid (cached).
17753 // Zero indicates that the record should not be cached.
17754 Ttl *uint32 `json:"ttl,omitempty"`
17755 17756 // Use flag for: ttl
17757 UseTtl *bool `json:"use_ttl,omitempty"`
17758 17759 // The name of the DNS View in which the record resides. Example: "external".
17760 View *string `json:"view,omitempty"`
17761 17762 // The name of the zone in which the record resides. Example: "zone.com". If a
17763 // view is not specified when searching by zone, the default view is used.
17764 Zone string `json:"zone,omitempty"`
17765 }
17766 17767 func (RecordRpzTxt) ObjectType() string {
17768 return "record:rpz:txt"
17769 }
17770 17771 func (obj RecordRpzTxt) ReturnFields() []string {
17772 if obj.returnFields == nil {
17773 obj.returnFields = []string{"name", "text", "view"}
17774 }
17775 return obj.returnFields
17776 }
17777 17778 // RecordRrsig represents Infoblox object record:rrsig.
17779 // RRSIG records are one of the resource records in DNSSEC. These records store
17780 // digital signatures of resource record sets (RRsets). Digital signatures are
17781 // used to authenticate data that is in the signed RRsets.
17782 type RecordRrsig struct {
17783 IBBase `json:"-"`
17784 17785 Ref string `json:"_ref,omitempty"`
17786 17787 // The cryptographic algorithm that was used to create the signature. It uses
17788 // the same algorithm types as the DNSKEY record indicated in the key tag
17789 // field.
17790 Algorithm string `json:"algorithm,omitempty"`
17791 17792 // Structure containing all cloud API related information for this object.
17793 CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`
17794 17795 // The creation time of the record.
17796 CreationTime *UnixTime `json:"creation_time,omitempty"`
17797 17798 // The record creator.
17799 Creator string `json:"creator,omitempty"`
17800 17801 // Name for an RRSIG record in punycode format.
17802 DnsName string `json:"dns_name,omitempty"`
17803 17804 // The domain name, in punycode format, of the zone that contains the signed
17805 // RRset.
17806 DnsSignerName string `json:"dns_signer_name,omitempty"`
17807 17808 // The expiry time of an RRSIG record in Epoch seconds format.
17809 ExpirationTime *UnixTime `json:"expiration_time,omitempty"`
17810 17811 // The inception time of an RRSIG record in Epoch seconds format.
17812 InceptionTime *UnixTime `json:"inception_time,omitempty"`
17813 17814 // The key tag value of the DNSKEY RR that validates the signature.
17815 KeyTag uint32 `json:"key_tag,omitempty"`
17816 17817 // The number of labels in the name of the RRset signed with the RRSIG object.
17818 Labels uint32 `json:"labels,omitempty"`
17819 17820 // The time of the last DNS query in Epoch seconds format.
17821 LastQueried *UnixTime `json:"last_queried,omitempty"`
17822 17823 // The name of the RRSIG record in FQDN format.
17824 Name string `json:"name,omitempty"`
17825 17826 // The TTL value of the RRset covered by the RRSIG record.
17827 OriginalTtl uint32 `json:"original_ttl,omitempty"`
17828 17829 // The Base64 encoded cryptographic signature that covers the RRSIG RDATA of
17830 // the RRSIG Record object.
17831 Signature string `json:"signature,omitempty"`
17832 17833 // The domain name of the zone in FQDN format that contains the signed RRset.
17834 SignerName string `json:"signer_name,omitempty"`
17835 17836 // The Time To Live (TTL) value for the record. A 32-bit unsigned integer that
17837 // represents the duration, in seconds, for which the record is valid (cached).
17838 // Zero indicates that the record should not be cached.
17839 Ttl uint32 `json:"ttl,omitempty"`
17840 17841 // The RR type covered by the RRSIG record.
17842 TypeCovered string `json:"type_covered,omitempty"`
17843 17844 // Use flag for: ttl
17845 UseTtl bool `json:"use_ttl,omitempty"`
17846 17847 // The name of the DNS View in which the record resides. Example: "external".
17848 View string `json:"view,omitempty"`
17849 17850 // The name of the zone in which the record resides. Example: "zone.com". If a
17851 // view is not specified when searching by zone, the default view is used.
17852 Zone string `json:"zone,omitempty"`
17853 }
17854 17855 func (RecordRrsig) ObjectType() string {
17856 return "record:rrsig"
17857 }
17858 17859 func (obj RecordRrsig) ReturnFields() []string {
17860 if obj.returnFields == nil {
17861 obj.returnFields = []string{"name", "view"}
17862 }
17863 return obj.returnFields
17864 }
17865 17866 // RecordSRV represents Infoblox object record:srv.
17867 // A DNS SRV object represents an SRV resource record, which is also known as a
17868 // service record. An SRV record provides information on available services.
17869 type RecordSRV struct {
17870 IBBase `json:"-"`
17871 17872 Ref string `json:"_ref,omitempty"`
17873 17874 // Aws Route 53 record information.
17875 AwsRte53RecordInfo *Awsrte53recordinfo `json:"aws_rte53_record_info,omitempty"`
17876 17877 // Structure containing all cloud API related information for this object.
17878 CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`
17879 17880 // Comment for the record; maximum 256 characters.
17881 Comment *string `json:"comment,omitempty"`
17882 17883 // The time of the record creation in Epoch seconds format.
17884 CreationTime *UnixTime `json:"creation_time,omitempty"`
17885 17886 // The record creator. Note that changing creator from or to 'SYSTEM' value is
17887 // not allowed.
17888 Creator string `json:"creator,omitempty"`
17889 17890 // The GSS-TSIG principal that owns this record.
17891 DdnsPrincipal *string `json:"ddns_principal,omitempty"`
17892 17893 // Determines if the DDNS updates for this record are allowed or not.
17894 DdnsProtected *bool `json:"ddns_protected,omitempty"`
17895 17896 // Determines if the record is disabled or not. False means that the record is
17897 // enabled.
17898 Disable *bool `json:"disable,omitempty"`
17899 17900 // The name for an SRV record in punycode format.
17901 DnsName string `json:"dns_name,omitempty"`
17902 17903 // The name for a SRV record in punycode format.
17904 DnsTarget string `json:"dns_target,omitempty"`
17905 17906 // Extensible attributes associated with the object. For valid values for
17907 // extensible attributes, see {extattrs:values}.
17908 Ea EA `json:"extattrs"`
17909 17910 // Determines if the reclamation is allowed for the record or not.
17911 ForbidReclamation *bool `json:"forbid_reclamation,omitempty"`
17912 17913 // The time of the last DNS query in Epoch seconds format.
17914 LastQueried *UnixTime `json:"last_queried,omitempty"`
17915 17916 // A name in FQDN format. This value can be in unicode format.
17917 Name *string `json:"name,omitempty"`
17918 17919 // The port of the SRV record. Valid values are from 0 to 65535 (inclusive), in
17920 // 32-bit unsigned integer format.
17921 Port *uint32 `json:"port,omitempty"`
17922 17923 // The priority of the SRV record. Valid values are from 0 to 65535
17924 // (inclusive), in 32-bit unsigned integer format.
17925 Priority *uint32 `json:"priority,omitempty"`
17926 17927 // Determines if the record is reclaimable or not.
17928 Reclaimable bool `json:"reclaimable,omitempty"`
17929 17930 // The name of the shared record group in which the record resides. This field
17931 // exists only on db_objects if this record is a shared record.
17932 SharedRecordGroup string `json:"shared_record_group,omitempty"`
17933 17934 // The target of the SRV record in FQDN format. This value can be in unicode
17935 // format.
17936 Target *string `json:"target,omitempty"`
17937 17938 // The Time to Live (TTL) value for the record. A 32-bit unsigned integer that
17939 // represents the duration, in seconds, for which the record is valid (cached).
17940 // Zero indicates that the record should not be cached.
17941 Ttl *uint32 `json:"ttl,omitempty"`
17942 17943 // Use flag for: ttl
17944 UseTtl *bool `json:"use_ttl,omitempty"`
17945 17946 // The name of the DNS view in which the record resides. Example: "external".
17947 View string `json:"view,omitempty"`
17948 17949 // The weight of the SRV record. Valid values are from 0 to 65535 (inclusive),
17950 // in 32-bit unsigned integer format.
17951 Weight *uint32 `json:"weight,omitempty"`
17952 17953 // The name of the zone in which the record resides. Example: "zone.com". If a
17954 // view is not specified when searching by zone, the default view is used.
17955 Zone string `json:"zone,omitempty"`
17956 }
17957 17958 func (RecordSRV) ObjectType() string {
17959 return "record:srv"
17960 }
17961 17962 func (obj RecordSRV) ReturnFields() []string {
17963 if obj.returnFields == nil {
17964 obj.returnFields = []string{"name", "port", "priority", "target", "view", "weight"}
17965 }
17966 return obj.returnFields
17967 }
17968 17969 // RecordTlsa represents Infoblox object record:tlsa.
17970 // The TLSA DNS resource record (RR) is used to associate a TLS server
17971 // certificate or public key with the domain name where the record is found,
17972 // thus forming a ‘TLSA certificate association’. For further details see
17973 // RFC-6698. Note that you must specify only one view for the attribute
17974 // ‘views’.
17975 type RecordTlsa struct {
17976 IBBase `json:"-"`
17977 17978 Ref string `json:"_ref,omitempty"`
17979 17980 // Hex dump of either raw data for matching type 0, or the hash of the raw data
17981 // for matching types 1 and 2.
17982 CertificateData *string `json:"certificate_data,omitempty"`
17983 17984 // Specifies the provided association that will be used to match the
17985 // certificate presented in the TLS handshake. Based on RFC-6698.
17986 CertificateUsage *uint32 `json:"certificate_usage,omitempty"`
17987 17988 // Structure containing all cloud API related information for this object.
17989 CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`
17990 17991 // Comment for the record; maximum 256 characters.
17992 Comment *string `json:"comment,omitempty"`
17993 17994 // The record creator. Note that changing creator from or to 'SYSTEM' value is
17995 // not allowed.
17996 Creator string `json:"creator,omitempty"`
17997 17998 // Determines if the record is disabled or not. False means that the record is
17999 // enabled.
18000 Disable *bool `json:"disable,omitempty"`
18001 18002 // The name of the TLSA record in punycode format.
18003 DnsName string `json:"dns_name,omitempty"`
18004 18005 // Extensible attributes associated with the object. For valid values for
18006 // extensible attributes, see {extattrs:values}.
18007 Ea EA `json:"extattrs"`
18008 18009 // The time of the last DNS query in Epoch seconds format.
18010 LastQueried *UnixTime `json:"last_queried,omitempty"`
18011 18012 // Specifies how the certificate association is presented. Based on RFC-6698.
18013 MatchedType *uint32 `json:"matched_type,omitempty"`
18014 18015 // The TLSA record name in FQDN format. This value can be in unicode format.
18016 Name *string `json:"name,omitempty"`
18017 18018 // Specifies which part of the TLS certificate presented by the server will be
18019 // matched against the association data. Based on RFC-6698.
18020 Selector *uint32 `json:"selector,omitempty"`
18021 18022 // The Time to Live (TTL) value for the record. A 32-bit unsigned integer that
18023 // represents the duration, in seconds, for which the record is valid (cached).
18024 // Zero indicates that the record should not be cached.
18025 Ttl *uint32 `json:"ttl,omitempty"`
18026 18027 // Use flag for: ttl
18028 UseTtl *bool `json:"use_ttl,omitempty"`
18029 18030 // The name of the DNS view in which the record resides. Example: "external".
18031 View *string `json:"view,omitempty"`
18032 18033 // The name of the zone in which the record resides. Example: "zone.com". If a
18034 // view is not specified when searching by zone, the default view is used.
18035 Zone string `json:"zone,omitempty"`
18036 }
18037 18038 func (RecordTlsa) ObjectType() string {
18039 return "record:tlsa"
18040 }
18041 18042 func (obj RecordTlsa) ReturnFields() []string {
18043 if obj.returnFields == nil {
18044 obj.returnFields = []string{"name", "view"}
18045 }
18046 return obj.returnFields
18047 }
18048 18049 // RecordTXT represents Infoblox object record:txt.
18050 // A TXT (text record) record contains supplemental information for a host. For
18051 // example, if you have a sales server that serves only North America, you can
18052 // create a text record stating this fact. You can create more than one text
18053 // record for a domain name.
18054 type RecordTXT struct {
18055 IBBase `json:"-"`
18056 18057 Ref string `json:"_ref,omitempty"`
18058 18059 // Aws Route 53 record information.
18060 AwsRte53RecordInfo *Awsrte53recordinfo `json:"aws_rte53_record_info,omitempty"`
18061 18062 // Structure containing all cloud API related information for this object.
18063 CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`
18064 18065 // Comment for the record; maximum 256 characters.
18066 Comment *string `json:"comment,omitempty"`
18067 18068 // The time of the record creation in Epoch seconds format.
18069 CreationTime *UnixTime `json:"creation_time,omitempty"`
18070 18071 // The record creator. Note that changing creator from or to 'SYSTEM' value is
18072 // not allowed.
18073 Creator string `json:"creator,omitempty"`
18074 18075 // The GSS-TSIG principal that owns this record.
18076 DdnsPrincipal *string `json:"ddns_principal,omitempty"`
18077 18078 // Determines if the DDNS updates for this record are allowed or not.
18079 DdnsProtected *bool `json:"ddns_protected,omitempty"`
18080 18081 // Determines if the record is disabled or not. False means that the record is
18082 // enabled.
18083 Disable *bool `json:"disable,omitempty"`
18084 18085 // The name for a TXT record in punycode format.
18086 DnsName string `json:"dns_name,omitempty"`
18087 18088 // Extensible attributes associated with the object. For valid values for
18089 // extensible attributes, see {extattrs:values}.
18090 Ea EA `json:"extattrs"`
18091 18092 // Determines if the reclamation is allowed for the record or not.
18093 ForbidReclamation *bool `json:"forbid_reclamation,omitempty"`
18094 18095 // The time of the last DNS query in Epoch seconds format.
18096 LastQueried *UnixTime `json:"last_queried,omitempty"`
18097 18098 // Name for the TXT record in FQDN format. This value can be in unicode format.
18099 Name *string `json:"name,omitempty"`
18100 18101 // Determines if the record is reclaimable or not.
18102 Reclaimable bool `json:"reclaimable,omitempty"`
18103 18104 // The name of the shared record group in which the record resides. This field
18105 // exists only on db_objects if this record is a shared record.
18106 SharedRecordGroup string `json:"shared_record_group,omitempty"`
18107 18108 // Text associated with the record. It can contain up to 255 bytes per
18109 // substring, up to a total of 512 bytes. To enter leading, trailing, or
18110 // embedded spaces in the text, add quotes around the text to preserve the
18111 // spaces.
18112 Text *string `json:"text,omitempty"`
18113 18114 // The Time To Live (TTL) value for the record. A 32-bit unsigned integer that
18115 // represents the duration, in seconds, for which the record is valid (cached).
18116 // Zero indicates that the record should not be cached.
18117 Ttl *uint32 `json:"ttl,omitempty"`
18118 18119 // Use flag for: ttl
18120 UseTtl *bool `json:"use_ttl,omitempty"`
18121 18122 // The name of the DNS view in which the record resides. Example: "external".
18123 View *string `json:"view,omitempty"`
18124 18125 // The name of the zone in which the record resides. Example: "zone.com". If a
18126 // view is not specified when searching by zone, the default view is used.
18127 Zone string `json:"zone,omitempty"`
18128 }
18129 18130 func (RecordTXT) ObjectType() string {
18131 return "record:txt"
18132 }
18133 18134 func (obj RecordTXT) ReturnFields() []string {
18135 if obj.returnFields == nil {
18136 obj.returnFields = []string{"name", "text", "view"}
18137 }
18138 return obj.returnFields
18139 }
18140 18141 func NewEmptyRecordTXT() *RecordTXT {
18142 res := RecordTXT{}
18143 res.returnFields = []string{"view", "zone", "name", "text", "ttl", "use_ttl", "comment", "extattrs"}
18144 18145 return &res
18146 }
18147 18148 func NewRecordTXT(
18149 dnsview string,
18150 zone string,
18151 recordname string,
18152 text string,
18153 ttl uint32,
18154 useTtl bool,
18155 comment string,
18156 eas EA) *RecordTXT {
18157 18158 res := NewEmptyRecordTXT()
18159 res.View = &dnsview
18160 if *res.View == "" {
18161 res.View = nil
18162 }
18163 res.Zone = zone
18164 res.Name = &recordname
18165 res.Text = &text
18166 res.Ttl = &ttl
18167 res.UseTtl = &useTtl
18168 res.Comment = &comment
18169 res.Ea = eas
18170 18171 return res
18172 }
18173 18174 // RecordUnknown represents Infoblox object record:unknown.
18175 // An “RR of unknown type” is an RR whose RDATA format is not known to the
18176 // DNS implementation at hand, and whose type is not an assigned QTYPE or
18177 // Meta-TYPE as specified in 2929] nor within the range reserved in that
18178 // section for assignment only to QTYPEs and Meta-TYPEs. The purpose of the
18179 // Unknown resource record is to allow future DNS implementations to handle new
18180 // RR types transparently. For further details see RFC-3597.
18181 type RecordUnknown struct {
18182 IBBase `json:"-"`
18183 18184 Ref string `json:"_ref,omitempty"`
18185 18186 // Structure containing all cloud API related information for this object.
18187 CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`
18188 18189 // Comment for the record; maximum 256 characters.
18190 Comment *string `json:"comment,omitempty"`
18191 18192 // The record creator. Note that changing creator from or to 'SYSTEM' value is
18193 // not allowed.
18194 Creator string `json:"creator,omitempty"`
18195 18196 // Determines if the record is disabled or not. False means that the record is
18197 // enabled.
18198 Disable *bool `json:"disable,omitempty"`
18199 18200 // Standard textual representation of the RDATA.
18201 DisplayRdata string `json:"display_rdata,omitempty"`
18202 18203 // The name of the unknown record in punycode format.
18204 DnsName string `json:"dns_name,omitempty"`
18205 18206 // Determines if host name policy is applicable for the record.
18207 EnableHostNamePolicy *bool `json:"enable_host_name_policy,omitempty"`
18208 18209 // Extensible attributes associated with the object. For valid values for
18210 // extensible attributes, see {extattrs:values}.
18211 Ea EA `json:"extattrs"`
18212 18213 // The time of the last DNS query in Epoch seconds format.
18214 LastQueried *UnixTime `json:"last_queried,omitempty"`
18215 18216 // The Unknown record name in FQDN format. This value can be in unicode format.
18217 Name *string `json:"name,omitempty"`
18218 18219 // The host name policy for the record.
18220 Policy string `json:"policy,omitempty"`
18221 18222 // Specifies type of unknown resource record.
18223 RecordType *string `json:"record_type,omitempty"`
18224 18225 // The list of rdata subfield values of unknown resource record.
18226 SubfieldValues []*Rdatasubfield `json:"subfield_values,omitempty"`
18227 18228 // The Time to Live (TTL) value for the record. A 32-bit unsigned integer that
18229 // represents the duration, in seconds, for which the record is valid (cached).
18230 // Zero indicates that the record should not be cached.
18231 Ttl *uint32 `json:"ttl,omitempty"`
18232 18233 // Use flag for: ttl
18234 UseTtl *bool `json:"use_ttl,omitempty"`
18235 18236 // The name of the DNS view in which the record resides. Example: "external".
18237 View *string `json:"view,omitempty"`
18238 18239 // The name of the zone in which the record resides. Example: "zone.com". If a
18240 // view is not specified when searching by zone, the default view is used.
18241 Zone string `json:"zone,omitempty"`
18242 }
18243 18244 func (RecordUnknown) ObjectType() string {
18245 return "record:unknown"
18246 }
18247 18248 func (obj RecordUnknown) ReturnFields() []string {
18249 if obj.returnFields == nil {
18250 obj.returnFields = []string{"name", "view"}
18251 }
18252 return obj.returnFields
18253 }
18254 18255 // Recordnamepolicy represents Infoblox object recordnamepolicy.
18256 // You can enforce naming policy for the hostnames of A, AAAA, Host, MX, NS and
18257 // bulk host records based on user-defined or default patterns. For MX and NS
18258 // records, the hostname restrictions apply to the text in the RDATA field of
18259 // the resource record name. Records that you created before you enabled the
18260 // hostname checking policy need not to comply with the hostname restriction
18261 // that you specify.
18262 type Recordnamepolicy struct {
18263 IBBase `json:"-"`
18264 18265 Ref string `json:"_ref,omitempty"`
18266 18267 // Determines whether the record name policy is Grid default.
18268 IsDefault *bool `json:"is_default,omitempty"`
18269 18270 // The name of the record name policy object.
18271 Name *string `json:"name,omitempty"`
18272 18273 // Determines whether the record name policy is a predefined one.
18274 PreDefined bool `json:"pre_defined,omitempty"`
18275 18276 // The POSIX regular expression the record names should match in order to
18277 // comply with the record name policy.
18278 Regex *string `json:"regex,omitempty"`
18279 }
18280 18281 func (Recordnamepolicy) ObjectType() string {
18282 return "recordnamepolicy"
18283 }
18284 18285 func (obj Recordnamepolicy) ReturnFields() []string {
18286 if obj.returnFields == nil {
18287 obj.returnFields = []string{"is_default", "name", "regex"}
18288 }
18289 return obj.returnFields
18290 }
18291 18292 // Restartservicestatus represents Infoblox object restartservicestatus.
18293 // This object represents the service status. Use the the
18294 // requestrestartservicestatus function call in object grid or the
18295 // requestrestartservicestatus function call in object member to refresh the
18296 // status.
18297 type Restartservicestatus struct {
18298 IBBase `json:"-"`
18299 18300 Ref string `json:"_ref,omitempty"`
18301 18302 // The status of the DHCP service.
18303 DhcpStatus string `json:"dhcp_status,omitempty"`
18304 18305 // The status of the DNS service.
18306 DnsStatus string `json:"dns_status,omitempty"`
18307 18308 // The name of this Grid member in FQDN format.
18309 Member string `json:"member,omitempty"`
18310 18311 // The status of the reporting service.
18312 ReportingStatus string `json:"reporting_status,omitempty"`
18313 }
18314 18315 func (Restartservicestatus) ObjectType() string {
18316 return "restartservicestatus"
18317 }
18318 18319 func (obj Restartservicestatus) ReturnFields() []string {
18320 if obj.returnFields == nil {
18321 obj.returnFields = []string{"dhcp_status", "dns_status", "member", "reporting_status"}
18322 }
18323 return obj.returnFields
18324 }
18325 18326 // Rir represents Infoblox object rir.
18327 // An RIR is an entity that manages the Internet number resources, which
18328 // include IP addresses and autonomous system numbers, within a specific region
18329 // of the world. RIRs use SWIP (Shared WHOIS Project) or RWhois (Referral
18330 // WHOIS) servers to provide address allocation information for IP address
18331 // blocks. Typically, an RIR determines the address blocks to be allocated for
18332 // specific organizations (typically ISPs), while an ISP manages the allocated
18333 // address blocks, associated organizations and corresponding RIR
18334 // registrations. An organization can determine when to request for more
18335 // address data with their RIRs every few months.
18336 type Rir struct {
18337 IBBase `json:"-"`
18338 18339 Ref string `json:"_ref,omitempty"`
18340 18341 // The communication mode for RIR.
18342 CommunicationMode string `json:"communication_mode,omitempty"`
18343 18344 // The e-mail address for RIR.
18345 Email *string `json:"email,omitempty"`
18346 18347 // The name of RIR.
18348 Name string `json:"name,omitempty"`
18349 18350 // The WebAPI URL for RIR.
18351 Url *string `json:"url,omitempty"`
18352 18353 // Use flag for: email
18354 UseEmail *bool `json:"use_email,omitempty"`
18355 18356 // Use flag for: url
18357 UseUrl *bool `json:"use_url,omitempty"`
18358 }
18359 18360 func (Rir) ObjectType() string {
18361 return "rir"
18362 }
18363 18364 func (obj Rir) ReturnFields() []string {
18365 if obj.returnFields == nil {
18366 obj.returnFields = []string{"communication_mode", "email", "name", "url"}
18367 }
18368 return obj.returnFields
18369 }
18370 18371 // RirOrganization represents Infoblox object rir:organization.
18372 // An RIR organization provides information about an entity that has registered
18373 // a network resource in the RIPE database. This entity can be a company (such
18374 // as an ISP), a nonprofit group, or an individual. You can add RIR
18375 // organizations defined in the RIPE database and start managing their data
18376 // through NIOS.
18377 type RirOrganization struct {
18378 IBBase `json:"-"`
18379 18380 Ref string `json:"_ref,omitempty"`
18381 18382 // Extensible attributes associated with the object. For valid values for
18383 // extensible attributes, see {extattrs:values}.
18384 Ea EA `json:"extattrs"`
18385 18386 // The RIR organization identifier.
18387 Id *string `json:"id,omitempty"`
18388 18389 // The RIR organization maintainer.
18390 Maintainer *string `json:"maintainer,omitempty"`
18391 18392 // The RIR organization name.
18393 Name *string `json:"name,omitempty"`
18394 18395 // The password for the maintainer of RIR organization.
18396 Password *string `json:"password,omitempty"`
18397 18398 // The RIR associated with RIR organization.
18399 Rir *string `json:"rir,omitempty"`
18400 18401 // The sender e-mail address for RIR organization.
18402 SenderEmail *string `json:"sender_email,omitempty"`
18403 }
18404 18405 func (RirOrganization) ObjectType() string {
18406 return "rir:organization"
18407 }
18408 18409 func (obj RirOrganization) ReturnFields() []string {
18410 if obj.returnFields == nil {
18411 obj.returnFields = []string{"id", "maintainer", "name", "rir", "sender_email"}
18412 }
18413 return obj.returnFields
18414 }
18415 18416 // RoamingHost represents Infoblox object roaminghost.
18417 // A roaming host is a specific host that a DHCP server always assigns when a
18418 // lease request comes from a particular MAC address of the client.
18419 type RoamingHost struct {
18420 IBBase `json:"-"`
18421 18422 Ref string `json:"_ref,omitempty"`
18423 18424 // The address type for this roaming host.
18425 AddressType string `json:"address_type,omitempty"`
18426 18427 // The bootfile name for the roaming host. You can configure the DHCP server to
18428 // support clients that use the boot file name option in their DHCPREQUEST
18429 // messages.
18430 Bootfile *string `json:"bootfile,omitempty"`
18431 18432 // The boot server address for the roaming host. You can specify the name
18433 // and/or IP address of the boot server that the host needs to boot. The boot
18434 // server IPv4 Address or name in FQDN format.
18435 Bootserver *string `json:"bootserver,omitempty"`
18436 18437 // This field controls whether there is a prepend for the
18438 // dhcp-client-identifier of a roaming host.
18439 ClientIdentifierPrependZero *bool `json:"client_identifier_prepend_zero,omitempty"`
18440 18441 // Comment for the roaming host; maximum 256 characters.
18442 Comment *string `json:"comment,omitempty"`
18443 18444 // The DDNS domain name for this roaming host.
18445 DdnsDomainname *string `json:"ddns_domainname,omitempty"`
18446 18447 // The DDNS host name for this roaming host.
18448 DdnsHostname *string `json:"ddns_hostname,omitempty"`
18449 18450 // If set to true, BOOTP settings are disabled and BOOTP requests will be
18451 // denied.
18452 DenyBootp *bool `json:"deny_bootp,omitempty"`
18453 18454 // The DHCP client ID for the roaming host.
18455 DhcpClientIdentifier *string `json:"dhcp_client_identifier,omitempty"`
18456 18457 // Determines whether a roaming host is disabled or not. When this is set to
18458 // False, the roaming host is enabled.
18459 Disable *bool `json:"disable,omitempty"`
18460 18461 // The dynamic DNS updates flag of the roaming host object. If set to True, the
18462 // DHCP server sends DDNS updates to DNS servers in the same Grid, and to
18463 // external DNS servers.
18464 EnableDdns *bool `json:"enable_ddns,omitempty"`
18465 18466 // Set this to True if you want the DHCP server to use a different lease time
18467 // for PXE clients.
18468 EnablePxeLeaseTime *bool `json:"enable_pxe_lease_time,omitempty"`
18469 18470 // Extensible attributes associated with the object. For valid values for
18471 // extensible attributes, see {extattrs:values}.
18472 Ea EA `json:"extattrs"`
18473 18474 // Set this to True to use the roaming host name as its ddns_hostname.
18475 ForceRoamingHostname *bool `json:"force_roaming_hostname,omitempty"`
18476 18477 // If this field is set to False, the appliance returns all the DHCP options
18478 // the client is eligible to receive, rather than only the list of options the
18479 // client has requested.
18480 IgnoreDhcpOptionListRequest *bool `json:"ignore_dhcp_option_list_request,omitempty"`
18481 18482 // The client hostname of a DHCP roaming host object. This field specifies the
18483 // host name that the DHCP client sends to the Infoblox appliance using DHCP
18484 // option 12.
18485 Ipv6ClientHostname string `json:"ipv6_client_hostname,omitempty"`
18486 18487 // The IPv6 DDNS domain name for this roaming host.
18488 Ipv6DdnsDomainname *string `json:"ipv6_ddns_domainname,omitempty"`
18489 18490 // The IPv6 DDNS host name for this roaming host.
18491 Ipv6DdnsHostname *string `json:"ipv6_ddns_hostname,omitempty"`
18492 18493 // The IPv6 domain name for this roaming host.
18494 Ipv6DomainName *string `json:"ipv6_domain_name,omitempty"`
18495 18496 // The IPv6 addresses of DNS recursive name servers to which the DHCP client
18497 // can send name resolution requests. The DHCP server includes this information
18498 // in the DNS Recursive Name Server option in Advertise, Rebind,
18499 // Information-Request, and Reply messages.
18500 Ipv6DomainNameServers []string `json:"ipv6_domain_name_servers,omitempty"`
18501 18502 // The DUID value for this roaming host.
18503 Ipv6Duid *string `json:"ipv6_duid,omitempty"`
18504 18505 // Set this to True to enable IPv6 DDNS.
18506 Ipv6EnableDdns *bool `json:"ipv6_enable_ddns,omitempty"`
18507 18508 // Set this to True to use the roaming host name as its ddns_hostname.
18509 Ipv6ForceRoamingHostname *bool `json:"ipv6_force_roaming_hostname,omitempty"`
18510 18511 // The identification method for an IPv6 or mixed IPv4/IPv6 roaming host.
18512 // Currently, the only supported value for this field is "DUID", which
18513 // corresponds to identification by DHCPv6 unique ID.
18514 Ipv6MatchOption string `json:"ipv6_match_option,omitempty"`
18515 18516 // An array of DHCP option dhcpoption structs that lists the DHCP options
18517 // associated with the object.
18518 Ipv6Options []*Dhcpoption `json:"ipv6_options,omitempty"`
18519 18520 // If set on creation, the roaming host will be created according to the values
18521 // specified in the named IPv6 roaming host template.
18522 Ipv6Template string `json:"ipv6_template,omitempty"`
18523 18524 // The MAC address for this roaming host.
18525 Mac *string `json:"mac,omitempty"`
18526 18527 // The match-client value for this roaming host. Valid values are:
18528 // "MAC_ADDRESS": The fixed IP address is leased to the matching MAC address.
18529 // "CLIENT_ID": The fixed IP address is leased to the matching DHCP client
18530 // identifier.
18531 MatchClient string `json:"match_client,omitempty"`
18532 18533 // The name of this roaming host.
18534 Name *string `json:"name,omitempty"`
18535 18536 // The name of the network view in which this roaming host resides.
18537 NetworkView *string `json:"network_view,omitempty"`
18538 18539 // The name in FQDN and/or IPv4 Address format of the next server that the host
18540 // needs to boot.
18541 Nextserver *string `json:"nextserver,omitempty"`
18542 18543 // An array of DHCP option dhcpoption structs that lists the DHCP options
18544 // associated with the object.
18545 Options []*Dhcpoption `json:"options,omitempty"`
18546 18547 // The preferred lifetime value for this roaming host object.
18548 PreferredLifetime *uint32 `json:"preferred_lifetime,omitempty"`
18549 18550 // The PXE lease time value for this roaming host object. Some hosts use PXE
18551 // (Preboot Execution Environment) to boot remotely from a server. To better
18552 // manage your IP resources, set a different lease time for PXE boot requests.
18553 // You can configure the DHCP server to allocate an IP address with a shorter
18554 // lease time to hosts that send PXE boot requests, so IP addresses are not
18555 // leased longer than necessary. A 32-bit unsigned integer that represents the
18556 // duration, in seconds, for which the update is cached. Zero indicates that
18557 // the update is not cached.
18558 PxeLeaseTime *uint32 `json:"pxe_lease_time,omitempty"`
18559 18560 // If set on creation, the roaming host will be created according to the values
18561 // specified in the named template.
18562 Template string `json:"template,omitempty"`
18563 18564 // Use flag for: bootfile
18565 UseBootfile *bool `json:"use_bootfile,omitempty"`
18566 18567 // Use flag for: bootserver
18568 UseBootserver *bool `json:"use_bootserver,omitempty"`
18569 18570 // Use flag for: ddns_domainname
18571 UseDdnsDomainname *bool `json:"use_ddns_domainname,omitempty"`
18572 18573 // Use flag for: deny_bootp
18574 UseDenyBootp *bool `json:"use_deny_bootp,omitempty"`
18575 18576 // Use flag for: enable_ddns
18577 UseEnableDdns *bool `json:"use_enable_ddns,omitempty"`
18578 18579 // Use flag for: ignore_dhcp_option_list_request
18580 UseIgnoreDhcpOptionListRequest *bool `json:"use_ignore_dhcp_option_list_request,omitempty"`
18581 18582 // Use flag for: ipv6_ddns_domainname
18583 UseIpv6DdnsDomainname *bool `json:"use_ipv6_ddns_domainname,omitempty"`
18584 18585 // Use flag for: ipv6_domain_name
18586 UseIpv6DomainName *bool `json:"use_ipv6_domain_name,omitempty"`
18587 18588 // Use flag for: ipv6_domain_name_servers
18589 UseIpv6DomainNameServers *bool `json:"use_ipv6_domain_name_servers,omitempty"`
18590 18591 // Use flag for: ipv6_enable_ddns
18592 UseIpv6EnableDdns *bool `json:"use_ipv6_enable_ddns,omitempty"`
18593 18594 // Use flag for: ipv6_options
18595 UseIpv6Options *bool `json:"use_ipv6_options,omitempty"`
18596 18597 // Use flag for: nextserver
18598 UseNextserver *bool `json:"use_nextserver,omitempty"`
18599 18600 // Use flag for: options
18601 UseOptions *bool `json:"use_options,omitempty"`
18602 18603 // Use flag for: preferred_lifetime
18604 UsePreferredLifetime *bool `json:"use_preferred_lifetime,omitempty"`
18605 18606 // Use flag for: pxe_lease_time
18607 UsePxeLeaseTime *bool `json:"use_pxe_lease_time,omitempty"`
18608 18609 // Use flag for: valid_lifetime
18610 UseValidLifetime *bool `json:"use_valid_lifetime,omitempty"`
18611 18612 // The valid lifetime value for this roaming host object.
18613 ValidLifetime *uint32 `json:"valid_lifetime,omitempty"`
18614 }
18615 18616 func (RoamingHost) ObjectType() string {
18617 return "roaminghost"
18618 }
18619 18620 func (obj RoamingHost) ReturnFields() []string {
18621 if obj.returnFields == nil {
18622 obj.returnFields = []string{"address_type", "name", "network_view"}
18623 }
18624 return obj.returnFields
18625 }
18626 18627 // Ruleset represents Infoblox object ruleset.
18628 // Represents a Ruleset object, which is a collection of rules that is used to
18629 // match domain names.
18630 type Ruleset struct {
18631 IBBase `json:"-"`
18632 18633 Ref string `json:"_ref,omitempty"`
18634 18635 // Descriptive comment about the Ruleset object.
18636 Comment *string `json:"comment,omitempty"`
18637 18638 // The flag that indicates if the Ruleset object is disabled.
18639 Disabled *bool `json:"disabled,omitempty"`
18640 18641 // The name of this Ruleset object.
18642 Name *string `json:"name,omitempty"`
18643 18644 // The list of Rules assigned to this Ruleset object. Rules can be set only
18645 // when the Ruleset type is set to "NXDOMAIN".
18646 NxdomainRules []*Nxdomainrule `json:"nxdomain_rules,omitempty"`
18647 18648 // The type of this Ruleset object.
18649 Type string `json:"type,omitempty"`
18650 }
18651 18652 func (Ruleset) ObjectType() string {
18653 return "ruleset"
18654 }
18655 18656 func (obj Ruleset) ReturnFields() []string {
18657 if obj.returnFields == nil {
18658 obj.returnFields = []string{"comment", "disabled", "name", "type"}
18659 }
18660 return obj.returnFields
18661 }
18662 18663 // SamlAuthservice represents Infoblox object saml:authservice.
18664 // This object represents SAML authentication service.
18665 type SamlAuthservice struct {
18666 IBBase `json:"-"`
18667 18668 Ref string `json:"_ref,omitempty"`
18669 18670 // The descriptive comment for the SAML authentication service.
18671 Comment *string `json:"comment,omitempty"`
18672 18673 // The SAML Identity Provider to use for authentication.
18674 Idp *SamlIdp `json:"idp,omitempty"`
18675 18676 // The name of the SAML authentication service.
18677 Name *string `json:"name,omitempty"`
18678 18679 // The session timeout in seconds.
18680 SessionTimeout *uint32 `json:"session_timeout,omitempty"`
18681 }
18682 18683 func (SamlAuthservice) ObjectType() string {
18684 return "saml:authservice"
18685 }
18686 18687 func (obj SamlAuthservice) ReturnFields() []string {
18688 if obj.returnFields == nil {
18689 obj.returnFields = []string{"name"}
18690 }
18691 return obj.returnFields
18692 }
18693 18694 // Scavengingtask represents Infoblox object scavengingtask.
18695 // The DNS scavenging task object provides information on scavenging process
18696 // state.
18697 type Scavengingtask struct {
18698 IBBase `json:"-"`
18699 18700 Ref string `json:"_ref,omitempty"`
18701 18702 // The scavenging action.
18703 Action string `json:"action,omitempty"`
18704 18705 // The reference to the object associated with the scavenging task.
18706 AssociatedObject string `json:"associated_object,omitempty"`
18707 18708 // The scavenging process end time.
18709 EndTime *UnixTime `json:"end_time,omitempty"`
18710 18711 // The number of processed during scavenging resource records.
18712 ProcessedRecords uint32 `json:"processed_records,omitempty"`
18713 18714 // The number of resource records that are allowed to be reclaimed during the
18715 // scavenging process.
18716 ReclaimableRecords uint32 `json:"reclaimable_records,omitempty"`
18717 18718 // The number of reclaimed during the scavenging process resource records.
18719 ReclaimedRecords uint32 `json:"reclaimed_records,omitempty"`
18720 18721 // The scavenging process start time.
18722 StartTime *UnixTime `json:"start_time,omitempty"`
18723 18724 // The scavenging process status. This is a read-only attribute.
18725 Status string `json:"status,omitempty"`
18726 }
18727 18728 func (Scavengingtask) ObjectType() string {
18729 return "scavengingtask"
18730 }
18731 18732 func (obj Scavengingtask) ReturnFields() []string {
18733 if obj.returnFields == nil {
18734 obj.returnFields = []string{"action", "associated_object", "status"}
18735 }
18736 return obj.returnFields
18737 }
18738 18739 // ScheduledTask represents Infoblox object scheduledtask.
18740 // This object represents a scheduled task.
18741 type ScheduledTask struct {
18742 IBBase `json:"-"`
18743 18744 Ref string `json:"_ref,omitempty"`
18745 18746 // The approval status of the task.
18747 ApprovalStatus string `json:"approval_status,omitempty"`
18748 18749 // The approver of the task.
18750 Approver string `json:"approver,omitempty"`
18751 18752 // The comment specified by the approver of the task.
18753 ApproverComment *string `json:"approver_comment,omitempty"`
18754 18755 // Indicates whether there will be an automatic restart when the appliance
18756 // executes the task.
18757 AutomaticRestart *bool `json:"automatic_restart,omitempty"`
18758 18759 // A list of objects that are affected by the task.
18760 ChangedObjects []*Changedobject `json:"changed_objects,omitempty"`
18761 18762 // If this scheduled task has dependent tasks, their references will be
18763 // returned in this field.
18764 DependentTasks []*ScheduledTask `json:"dependent_tasks,omitempty"`
18765 18766 // If this field is set to True the specified task will be executed
18767 // immediately.
18768 ExecuteNow *bool `json:"execute_now,omitempty"`
18769 18770 // Messages generated by the execution of the scheduled task after its
18771 // completion.
18772 ExecutionDetails []string `json:"execution_details,omitempty"`
18773 18774 // The type of details generated by the execution of the scheduled task after
18775 // its completion.
18776 ExecutionDetailsType string `json:"execution_details_type,omitempty"`
18777 18778 // The execution status of the task.
18779 ExecutionStatus string `json:"execution_status,omitempty"`
18780 18781 // The time when the appliance executed the task.
18782 ExecutionTime *UnixTime `json:"execution_time,omitempty"`
18783 18784 // Indicates whether this is a Network Insight scheduled task.
18785 IsNetworkInsightTask bool `json:"is_network_insight_task,omitempty"`
18786 18787 // The member where this task was created.
18788 Member string `json:"member,omitempty"`
18789 18790 // If this scheduled task has a predecessor task set, its reference will be
18791 // returned in this field.
18792 PredecessorTask string `json:"predecessor_task,omitempty"`
18793 18794 // If set to True, if the scheduled task is a Network Insight task and it
18795 // failed, a new task will be cloned from this task and re-executed.
18796 ReExecuteTask *bool `json:"re_execute_task,omitempty"`
18797 18798 // The time when the task is scheduled to occur.
18799 ScheduledTime *UnixTime `json:"scheduled_time,omitempty"`
18800 18801 // The time when the task was submitted.
18802 SubmitTime *UnixTime `json:"submit_time,omitempty"`
18803 18804 // The submitter of the task.
18805 Submitter string `json:"submitter,omitempty"`
18806 18807 // The comment specified by the submitter of the task.
18808 SubmitterComment *string `json:"submitter_comment,omitempty"`
18809 18810 // The task ID.
18811 TaskId uint32 `json:"task_id,omitempty"`
18812 18813 // The task type.
18814 TaskType string `json:"task_type,omitempty"`
18815 18816 // The task ticket number.
18817 TicketNumber string `json:"ticket_number,omitempty"`
18818 }
18819 18820 func (ScheduledTask) ObjectType() string {
18821 return "scheduledtask"
18822 }
18823 18824 func (obj ScheduledTask) ReturnFields() []string {
18825 if obj.returnFields == nil {
18826 obj.returnFields = []string{"approval_status", "execution_status", "task_id"}
18827 }
18828 return obj.returnFields
18829 }
18830 18831 // Search represents Infoblox object search.
18832 // The search object is used to perform global searches for multiple object
18833 // types in the database. This object contains only search parameters and
18834 // returns objects that match the search criteria. The returned objects are
18835 // base objects for the respective object types.
18836 type Search struct {
18837 IBBase `json:"-"`
18838 18839 Ref string `json:"_ref,omitempty"`
18840 }
18841 18842 func (Search) ObjectType() string {
18843 return "search"
18844 }
18845 18846 func (obj Search) ReturnFields() []string {
18847 if obj.returnFields == nil {
18848 obj.returnFields = []string{}
18849 }
18850 return obj.returnFields
18851 }
18852 18853 // SharedNetwork represents Infoblox object sharednetwork.
18854 // A shared network is a network segment to which you assign two or more
18855 // subnets. When subnets in a shared network contain IP addresses that are
18856 // available for dynamic allocation, the addresses are put into a common pool
18857 // for allocation when client requests arise. When you create a shared network,
18858 // the DHCP server can assign IP addresses to client requests from any subnet
18859 // (that resides on the same network interface) in the shared network.
18860 type SharedNetwork struct {
18861 IBBase `json:"-"`
18862 18863 Ref string `json:"_ref,omitempty"`
18864 18865 // Authority for the shared network.
18866 Authority *bool `json:"authority,omitempty"`
18867 18868 // The bootfile name for the shared network. You can configure the DHCP server
18869 // to support clients that use the boot file name option in their DHCPREQUEST
18870 // messages.
18871 Bootfile *string `json:"bootfile,omitempty"`
18872 18873 // The bootserver address for the shared network. You can specify the name
18874 // and/or IP address of the boot server that the host needs to boot. The boot
18875 // server IPv4 Address or name in FQDN format.
18876 Bootserver *string `json:"bootserver,omitempty"`
18877 18878 // Comment for the shared network, maximum 256 characters.
18879 Comment *string `json:"comment,omitempty"`
18880 18881 // If this field is set to True, the DHCP server generates a hostname and
18882 // updates DNS with it when the DHCP client request does not contain a
18883 // hostname.
18884 DdnsGenerateHostname *bool `json:"ddns_generate_hostname,omitempty"`
18885 18886 // This field controls whether only the DHCP server is allowed to update DNS,
18887 // regardless of the DHCP clients requests. Note that changes for this field
18888 // take effect only if ddns_use_option81 is True.
18889 DdnsServerAlwaysUpdates *bool `json:"ddns_server_always_updates,omitempty"`
18890 18891 // The DNS update Time to Live (TTL) value of a shared network object. The TTL
18892 // is a 32-bit unsigned integer that represents the duration, in seconds, for
18893 // which the update is cached. Zero indicates that the update is not cached.
18894 DdnsTtl *uint32 `json:"ddns_ttl,omitempty"`
18895 18896 // By default, the DHCP server does not update DNS when it allocates a fixed
18897 // address to a client. You can configure the DHCP server to update the A and
18898 // PTR records of a client with a fixed address. When this feature is enabled
18899 // and the DHCP server adds A and PTR records for a fixed address, the DHCP
18900 // server never discards the records.
18901 DdnsUpdateFixedAddresses *bool `json:"ddns_update_fixed_addresses,omitempty"`
18902 18903 // The support for DHCP Option 81 at the shared network level.
18904 DdnsUseOption81 *bool `json:"ddns_use_option81,omitempty"`
18905 18906 // If set to true, BOOTP settings are disabled and BOOTP requests will be
18907 // denied.
18908 DenyBootp *bool `json:"deny_bootp,omitempty"`
18909 18910 // The percentage of the total DHCP utilization of the networks belonging to
18911 // the shared network multiplied by 1000. This is the percentage of the total
18912 // number of available IP addresses from all the networks belonging to the
18913 // shared network versus the total number of all IP addresses in all of the
18914 // networks in the shared network.
18915 DhcpUtilization uint32 `json:"dhcp_utilization,omitempty"`
18916 18917 // A string describing the utilization level of the shared network.
18918 DhcpUtilizationStatus string `json:"dhcp_utilization_status,omitempty"`
18919 18920 // Determines whether a shared network is disabled or not. When this is set to
18921 // False, the shared network is enabled.
18922 Disable *bool `json:"disable,omitempty"`
18923 18924 // The total number of DHCP leases issued for the shared network.
18925 DynamicHosts uint32 `json:"dynamic_hosts,omitempty"`
18926 18927 // The dynamic DNS updates flag of a shared network object. If set to True, the
18928 // DHCP server sends DDNS updates to DNS servers in the same Grid, and to
18929 // external DNS servers.
18930 EnableDdns *bool `json:"enable_ddns,omitempty"`
18931 18932 // Set this to True if you want the DHCP server to use a different lease time
18933 // for PXE clients.
18934 EnablePxeLeaseTime *bool `json:"enable_pxe_lease_time,omitempty"`
18935 18936 // Extensible attributes associated with the object. For valid values for
18937 // extensible attributes, see {extattrs:values}.
18938 Ea EA `json:"extattrs"`
18939 18940 // If set to true, the client identifier will be ignored.
18941 IgnoreClientIdentifier *bool `json:"ignore_client_identifier,omitempty"`
18942 18943 // If this field is set to False, the appliance returns all DHCP options the
18944 // client is eligible to receive, rather than only the list of options the
18945 // client has requested.
18946 IgnoreDhcpOptionListRequest *bool `json:"ignore_dhcp_option_list_request,omitempty"`
18947 18948 // Indicates whether the appliance will ignore DHCP client IDs or MAC
18949 // addresses. Valid values are "NONE", "CLIENT", or "MACADDR". The default is
18950 // "NONE".
18951 IgnoreId string `json:"ignore_id,omitempty"`
18952 18953 // A list of MAC addresses the appliance will ignore.
18954 IgnoreMacAddresses []string `json:"ignore_mac_addresses,omitempty"`
18955 18956 // An integer that specifies the period of time (in seconds) that frees and
18957 // backs up leases remained in the database before they are automatically
18958 // deleted. To disable lease scavenging, set the parameter to -1. The minimum
18959 // positive value must be greater than 86400 seconds (1 day).
18960 LeaseScavengeTime int `json:"lease_scavenge_time,omitempty"`
18961 18962 // This field contains the logic filters to be applied on the this shared
18963 // network. This list corresponds to the match rules that are written to the
18964 // dhcpd configuration file.
18965 LogicFilterRules []*Logicfilterrule `json:"logic_filter_rules,omitempty"`
18966 18967 // The Microsoft Active Directory user related information.
18968 MsAdUserData *MsserverAduserData `json:"ms_ad_user_data,omitempty"`
18969 18970 // The name of the IPv6 Shared Network.
18971 Name *string `json:"name,omitempty"`
18972 18973 // The name of the network view in which this shared network resides.
18974 NetworkView string `json:"network_view,omitempty"`
18975 18976 // A list of networks belonging to the shared network Each individual list item
18977 // must be specified as an object containing a '_ref' parameter to a network
18978 // reference, for example:: [{ "_ref":
18979 // "network/ZG5zLm5ldHdvcmskMTAuMwLvMTYvMA", }] if the reference of the wanted
18980 // network is not known, it is possible to specify search parameters for the
18981 // network instead in the following way:: [{ "_ref": { 'network': '10.0.0.0/8',
18982 // } }] note that in this case the search must match exactly one network for
18983 // the assignment to be successful.
18984 Networks []*Ipv4Network `json:"networks,omitempty"`
18985 18986 // The name in FQDN and/or IPv4 Address of the next server that the host needs
18987 // to boot.
18988 Nextserver *string `json:"nextserver,omitempty"`
18989 18990 // An array of DHCP option dhcpoption structs that lists the DHCP options
18991 // associated with the object.
18992 Options []*Dhcpoption `json:"options,omitempty"`
18993 18994 // The PXE lease time value of a shared network object. Some hosts use PXE
18995 // (Preboot Execution Environment) to boot remotely from a server. To better
18996 // manage your IP resources, set a different lease time for PXE boot requests.
18997 // You can configure the DHCP server to allocate an IP address with a shorter
18998 // lease time to hosts that send PXE boot requests, so IP addresses are not
18999 // leased longer than necessary. A 32-bit unsigned integer that represents the
19000 // duration, in seconds, for which the update is cached. Zero indicates that
19001 // the update is not cached.
19002 PxeLeaseTime *uint32 `json:"pxe_lease_time,omitempty"`
19003 19004 // The number of static DHCP addresses configured in the shared network.
19005 StaticHosts uint32 `json:"static_hosts,omitempty"`
19006 19007 // The total number of DHCP addresses configured in the shared network.
19008 TotalHosts uint32 `json:"total_hosts,omitempty"`
19009 19010 // This field controls whether the DHCP server updates DNS when a DHCP lease is
19011 // renewed.
19012 UpdateDnsOnLeaseRenewal *bool `json:"update_dns_on_lease_renewal,omitempty"`
19013 19014 // Use flag for: authority
19015 UseAuthority *bool `json:"use_authority,omitempty"`
19016 19017 // Use flag for: bootfile
19018 UseBootfile *bool `json:"use_bootfile,omitempty"`
19019 19020 // Use flag for: bootserver
19021 UseBootserver *bool `json:"use_bootserver,omitempty"`
19022 19023 // Use flag for: ddns_generate_hostname
19024 UseDdnsGenerateHostname *bool `json:"use_ddns_generate_hostname,omitempty"`
19025 19026 // Use flag for: ddns_ttl
19027 UseDdnsTtl *bool `json:"use_ddns_ttl,omitempty"`
19028 19029 // Use flag for: ddns_update_fixed_addresses
19030 UseDdnsUpdateFixedAddresses *bool `json:"use_ddns_update_fixed_addresses,omitempty"`
19031 19032 // Use flag for: ddns_use_option81
19033 UseDdnsUseOption81 *bool `json:"use_ddns_use_option81,omitempty"`
19034 19035 // Use flag for: deny_bootp
19036 UseDenyBootp *bool `json:"use_deny_bootp,omitempty"`
19037 19038 // Use flag for: enable_ddns
19039 UseEnableDdns *bool `json:"use_enable_ddns,omitempty"`
19040 19041 // Use flag for: ignore_client_identifier
19042 UseIgnoreClientIdentifier *bool `json:"use_ignore_client_identifier,omitempty"`
19043 19044 // Use flag for: ignore_dhcp_option_list_request
19045 UseIgnoreDhcpOptionListRequest *bool `json:"use_ignore_dhcp_option_list_request,omitempty"`
19046 19047 // Use flag for: ignore_id
19048 UseIgnoreId *bool `json:"use_ignore_id,omitempty"`
19049 19050 // Use flag for: lease_scavenge_time
19051 UseLeaseScavengeTime *bool `json:"use_lease_scavenge_time,omitempty"`
19052 19053 // Use flag for: logic_filter_rules
19054 UseLogicFilterRules *bool `json:"use_logic_filter_rules,omitempty"`
19055 19056 // Use flag for: nextserver
19057 UseNextserver *bool `json:"use_nextserver,omitempty"`
19058 19059 // Use flag for: options
19060 UseOptions *bool `json:"use_options,omitempty"`
19061 19062 // Use flag for: pxe_lease_time
19063 UsePxeLeaseTime *bool `json:"use_pxe_lease_time,omitempty"`
19064 19065 // Use flag for: update_dns_on_lease_renewal
19066 UseUpdateDnsOnLeaseRenewal *bool `json:"use_update_dns_on_lease_renewal,omitempty"`
19067 }
19068 19069 func (SharedNetwork) ObjectType() string {
19070 return "sharednetwork"
19071 }
19072 19073 func (obj SharedNetwork) ReturnFields() []string {
19074 if obj.returnFields == nil {
19075 obj.returnFields = []string{"comment", "name", "network_view", "networks"}
19076 }
19077 return obj.returnFields
19078 }
19079 19080 // SharedRecordA represents Infoblox object sharedrecord:a.
19081 // A shared A (address) record is similar to a regular A record. It maps a
19082 // domain name to an IPv4 address. The difference is that a shared A record
19083 // should be added to a shared record group. If the shared record group is
19084 // associated with other zones, the shared A record is shared among these
19085 // zones.
19086 type SharedRecordA struct {
19087 IBBase `json:"-"`
19088 19089 Ref string `json:"_ref,omitempty"`
19090 19091 // Comment for this shared record; maximum 256 characters.
19092 Comment *string `json:"comment,omitempty"`
19093 19094 // Determines if this shared record is disabled or not. False means that the
19095 // record is enabled.
19096 Disable *bool `json:"disable,omitempty"`
19097 19098 // The name for this shared record in punycode format.
19099 DnsName string `json:"dns_name,omitempty"`
19100 19101 // Extensible attributes associated with the object. For valid values for
19102 // extensible attributes, see {extattrs:values}.
19103 Ea EA `json:"extattrs"`
19104 19105 // The IPv4 Address of the shared record.
19106 Ipv4Addr *string `json:"ipv4addr,omitempty"`
19107 19108 // Name for this shared record. This value can be in unicode format.
19109 Name *string `json:"name,omitempty"`
19110 19111 // The name of the shared record group in which the record resides.
19112 SharedRecordGroup *string `json:"shared_record_group,omitempty"`
19113 19114 // The Time To Live (TTL) value for this shared record. A 32-bit unsigned
19115 // integer that represents the duration, in seconds, for which the shared
19116 // record is valid (cached). Zero indicates that the shared record should not
19117 // be cached.
19118 Ttl *uint32 `json:"ttl,omitempty"`
19119 19120 // Use flag for: ttl
19121 UseTtl *bool `json:"use_ttl,omitempty"`
19122 }
19123 19124 func (SharedRecordA) ObjectType() string {
19125 return "sharedrecord:a"
19126 }
19127 19128 func (obj SharedRecordA) ReturnFields() []string {
19129 if obj.returnFields == nil {
19130 obj.returnFields = []string{"ipv4addr", "name", "shared_record_group"}
19131 }
19132 return obj.returnFields
19133 }
19134 19135 // SharedRecordAAAA represents Infoblox object sharedrecord:aaaa.
19136 // A shared AAAA (address) record is similar to a regular AAAA record. It maps
19137 // a domain name to an IPv6 address. The difference is that a shared AAAA
19138 // record should be added to a shared record group. If the shared record group
19139 // is associated with other zones, the shared AAAA record is shared among these
19140 // zones.
19141 type SharedRecordAAAA struct {
19142 IBBase `json:"-"`
19143 19144 Ref string `json:"_ref,omitempty"`
19145 19146 // Comment for this shared record; maximum 256 characters.
19147 Comment *string `json:"comment,omitempty"`
19148 19149 // Determines if this shared record is disabled or not. False means that the
19150 // record is enabled.
19151 Disable *bool `json:"disable,omitempty"`
19152 19153 // The name for this shared record in punycode format.
19154 DnsName string `json:"dns_name,omitempty"`
19155 19156 // Extensible attributes associated with the object. For valid values for
19157 // extensible attributes, see {extattrs:values}.
19158 Ea EA `json:"extattrs"`
19159 19160 // The IPv6 Address of the shared record.
19161 Ipv6Addr *string `json:"ipv6addr,omitempty"`
19162 19163 // Name for this shared record. This value can be in unicode format.
19164 Name *string `json:"name,omitempty"`
19165 19166 // The name of the shared record group in which the record resides.
19167 SharedRecordGroup *string `json:"shared_record_group,omitempty"`
19168 19169 // The Time To Live (TTL) value for this shared record. A 32-bit unsigned
19170 // integer that represents the duration, in seconds, for which the shared
19171 // record is valid (cached). Zero indicates that the shared record should not
19172 // be cached.
19173 Ttl *uint32 `json:"ttl,omitempty"`
19174 19175 // Use flag for: ttl
19176 UseTtl *bool `json:"use_ttl,omitempty"`
19177 }
19178 19179 func (SharedRecordAAAA) ObjectType() string {
19180 return "sharedrecord:aaaa"
19181 }
19182 19183 func (obj SharedRecordAAAA) ReturnFields() []string {
19184 if obj.returnFields == nil {
19185 obj.returnFields = []string{"ipv6addr", "name", "shared_record_group"}
19186 }
19187 return obj.returnFields
19188 }
19189 19190 // SharedrecordCname represents Infoblox object sharedrecord:cname.
19191 // A shared CNAME (canonical name) record is similar to a regular CNAME record.
19192 // The difference is that a shared CNAME record should be added to a shared
19193 // record group. If the shared record group is associated with other zones, the
19194 // shared CNAME record is shared among these zones.
19195 type SharedrecordCname struct {
19196 IBBase `json:"-"`
19197 19198 Ref string `json:"_ref,omitempty"`
19199 19200 // Canonical name in FQDN format. This value can be in unicode format.
19201 Canonical *string `json:"canonical,omitempty"`
19202 19203 // Comment for this shared record; maximum 256 characters.
19204 Comment *string `json:"comment,omitempty"`
19205 19206 // Determines if this shared record is disabled or not. False means that the
19207 // record is enabled.
19208 Disable *bool `json:"disable,omitempty"`
19209 19210 // Canonical name in punycode format.
19211 DnsCanonical string `json:"dns_canonical,omitempty"`
19212 19213 // The name for this shared record in punycode format.
19214 DnsName string `json:"dns_name,omitempty"`
19215 19216 // Extensible attributes associated with the object. For valid values for
19217 // extensible attributes, see {extattrs:values}.
19218 Ea EA `json:"extattrs"`
19219 19220 // Name for this shared record. This value can be in unicode format.
19221 Name *string `json:"name,omitempty"`
19222 19223 // The name of the shared record group in which the record resides.
19224 SharedRecordGroup *string `json:"shared_record_group,omitempty"`
19225 19226 // The Time To Live (TTL) value for this shared record. A 32-bit unsigned
19227 // integer that represents the duration, in seconds, for which the shared
19228 // record is valid (cached). Zero indicates that the shared record should not
19229 // be cached.
19230 Ttl *uint32 `json:"ttl,omitempty"`
19231 19232 // Use flag for: ttl
19233 UseTtl *bool `json:"use_ttl,omitempty"`
19234 }
19235 19236 func (SharedrecordCname) ObjectType() string {
19237 return "sharedrecord:cname"
19238 }
19239 19240 func (obj SharedrecordCname) ReturnFields() []string {
19241 if obj.returnFields == nil {
19242 obj.returnFields = []string{"canonical", "name", "shared_record_group"}
19243 }
19244 return obj.returnFields
19245 }
19246 19247 // SharedRecordMX represents Infoblox object sharedrecord:mx.
19248 // A shared MX (mail exchanger) record is similar to a regular MX record. It
19249 // maps a domain name to a mail exchanger. The difference is that a shared MX
19250 // record should be added to a shared record group. If the shared record group
19251 // is associated with other zones, the shared MX record is shared among these
19252 // zones.
19253 type SharedRecordMX struct {
19254 IBBase `json:"-"`
19255 19256 Ref string `json:"_ref,omitempty"`
19257 19258 // Comment for this shared record; maximum 256 characters.
19259 Comment *string `json:"comment,omitempty"`
19260 19261 // Determines if this shared record is disabled or not. False means that the
19262 // record is enabled.
19263 Disable *bool `json:"disable,omitempty"`
19264 19265 // The name of the mail exchanger in punycode format.
19266 DnsMailExchanger string `json:"dns_mail_exchanger,omitempty"`
19267 19268 // The name for this shared record in punycode format.
19269 DnsName string `json:"dns_name,omitempty"`
19270 19271 // Extensible attributes associated with the object. For valid values for
19272 // extensible attributes, see {extattrs:values}.
19273 Ea EA `json:"extattrs"`
19274 19275 // The name of the mail exchanger in FQDN format. This value can be in unicode
19276 // format.
19277 MailExchanger *string `json:"mail_exchanger,omitempty"`
19278 19279 // Name for this shared record. This value can be in unicode format.
19280 Name *string `json:"name,omitempty"`
19281 19282 // The preference value. Valid values are from 0 to 65535 (inclusive), in
19283 // 32-bit unsigned integer format.
19284 Preference *uint32 `json:"preference,omitempty"`
19285 19286 // The name of the shared record group in which the record resides.
19287 SharedRecordGroup *string `json:"shared_record_group,omitempty"`
19288 19289 // The Time To Live (TTL) value for this shared record. A 32-bit unsigned
19290 // integer that represents the duration, in seconds, for which the shared
19291 // record is valid (cached). Zero indicates that the shared record should not
19292 // be cached.
19293 Ttl *uint32 `json:"ttl,omitempty"`
19294 19295 // Use flag for: ttl
19296 UseTtl *bool `json:"use_ttl,omitempty"`
19297 }
19298 19299 func (SharedRecordMX) ObjectType() string {
19300 return "sharedrecord:mx"
19301 }
19302 19303 func (obj SharedRecordMX) ReturnFields() []string {
19304 if obj.returnFields == nil {
19305 obj.returnFields = []string{"mail_exchanger", "name", "preference", "shared_record_group"}
19306 }
19307 return obj.returnFields
19308 }
19309 19310 // SharedrecordSrv represents Infoblox object sharedrecord:srv.
19311 // A shared SRV (service) record is similar to a regular SRV record. It
19312 // provides information about available services. The difference is that a
19313 // shared SRV record should be added to a shared record group. If the shared
19314 // record group is associated with other zones, the shared SRV record is shared
19315 // among these zones.
19316 type SharedrecordSrv struct {
19317 IBBase `json:"-"`
19318 19319 Ref string `json:"_ref,omitempty"`
19320 19321 // Comment for this shared record; maximum 256 characters.
19322 Comment *string `json:"comment,omitempty"`
19323 19324 // Determines if this shared record is disabled or not. False means that the
19325 // record is enabled.
19326 Disable *bool `json:"disable,omitempty"`
19327 19328 // The name for this shared record in punycode format.
19329 DnsName string `json:"dns_name,omitempty"`
19330 19331 // The name for a shared SRV record in punycode format.
19332 DnsTarget string `json:"dns_target,omitempty"`
19333 19334 // Extensible attributes associated with the object. For valid values for
19335 // extensible attributes, see {extattrs:values}.
19336 Ea EA `json:"extattrs"`
19337 19338 // Name for this shared record. This value can be in unicode format.
19339 Name *string `json:"name,omitempty"`
19340 19341 // The port of the shared SRV record. Valid values are from 0 to 65535
19342 // (inclusive), in 32-bit unsigned integer format.
19343 Port *uint32 `json:"port,omitempty"`
19344 19345 // The priority of the shared SRV record. Valid values are from 0 to 65535
19346 // (inclusive), in 32-bit unsigned integer format.
19347 Priority *uint32 `json:"priority,omitempty"`
19348 19349 // The name of the shared record group in which the record resides.
19350 SharedRecordGroup *string `json:"shared_record_group,omitempty"`
19351 19352 // The target of the shared SRV record in FQDN format. This value can be in
19353 // unicode format.
19354 Target *string `json:"target,omitempty"`
19355 19356 // The Time To Live (TTL) value for this shared record. A 32-bit unsigned
19357 // integer that represents the duration, in seconds, for which the shared
19358 // record is valid (cached). Zero indicates that the shared record should not
19359 // be cached.
19360 Ttl *uint32 `json:"ttl,omitempty"`
19361 19362 // Use flag for: ttl
19363 UseTtl *bool `json:"use_ttl,omitempty"`
19364 19365 // The weight of the shared SRV record. Valid values are from 0 to 65535
19366 // (inclusive), in 32-bit unsigned integer format.
19367 Weight *uint32 `json:"weight,omitempty"`
19368 }
19369 19370 func (SharedrecordSrv) ObjectType() string {
19371 return "sharedrecord:srv"
19372 }
19373 19374 func (obj SharedrecordSrv) ReturnFields() []string {
19375 if obj.returnFields == nil {
19376 obj.returnFields = []string{"name", "port", "priority", "shared_record_group", "target", "weight"}
19377 }
19378 return obj.returnFields
19379 }
19380 19381 // SharedRecordTXT represents Infoblox object sharedrecord:txt.
19382 // A shared TXT (text) record is similar to a regular TXT record. It contains
19383 // supplemental information for a host. SPF (Sender Policy Framework) records
19384 // are specialized TXT records that identify the servers that send mail from a
19385 // domain. The difference is that a shared TXT record should be added to a
19386 // shared record group. If the shared record group is associated with other
19387 // zones, the shared TXT record is shared among these zones.
19388 type SharedRecordTXT struct {
19389 IBBase `json:"-"`
19390 19391 Ref string `json:"_ref,omitempty"`
19392 19393 // Comment for this shared record; maximum 256 characters.
19394 Comment *string `json:"comment,omitempty"`
19395 19396 // Determines if this shared record is disabled or not. False means that the
19397 // record is enabled.
19398 Disable *bool `json:"disable,omitempty"`
19399 19400 // The name for this shared record in punycode format.
19401 DnsName string `json:"dns_name,omitempty"`
19402 19403 // Extensible attributes associated with the object. For valid values for
19404 // extensible attributes, see {extattrs:values}.
19405 Ea EA `json:"extattrs"`
19406 19407 // Name for this shared record. This value can be in unicode format.
19408 Name *string `json:"name,omitempty"`
19409 19410 // The name of the shared record group in which the record resides.
19411 SharedRecordGroup *string `json:"shared_record_group,omitempty"`
19412 19413 // Text associated with the shared record. It can contain up to 255 bytes per
19414 // substring and up a total of 512 bytes. To enter leading, trailing or
19415 // embedded spaces in the text, add quotes (" ") around the text to preserve
19416 // the spaces.
19417 Text *string `json:"text,omitempty"`
19418 19419 // The Time To Live (TTL) value for this shared record. A 32-bit unsigned
19420 // integer that represents the duration, in seconds, for which the shared
19421 // record is valid (cached). Zero indicates that the shared record should not
19422 // be cached.
19423 Ttl *uint32 `json:"ttl,omitempty"`
19424 19425 // Use flag for: ttl
19426 UseTtl *bool `json:"use_ttl,omitempty"`
19427 }
19428 19429 func (SharedRecordTXT) ObjectType() string {
19430 return "sharedrecord:txt"
19431 }
19432 19433 func (obj SharedRecordTXT) ReturnFields() []string {
19434 if obj.returnFields == nil {
19435 obj.returnFields = []string{"name", "shared_record_group", "text"}
19436 }
19437 return obj.returnFields
19438 }
19439 19440 // Sharedrecordgroup represents Infoblox object sharedrecordgroup.
19441 // A shared record group (SRG) is created to contain DNS shared records and
19442 // share them between different zones. For example, if a group of DNS records
19443 // needs to be in three different zones, you can include the records in a
19444 // shared record group and assign the group to the three zones. For more
19445 // information about shared record groups and shared records, please refer to
19446 // Infoblox Administrator Guide.
19447 type Sharedrecordgroup struct {
19448 IBBase `json:"-"`
19449 19450 Ref string `json:"_ref,omitempty"`
19451 19452 // The descriptive comment of this shared record group.
19453 Comment *string `json:"comment,omitempty"`
19454 19455 // Extensible attributes associated with the object. For valid values for
19456 // extensible attributes, see {extattrs:values}.
19457 Ea EA `json:"extattrs"`
19458 19459 // The name of this shared record group.
19460 Name *string `json:"name,omitempty"`
19461 19462 // The record name policy of this shared record group.
19463 RecordNamePolicy *string `json:"record_name_policy,omitempty"`
19464 19465 // Use flag for: record_name_policy
19466 UseRecordNamePolicy *bool `json:"use_record_name_policy,omitempty"`
19467 19468 // The list of zones associated with this shared record group.
19469 ZoneAssociations []string `json:"zone_associations,omitempty"`
19470 }
19471 19472 func (Sharedrecordgroup) ObjectType() string {
19473 return "sharedrecordgroup"
19474 }
19475 19476 func (obj Sharedrecordgroup) ReturnFields() []string {
19477 if obj.returnFields == nil {
19478 obj.returnFields = []string{"comment", "name"}
19479 }
19480 return obj.returnFields
19481 }
19482 19483 // SmartfolderChildren represents Infoblox object smartfolder:children.
19484 // The Smart Folder children object is used to read the objects that are
19485 // associated with either a Smart Folder (global or personal) or a set of
19486 // queries that users can make without saving a Smart Folder object on the
19487 // appliance.
19488 type SmartfolderChildren struct {
19489 IBBase `json:"-"`
19490 19491 Ref string `json:"_ref,omitempty"`
19492 19493 // The object retuned by the Smart Folder query.
19494 Resource string `json:"resource,omitempty"`
19495 19496 // The value returned by the Smart Folder query.
19497 Value *SmartfolderQueryitemvalue `json:"value,omitempty"`
19498 19499 // The type of the returned value.
19500 ValueType string `json:"value_type,omitempty"`
19501 }
19502 19503 func (SmartfolderChildren) ObjectType() string {
19504 return "smartfolder:children"
19505 }
19506 19507 func (obj SmartfolderChildren) ReturnFields() []string {
19508 if obj.returnFields == nil {
19509 obj.returnFields = []string{"resource", "value", "value_type"}
19510 }
19511 return obj.returnFields
19512 }
19513 19514 // SmartfolderGlobal represents Infoblox object smartfolder:global.
19515 // Smart Folders are used to organize your core network services data.
19516 // Depending on your administrative roles and business needs, you can filter
19517 // your data object types, names, extensible attributes and discovered data and
19518 // then place the filtered results in a Smart Folder.
19519 type SmartfolderGlobal struct {
19520 IBBase `json:"-"`
19521 19522 Ref string `json:"_ref,omitempty"`
19523 19524 // The global Smart Folder descriptive comment.
19525 Comment *string `json:"comment,omitempty"`
19526 19527 // Global Smart Folder grouping rules.
19528 GroupBys []*SmartfolderGroupby `json:"group_bys,omitempty"`
19529 19530 // The global Smart Folder name.
19531 Name *string `json:"name,omitempty"`
19532 19533 // The global Smart Folder filter queries.
19534 QueryItems []*SmartfolderQueryitem `json:"query_items,omitempty"`
19535 }
19536 19537 func (SmartfolderGlobal) ObjectType() string {
19538 return "smartfolder:global"
19539 }
19540 19541 func (obj SmartfolderGlobal) ReturnFields() []string {
19542 if obj.returnFields == nil {
19543 obj.returnFields = []string{"comment", "name"}
19544 }
19545 return obj.returnFields
19546 }
19547 19548 // SmartfolderPersonal represents Infoblox object smartfolder:personal.
19549 // Smart Folders are used to organize your core network services data.
19550 // Depending on your administrative roles and business needs, you can filter
19551 // your data object types, names, extensible attributes and discovered data and
19552 // then place the filtered results in a Smart Folder.
19553 type SmartfolderPersonal struct {
19554 IBBase `json:"-"`
19555 19556 Ref string `json:"_ref,omitempty"`
19557 19558 // The personal Smart Folder descriptive comment.
19559 Comment *string `json:"comment,omitempty"`
19560 19561 // The personal Smart Folder groupping rules.
19562 GroupBys []*SmartfolderGroupby `json:"group_bys,omitempty"`
19563 19564 // Determines whether the personal Smart Folder is a shortcut.
19565 IsShortcut bool `json:"is_shortcut,omitempty"`
19566 19567 // The personal Smart Folder name.
19568 Name *string `json:"name,omitempty"`
19569 19570 // The personal Smart Folder filter queries.
19571 QueryItems []*SmartfolderQueryitem `json:"query_items,omitempty"`
19572 }
19573 19574 func (SmartfolderPersonal) ObjectType() string {
19575 return "smartfolder:personal"
19576 }
19577 19578 func (obj SmartfolderPersonal) ReturnFields() []string {
19579 if obj.returnFields == nil {
19580 obj.returnFields = []string{"comment", "is_shortcut", "name"}
19581 }
19582 return obj.returnFields
19583 }
19584 19585 // SNMPUser represents Infoblox object snmpuser.
19586 // This object contains information related to SNMPv3 users.
19587 type SNMPUser struct {
19588 IBBase `json:"-"`
19589 19590 Ref string `json:"_ref,omitempty"`
19591 19592 // Determines an authentication password for the user. This is a write-only
19593 // attribute.
19594 AuthenticationPassword *string `json:"authentication_password,omitempty"`
19595 19596 // The authentication protocol to be used for this user.
19597 AuthenticationProtocol string `json:"authentication_protocol,omitempty"`
19598 19599 // A descriptive comment for the SNMPv3 User.
19600 Comment *string `json:"comment,omitempty"`
19601 19602 // Determines if SNMPv3 user is disabled or not.
19603 Disable *bool `json:"disable,omitempty"`
19604 19605 // Extensible attributes associated with the object. For valid values for
19606 // extensible attributes, see {extattrs:values}.
19607 Ea EA `json:"extattrs"`
19608 19609 // The name of the user.
19610 Name *string `json:"name,omitempty"`
19611 19612 // Determines a password for the privacy protocol.
19613 PrivacyPassword *string `json:"privacy_password,omitempty"`
19614 19615 // The privacy protocol to be used for this user.
19616 PrivacyProtocol string `json:"privacy_protocol,omitempty"`
19617 }
19618 19619 func (SNMPUser) ObjectType() string {
19620 return "snmpuser"
19621 }
19622 19623 func (obj SNMPUser) ReturnFields() []string {
19624 if obj.returnFields == nil {
19625 obj.returnFields = []string{"comment", "name"}
19626 }
19627 return obj.returnFields
19628 }
19629 19630 // Superhost represents Infoblox object superhost.
19631 // The collection of correlated IPAM records which is related to single device.
19632 type Superhost struct {
19633 IBBase `json:"-"`
19634 19635 Ref string `json:"_ref,omitempty"`
19636 19637 // The comment for Super Host.
19638 Comment *string `json:"comment,omitempty"`
19639 19640 // True if we have to delete all DNS/DHCP associated objects with Super Host,
19641 // false by default.
19642 DeleteAssociatedObjects *bool `json:"delete_associated_objects,omitempty"`
19643 19644 // A list of DHCP objects refs which are associated with Super Host.
19645 DhcpAssociatedObjects []*Ipv4FixedAddress `json:"dhcp_associated_objects,omitempty"`
19646 19647 // Disable all DNS/DHCP associated objects with Super Host if True, False by
19648 // default.
19649 Disabled *bool `json:"disabled,omitempty"`
19650 19651 // A list of object refs of the DNS resource records which are associated with
19652 // Super Host.
19653 DnsAssociatedObjects []*RecordA `json:"dns_associated_objects,omitempty"`
19654 19655 // Extensible attributes associated with the object. For valid values for
19656 // extensible attributes, see {extattrs:values}.
19657 Ea EA `json:"extattrs"`
19658 19659 // Name of the Superhost.
19660 Name *string `json:"name,omitempty"`
19661 }
19662 19663 func (Superhost) ObjectType() string {
19664 return "superhost"
19665 }
19666 19667 func (obj Superhost) ReturnFields() []string {
19668 if obj.returnFields == nil {
19669 obj.returnFields = []string{"comment", "name"}
19670 }
19671 return obj.returnFields
19672 }
19673 19674 // Superhostchild represents Infoblox object superhostchild.
19675 // The superhostchild object is a read-only synthetic object used to retrieve
19676 // records assigned to superhost.
19677 type Superhostchild struct {
19678 IBBase `json:"-"`
19679 19680 Ref string `json:"_ref,omitempty"`
19681 19682 // The record object, if supported by the WAPI. Otherwise, the value is "None".
19683 AssociatedObject string `json:"associated_object,omitempty"`
19684 19685 // The record comment.
19686 Comment string `json:"comment,omitempty"`
19687 19688 // Time at which DNS RR was created.
19689 CreationTimestamp *UnixTime `json:"creation_timestamp,omitempty"`
19690 19691 // Specific data of DNS/DHCP records.
19692 Data string `json:"data,omitempty"`
19693 19694 // True if the child DNS/DHCP object is disabled.
19695 Disabled bool `json:"disabled,omitempty"`
19696 19697 // Name of the associated DNS/DHCP object.
19698 Name string `json:"name,omitempty"`
19699 19700 // The name of the network view in which this network record resides.
19701 NetworkView string `json:"network_view,omitempty"`
19702 19703 // Name of the Super Host object in which record resides.
19704 Parent string `json:"parent,omitempty"`
19705 19706 // Name of a parent zone/network.
19707 RecordParent string `json:"record_parent,omitempty"`
19708 19709 // The record type. When searching for an unspecified record type, the search
19710 // is performed for all records.
19711 Type string `json:"type,omitempty"`
19712 19713 // Name of the DNS View in which the record resides.
19714 View string `json:"view,omitempty"`
19715 }
19716 19717 func (Superhostchild) ObjectType() string {
19718 return "superhostchild"
19719 }
19720 19721 func (obj Superhostchild) ReturnFields() []string {
19722 if obj.returnFields == nil {
19723 obj.returnFields = []string{"comment", "data", "name", "network_view", "parent", "record_parent", "type", "view"}
19724 }
19725 return obj.returnFields
19726 }
19727 19728 // SyslogEndpoint represents Infoblox object syslog:endpoint.
19729 // The name part of the syslog:endpoint object reference has the following
19730 // components:
19731 type SyslogEndpoint struct {
19732 IBBase `json:"-"`
19733 19734 Ref string `json:"_ref,omitempty"`
19735 19736 // Extensible attributes associated with the object. For valid values for
19737 // extensible attributes, see {extattrs:values}.
19738 Ea EA `json:"extattrs"`
19739 19740 // The log level for a notification REST endpoint.
19741 LogLevel string `json:"log_level,omitempty"`
19742 19743 // The name of a Syslog endpoint.
19744 Name *string `json:"name,omitempty"`
19745 19746 // The outbound member that will generate events.
19747 OutboundMemberType string `json:"outbound_member_type,omitempty"`
19748 19749 // The list of members for outbound events.
19750 OutboundMembers []string `json:"outbound_members,omitempty"`
19751 19752 // List of syslog servers
19753 SyslogServers []*SyslogEndpointServers `json:"syslog_servers,omitempty"`
19754 19755 // The Syslog template instance. You cannot change the parameters of the Syslog
19756 // endpoint template instance.
19757 TemplateInstance *NotificationRestTemplateinstance `json:"template_instance,omitempty"`
19758 19759 // The timeout of session management (in seconds).
19760 Timeout *uint32 `json:"timeout,omitempty"`
19761 19762 // The vendor identifier.
19763 VendorIdentifier *string `json:"vendor_identifier,omitempty"`
19764 19765 // The user name for WAPI integration.
19766 WapiUserName *string `json:"wapi_user_name,omitempty"`
19767 19768 // The user password for WAPI integration.
19769 WapiUserPassword *string `json:"wapi_user_password,omitempty"`
19770 }
19771 19772 func (SyslogEndpoint) ObjectType() string {
19773 return "syslog:endpoint"
19774 }
19775 19776 func (obj SyslogEndpoint) ReturnFields() []string {
19777 if obj.returnFields == nil {
19778 obj.returnFields = []string{"name", "outbound_member_type"}
19779 }
19780 return obj.returnFields
19781 }
19782 19783 // TacacsplusAuthservice represents Infoblox object tacacsplus:authservice.
19784 // This object is used to supply configuration for TACACS+ authentication
19785 // service.
19786 type TacacsplusAuthservice struct {
19787 IBBase `json:"-"`
19788 19789 Ref string `json:"_ref,omitempty"`
19790 19791 // The number of the accounting retries before giving up and moving on to the
19792 // next server.
19793 AcctRetries *uint32 `json:"acct_retries,omitempty"`
19794 19795 // The accounting retry period in milliseconds.
19796 AcctTimeout *uint32 `json:"acct_timeout,omitempty"`
19797 19798 // The number of the authentication/authorization retries before giving up and
19799 // moving on to the next server.
19800 AuthRetries *uint32 `json:"auth_retries,omitempty"`
19801 19802 // The authentication/authorization timeout period in milliseconds.
19803 AuthTimeout *uint32 `json:"auth_timeout,omitempty"`
19804 19805 // The TACACS+ authentication service descriptive comment.
19806 Comment *string `json:"comment,omitempty"`
19807 19808 // Determines whether the TACACS+ authentication service object is disabled.
19809 Disable *bool `json:"disable,omitempty"`
19810 19811 // The TACACS+ authentication service name.
19812 Name *string `json:"name,omitempty"`
19813 19814 // The list of the TACACS+ servers used for authentication.
19815 Servers []*TacacsplusServer `json:"servers,omitempty"`
19816 }
19817 19818 func (TacacsplusAuthservice) ObjectType() string {
19819 return "tacacsplus:authservice"
19820 }
19821 19822 func (obj TacacsplusAuthservice) ReturnFields() []string {
19823 if obj.returnFields == nil {
19824 obj.returnFields = []string{"comment", "disable", "name"}
19825 }
19826 return obj.returnFields
19827 }
19828 19829 // Taxii represents Infoblox object taxii.
19830 // The Taxii Member object provides information about Taxii service
19831 // configuration such as the start/stop flag and RPZ (Response Policy Zone)
19832 // configuration.
19833 type Taxii struct {
19834 IBBase `json:"-"`
19835 19836 Ref string `json:"_ref,omitempty"`
19837 19838 // Indicates whether the Taxii service is running on the given member or not.
19839 EnableService *bool `json:"enable_service,omitempty"`
19840 19841 // The IPv4 Address of the Grid member.
19842 Ipv4Addr string `json:"ipv4addr,omitempty"`
19843 19844 // The IPv6 Address of the Grid member.
19845 Ipv6Addr string `json:"ipv6addr,omitempty"`
19846 19847 // The name of the Taxii Member.
19848 Name string `json:"name,omitempty"`
19849 19850 // Taxii service RPZ configuration list.
19851 TaxiiRpzConfig []*TaxiiRpzconfig `json:"taxii_rpz_config,omitempty"`
19852 }
19853 19854 func (Taxii) ObjectType() string {
19855 return "taxii"
19856 }
19857 19858 func (obj Taxii) ReturnFields() []string {
19859 if obj.returnFields == nil {
19860 obj.returnFields = []string{"ipv4addr", "ipv6addr", "name"}
19861 }
19862 return obj.returnFields
19863 }
19864 19865 // Tftpfiledir represents Infoblox object tftpfiledir.
19866 // The TFTP file/directory object provides facilities for creating a directory
19867 // structure for file distribution, modifying the directory name and
19868 // permission, creating virtual TFTP root directories, and browsing the
19869 // contents of the directories.
19870 type Tftpfiledir struct {
19871 IBBase `json:"-"`
19872 19873 Ref string `json:"_ref,omitempty"`
19874 19875 // The path to the directory that contains file or subdirectory.
19876 Directory string `json:"directory,omitempty"`
19877 19878 // Determines whether the TFTP entity is synchronized to Grid Master.
19879 IsSyncedToGm bool `json:"is_synced_to_gm,omitempty"`
19880 19881 // The time when the file or directory was last modified.
19882 LastModify *UnixTime `json:"last_modify,omitempty"`
19883 19884 // The TFTP directory or file name.
19885 Name *string `json:"name,omitempty"`
19886 19887 // The type of TFTP file system entity (directory or file).
19888 Type string `json:"type,omitempty"`
19889 19890 // The replication members with TFTP client addresses where this virtual folder
19891 // is applicable.
19892 VtftpDirMembers []*Vtftpdirmember `json:"vtftp_dir_members,omitempty"`
19893 }
19894 19895 func (Tftpfiledir) ObjectType() string {
19896 return "tftpfiledir"
19897 }
19898 19899 func (obj Tftpfiledir) ReturnFields() []string {
19900 if obj.returnFields == nil {
19901 obj.returnFields = []string{"directory", "name", "type"}
19902 }
19903 return obj.returnFields
19904 }
19905 19906 // ThreatanalyticsAnalyticsWhitelist represents Infoblox object threatanalytics:analytics_whitelist.
19907 // The threat analytics whitelist object contains trusted domains on which NIOS
19908 // allows DNS traffic.
19909 type ThreatanalyticsAnalyticsWhitelist struct {
19910 IBBase `json:"-"`
19911 19912 Ref string `json:"_ref,omitempty"`
19913 19914 // Whitelist version string.
19915 Version string `json:"version,omitempty"`
19916 }
19917 19918 func (ThreatanalyticsAnalyticsWhitelist) ObjectType() string {
19919 return "threatanalytics:analytics_whitelist"
19920 }
19921 19922 func (obj ThreatanalyticsAnalyticsWhitelist) ReturnFields() []string {
19923 if obj.returnFields == nil {
19924 obj.returnFields = []string{"version"}
19925 }
19926 return obj.returnFields
19927 }
19928 19929 // ThreatanalyticsModuleset represents Infoblox object threatanalytics:moduleset.
19930 // The threat analytics module set represents the installation or update of
19931 // module information.
19932 type ThreatanalyticsModuleset struct {
19933 IBBase `json:"-"`
19934 19935 Ref string `json:"_ref,omitempty"`
19936 19937 // The version number of the threat analytics module set.
19938 Version string `json:"version,omitempty"`
19939 }
19940 19941 func (ThreatanalyticsModuleset) ObjectType() string {
19942 return "threatanalytics:moduleset"
19943 }
19944 19945 func (obj ThreatanalyticsModuleset) ReturnFields() []string {
19946 if obj.returnFields == nil {
19947 obj.returnFields = []string{"version"}
19948 }
19949 return obj.returnFields
19950 }
19951 19952 // ThreatanalyticsWhitelist represents Infoblox object threatanalytics:whitelist.
19953 // The threat analytics whitelist object contains trusted domains on which NIOS
19954 // allows DNS traffic.
19955 type ThreatanalyticsWhitelist struct {
19956 IBBase `json:"-"`
19957 19958 Ref string `json:"_ref,omitempty"`
19959 19960 // The descriptive comment for the threat analytics whitelist.
19961 Comment *string `json:"comment,omitempty"`
19962 19963 // Determines whether the threat analytics whitelist is disabled.
19964 Disable *bool `json:"disable,omitempty"`
19965 19966 // The FQDN of the threat analytics whitelist.
19967 Fqdn *string `json:"fqdn,omitempty"`
19968 19969 // The type of the threat analytics whitelist.
19970 Type string `json:"type,omitempty"`
19971 }
19972 19973 func (ThreatanalyticsWhitelist) ObjectType() string {
19974 return "threatanalytics:whitelist"
19975 }
19976 19977 func (obj ThreatanalyticsWhitelist) ReturnFields() []string {
19978 if obj.returnFields == nil {
19979 obj.returnFields = []string{"comment", "disable", "fqdn"}
19980 }
19981 return obj.returnFields
19982 }
19983 19984 // ThreatinsightCloudclient represents Infoblox object threatinsight:cloudclient.
19985 // You can use the Threat Insight Cloud Client object to configure the
19986 // detection and authentication of domains in the Cloud, and then apply them to
19987 // on-premises DNS firewall RPZ zones within a configurable time frame.
19988 type ThreatinsightCloudclient struct {
19989 IBBase `json:"-"`
19990 19991 Ref string `json:"_ref,omitempty"`
19992 19993 // The RPZs to which you apply newly detected domains through the Infoblox
19994 // Threat Insight Cloud Client.
19995 BlacklistRpzList []*ZoneRp `json:"blacklist_rpz_list,omitempty"`
19996 19997 // Determines whether the Threat Insight in Cloud Client is enabled.
19998 Enable *bool `json:"enable,omitempty"`
19999 20000 // Force a refresh if at least one RPZ is configured.
20001 ForceRefresh *bool `json:"force_refresh,omitempty"`
20002 20003 // The time interval (in seconds) for requesting newly detected domains by the
20004 // Infoblox Threat Insight Cloud Client and applying them to the list of
20005 // configured RPZs.
20006 Interval *uint32 `json:"interval,omitempty"`
20007 }
20008 20009 func (ThreatinsightCloudclient) ObjectType() string {
20010 return "threatinsight:cloudclient"
20011 }
20012 20013 func (obj ThreatinsightCloudclient) ReturnFields() []string {
20014 if obj.returnFields == nil {
20015 obj.returnFields = []string{"enable", "interval"}
20016 }
20017 return obj.returnFields
20018 }
20019 20020 // ThreatprotectionGridRule represents Infoblox object threatprotection:grid:rule.
20021 // This object provides information about the threat protection custom rule
20022 // settings.
20023 type ThreatprotectionGridRule struct {
20024 IBBase `json:"-"`
20025 20026 Ref string `json:"_ref,omitempty"`
20027 20028 // The list of allowed actions of the custom rule.
20029 AllowedActions []string `json:"allowed_actions,omitempty"`
20030 20031 // The rule category the custom rule assigned to.
20032 Category string `json:"category,omitempty"`
20033 20034 // The human readable comment for the custom rule.
20035 Comment *string `json:"comment,omitempty"`
20036 20037 // The rule config of the template.
20038 Config *ThreatprotectionRuleconfig `json:"config,omitempty"`
20039 20040 // The description of the custom rule.
20041 Description string `json:"description,omitempty"`
20042 20043 // Determines if the custom rule is disabled.
20044 Disabled *bool `json:"disabled,omitempty"`
20045 20046 // Determines if factory reset is enabled for the custom rule.
20047 IsFactoryResetEnabled bool `json:"is_factory_reset_enabled,omitempty"`
20048 20049 // The name of the rule custom rule concatenated with its rule config
20050 // parameters.
20051 Name string `json:"name,omitempty"`
20052 20053 // The version of the ruleset the custom rule assigned to.
20054 Ruleset string `json:"ruleset,omitempty"`
20055 20056 // The Rule ID.
20057 Sid uint32 `json:"sid,omitempty"`
20058 20059 // The threat protection rule template used to create this rule.
20060 Template *string `json:"template,omitempty"`
20061 20062 // The type of the custom rule.
20063 Type string `json:"type,omitempty"`
20064 }
20065 20066 func (ThreatprotectionGridRule) ObjectType() string {
20067 return "threatprotection:grid:rule"
20068 }
20069 20070 func (obj ThreatprotectionGridRule) ReturnFields() []string {
20071 if obj.returnFields == nil {
20072 obj.returnFields = []string{"name", "ruleset", "sid"}
20073 }
20074 return obj.returnFields
20075 }
20076 20077 // ThreatprotectionProfile represents Infoblox object threatprotection:profile.
20078 // The Threat Protection profile object facilitates configuring groups of
20079 // Threat Protection members that have similar traffic properties. A member can
20080 // be either associated with a Threat Protection profile or inherit the ruleset
20081 // from the Grid or override the ruleset individually at the member level.
20082 type ThreatprotectionProfile struct {
20083 IBBase `json:"-"`
20084 20085 Ref string `json:"_ref,omitempty"`
20086 20087 // The comment for the Threat Protection profile.
20088 Comment *string `json:"comment,omitempty"`
20089 20090 // The current Threat Protection profile ruleset.
20091 CurrentRuleset *string `json:"current_ruleset,omitempty"`
20092 20093 // Determines if multiple BIND responses via TCP connection are disabled.
20094 DisableMultipleDnsTcpRequest *bool `json:"disable_multiple_dns_tcp_request,omitempty"`
20095 20096 // The number of events logged per second per rule.
20097 EventsPerSecondPerRule *uint32 `json:"events_per_second_per_rule,omitempty"`
20098 20099 // Extensible attributes associated with the object. For valid values for
20100 // extensible attributes, see {extattrs:values}.
20101 Ea EA `json:"extattrs"`
20102 20103 // The list of members that are associated with the profile.
20104 Members []string `json:"members,omitempty"`
20105 20106 // The name of the Threat Protection profile.
20107 Name *string `json:"name,omitempty"`
20108 20109 // The source member. It can be used only during the create operation for
20110 // cloning a profile from an existing member.
20111 SourceMember string `json:"source_member,omitempty"`
20112 20113 // The source profile. It can be used only during the create operation for
20114 // cloning a profile from an existing profile.
20115 SourceProfile string `json:"source_profile,omitempty"`
20116 20117 // Use flag for: current_ruleset
20118 UseCurrentRuleset *bool `json:"use_current_ruleset,omitempty"`
20119 20120 // Use flag for: disable_multiple_dns_tcp_request
20121 UseDisableMultipleDnsTcpRequest *bool `json:"use_disable_multiple_dns_tcp_request,omitempty"`
20122 20123 // Use flag for: events_per_second_per_rule
20124 UseEventsPerSecondPerRule *bool `json:"use_events_per_second_per_rule,omitempty"`
20125 }
20126 20127 func (ThreatprotectionProfile) ObjectType() string {
20128 return "threatprotection:profile"
20129 }
20130 20131 func (obj ThreatprotectionProfile) ReturnFields() []string {
20132 if obj.returnFields == nil {
20133 obj.returnFields = []string{"comment", "name"}
20134 }
20135 return obj.returnFields
20136 }
20137 20138 // ThreatprotectionProfileRule represents Infoblox object threatprotection:profile:rule.
20139 // This object provides information about the Threat protection profile rule
20140 // settings.
20141 type ThreatprotectionProfileRule struct {
20142 IBBase `json:"-"`
20143 20144 Ref string `json:"_ref,omitempty"`
20145 20146 // The threat protection rule configuration.
20147 Config *ThreatprotectionRuleconfig `json:"config,omitempty"`
20148 20149 // Determines if the rule is enabled or not for the profile.
20150 Disable *bool `json:"disable,omitempty"`
20151 20152 // The name of the Threat protection profile.
20153 Profile string `json:"profile,omitempty"`
20154 20155 // The rule object name.
20156 Rule string `json:"rule,omitempty"`
20157 20158 // The snort rule ID.
20159 Sid uint32 `json:"sid,omitempty"`
20160 20161 // Use flag for: config
20162 UseConfig *bool `json:"use_config,omitempty"`
20163 20164 // Use flag for: disable
20165 UseDisable *bool `json:"use_disable,omitempty"`
20166 }
20167 20168 func (ThreatprotectionProfileRule) ObjectType() string {
20169 return "threatprotection:profile:rule"
20170 }
20171 20172 func (obj ThreatprotectionProfileRule) ReturnFields() []string {
20173 if obj.returnFields == nil {
20174 obj.returnFields = []string{"profile", "rule"}
20175 }
20176 return obj.returnFields
20177 }
20178 20179 // ThreatprotectionRule represents Infoblox object threatprotection:rule.
20180 // This object provides information about the member Threat protection rule
20181 // settings.
20182 type ThreatprotectionRule struct {
20183 IBBase `json:"-"`
20184 20185 Ref string `json:"_ref,omitempty"`
20186 20187 // The threat protection rule configuration.
20188 Config *ThreatprotectionRuleconfig `json:"config,omitempty"`
20189 20190 // Determines if the rule is enabled or not for the member.
20191 Disable *bool `json:"disable,omitempty"`
20192 20193 // The name of the Threat protection member.
20194 Member string `json:"member,omitempty"`
20195 20196 // The rule object name.
20197 Rule string `json:"rule,omitempty"`
20198 20199 // The Rule ID.
20200 Sid uint32 `json:"sid,omitempty"`
20201 20202 // Use flag for: config
20203 UseConfig *bool `json:"use_config,omitempty"`
20204 20205 // Use flag for: disable
20206 UseDisable *bool `json:"use_disable,omitempty"`
20207 }
20208 20209 func (ThreatprotectionRule) ObjectType() string {
20210 return "threatprotection:rule"
20211 }
20212 20213 func (obj ThreatprotectionRule) ReturnFields() []string {
20214 if obj.returnFields == nil {
20215 obj.returnFields = []string{"member", "rule"}
20216 }
20217 return obj.returnFields
20218 }
20219 20220 // ThreatprotectionRulecategory represents Infoblox object threatprotection:rulecategory.
20221 // This object provides information about the threat protection rule category
20222 // settings.
20223 type ThreatprotectionRulecategory struct {
20224 IBBase `json:"-"`
20225 20226 Ref string `json:"_ref,omitempty"`
20227 20228 // Determines if factory reset is enabled for this rule category.
20229 IsFactoryResetEnabled bool `json:"is_factory_reset_enabled,omitempty"`
20230 20231 // The name of the rule category.
20232 Name string `json:"name,omitempty"`
20233 20234 // The version of the ruleset the category assigned to.
20235 Ruleset string `json:"ruleset,omitempty"`
20236 }
20237 20238 func (ThreatprotectionRulecategory) ObjectType() string {
20239 return "threatprotection:rulecategory"
20240 }
20241 20242 func (obj ThreatprotectionRulecategory) ReturnFields() []string {
20243 if obj.returnFields == nil {
20244 obj.returnFields = []string{"name", "ruleset"}
20245 }
20246 return obj.returnFields
20247 }
20248 20249 // ThreatprotectionRuleset represents Infoblox object threatprotection:ruleset.
20250 // This object represent the Grid protection ruleset information.
20251 type ThreatprotectionRuleset struct {
20252 IBBase `json:"-"`
20253 20254 Ref string `json:"_ref,omitempty"`
20255 20256 // Determines the way the ruleset was added.
20257 AddType string `json:"add_type,omitempty"`
20258 20259 // The time when the ruleset was added.
20260 AddedTime *UnixTime `json:"added_time,omitempty"`
20261 20262 // The human readable comment for the ruleset.
20263 Comment *string `json:"comment,omitempty"`
20264 20265 // Determines if the ruleset will not be deleted during upgrade.
20266 DoNotDelete *bool `json:"do_not_delete,omitempty"`
20267 20268 // Determines if factory reset is enabled for this ruleset.
20269 IsFactoryResetEnabled bool `json:"is_factory_reset_enabled,omitempty"`
20270 20271 // The users of the ruleset.
20272 UsedBy []string `json:"used_by,omitempty"`
20273 20274 // The ruleset version.
20275 Version string `json:"version,omitempty"`
20276 }
20277 20278 func (ThreatprotectionRuleset) ObjectType() string {
20279 return "threatprotection:ruleset"
20280 }
20281 20282 func (obj ThreatprotectionRuleset) ReturnFields() []string {
20283 if obj.returnFields == nil {
20284 obj.returnFields = []string{"add_type", "version"}
20285 }
20286 return obj.returnFields
20287 }
20288 20289 // ThreatprotectionRuletemplate represents Infoblox object threatprotection:ruletemplate.
20290 // This object provides information about the threat protection rule template
20291 // settings.
20292 type ThreatprotectionRuletemplate struct {
20293 IBBase `json:"-"`
20294 20295 Ref string `json:"_ref,omitempty"`
20296 20297 // The list of allowed actions of rhe rule template.
20298 AllowedActions []string `json:"allowed_actions,omitempty"`
20299 20300 // The rule category this template assigned to.
20301 Category string `json:"category,omitempty"`
20302 20303 // The rule config of this template.
20304 DefaultConfig *ThreatprotectionRuleconfig `json:"default_config,omitempty"`
20305 20306 // The description of the rule template.
20307 Description string `json:"description,omitempty"`
20308 20309 // The name of the rule template.
20310 Name string `json:"name,omitempty"`
20311 20312 // The version of the ruleset the template assigned to.
20313 Ruleset string `json:"ruleset,omitempty"`
20314 20315 // The Rule ID.
20316 Sid uint32 `json:"sid,omitempty"`
20317 }
20318 20319 func (ThreatprotectionRuletemplate) ObjectType() string {
20320 return "threatprotection:ruletemplate"
20321 }
20322 20323 func (obj ThreatprotectionRuletemplate) ReturnFields() []string {
20324 if obj.returnFields == nil {
20325 obj.returnFields = []string{"name", "ruleset", "sid"}
20326 }
20327 return obj.returnFields
20328 }
20329 20330 // ThreatprotectionStatistics represents Infoblox object threatprotection:statistics.
20331 // This object provides information about the threat protection statistics.
20332 type ThreatprotectionStatistics struct {
20333 IBBase `json:"-"`
20334 20335 Ref string `json:"_ref,omitempty"`
20336 20337 // The Grid member name to get threat protection statistics. If nothing is
20338 // specified then event statistics is returned for the Grid.
20339 Member string `json:"member,omitempty"`
20340 20341 // The list of event statistical information for the Grid or particular
20342 // members.
20343 StatInfos []*ThreatprotectionStatinfo `json:"stat_infos,omitempty"`
20344 }
20345 20346 func (ThreatprotectionStatistics) ObjectType() string {
20347 return "threatprotection:statistics"
20348 }
20349 20350 func (obj ThreatprotectionStatistics) ReturnFields() []string {
20351 if obj.returnFields == nil {
20352 obj.returnFields = []string{"member", "stat_infos"}
20353 }
20354 return obj.returnFields
20355 }
20356 20357 // Upgradegroup represents Infoblox object upgradegroup.
20358 // To minimize the impact of Grid upgrades on system operations, you can
20359 // organize members into upgrade groups and schedule their software
20360 // distributions. The upgrade group object provides configuration of upgrade
20361 // and software distribution for members included in the upgrade group.
20362 type Upgradegroup struct {
20363 IBBase `json:"-"`
20364 20365 Ref string `json:"_ref,omitempty"`
20366 20367 // The upgrade group descriptive comment.
20368 Comment *string `json:"comment,omitempty"`
20369 20370 // The distribution dependent group name.
20371 DistributionDependentGroup *string `json:"distribution_dependent_group,omitempty"`
20372 20373 // The distribution scheduling policy.
20374 DistributionPolicy string `json:"distribution_policy,omitempty"`
20375 20376 // The time of the next scheduled distribution.
20377 DistributionTime *UnixTime `json:"distribution_time,omitempty"`
20378 20379 // The upgrade group members.
20380 Members []*UpgradegroupMember `json:"members,omitempty"`
20381 20382 // The upgrade group name.
20383 Name *string `json:"name,omitempty"`
20384 20385 // The time zone for scheduling operations.
20386 TimeZone string `json:"time_zone,omitempty"`
20387 20388 // The upgrade dependent group name.
20389 UpgradeDependentGroup *string `json:"upgrade_dependent_group,omitempty"`
20390 20391 // The upgrade scheduling policy.
20392 UpgradePolicy string `json:"upgrade_policy,omitempty"`
20393 20394 // The time of the next scheduled upgrade.
20395 UpgradeTime *UnixTime `json:"upgrade_time,omitempty"`
20396 }
20397 20398 func (Upgradegroup) ObjectType() string {
20399 return "upgradegroup"
20400 }
20401 20402 func (obj Upgradegroup) ReturnFields() []string {
20403 if obj.returnFields == nil {
20404 obj.returnFields = []string{"comment", "name"}
20405 }
20406 return obj.returnFields
20407 }
20408 20409 // Upgradeschedule represents Infoblox object upgradeschedule.
20410 // You can schedule lite and full upgrades for certain NIOS versions. When you
20411 // schedule an upgrade, you schedule the upgrade for the Grid Master and the
20412 // upgrade groups, including the Default group. The Grid Master must always
20413 // upgrade before the upgrade groups.
20414 type Upgradeschedule struct {
20415 IBBase `json:"-"`
20416 20417 Ref string `json:"_ref,omitempty"`
20418 20419 // Determines whether the upgrade schedule is active.
20420 Active *bool `json:"active,omitempty"`
20421 20422 // The start time of the upgrade.
20423 StartTime *UnixTime `json:"start_time,omitempty"`
20424 20425 // The time zone for upgrade start time.
20426 TimeZone string `json:"time_zone,omitempty"`
20427 20428 // The upgrade groups scheduling settings.
20429 UpgradeGroups []*UpgradegroupSchedule `json:"upgrade_groups,omitempty"`
20430 }
20431 20432 func (Upgradeschedule) ObjectType() string {
20433 return "upgradeschedule"
20434 }
20435 20436 func (obj Upgradeschedule) ReturnFields() []string {
20437 if obj.returnFields == nil {
20438 obj.returnFields = []string{"active", "start_time", "time_zone"}
20439 }
20440 return obj.returnFields
20441 }
20442 20443 // UpgradeStatus represents Infoblox object upgradestatus.
20444 // The Upgrade Status object is used to view the upgrade status of Infoblox
20445 // Grid elements.
20446 type UpgradeStatus struct {
20447 IBBase `json:"-"`
20448 20449 Ref string `json:"_ref,omitempty"`
20450 20451 // Determines if distribution is allowed for the Grid.
20452 AllowDistribution bool `json:"allow_distribution,omitempty"`
20453 20454 // Determines if distribution scheduling is allowed.
20455 AllowDistributionScheduling bool `json:"allow_distribution_scheduling,omitempty"`
20456 20457 // Determines if upgrade is allowed for the Grid.
20458 AllowUpgrade bool `json:"allow_upgrade,omitempty"`
20459 20460 // Determines if the Grid is allowed to cancel an upgrade.
20461 AllowUpgradeCancel bool `json:"allow_upgrade_cancel,omitempty"`
20462 20463 // Determines if the Grid is allowed to pause an upgrade.
20464 AllowUpgradePause bool `json:"allow_upgrade_pause,omitempty"`
20465 20466 // Determines if the Grid is allowed to resume an upgrade.
20467 AllowUpgradeResume bool `json:"allow_upgrade_resume,omitempty"`
20468 20469 // Determine if the Grid is allowed to schedule an upgrade.
20470 AllowUpgradeScheduling bool `json:"allow_upgrade_scheduling,omitempty"`
20471 20472 // Determines if the Grid is allowed to test an upgrade.
20473 AllowUpgradeTest bool `json:"allow_upgrade_test,omitempty"`
20474 20475 // Determine if the Grid is allowed to upload a build.
20476 AllowUpload bool `json:"allow_upload,omitempty"`
20477 20478 // The alternative version.
20479 AlternateVersion string `json:"alternate_version,omitempty"`
20480 20481 // Comment in readable format for an upgrade group a or virtual node.
20482 Comment string `json:"comment,omitempty"`
20483 20484 // The current version.
20485 CurrentVersion string `json:"current_version,omitempty"`
20486 20487 // Current version summary for the 'type' requested. This field can be
20488 // requested for the Grid, a certain group that has virtual nodes as
20489 // subelements, or for the overall group status.
20490 CurrentVersionSummary string `json:"current_version_summary,omitempty"`
20491 20492 // Determines if the distribution schedule is active for the Grid.
20493 DistributionScheduleActive bool `json:"distribution_schedule_active,omitempty"`
20494 20495 // The Grid master distribution schedule time.
20496 DistributionScheduleTime *UnixTime `json:"distribution_schedule_time,omitempty"`
20497 20498 // The current state of distribution process.
20499 DistributionState string `json:"distribution_state,omitempty"`
20500 20501 // The version that is distributed.
20502 DistributionVersion string `json:"distribution_version,omitempty"`
20503 20504 // Distribution version summary for the 'type' requested. This field can be
20505 // requested for the Grid, a certain group that has virtual nodes as
20506 // subelements, or for the overall group status.
20507 DistributionVersionSummary string `json:"distribution_version_summary,omitempty"`
20508 20509 // The status of a certain element with regards to the type requested.
20510 ElementStatus string `json:"element_status,omitempty"`
20511 20512 // The state of the Grid.
20513 GridState string `json:"grid_state,omitempty"`
20514 20515 // The state of a group.
20516 GroupState string `json:"group_state,omitempty"`
20517 20518 // Status of the HA pair.
20519 HaStatus string `json:"ha_status,omitempty"`
20520 20521 // The list of hotfixes.
20522 Hotfixes []*Hotfix `json:"hotfixes,omitempty"`
20523 20524 // The IPv4 Address of virtual node or physical one.
20525 Ipv4Address string `json:"ipv4_address,omitempty"`
20526 20527 // The IPv6 Address of virtual node or physical one.
20528 Ipv6Address string `json:"ipv6_address,omitempty"`
20529 20530 // Member that participates in the upgrade process.
20531 Member string `json:"member,omitempty"`
20532 20533 // The Grid message.
20534 Message string `json:"message,omitempty"`
20535 20536 // Status of the physical node in the HA pair.
20537 PnodeRole string `json:"pnode_role,omitempty"`
20538 20539 // Determines if the upgrade process is reverted.
20540 Reverted bool `json:"reverted,omitempty"`
20541 20542 // The status time.
20543 StatusTime *UnixTime `json:"status_time,omitempty"`
20544 20545 // Status of a certain group, virtual node or physical node.
20546 StatusValue string `json:"status_value,omitempty"`
20547 20548 // Timestamp of when the status was updated.
20549 StatusValueUpdateTime *UnixTime `json:"status_value_update_time,omitempty"`
20550 20551 // The list of upgrade process steps.
20552 Steps []*Upgradestep `json:"steps,omitempty"`
20553 20554 // The number of steps done.
20555 StepsCompleted int `json:"steps_completed,omitempty"`
20556 20557 // Total number steps in the upgrade process.
20558 StepsTotal int `json:"steps_total,omitempty"`
20559 20560 // The type of subelements to be requested. If 'type' is 'GROUP', or 'VNODE',
20561 // then 'upgrade_group' or 'member' should have proper values for an operation
20562 // to return data specific for the values passed. Otherwise, overall data is
20563 // returned for every group or physical node.
20564 SubelementType string `json:"subelement_type,omitempty"`
20565 20566 // Number of subelements that have accomplished an upgrade.
20567 SubelementsCompleted int `json:"subelements_completed,omitempty"`
20568 20569 // The upgrade process information of subelements.
20570 SubelementsStatus []*UpgradeStatus `json:"subelements_status,omitempty"`
20571 20572 // Number of subelements number in a certain group, virtual node, or the Grid.
20573 SubelementsTotal int `json:"subelements_total,omitempty"`
20574 20575 // The type of upper level elements to be requested.
20576 Type string `json:"type,omitempty"`
20577 20578 // Upgrade group that participates in the upgrade process.
20579 UpgradeGroup string `json:"upgrade_group,omitempty"`
20580 20581 // Determines if the upgrade schedule is active.
20582 UpgradeScheduleActive bool `json:"upgrade_schedule_active,omitempty"`
20583 20584 // The upgrade state of the Grid.
20585 UpgradeState string `json:"upgrade_state,omitempty"`
20586 20587 // The upgrade test status of the Grid.
20588 UpgradeTestStatus string `json:"upgrade_test_status,omitempty"`
20589 20590 // The version that is uploaded.
20591 UploadVersion string `json:"upload_version,omitempty"`
20592 20593 // Upload version summary for the 'type' requested. This field can be requested
20594 // for the Grid, a certain group that has virtual nodes as subelements, or
20595 // overall group status.
20596 UploadVersionSummary string `json:"upload_version_summary,omitempty"`
20597 }
20598 20599 func (UpgradeStatus) ObjectType() string {
20600 return "upgradestatus"
20601 }
20602 20603 func (obj UpgradeStatus) ReturnFields() []string {
20604 if obj.returnFields == nil {
20605 obj.returnFields = []string{"alternate_version", "comment", "current_version", "distribution_version", "element_status", "grid_state", "group_state", "ha_status", "hotfixes", "ipv4_address", "ipv6_address", "member", "message", "pnode_role", "reverted", "status_value", "status_value_update_time", "steps", "steps_completed", "steps_total", "type", "upgrade_group", "upgrade_state", "upgrade_test_status", "upload_version"}
20606 }
20607 return obj.returnFields
20608 }
20609 20610 func NewUpgradeStatus(upgradeStatus UpgradeStatus) *UpgradeStatus {
20611 result := upgradeStatus
20612 returnFields := []string{"subelements_status", "type"}
20613 result.returnFields = returnFields
20614 return &result
20615 }
20616 20617 // UserProfile represents Infoblox object userprofile.
20618 // The user profile of the admin who has logged in.
20619 type UserProfile struct {
20620 IBBase `json:"-"`
20621 20622 Ref string `json:"_ref,omitempty"`
20623 20624 // Determines the active dashboard type.
20625 ActiveDashboardType string `json:"active_dashboard_type,omitempty"`
20626 20627 // The Admin Group object to which the admin belongs. An admin user can belong
20628 // to only one admin group at a time.
20629 AdminGroup string `json:"admin_group,omitempty"`
20630 20631 // The number of days left before the admin's password expires.
20632 DaysToExpire int `json:"days_to_expire,omitempty"`
20633 20634 // The email address of the admin.
20635 Email *string `json:"email,omitempty"`
20636 20637 // Determines if extensible attribute values will be returned by global search
20638 // or not.
20639 GlobalSearchOnEa *bool `json:"global_search_on_ea,omitempty"`
20640 20641 // Determines if global search will search for network insight devices and
20642 // interfaces or not.
20643 GlobalSearchOnNiData *bool `json:"global_search_on_ni_data,omitempty"`
20644 20645 // List of Admin Group objects that the current user is mapped to.
20646 GridAdminGroups []string `json:"grid_admin_groups,omitempty"`
20647 20648 // The timestamp when the admin last logged in.
20649 LastLogin *UnixTime `json:"last_login,omitempty"`
20650 20651 // Determines how many nodes are displayed at generation levels.
20652 LbTreeNodesAtGenLevel *uint32 `json:"lb_tree_nodes_at_gen_level,omitempty"`
20653 20654 // Determines how many nodes are displayed at the last level.
20655 LbTreeNodesAtLastLevel *uint32 `json:"lb_tree_nodes_at_last_level,omitempty"`
20656 20657 // The maximum count of widgets that can be added to one dashboard.
20658 MaxCountWidgets *uint32 `json:"max_count_widgets,omitempty"`
20659 20660 // The admin name.
20661 Name string `json:"name,omitempty"`
20662 20663 // The current password that will be replaced by a new password. To change a
20664 // password in the database, you must provide both the current and new password
20665 // values. This is a write-only attribute.
20666 OldPassword *string `json:"old_password,omitempty"`
20667 20668 // The new password of the admin. To change a password in the database, you
20669 // must provide both the current and new password values. This is a write-only
20670 // attribute.
20671 Password *string `json:"password,omitempty"`
20672 20673 // The number of lines of data a table or a single list view can contain.
20674 TableSize *uint32 `json:"table_size,omitempty"`
20675 20676 // The time zone of the admin user.
20677 TimeZone string `json:"time_zone,omitempty"`
20678 20679 // Use flag for: time_zone
20680 UseTimeZone *bool `json:"use_time_zone,omitempty"`
20681 20682 // The admin type.
20683 UserType string `json:"user_type,omitempty"`
20684 }
20685 20686 func (UserProfile) ObjectType() string {
20687 return "userprofile"
20688 }
20689 20690 func (obj UserProfile) ReturnFields() []string {
20691 if obj.returnFields == nil {
20692 obj.returnFields = []string{"name"}
20693 }
20694 return obj.returnFields
20695 }
20696 20697 func NewUserProfile(userprofile UserProfile) *UserProfile {
20698 res := userprofile
20699 res.returnFields = []string{"name"}
20700 return &res
20701 }
20702 20703 // Vdiscoverytask represents Infoblox object vdiscoverytask.
20704 // This object represents vDiscovery Task.
20705 type Vdiscoverytask struct {
20706 IBBase `json:"-"`
20707 20708 Ref string `json:"_ref,omitempty"`
20709 20710 // Allow unsecured connection over HTTPS and bypass validation of the remote
20711 // SSL certificate.
20712 AllowUnsecuredConnection *bool `json:"allow_unsecured_connection,omitempty"`
20713 20714 // Whether to insert or update cloud EAs with discovery data.
20715 AutoConsolidateCloudEa *bool `json:"auto_consolidate_cloud_ea,omitempty"`
20716 20717 // Whether to replace managed tenant with discovery tenant data.
20718 AutoConsolidateManagedTenant *bool `json:"auto_consolidate_managed_tenant,omitempty"`
20719 20720 // Whether to replace managed virtual machine with discovery vm data.
20721 AutoConsolidateManagedVm *bool `json:"auto_consolidate_managed_vm,omitempty"`
20722 20723 // Template string used to generate host name.
20724 AutoCreateDnsHostnameTemplate *string `json:"auto_create_dns_hostname_template,omitempty"`
20725 20726 // Control whether to create or update DNS record using discovered data.
20727 AutoCreateDnsRecord *bool `json:"auto_create_dns_record,omitempty"`
20728 20729 // Indicates the type of record to create if the auto create DNS record is
20730 // enabled.
20731 AutoCreateDnsRecordType string `json:"auto_create_dns_record_type,omitempty"`
20732 20733 // Comment on the task.
20734 Comment *string `json:"comment,omitempty"`
20735 20736 // Credentials type used for connecting to the cloud management platform.
20737 CredentialsType string `json:"credentials_type,omitempty"`
20738 20739 // The DNS view name for private IPs.
20740 DnsViewPrivateIp *string `json:"dns_view_private_ip,omitempty"`
20741 20742 // The DNS view name for public IPs.
20743 DnsViewPublicIp *string `json:"dns_view_public_ip,omitempty"`
20744 20745 // The name of the domain to use with keystone v3.
20746 DomainName *string `json:"domain_name,omitempty"`
20747 20748 // Type of discovery driver.
20749 DriverType string `json:"driver_type,omitempty"`
20750 20751 // Whether to enabled the cloud discovery or not.
20752 Enabled *bool `json:"enabled,omitempty"`
20753 20754 // FQDN or IP of the cloud management platform.
20755 FqdnOrIp *string `json:"fqdn_or_ip,omitempty"`
20756 20757 // Identity service version.
20758 IdentityVersion string `json:"identity_version,omitempty"`
20759 20760 // Timestamp of last run.
20761 LastRun *UnixTime `json:"last_run,omitempty"`
20762 20763 // Member on which cloud discovery will be run.
20764 Member *string `json:"member,omitempty"`
20765 20766 // Whether to replace the old data with new or not.
20767 MergeData *bool `json:"merge_data,omitempty"`
20768 20769 // Name of this cloud discovery task. Uniquely identify a task.
20770 Name *string `json:"name,omitempty"`
20771 20772 // Password used for connecting to the cloud management platform.
20773 Password *string `json:"password,omitempty"`
20774 20775 // Connection port used for connecting to the cloud management platform.
20776 Port *uint32 `json:"port,omitempty"`
20777 20778 // Network view for private IPs.
20779 PrivateNetworkView *string `json:"private_network_view,omitempty"`
20780 20781 // Mapping policy for the network view for private IPs in discovery data.
20782 PrivateNetworkViewMappingPolicy string `json:"private_network_view_mapping_policy,omitempty"`
20783 20784 // Connection protocol used for connecting to the cloud management platform.
20785 Protocol string `json:"protocol,omitempty"`
20786 20787 // Network view for public IPs.
20788 PublicNetworkView *string `json:"public_network_view,omitempty"`
20789 20790 // Mapping policy for the network view for public IPs in discovery data.
20791 PublicNetworkViewMappingPolicy string `json:"public_network_view_mapping_policy,omitempty"`
20792 20793 // Schedule setting for cloud discovery task.
20794 ScheduledRun *SettingSchedule `json:"scheduled_run,omitempty"`
20795 20796 // The service_account_file for GCP.
20797 ServiceAccountFile *string `json:"service_account_file,omitempty"`
20798 20799 // Current state of this task.
20800 State string `json:"state,omitempty"`
20801 20802 // State message of the complete discovery process.
20803 StateMsg string `json:"state_msg,omitempty"`
20804 20805 // If set to true, the appliance uses a specific DNS view for private IPs.
20806 UpdateDnsViewPrivateIp *bool `json:"update_dns_view_private_ip,omitempty"`
20807 20808 // If set to true, the appliance uses a specific DNS view for public IPs.
20809 UpdateDnsViewPublicIp *bool `json:"update_dns_view_public_ip,omitempty"`
20810 20811 // Whether to update metadata as a result of this network discovery.
20812 UpdateMetadata *bool `json:"update_metadata,omitempty"`
20813 20814 // If set true, all keystone connection will use "/identity" endpoint and port
20815 // value will be ignored.
20816 UseIdentity *bool `json:"use_identity,omitempty"`
20817 20818 // Username used for connecting to the cloud management platform.
20819 Username *string `json:"username,omitempty"`
20820 }
20821 20822 func (Vdiscoverytask) ObjectType() string {
20823 return "vdiscoverytask"
20824 }
20825 20826 func (obj Vdiscoverytask) ReturnFields() []string {
20827 if obj.returnFields == nil {
20828 obj.returnFields = []string{"name", "state"}
20829 }
20830 return obj.returnFields
20831 }
20832 20833 // View represents Infoblox object view.
20834 // DNS views provide the ability to serve one version of DNS data to one set of
20835 // clients and another version to another set of clients. With DNS views, the
20836 // appliance can provide a different answer to the same query, depending on the
20837 // source of the query.
20838 type View struct {
20839 IBBase `json:"-"`
20840 20841 Ref string `json:"_ref,omitempty"`
20842 20843 // The action to perform when a domain name matches the pattern defined in a
20844 // rule that is specified by the blacklist_ruleset method. Valid values are
20845 // "REDIRECT" or "REFUSE". The default value is "REFUSE".
20846 BlacklistAction string `json:"blacklist_action,omitempty"`
20847 20848 // The flag that indicates whether blacklist redirection queries are logged.
20849 // Specify "true" to enable logging, or "false" to disable it. The default
20850 // value is "false".
20851 BlacklistLogQuery *bool `json:"blacklist_log_query,omitempty"`
20852 20853 // The array of IP addresses the appliance includes in the response it sends in
20854 // place of a blacklisted IP address.
20855 BlacklistRedirectAddresses []string `json:"blacklist_redirect_addresses,omitempty"`
20856 20857 // The Time To Live (TTL) value of the synthetic DNS responses resulted from
20858 // blacklist redirection. The TTL value is a 32-bit unsigned integer that
20859 // represents the TTL in seconds.
20860 BlacklistRedirectTtl *uint32 `json:"blacklist_redirect_ttl,omitempty"`
20861 20862 // The name of the Ruleset object assigned at the Grid level for blacklist
20863 // redirection.
20864 BlacklistRulesets []string `json:"blacklist_rulesets,omitempty"`
20865 20866 // Structure containing all cloud API related information for this object.
20867 CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`
20868 20869 // Comment for the DNS view; maximum 64 characters.
20870 Comment *string `json:"comment,omitempty"`
20871 20872 // The list of customized root name servers. You can either select and use
20873 // Internet root name servers or specify custom root name servers by providing
20874 // a host name and IP address to which the Infoblox appliance can send queries.
20875 // Include the specified parameter to set the attribute value. Omit the
20876 // parameter to retrieve the attribute value.
20877 CustomRootNameServers []NameServer `json:"custom_root_name_servers,omitempty"`
20878 20879 // Defines whether creation timestamp of RR should be updated ' when DDNS
20880 // update happens even if there is no change to ' the RR.
20881 DdnsForceCreationTimestampUpdate *bool `json:"ddns_force_creation_timestamp_update,omitempty"`
20882 20883 // The DDNS Principal cluster group name.
20884 DdnsPrincipalGroup *string `json:"ddns_principal_group,omitempty"`
20885 20886 // The flag that indicates whether the DDNS principal track is enabled or
20887 // disabled.
20888 DdnsPrincipalTracking *bool `json:"ddns_principal_tracking,omitempty"`
20889 20890 // The flag that indicates whether an option to restrict DDNS update request
20891 // based on FQDN patterns is enabled or disabled.
20892 DdnsRestrictPatterns *bool `json:"ddns_restrict_patterns,omitempty"`
20893 20894 // The unordered list of restriction patterns for an option of to restrict DDNS
20895 // updates based on FQDN patterns.
20896 DdnsRestrictPatternsList []string `json:"ddns_restrict_patterns_list,omitempty"`
20897 20898 // The flag that indicates whether an option to restrict DDNS update request to
20899 // protected resource records is enabled or disabled.
20900 DdnsRestrictProtected *bool `json:"ddns_restrict_protected,omitempty"`
20901 20902 // The flag that indicates whether DDNS update request for principal other than
20903 // target resource record's principal is restricted.
20904 DdnsRestrictSecure *bool `json:"ddns_restrict_secure,omitempty"`
20905 20906 // The flag that indicates whether an option to restrict DDNS update request to
20907 // resource records which are marked as 'STATIC' is enabled or disabled.
20908 DdnsRestrictStatic *bool `json:"ddns_restrict_static,omitempty"`
20909 20910 // Determines if the DNS view is disabled or not. When this is set to False,
20911 // the DNS view is enabled.
20912 Disable *bool `json:"disable,omitempty"`
20913 20914 // Determines if the DNS64 s enabled or not.
20915 Dns64Enabled *bool `json:"dns64_enabled,omitempty"`
20916 20917 // The list of DNS64 synthesis groups associated with this DNS view.
20918 Dns64Groups []string `json:"dns64_groups,omitempty"`
20919 20920 // Determines if the DNS security extension is enabled or not.
20921 DnssecEnabled *bool `json:"dnssec_enabled,omitempty"`
20922 20923 // Determines if the DNS security extension accepts expired signatures or not.
20924 DnssecExpiredSignaturesEnabled *bool `json:"dnssec_expired_signatures_enabled,omitempty"`
20925 20926 // A list of zones for which the server does not perform DNSSEC validation.
20927 DnssecNegativeTrustAnchors []string `json:"dnssec_negative_trust_anchors,omitempty"`
20928 20929 // The list of trusted keys for the DNS security extension.
20930 DnssecTrustedKeys []*Dnssectrustedkey `json:"dnssec_trusted_keys,omitempty"`
20931 20932 // Determines if the DNS security validation is enabled or not.
20933 DnssecValidationEnabled *bool `json:"dnssec_validation_enabled,omitempty"`
20934 20935 // Advertises the EDNS0 buffer size to the upstream server. The value should be
20936 // between 512 and 4096 bytes. The recommended value is between 512 and 1220
20937 // bytes.
20938 EdnsUdpSize *uint32 `json:"edns_udp_size,omitempty"`
20939 20940 // Determines if the blacklist in a DNS view is enabled or not.
20941 EnableBlacklist *bool `json:"enable_blacklist,omitempty"`
20942 20943 // Determines if the fixed RRset order FQDN is enabled or not.
20944 EnableFixedRrsetOrderFqdns *bool `json:"enable_fixed_rrset_order_fqdns,omitempty"`
20945 20946 // Determines if the 'match-recursive-only' option in a DNS view is enabled or
20947 // not.
20948 EnableMatchRecursiveOnly *bool `json:"enable_match_recursive_only,omitempty"`
20949 20950 // Extensible attributes associated with the object. For valid values for
20951 // extensible attributes, see {extattrs:values}.
20952 Ea EA `json:"extattrs"`
20953 20954 // The type of AAAA filtering for this DNS view object.
20955 FilterAaaa string `json:"filter_aaaa,omitempty"`
20956 20957 // Applies AAAA filtering to a named ACL, or to a list of IPv4/IPv6 addresses
20958 // and networks from which queries are received. This field does not allow TSIG
20959 // keys.
20960 FilterAaaaList []*Addressac `json:"filter_aaaa_list,omitempty"`
20961 20962 // The fixed RRset order FQDN. If this field does not contain an empty value,
20963 // the appliance will automatically set the enable_fixed_rrset_order_fqdns
20964 // field to 'true', unless the same request sets the enable field to 'false'.
20965 FixedRrsetOrderFqdns []*GridDnsFixedrrsetorderfqdn `json:"fixed_rrset_order_fqdns,omitempty"`
20966 20967 // Determines if this DNS view sends queries to forwarders only or not. When
20968 // the value is True, queries are sent to forwarders only, and not to other
20969 // internal or Internet root servers.
20970 ForwardOnly *bool `json:"forward_only,omitempty"`
20971 20972 // The list of forwarders for the DNS view. A forwarder is a name server to
20973 // which other name servers first send their off-site queries. The forwarder
20974 // builds up a cache of information, avoiding the need for other name servers
20975 // to send queries off-site.
20976 Forwarders []string `json:"forwarders,omitempty"`
20977 20978 // The NIOS appliance provides one default DNS view. You can rename the default
20979 // view and change its settings, but you cannot delete it. There must always be
20980 // at least one DNS view in the appliance.
20981 IsDefault bool `json:"is_default,omitempty"`
20982 20983 // The number of seconds to cache lame delegations or lame servers.
20984 LameTtl *uint32 `json:"lame_ttl,omitempty"`
20985 20986 // Determines last queried ACL for the specified IPv4 or IPv6 addresses and
20987 // networks in scavenging settings.
20988 LastQueriedAcl []*Addressac `json:"last_queried_acl,omitempty"`
20989 20990 // A list of forwarders for the match clients. This list specifies a named ACL,
20991 // or a list of IPv4/IPv6 addresses, networks, TSIG keys of clients that are
20992 // allowed or denied access to the DNS view.
20993 MatchClients []*Addressac `json:"match_clients,omitempty"`
20994 20995 // A list of forwarders for the match destinations. This list specifies a name
20996 // ACL, or a list of IPv4/IPv6 addresses, networks, TSIG keys of clients that
20997 // are allowed or denied access to the DNS view.
20998 MatchDestinations []*Addressac `json:"match_destinations,omitempty"`
20999 21000 // The maximum number of seconds to cache ordinary (positive) answers.
21001 MaxCacheTtl *uint32 `json:"max_cache_ttl,omitempty"`
21002 21003 // The maximum number of seconds to cache negative (NXDOMAIN) answers.
21004 MaxNcacheTtl *uint32 `json:"max_ncache_ttl,omitempty"`
21005 21006 // The value is used by authoritative DNS servers to never send DNS responses
21007 // larger than the configured value. The value should be between 512 and 4096
21008 // bytes. The recommended value is between 512 and 1220 bytes.
21009 MaxUdpSize *uint32 `json:"max_udp_size,omitempty"`
21010 21011 // Name of the DNS view.
21012 Name *string `json:"name,omitempty"`
21013 21014 // The name of the network view object associated with this DNS view.
21015 NetworkView *string `json:"network_view,omitempty"`
21016 21017 // The number of seconds of delay the notify messages are sent to secondaries.
21018 NotifyDelay *uint32 `json:"notify_delay,omitempty"`
21019 21020 // The flag that indicates whether NXDOMAIN redirection queries are logged.
21021 // Specify "true" to enable logging, or "false" to disable it. The default
21022 // value is "false".
21023 NxdomainLogQuery *bool `json:"nxdomain_log_query,omitempty"`
21024 21025 // Determines if NXDOMAIN redirection in a DNS view is enabled or not.
21026 NxdomainRedirect *bool `json:"nxdomain_redirect,omitempty"`
21027 21028 // The array with IPv4 addresses the appliance includes in the response it
21029 // sends in place of an NXDOMAIN response.
21030 NxdomainRedirectAddresses []string `json:"nxdomain_redirect_addresses,omitempty"`
21031 21032 // The array with IPv6 addresses the appliance includes in the response it
21033 // sends in place of an NXDOMAIN response.
21034 NxdomainRedirectAddressesV6 []string `json:"nxdomain_redirect_addresses_v6,omitempty"`
21035 21036 // The Time To Live (TTL) value of the synthetic DNS responses resulted from
21037 // NXDOMAIN redirection. The TTL value is a 32-bit unsigned integer that
21038 // represents the TTL in seconds.
21039 NxdomainRedirectTtl *uint32 `json:"nxdomain_redirect_ttl,omitempty"`
21040 21041 // The names of the Ruleset objects assigned at the grid level for NXDOMAIN
21042 // redirection.
21043 NxdomainRulesets []string `json:"nxdomain_rulesets,omitempty"`
21044 21045 // Determines if recursion is enabled or not.
21046 Recursion *bool `json:"recursion,omitempty"`
21047 21048 // The response rate limiting settings for the DNS View.
21049 ResponseRateLimiting *GridResponseratelimiting `json:"response_rate_limiting,omitempty"`
21050 21051 // Determines the type of root name servers.
21052 RootNameServerType string `json:"root_name_server_type,omitempty"`
21053 21054 // Enables the appliance to ignore RPZ-IP triggers with prefix lengths less
21055 // than the specified minimum prefix length.
21056 RpzDropIpRuleEnabled *bool `json:"rpz_drop_ip_rule_enabled,omitempty"`
21057 21058 // The minimum prefix length for IPv4 RPZ-IP triggers. The appliance ignores
21059 // RPZ-IP triggers with prefix lengths less than the specified minimum IPv4
21060 // prefix length.
21061 RpzDropIpRuleMinPrefixLengthIpv4 *uint32 `json:"rpz_drop_ip_rule_min_prefix_length_ipv4,omitempty"`
21062 21063 // The minimum prefix length for IPv6 RPZ-IP triggers. The appliance ignores
21064 // RPZ-IP triggers with prefix lengths less than the specified minimum IPv6
21065 // prefix length.
21066 RpzDropIpRuleMinPrefixLengthIpv6 *uint32 `json:"rpz_drop_ip_rule_min_prefix_length_ipv6,omitempty"`
21067 21068 // The flag that indicates whether recursive RPZ lookups are enabled.
21069 RpzQnameWaitRecurse *bool `json:"rpz_qname_wait_recurse,omitempty"`
21070 21071 // The scavenging settings.
21072 ScavengingSettings *SettingScavenging `json:"scavenging_settings,omitempty"`
21073 21074 // A sort list that determines the order of IP addresses in responses sent to
21075 // DNS queries.
21076 Sortlist []*Sortlist `json:"sortlist,omitempty"`
21077 21078 // Use flag for: blacklist_action , blacklist_log_query,
21079 // blacklist_redirect_addresses, blacklist_redirect_ttl, blacklist_rulesets,
21080 // enable_blacklist
21081 UseBlacklist *bool `json:"use_blacklist,omitempty"`
21082 21083 // Use flag for: ddns_force_creation_timestamp_update
21084 UseDdnsForceCreationTimestampUpdate *bool `json:"use_ddns_force_creation_timestamp_update,omitempty"`
21085 21086 // Use flag for: ddns_restrict_patterns_list , ddns_restrict_patterns
21087 UseDdnsPatternsRestriction *bool `json:"use_ddns_patterns_restriction,omitempty"`
21088 21089 // Use flag for: ddns_restrict_secure , ddns_principal_tracking,
21090 // ddns_principal_group
21091 UseDdnsPrincipalSecurity *bool `json:"use_ddns_principal_security,omitempty"`
21092 21093 // Use flag for: ddns_restrict_protected
21094 UseDdnsRestrictProtected *bool `json:"use_ddns_restrict_protected,omitempty"`
21095 21096 // Use flag for: ddns_restrict_static
21097 UseDdnsRestrictStatic *bool `json:"use_ddns_restrict_static,omitempty"`
21098 21099 // Use flag for: dns64_enabled , dns64_groups
21100 UseDns64 *bool `json:"use_dns64,omitempty"`
21101 21102 // Use flag for: dnssec_enabled , dnssec_expired_signatures_enabled,
21103 // dnssec_validation_enabled, dnssec_trusted_keys
21104 UseDnssec *bool `json:"use_dnssec,omitempty"`
21105 21106 // Use flag for: edns_udp_size
21107 UseEdnsUdpSize *bool `json:"use_edns_udp_size,omitempty"`
21108 21109 // Use flag for: filter_aaaa , filter_aaaa_list
21110 UseFilterAaaa *bool `json:"use_filter_aaaa,omitempty"`
21111 21112 // Use flag for: fixed_rrset_order_fqdns , enable_fixed_rrset_order_fqdns
21113 UseFixedRrsetOrderFqdns *bool `json:"use_fixed_rrset_order_fqdns,omitempty"`
21114 21115 // Use flag for: forwarders , forward_only
21116 UseForwarders *bool `json:"use_forwarders,omitempty"`
21117 21118 // Use flag for: lame_ttl
21119 UseLameTtl *bool `json:"use_lame_ttl,omitempty"`
21120 21121 // Use flag for: max_cache_ttl
21122 UseMaxCacheTtl *bool `json:"use_max_cache_ttl,omitempty"`
21123 21124 // Use flag for: max_ncache_ttl
21125 UseMaxNcacheTtl *bool `json:"use_max_ncache_ttl,omitempty"`
21126 21127 // Use flag for: max_udp_size
21128 UseMaxUdpSize *bool `json:"use_max_udp_size,omitempty"`
21129 21130 // Use flag for: nxdomain_redirect , nxdomain_redirect_addresses,
21131 // nxdomain_redirect_addresses_v6, nxdomain_redirect_ttl, nxdomain_log_query,
21132 // nxdomain_rulesets
21133 UseNxdomainRedirect *bool `json:"use_nxdomain_redirect,omitempty"`
21134 21135 // Use flag for: recursion
21136 UseRecursion *bool `json:"use_recursion,omitempty"`
21137 21138 // Use flag for: response_rate_limiting
21139 UseResponseRateLimiting *bool `json:"use_response_rate_limiting,omitempty"`
21140 21141 // Use flag for: custom_root_name_servers , root_name_server_type
21142 UseRootNameServer *bool `json:"use_root_name_server,omitempty"`
21143 21144 // Use flag for: rpz_drop_ip_rule_enabled ,
21145 // rpz_drop_ip_rule_min_prefix_length_ipv4,
21146 // rpz_drop_ip_rule_min_prefix_length_ipv6
21147 UseRpzDropIpRule *bool `json:"use_rpz_drop_ip_rule,omitempty"`
21148 21149 // Use flag for: rpz_qname_wait_recurse
21150 UseRpzQnameWaitRecurse *bool `json:"use_rpz_qname_wait_recurse,omitempty"`
21151 21152 // Use flag for: scavenging_settings , last_queried_acl
21153 UseScavengingSettings *bool `json:"use_scavenging_settings,omitempty"`
21154 21155 // Use flag for: sortlist
21156 UseSortlist *bool `json:"use_sortlist,omitempty"`
21157 }
21158 21159 func (View) ObjectType() string {
21160 return "view"
21161 }
21162 21163 func (obj View) ReturnFields() []string {
21164 if obj.returnFields == nil {
21165 obj.returnFields = []string{"comment", "is_default", "name"}
21166 }
21167 return obj.returnFields
21168 }
21169 21170 // Vlan represents Infoblox object vlan.
21171 // References to vlan are object references.
21172 type Vlan struct {
21173 IBBase `json:"-"`
21174 21175 Ref string `json:"_ref,omitempty"`
21176 21177 // List of objects VLAN is assigned to.
21178 AssignedTo []*Ipv4Network `json:"assigned_to,omitempty"`
21179 21180 // A descriptive comment for this VLAN.
21181 Comment *string `json:"comment,omitempty"`
21182 21183 // Contact information for person/team managing or using VLAN.
21184 Contact *string `json:"contact,omitempty"`
21185 21186 // Department where VLAN is used.
21187 Department *string `json:"department,omitempty"`
21188 21189 // Description for the VLAN object, may be potentially used for longer VLAN
21190 // names.
21191 Description *string `json:"description,omitempty"`
21192 21193 // Extensible attributes associated with the object. For valid values for
21194 // extensible attributes, see {extattrs:values}.
21195 Ea EA `json:"extattrs"`
21196 21197 // VLAN ID value.
21198 Id *uint32 `json:"id,omitempty"`
21199 21200 // Name of the VLAN.
21201 Name *string `json:"name,omitempty"`
21202 21203 // The VLAN View or VLAN Range to which this VLAN belongs.
21204 Parent *string `json:"parent,omitempty"`
21205 21206 // When set VLAN can only be assigned to IPAM object manually.
21207 Reserved *bool `json:"reserved,omitempty"`
21208 21209 // Status of VLAN object. Can be Assigned, Unassigned, Reserved.
21210 Status string `json:"status,omitempty"`
21211 }
21212 21213 func (Vlan) ObjectType() string {
21214 return "vlan"
21215 }
21216 21217 func (obj Vlan) ReturnFields() []string {
21218 if obj.returnFields == nil {
21219 obj.returnFields = []string{"id", "name", "parent"}
21220 }
21221 return obj.returnFields
21222 }
21223 21224 // Vlanrange represents Infoblox object vlanrange.
21225 // References to vlanrange are object references.
21226 type Vlanrange struct {
21227 IBBase `json:"-"`
21228 21229 Ref string `json:"_ref,omitempty"`
21230 21231 // A descriptive comment for this VLAN Range.
21232 Comment *string `json:"comment,omitempty"`
21233 21234 // Vlans delete option. Determines whether all child objects should be removed
21235 // alongside with the VLAN Range or child objects should be assigned to another
21236 // parental VLAN Range/View. By default child objects are re-parented.
21237 DeleteVlans bool `json:"delete_vlans,omitempty"`
21238 21239 // End ID for VLAN Range.
21240 EndVlanId *uint32 `json:"end_vlan_id,omitempty"`
21241 21242 // Extensible attributes associated with the object. For valid values for
21243 // extensible attributes, see {extattrs:values}.
21244 Ea EA `json:"extattrs"`
21245 21246 // Name of the VLAN Range.
21247 Name *string `json:"name,omitempty"`
21248 21249 // If set on creation VLAN objects will be created once VLAN Range created.
21250 PreCreateVlan *bool `json:"pre_create_vlan,omitempty"`
21251 21252 // Start ID for VLAN Range.
21253 StartVlanId *uint32 `json:"start_vlan_id,omitempty"`
21254 21255 // If set on creation prefix string will be used for VLAN name.
21256 VlanNamePrefix *string `json:"vlan_name_prefix,omitempty"`
21257 21258 // The VLAN View to which this VLAN Range belongs.
21259 VlanView *string `json:"vlan_view,omitempty"`
21260 }
21261 21262 func (Vlanrange) ObjectType() string {
21263 return "vlanrange"
21264 }
21265 21266 func (obj Vlanrange) ReturnFields() []string {
21267 if obj.returnFields == nil {
21268 obj.returnFields = []string{"end_vlan_id", "name", "start_vlan_id", "vlan_view"}
21269 }
21270 return obj.returnFields
21271 }
21272 21273 // Vlanview represents Infoblox object vlanview.
21274 // References to vlanview are object references.
21275 type Vlanview struct {
21276 IBBase `json:"-"`
21277 21278 Ref string `json:"_ref,omitempty"`
21279 21280 // When set to true VLAN Ranges under VLAN View can have overlapping ID.
21281 AllowRangeOverlapping *bool `json:"allow_range_overlapping,omitempty"`
21282 21283 // A descriptive comment for this VLAN View.
21284 Comment *string `json:"comment,omitempty"`
21285 21286 // End ID for VLAN View.
21287 EndVlanId *uint32 `json:"end_vlan_id,omitempty"`
21288 21289 // Extensible attributes associated with the object. For valid values for
21290 // extensible attributes, see {extattrs:values}.
21291 Ea EA `json:"extattrs"`
21292 21293 // Name of the VLAN View.
21294 Name *string `json:"name,omitempty"`
21295 21296 // If set on creation VLAN objects will be created once VLAN View created.
21297 PreCreateVlan *bool `json:"pre_create_vlan,omitempty"`
21298 21299 // Start ID for VLAN View.
21300 StartVlanId *uint32 `json:"start_vlan_id,omitempty"`
21301 21302 // If set on creation prefix string will be used for VLAN name.
21303 VlanNamePrefix *string `json:"vlan_name_prefix,omitempty"`
21304 }
21305 21306 func (Vlanview) ObjectType() string {
21307 return "vlanview"
21308 }
21309 21310 func (obj Vlanview) ReturnFields() []string {
21311 if obj.returnFields == nil {
21312 obj.returnFields = []string{"end_vlan_id", "name", "start_vlan_id"}
21313 }
21314 return obj.returnFields
21315 }
21316 21317 // ZoneAuth represents Infoblox object zone_auth.
21318 // An authoritative zone is a zone for which the local (primary or secondary)
21319 // server references its own data when responding to queries. The local server
21320 // is authoritative for the data in this zone and responds to queries for this
21321 // data without referencing another server.
21322 type ZoneAuth struct {
21323 IBBase `json:"-"`
21324 21325 Ref string `json:"_ref,omitempty"`
21326 21327 // The IP address of the server that is serving this zone.
21328 Address string `json:"address,omitempty"`
21329 21330 // This field allows the zone to receive GSS-TSIG authenticated DDNS updates
21331 // from DHCP clients and servers in an AD domain. Note that addresses specified
21332 // in this field ignore the permission set in the struct which will be set to
21333 // 'ALLOW'.
21334 AllowActiveDir []*Addressac `json:"allow_active_dir,omitempty"`
21335 21336 // The flag that allows to enable or disable fixed RRset ordering for
21337 // authoritative forward-mapping zones.
21338 AllowFixedRrsetOrder *bool `json:"allow_fixed_rrset_order,omitempty"`
21339 21340 // The flag that allows DHCP clients to perform GSS-TSIG signed updates for
21341 // underscore zones.
21342 AllowGssTsigForUnderscoreZone *bool `json:"allow_gss_tsig_for_underscore_zone,omitempty"`
21343 21344 // The flag that enables or disables the zone for GSS-TSIG updates.
21345 AllowGssTsigZoneUpdates *bool `json:"allow_gss_tsig_zone_updates,omitempty"`
21346 21347 // Determines whether DNS queries are allowed from a named ACL, or from a list
21348 // of IPv4/IPv6 addresses, networks, and TSIG keys for the hosts.
21349 AllowQuery []*Addressac `json:"allow_query,omitempty"`
21350 21351 // Determines whether zone transfers are allowed from a named ACL, or from a
21352 // list of IPv4/IPv6 addresses, networks, and TSIG keys for the hosts.
21353 AllowTransfer []*Addressac `json:"allow_transfer,omitempty"`
21354 21355 // Determines whether dynamic DNS updates are allowed from a named ACL, or from
21356 // a list of IPv4/IPv6 addresses, networks, and TSIG keys for the hosts.
21357 AllowUpdate []*Addressac `json:"allow_update,omitempty"`
21358 21359 // The list with IP addresses, networks or TSIG keys for clients, from which
21360 // forwarded dynamic updates are allowed.
21361 AllowUpdateForwarding *bool `json:"allow_update_forwarding,omitempty"`
21362 21363 // Additional information for Route53 zone.
21364 AwsRte53ZoneInfo *Awsrte53zoneinfo `json:"aws_rte53_zone_info,omitempty"`
21365 21366 // Structure containing all cloud API related information for this object.
21367 CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`
21368 21369 // Comment for the zone; maximum 256 characters.
21370 Comment *string `json:"comment,omitempty"`
21371 21372 // If this flag is set to True then copy allowed IPs from Allow Transfer to
21373 // Also Notify.
21374 CopyXferToNotify *bool `json:"copy_xfer_to_notify,omitempty"`
21375 21376 // Determines if PTR records are created for hosts automatically, if necessary,
21377 // when the zone data is imported. This field is meaningful only when
21378 // import_from is set.
21379 CreatePtrForBulkHosts *bool `json:"create_ptr_for_bulk_hosts,omitempty"`
21380 21381 // Determines if PTR records are created for hosts automatically, if necessary,
21382 // when the zone data is imported. This field is meaningful only when
21383 // import_from is set.
21384 CreatePtrForHosts *bool `json:"create_ptr_for_hosts,omitempty"`
21385 21386 // Determines whether automatic creation of subzones is enabled or not.
21387 CreateUnderscoreZones *bool `json:"create_underscore_zones,omitempty"`
21388 21389 // Defines whether creation timestamp of RR should be updated ' when DDNS
21390 // update happens even if there is no change to ' the RR.
21391 DdnsForceCreationTimestampUpdate *bool `json:"ddns_force_creation_timestamp_update,omitempty"`
21392 21393 // The DDNS Principal cluster group name.
21394 DdnsPrincipalGroup *string `json:"ddns_principal_group,omitempty"`
21395 21396 // The flag that indicates whether the DDNS principal track is enabled or
21397 // disabled.
21398 DdnsPrincipalTracking *bool `json:"ddns_principal_tracking,omitempty"`
21399 21400 // The flag that indicates whether an option to restrict DDNS update request
21401 // based on FQDN patterns is enabled or disabled.
21402 DdnsRestrictPatterns *bool `json:"ddns_restrict_patterns,omitempty"`
21403 21404 // The unordered list of restriction patterns for an option of to restrict DDNS
21405 // updates based on FQDN patterns.
21406 DdnsRestrictPatternsList []string `json:"ddns_restrict_patterns_list,omitempty"`
21407 21408 // The flag that indicates whether an option to restrict DDNS update request to
21409 // protected resource records is enabled or disabled.
21410 DdnsRestrictProtected *bool `json:"ddns_restrict_protected,omitempty"`
21411 21412 // The flag that indicates whether DDNS update request for principal other than
21413 // target resource record's principal is restricted.
21414 DdnsRestrictSecure *bool `json:"ddns_restrict_secure,omitempty"`
21415 21416 // The flag that indicates whether an option to restrict DDNS update request to
21417 // resource records which are marked as 'STATIC' is enabled or disabled.
21418 DdnsRestrictStatic *bool `json:"ddns_restrict_static,omitempty"`
21419 21420 // Determines whether a zone is disabled or not. When this is set to False, the
21421 // zone is enabled.
21422 Disable *bool `json:"disable,omitempty"`
21423 21424 // Determines whether the name servers that host the zone should forward
21425 // queries (ended with the domain name of the zone) to any configured
21426 // forwarders.
21427 DisableForwarding *bool `json:"disable_forwarding,omitempty"`
21428 21429 // The displayed name of the DNS zone.
21430 DisplayDomain string `json:"display_domain,omitempty"`
21431 21432 // The name of this DNS zone in punycode format. For a reverse zone, this is in
21433 // "address/cidr" format. For other zones, this is in FQDN format in punycode
21434 // format.
21435 DnsFqdn string `json:"dns_fqdn,omitempty"`
21436 21437 // If this is set to True, DNS integrity check is enabled for this zone.
21438 DnsIntegrityEnable *bool `json:"dns_integrity_enable,omitempty"`
21439 21440 // The frequency, in seconds, of DNS integrity checks for this zone.
21441 DnsIntegrityFrequency *uint32 `json:"dns_integrity_frequency,omitempty"`
21442 21443 // The Grid member that performs DNS integrity checks for this zone.
21444 DnsIntegrityMember *string `json:"dns_integrity_member,omitempty"`
21445 21446 // If this is set to True, more information is logged for DNS integrity checks
21447 // for this zone.
21448 DnsIntegrityVerboseLogging *bool `json:"dns_integrity_verbose_logging,omitempty"`
21449 21450 // The SOA email for the zone in punycode format.
21451 DnsSoaEmail string `json:"dns_soa_email,omitempty"`
21452 21453 // This structure contains the DNSSEC key parameters for this zone.
21454 DnssecKeyParams *Dnsseckeyparams `json:"dnssec_key_params,omitempty"`
21455 21456 // A list of DNSSEC keys for the zone.
21457 DnssecKeys []*Dnsseckey `json:"dnssec_keys,omitempty"`
21458 21459 // The rollover date for the Key Signing Key.
21460 DnssecKskRolloverDate *UnixTime `json:"dnssec_ksk_rollover_date,omitempty"`
21461 21462 // The rollover date for the Zone Signing Key.
21463 DnssecZskRolloverDate *UnixTime `json:"dnssec_zsk_rollover_date,omitempty"`
21464 21465 // Determines if hosts and bulk hosts are automatically created when the zone
21466 // data is imported. This field is meaningful only when import_from is set.
21467 DoHostAbstraction *bool `json:"do_host_abstraction,omitempty"`
21468 21469 // The value of the check names policy, which indicates the action the
21470 // appliance takes when it encounters host names that do not comply with the
21471 // Strict Hostname Checking policy. This value applies only if the host name
21472 // restriction policy is set to "Strict Hostname Checking".
21473 EffectiveCheckNamesPolicy string `json:"effective_check_names_policy,omitempty"`
21474 21475 // The selected hostname policy for records under this zone.
21476 EffectiveRecordNamePolicy string `json:"effective_record_name_policy,omitempty"`
21477 21478 // Extensible attributes associated with the object. For valid values for
21479 // extensible attributes, see {extattrs:values}.
21480 Ea EA `json:"extattrs"`
21481 21482 // The list of external primary servers.
21483 ExternalPrimaries []NameServer `json:"external_primaries,omitempty"`
21484 21485 // The list of external secondary servers.
21486 ExternalSecondaries []NameServer `json:"external_secondaries,omitempty"`
21487 21488 // The name of this DNS zone. For a reverse zone, this is in "address/cidr"
21489 // format. For other zones, this is in FQDN format. This value can be in
21490 // unicode format. Note that for a reverse zone, the corresponding zone_format
21491 // value should be set.
21492 Fqdn string `json:"fqdn,omitempty"`
21493 21494 // The grid primary servers for this zone.
21495 GridPrimary []*Memberserver `json:"grid_primary,omitempty"`
21496 21497 // Determines if the server is duplicated with parent delegation.
21498 GridPrimarySharedWithMsParentDelegation bool `json:"grid_primary_shared_with_ms_parent_delegation,omitempty"`
21499 21500 // The list with Grid members that are secondary servers for this zone.
21501 GridSecondaries []*Memberserver `json:"grid_secondaries,omitempty"`
21502 21503 // The IP address of the Infoblox appliance from which zone data is imported.
21504 // Setting this address to '255.255.255.255' and do_host_abstraction to 'true'
21505 // will create Host records from A records in this zone without importing zone
21506 // data.
21507 ImportFrom *string `json:"import_from,omitempty"`
21508 21509 // This flag is set to True if DNSSEC is enabled for the zone.
21510 IsDnssecEnabled bool `json:"is_dnssec_enabled,omitempty"`
21511 21512 // Determines if the zone is DNSSEC signed.
21513 IsDnssecSigned bool `json:"is_dnssec_signed,omitempty"`
21514 21515 // Determines if multi-master DNS is enabled for the zone.
21516 IsMultimaster bool `json:"is_multimaster,omitempty"`
21517 21518 // The time the zone was last queried on.
21519 LastQueried *UnixTime `json:"last_queried,omitempty"`
21520 21521 // Determines last queried ACL for the specified IPv4 or IPv6 addresses and
21522 // networks in scavenging settings.
21523 LastQueriedAcl []*Addressac `json:"last_queried_acl,omitempty"`
21524 21525 // If you enable this flag, other administrators cannot make conflicting
21526 // changes. This is for administration purposes only. The zone will continue to
21527 // serve DNS data even when it is locked.
21528 Locked *bool `json:"locked,omitempty"`
21529 21530 // The name of a superuser or the administrator who locked this zone.
21531 LockedBy string `json:"locked_by,omitempty"`
21532 21533 // IPv4 Netmask or IPv6 prefix for this zone.
21534 MaskPrefix string `json:"mask_prefix,omitempty"`
21535 21536 // The list of per-member SOA MNAME information.
21537 MemberSoaMnames []*GridmemberSoamname `json:"member_soa_mnames,omitempty"`
21538 21539 // The list of per-member SOA serial information.
21540 MemberSoaSerials []*GridmemberSoaserial `json:"member_soa_serials,omitempty"`
21541 21542 // The flag that determines whether Active Directory is integrated or not. This
21543 // field is valid only when ms_managed is "STUB", "AUTH_PRIMARY", or
21544 // "AUTH_BOTH".
21545 MsAdIntegrated *bool `json:"ms_ad_integrated,omitempty"`
21546 21547 // The list of DNS clients that are allowed to perform zone transfers from a
21548 // Microsoft DNS server. This setting applies only to zones with Microsoft DNS
21549 // servers that are either primary or secondary servers. This setting does not
21550 // inherit any value from the Grid or from any member that defines an
21551 // allow_transfer value. This setting does not apply to any grid member. Use
21552 // the allow_transfer field to control which DNS clients are allowed to perform
21553 // zone transfers on Grid members.
21554 MsAllowTransfer []*Addressac `json:"ms_allow_transfer,omitempty"`
21555 21556 // Determines which DNS clients are allowed to perform zone transfers from a
21557 // Microsoft DNS server. Valid values are: "ADDRESS_AC", to use
21558 // ms_allow_transfer field for specifying IP addresses, networks and
21559 // Transaction Signature (TSIG) keys for clients that are allowed to do zone
21560 // transfers. "ANY", to allow any client. "ANY_NS", to allow only the
21561 // nameservers listed in this zone. "NONE", to deny all zone transfer requests.
21562 MsAllowTransferMode string `json:"ms_allow_transfer_mode,omitempty"`
21563 21564 // The list of domain controllers that are allowed to create NS records for
21565 // authoritative zones.
21566 MsDcNsRecordCreation []*MsserverDcnsrecordcreation `json:"ms_dc_ns_record_creation,omitempty"`
21567 21568 // Determines whether an Active Directory-integrated zone with a Microsoft DNS
21569 // server as primary allows dynamic updates. Valid values are: "SECURE" if the
21570 // zone allows secure updates only. "NONE" if the zone forbids dynamic updates.
21571 // "ANY" if the zone accepts both secure and nonsecure updates. This field is
21572 // valid only if ms_managed is either "AUTH_PRIMARY" or "AUTH_BOTH". If the
21573 // flag ms_ad_integrated is false, the value "SECURE" is not allowed.
21574 MsDdnsMode string `json:"ms_ddns_mode,omitempty"`
21575 21576 // The flag that indicates whether the zone is assigned to a Microsoft DNS
21577 // server. This flag returns the authoritative name server type of the
21578 // Microsoft DNS server. Valid values are: "NONE" if the zone is not assigned
21579 // to any Microsoft DNS server. "STUB" if the zone is assigned to a Microsoft
21580 // DNS server as a stub zone. "AUTH_PRIMARY" if only the primary server of the
21581 // zone is a Microsoft DNS server. "AUTH_SECONDARY" if only the secondary
21582 // server of the zone is a Microsoft DNS server. "AUTH_BOTH" if both the
21583 // primary and secondary servers of the zone are Microsoft DNS servers.
21584 MsManaged string `json:"ms_managed,omitempty"`
21585 21586 // The list with the Microsoft DNS servers that are primary servers for the
21587 // zone. Although a zone typically has just one primary name server, you can
21588 // specify up to ten independent servers for a single zone.
21589 MsPrimaries []*Msdnsserver `json:"ms_primaries,omitempty"`
21590 21591 // Determines if a Grid member manages the zone served by a Microsoft DNS
21592 // server in read-only mode. This flag is true when a Grid member manages the
21593 // zone in read-only mode, false otherwise. When the zone has the ms_read_only
21594 // flag set to True, no changes can be made to this zone.
21595 MsReadOnly bool `json:"ms_read_only,omitempty"`
21596 21597 // The list with the Microsoft DNS servers that are secondary servers for the
21598 // zone.
21599 MsSecondaries []*Msdnsserver `json:"ms_secondaries,omitempty"`
21600 21601 // This flag controls whether this zone is synchronized with Microsoft DNS
21602 // servers.
21603 MsSyncDisabled *bool `json:"ms_sync_disabled,omitempty"`
21604 21605 // The name of MS synchronization master for this zone.
21606 MsSyncMasterName string `json:"ms_sync_master_name,omitempty"`
21607 21608 // The list with the associated network/network container information.
21609 NetworkAssociations []*Ipv4Network `json:"network_associations,omitempty"`
21610 21611 // The name of the network view in which this zone resides.
21612 NetworkView string `json:"network_view,omitempty"`
21613 21614 // The number of seconds in delay with which notify messages are sent to
21615 // secondaries.
21616 NotifyDelay *uint32 `json:"notify_delay,omitempty"`
21617 21618 // The name server group that serves DNS for this zone.
21619 NsGroup *string `json:"ns_group"`
21620 21621 // The parent zone of this zone. Note that when searching for reverse zones,
21622 // the "in-addr.arpa" notation should be used.
21623 Parent string `json:"parent,omitempty"`
21624 21625 // The RFC2317 prefix value of this DNS zone. Use this field only when the
21626 // netmask is greater than 24 bits; that is, for a mask between 25 and 31 bits.
21627 // Enter a prefix, such as the name of the allocated address block. The prefix
21628 // can be alphanumeric characters, such as 128/26 , 128-189 , or sub-B.
21629 Prefix *string `json:"prefix,omitempty"`
21630 21631 // The type of the primary server.
21632 PrimaryType string `json:"primary_type,omitempty"`
21633 21634 // The hostname policy for records under this zone.
21635 RecordNamePolicy *string `json:"record_name_policy,omitempty"`
21636 21637 // Determines if this zone is also monitoring resource records.
21638 RecordsMonitored bool `json:"records_monitored,omitempty"`
21639 21640 // Restarts the member service.
21641 RestartIfNeeded *bool `json:"restart_if_needed,omitempty"`
21642 21643 // The time data collection for Not Queried Resource Record was enabled for
21644 // this zone.
21645 RrNotQueriedEnabledTime *UnixTime `json:"rr_not_queried_enabled_time,omitempty"`
21646 21647 // The scavenging settings.
21648 ScavengingSettings *SettingScavenging `json:"scavenging_settings,omitempty"`
21649 21650 // The serial number in the SOA record incrementally changes every time the
21651 // record is modified. The Infoblox appliance allows you to change the serial
21652 // number (in the SOA record) for the primary server so it is higher than the
21653 // secondary server, thereby ensuring zone transfers come from the primary
21654 // server (as they should). To change the serial number you need to set a new
21655 // value at "soa_serial_number" and pass "set_soa_serial_number" as True.
21656 SetSoaSerialNumber *bool `json:"set_soa_serial_number,omitempty"`
21657 21658 // The Time to Live (TTL) value of the SOA record of this zone. This value is
21659 // the number of seconds that data is cached.
21660 SoaDefaultTtl *uint32 `json:"soa_default_ttl,omitempty"`
21661 21662 // The SOA email value for this zone. This value can be in unicode format.
21663 SoaEmail *string `json:"soa_email,omitempty"`
21664 21665 // This setting defines the amount of time, in seconds, after which the
21666 // secondary server stops giving out answers about the zone because the zone
21667 // data is too old to be useful. The default is one week.
21668 SoaExpire *uint32 `json:"soa_expire,omitempty"`
21669 21670 // The negative Time to Live (TTL) value of the SOA of the zone indicates how
21671 // long a secondary server can cache data for "Does Not Respond" responses.
21672 SoaNegativeTtl *uint32 `json:"soa_negative_ttl,omitempty"`
21673 21674 // This indicates the interval at which a secondary server sends a message to
21675 // the primary server for a zone to check that its data is current, and
21676 // retrieve fresh data if it is not.
21677 SoaRefresh *uint32 `json:"soa_refresh,omitempty"`
21678 21679 // This indicates how long a secondary server must wait before attempting to
21680 // recontact the primary server after a connection failure between the two
21681 // servers occurs.
21682 SoaRetry *uint32 `json:"soa_retry,omitempty"`
21683 21684 // The serial number in the SOA record incrementally changes every time the
21685 // record is modified. The Infoblox appliance allows you to change the serial
21686 // number (in the SOA record) for the primary server so it is higher than the
21687 // secondary server, thereby ensuring zone transfers come from the primary
21688 // server (as they should). To change the serial number you need to set a new
21689 // value at "soa_serial_number" and pass "set_soa_serial_number" as True.
21690 SoaSerialNumber *uint32 `json:"soa_serial_number,omitempty"`
21691 21692 // The associated shared record groups of a DNS zone. If a shared record group
21693 // is associated with a zone, then all shared records in a shared record group
21694 // will be shared in the zone.
21695 Srgs []string `json:"srgs,omitempty"`
21696 21697 // Use this field to allow or deny dynamic DNS updates that are forwarded from
21698 // specific IPv4/IPv6 addresses, networks, or a named ACL. You can also provide
21699 // TSIG keys for clients that are allowed or denied to perform zone updates.
21700 // This setting overrides the member-level setting.
21701 UpdateForwarding []*Addressac `json:"update_forwarding,omitempty"`
21702 21703 // Use flag for: allow_active_dir
21704 UseAllowActiveDir *bool `json:"use_allow_active_dir,omitempty"`
21705 21706 // Use flag for: allow_query
21707 UseAllowQuery *bool `json:"use_allow_query,omitempty"`
21708 21709 // Use flag for: allow_transfer
21710 UseAllowTransfer *bool `json:"use_allow_transfer,omitempty"`
21711 21712 // Use flag for: allow_update
21713 UseAllowUpdate *bool `json:"use_allow_update,omitempty"`
21714 21715 // Use flag for: allow_update_forwarding
21716 UseAllowUpdateForwarding *bool `json:"use_allow_update_forwarding,omitempty"`
21717 21718 // Apply policy to dynamic updates and inbound zone transfers (This value
21719 // applies only if the host name restriction policy is set to "Strict Hostname
21720 // Checking".)
21721 UseCheckNamesPolicy *bool `json:"use_check_names_policy,omitempty"`
21722 21723 // Use flag for: copy_xfer_to_notify
21724 UseCopyXferToNotify *bool `json:"use_copy_xfer_to_notify,omitempty"`
21725 21726 // Use flag for: ddns_force_creation_timestamp_update
21727 UseDdnsForceCreationTimestampUpdate *bool `json:"use_ddns_force_creation_timestamp_update,omitempty"`
21728 21729 // Use flag for: ddns_restrict_patterns_list , ddns_restrict_patterns
21730 UseDdnsPatternsRestriction *bool `json:"use_ddns_patterns_restriction,omitempty"`
21731 21732 // Use flag for: ddns_restrict_secure , ddns_principal_tracking,
21733 // ddns_principal_group
21734 UseDdnsPrincipalSecurity *bool `json:"use_ddns_principal_security,omitempty"`
21735 21736 // Use flag for: ddns_restrict_protected
21737 UseDdnsRestrictProtected *bool `json:"use_ddns_restrict_protected,omitempty"`
21738 21739 // Use flag for: ddns_restrict_static
21740 UseDdnsRestrictStatic *bool `json:"use_ddns_restrict_static,omitempty"`
21741 21742 // Use flag for: dnssec_key_params
21743 UseDnssecKeyParams *bool `json:"use_dnssec_key_params,omitempty"`
21744 21745 // This flag controls whether the zone is using an external primary.
21746 UseExternalPrimary *bool `json:"use_external_primary,omitempty"`
21747 21748 // Use flag for: soa_default_ttl , soa_expire, soa_negative_ttl, soa_refresh,
21749 // soa_retry
21750 UseGridZoneTimer *bool `json:"use_grid_zone_timer,omitempty"`
21751 21752 // Use flag for: import_from
21753 UseImportFrom *bool `json:"use_import_from,omitempty"`
21754 21755 // Use flag for: notify_delay
21756 UseNotifyDelay *bool `json:"use_notify_delay,omitempty"`
21757 21758 // Use flag for: record_name_policy
21759 UseRecordNamePolicy *bool `json:"use_record_name_policy,omitempty"`
21760 21761 // Use flag for: scavenging_settings , last_queried_acl
21762 UseScavengingSettings *bool `json:"use_scavenging_settings,omitempty"`
21763 21764 // Use flag for: soa_email
21765 UseSoaEmail *bool `json:"use_soa_email,omitempty"`
21766 21767 // This is true if the zone is associated with a shared record group.
21768 UsingSrgAssociations bool `json:"using_srg_associations,omitempty"`
21769 21770 // The name of the DNS view in which the zone resides. Example "external".
21771 View *string `json:"view,omitempty"`
21772 21773 // Determines the format of this zone.
21774 ZoneFormat string `json:"zone_format,omitempty"`
21775 21776 // The time when "DNS Zones Last Queried" was turned on for this zone.
21777 ZoneNotQueriedEnabledTime *UnixTime `json:"zone_not_queried_enabled_time,omitempty"`
21778 }
21779 21780 func (ZoneAuth) ObjectType() string {
21781 return "zone_auth"
21782 }
21783 21784 func (obj ZoneAuth) ReturnFields() []string {
21785 if obj.returnFields == nil {
21786 obj.returnFields = []string{"fqdn", "view"}
21787 }
21788 return obj.returnFields
21789 }
21790 21791 func NewZoneAuth(za ZoneAuth) *ZoneAuth {
21792 res := za
21793 res.returnFields = []string{"extattrs", "fqdn", "view"}
21794 return &res
21795 }
21796 21797 // ZoneAuthDiscrepancy represents Infoblox object zone_auth_discrepancy.
21798 // This object contains information about discrepancies found when performing a
21799 // DNS integrity check for a zone.
21800 type ZoneAuthDiscrepancy struct {
21801 IBBase `json:"-"`
21802 21803 Ref string `json:"_ref,omitempty"`
21804 21805 // Information about the discrepancy.
21806 Description string `json:"description,omitempty"`
21807 21808 // The severity of the discrepancy reported.
21809 Severity string `json:"severity,omitempty"`
21810 21811 // The time when the DNS integrity check was last run for this zone.
21812 Timestamp *UnixTime `json:"timestamp,omitempty"`
21813 21814 // The reference of the zone during a search. Otherwise, this is the zone
21815 // object of the zone to which the discrepancy refers.
21816 Zone string `json:"zone,omitempty"`
21817 }
21818 21819 func (ZoneAuthDiscrepancy) ObjectType() string {
21820 return "zone_auth_discrepancy"
21821 }
21822 21823 func (obj ZoneAuthDiscrepancy) ReturnFields() []string {
21824 if obj.returnFields == nil {
21825 obj.returnFields = []string{"description", "severity", "timestamp", "zone"}
21826 }
21827 return obj.returnFields
21828 }
21829 21830 // ZoneDelegated represents Infoblox object zone_delegated.
21831 // Instead of a local name server, remote name servers (which the local server
21832 // knows) maintain delegated zone data. When the local name server receives a
21833 // query for a delegated zone, it either responds with the NS record for the
21834 // delegated zone server (if recursion is disabled on the local server) or it
21835 // queries the delegated zone server on behalf of the resolver (if recursion is
21836 // enabled).
21837 type ZoneDelegated struct {
21838 IBBase `json:"-"`
21839 21840 Ref string `json:"_ref,omitempty"`
21841 21842 // The IP address of the server that is serving this zone.
21843 Address string `json:"address,omitempty"`
21844 21845 // Comment for the zone; maximum 256 characters.
21846 Comment *string `json:"comment,omitempty"`
21847 21848 // This provides information for the remote name server that maintains data for
21849 // the delegated zone. The Infoblox appliance redirects queries for data for
21850 // the delegated zone to this remote name server.
21851 DelegateTo NullableNameServers `json:"delegate_to,omitempty"`
21852 21853 // You can specify the Time to Live (TTL) values of auto-generated NS and glue
21854 // records for a delegated zone. This value is the number of seconds that data
21855 // is cached.
21856 DelegatedTtl *uint32 `json:"delegated_ttl,omitempty"`
21857 21858 // Determines whether a zone is disabled or not. When this is set to False, the
21859 // zone is enabled.
21860 Disable *bool `json:"disable,omitempty"`
21861 21862 // The displayed name of the DNS zone.
21863 DisplayDomain string `json:"display_domain,omitempty"`
21864 21865 // The name of this DNS zone in punycode format. For a reverse zone, this is in
21866 // "address/cidr" format. For other zones, this is in FQDN format in punycode
21867 // format.
21868 DnsFqdn string `json:"dns_fqdn,omitempty"`
21869 21870 // This flag controls whether automatic generation of RFC 2317 CNAMEs for
21871 // delegated reverse zones overwrite existing PTR records. The default behavior
21872 // is to overwrite all the existing records in the range; this corresponds to
21873 // "allow_ptr_creation_in_parent" set to False. However, when this flag is set
21874 // to True the existing PTR records are not overwritten.
21875 EnableRfc2317Exclusion *bool `json:"enable_rfc2317_exclusion,omitempty"`
21876 21877 // Extensible attributes associated with the object. For valid values for
21878 // extensible attributes, see {extattrs:values}.
21879 Ea EA `json:"extattrs"`
21880 21881 // The name of this DNS zone. For a reverse zone, this is in "address/cidr"
21882 // format. For other zones, this is in FQDN format. This value can be in
21883 // unicode format. Note that for a reverse zone, the corresponding zone_format
21884 // value should be set.
21885 Fqdn string `json:"fqdn,omitempty"`
21886 21887 // If you enable this flag, other administrators cannot make conflicting
21888 // changes. This is for administration purposes only. The zone will continue to
21889 // serve DNS data even when it is locked.
21890 Locked *bool `json:"locked,omitempty"`
21891 21892 // The name of a superuser or the administrator who locked this zone.
21893 LockedBy string `json:"locked_by,omitempty"`
21894 21895 // IPv4 Netmask or IPv6 prefix for this zone.
21896 MaskPrefix string `json:"mask_prefix,omitempty"`
21897 21898 // The flag that determines whether Active Directory is integrated or not. This
21899 // field is valid only when ms_managed is "STUB", "AUTH_PRIMARY", or
21900 // "AUTH_BOTH".
21901 MsAdIntegrated *bool `json:"ms_ad_integrated,omitempty"`
21902 21903 // Determines whether an Active Directory-integrated zone with a Microsoft DNS
21904 // server as primary allows dynamic updates. Valid values are: "SECURE" if the
21905 // zone allows secure updates only. "NONE" if the zone forbids dynamic updates.
21906 // "ANY" if the zone accepts both secure and nonsecure updates. This field is
21907 // valid only if ms_managed is either "AUTH_PRIMARY" or "AUTH_BOTH". If the
21908 // flag ms_ad_integrated is false, the value "SECURE" is not allowed.
21909 MsDdnsMode string `json:"ms_ddns_mode,omitempty"`
21910 21911 // The flag that indicates whether the zone is assigned to a Microsoft DNS
21912 // server. This flag returns the authoritative name server type of the
21913 // Microsoft DNS server. Valid values are: "NONE" if the zone is not assigned
21914 // to any Microsoft DNS server. "STUB" if the zone is assigned to a Microsoft
21915 // DNS server as a stub zone. "AUTH_PRIMARY" if only the primary server of the
21916 // zone is a Microsoft DNS server. "AUTH_SECONDARY" if only the secondary
21917 // server of the zone is a Microsoft DNS server. "AUTH_BOTH" if both the
21918 // primary and secondary servers of the zone are Microsoft DNS servers.
21919 MsManaged string `json:"ms_managed,omitempty"`
21920 21921 // Determines if a Grid member manages the zone served by a Microsoft DNS
21922 // server in read-only mode. This flag is true when a Grid member manages the
21923 // zone in read-only mode, false otherwise. When the zone has the ms_read_only
21924 // flag set to True, no changes can be made to this zone.
21925 MsReadOnly bool `json:"ms_read_only,omitempty"`
21926 21927 // The name of MS synchronization master for this zone.
21928 MsSyncMasterName string `json:"ms_sync_master_name,omitempty"`
21929 21930 // The delegation NS group bound with delegated zone.
21931 NsGroup *string `json:"ns_group"`
21932 21933 // The parent zone of this zone. Note that when searching for reverse zones,
21934 // the "in-addr.arpa" notation should be used.
21935 Parent string `json:"parent,omitempty"`
21936 21937 // The RFC2317 prefix value of this DNS zone. Use this field only when the
21938 // netmask is greater than 24 bits; that is, for a mask between 25 and 31 bits.
21939 // Enter a prefix, such as the name of the allocated address block. The prefix
21940 // can be alphanumeric characters, such as 128/26 , 128-189 , or sub-B.
21941 Prefix *string `json:"prefix,omitempty"`
21942 21943 // Use flag for: delegated_ttl
21944 UseDelegatedTtl *bool `json:"use_delegated_ttl,omitempty"`
21945 21946 // This is true if the zone is associated with a shared record group.
21947 UsingSrgAssociations bool `json:"using_srg_associations,omitempty"`
21948 21949 // The name of the DNS view in which the zone resides. Example "external".
21950 View *string `json:"view,omitempty"`
21951 21952 // Determines the format of this zone.
21953 ZoneFormat string `json:"zone_format,omitempty"`
21954 }
21955 21956 func (ZoneDelegated) ObjectType() string {
21957 return "zone_delegated"
21958 }
21959 21960 func (obj ZoneDelegated) ReturnFields() []string {
21961 if obj.returnFields == nil {
21962 obj.returnFields = []string{"delegate_to", "fqdn", "view"}
21963 }
21964 return obj.returnFields
21965 }
21966 21967 func NewZoneDelegated(za ZoneDelegated) *ZoneDelegated {
21968 res := za
21969 res.SetReturnFields(append(res.ReturnFields(), "comment", "disable", "locked", "ns_group", "delegated_ttl", "use_delegated_ttl", "zone_format", "extattrs"))
21970 21971 return &res
21972 }
21973 21974 // ZoneForward represents Infoblox object zone_forward.
21975 // When you want to forward queries for data in a particular zone, define the
21976 // zone as a forward zone and specify one or more name servers that can resolve
21977 // queries for the zone. For example, define a forward zone so that the NIOS
21978 // appliance forwards queries about a partners internal site to a name server,
21979 // which the partner hosts, configured just for other partners to access.
21980 type ZoneForward struct {
21981 IBBase `json:"-"`
21982 21983 Ref string `json:"_ref,omitempty"`
21984 21985 // The IP address of the server that is serving this zone.
21986 Address string `json:"address,omitempty"`
21987 21988 // Comment for the zone; maximum 256 characters.
21989 Comment *string `json:"comment,omitempty"`
21990 21991 // Determines whether a zone is disabled or not. When this is set to False, the
21992 // zone is enabled.
21993 Disable *bool `json:"disable,omitempty"`
21994 21995 // Determines whether a auto-generation of NS records in parent zone is
21996 // disabled or not. When this is set to False, the auto-generation is enabled.
21997 DisableNsGeneration *bool `json:"disable_ns_generation,omitempty"`
21998 21999 // The displayed name of the DNS zone.
22000 DisplayDomain string `json:"display_domain,omitempty"`
22001 22002 // The name of this DNS zone in punycode format. For a reverse zone, this is in
22003 // "address/cidr" format. For other zones, this is in FQDN format in punycode
22004 // format.
22005 DnsFqdn string `json:"dns_fqdn,omitempty"`
22006 22007 // Extensible attributes associated with the object. For valid values for
22008 // extensible attributes, see {extattrs:values}.
22009 Ea EA `json:"extattrs"`
22010 22011 // A forward stub server name server group.
22012 ExternalNsGroup *string `json:"external_ns_group"`
22013 22014 // The information for the remote name servers to which you want the Infoblox
22015 // appliance to forward queries for a specified domain name.
22016 ForwardTo NullableNameServers `json:"forward_to,omitempty"`
22017 22018 // Determines if the appliance sends queries to forwarders only, and not to
22019 // other internal or Internet root servers.
22020 ForwardersOnly *bool `json:"forwarders_only,omitempty"`
22021 22022 // The information for the Grid members to which you want the Infoblox
22023 // appliance to forward queries for a specified domain name.
22024 ForwardingServers *NullableForwardingServers `json:"forwarding_servers,omitempty"`
22025 22026 // The name of this DNS zone. For a reverse zone, this is in "address/cidr"
22027 // format. For other zones, this is in FQDN format. This value can be in
22028 // unicode format. Note that for a reverse zone, the corresponding zone_format
22029 // value should be set.
22030 Fqdn string `json:"fqdn,omitempty"`
22031 22032 // If you enable this flag, other administrators cannot make conflicting
22033 // changes. This is for administration purposes only. The zone will continue to
22034 // serve DNS data even when it is locked.
22035 Locked *bool `json:"locked,omitempty"`
22036 22037 // The name of a superuser or the administrator who locked this zone.
22038 LockedBy string `json:"locked_by,omitempty"`
22039 22040 // IPv4 Netmask or IPv6 prefix for this zone.
22041 MaskPrefix string `json:"mask_prefix,omitempty"`
22042 22043 // The flag that determines whether Active Directory is integrated or not. This
22044 // field is valid only when ms_managed is "STUB", "AUTH_PRIMARY", or
22045 // "AUTH_BOTH".
22046 MsAdIntegrated *bool `json:"ms_ad_integrated,omitempty"`
22047 22048 // Determines whether an Active Directory-integrated zone with a Microsoft DNS
22049 // server as primary allows dynamic updates. Valid values are: "SECURE" if the
22050 // zone allows secure updates only. "NONE" if the zone forbids dynamic updates.
22051 // "ANY" if the zone accepts both secure and nonsecure updates. This field is
22052 // valid only if ms_managed is either "AUTH_PRIMARY" or "AUTH_BOTH". If the
22053 // flag ms_ad_integrated is false, the value "SECURE" is not allowed.
22054 MsDdnsMode string `json:"ms_ddns_mode,omitempty"`
22055 22056 // The flag that indicates whether the zone is assigned to a Microsoft DNS
22057 // server. This flag returns the authoritative name server type of the
22058 // Microsoft DNS server. Valid values are: "NONE" if the zone is not assigned
22059 // to any Microsoft DNS server. "STUB" if the zone is assigned to a Microsoft
22060 // DNS server as a stub zone. "AUTH_PRIMARY" if only the primary server of the
22061 // zone is a Microsoft DNS server. "AUTH_SECONDARY" if only the secondary
22062 // server of the zone is a Microsoft DNS server. "AUTH_BOTH" if both the
22063 // primary and secondary servers of the zone are Microsoft DNS servers.
22064 MsManaged string `json:"ms_managed,omitempty"`
22065 22066 // Determines if a Grid member manages the zone served by a Microsoft DNS
22067 // server in read-only mode. This flag is true when a Grid member manages the
22068 // zone in read-only mode, false otherwise. When the zone has the ms_read_only
22069 // flag set to True, no changes can be made to this zone.
22070 MsReadOnly bool `json:"ms_read_only,omitempty"`
22071 22072 // The name of MS synchronization master for this zone.
22073 MsSyncMasterName string `json:"ms_sync_master_name,omitempty"`
22074 22075 // A forwarding member name server group.
22076 NsGroup *string `json:"ns_group"`
22077 22078 // The parent zone of this zone. Note that when searching for reverse zones,
22079 // the "in-addr.arpa" notation should be used.
22080 Parent string `json:"parent,omitempty"`
22081 22082 // The RFC2317 prefix value of this DNS zone. Use this field only when the
22083 // netmask is greater than 24 bits; that is, for a mask between 25 and 31 bits.
22084 // Enter a prefix, such as the name of the allocated address block. The prefix
22085 // can be alphanumeric characters, such as 128/26 , 128-189 , or sub-B.
22086 Prefix *string `json:"prefix,omitempty"`
22087 22088 // This is true if the zone is associated with a shared record group.
22089 UsingSrgAssociations bool `json:"using_srg_associations,omitempty"`
22090 22091 // The name of the DNS view in which the zone resides. Example "external".
22092 View *string `json:"view,omitempty"`
22093 22094 // Determines the format of this zone.
22095 ZoneFormat string `json:"zone_format,omitempty"`
22096 }
22097 22098 func (ZoneForward) ObjectType() string {
22099 return "zone_forward"
22100 }
22101 22102 func (obj ZoneForward) ReturnFields() []string {
22103 if obj.returnFields == nil {
22104 obj.returnFields = []string{"forward_to", "fqdn", "view"}
22105 }
22106 return obj.returnFields
22107 }
22108 22109 // ZoneRp represents Infoblox object zone_rp.
22110 // DNS RPZs (Response Policy Zones), a technology developed by ISC (Internet
22111 // System Consortium) for allowing reputable sources to dynamically communicate
22112 // domain name reputation so you can implement policy controls for DNS lookups.
22113 // You can configure RPZs and define RPZ rules to block DNS resolution for
22114 // malicious or unauthorized domain names, or redirect clients to a walled
22115 // garden by substituting responses. You can assign actions to RPZ rules. For
22116 // example, abc.com can have an action of pass thru or substitute (domain) with
22117 // the domain xyz.com. You can also configure a Grid member to act as a lead
22118 // secondary that receives RPZ updates from external reputation sources and
22119 // redistributes the updates to other Grid members.
22120 type ZoneRp struct {
22121 IBBase `json:"-"`
22122 22123 Ref string `json:"_ref,omitempty"`
22124 22125 // The IP address of the server that is serving this zone.
22126 Address string `json:"address,omitempty"`
22127 22128 // Comment for the zone; maximum 256 characters.
22129 Comment *string `json:"comment,omitempty"`
22130 22131 // Determines whether a zone is disabled or not. When this is set to False, the
22132 // zone is enabled.
22133 Disable *bool `json:"disable,omitempty"`
22134 22135 // The displayed name of the DNS zone.
22136 DisplayDomain string `json:"display_domain,omitempty"`
22137 22138 // The SOA email for the zone in punycode format.
22139 DnsSoaEmail string `json:"dns_soa_email,omitempty"`
22140 22141 // Extensible attributes associated with the object. For valid values for
22142 // extensible attributes, see {extattrs:values}.
22143 Ea EA `json:"extattrs"`
22144 22145 // The list of external primary servers.
22146 ExternalPrimaries []NameServer `json:"external_primaries,omitempty"`
22147 22148 // The list of external secondary servers.
22149 ExternalSecondaries []NameServer `json:"external_secondaries,omitempty"`
22150 22151 // Rules to map fireeye alerts.
22152 FireeyeRuleMapping *FireeyeRulemapping `json:"fireeye_rule_mapping,omitempty"`
22153 22154 // The name of this DNS zone in FQDN format.
22155 Fqdn string `json:"fqdn,omitempty"`
22156 22157 // The grid primary servers for this zone.
22158 GridPrimary []*Memberserver `json:"grid_primary,omitempty"`
22159 22160 // The list with Grid members that are secondary servers for this zone.
22161 GridSecondaries []*Memberserver `json:"grid_secondaries,omitempty"`
22162 22163 // If you enable this flag, other administrators cannot make conflicting
22164 // changes. This is for administration purposes only. The zone will continue to
22165 // serve DNS data even when it is locked.
22166 Locked *bool `json:"locked,omitempty"`
22167 22168 // The name of a superuser or the administrator who locked this zone.
22169 LockedBy string `json:"locked_by,omitempty"`
22170 22171 // Determines whether RPZ logging enabled or not at zone level. When this is
22172 // set to False, the logging is disabled.
22173 LogRpz *bool `json:"log_rpz,omitempty"`
22174 22175 // IPv4 Netmask or IPv6 prefix for this zone.
22176 MaskPrefix string `json:"mask_prefix,omitempty"`
22177 22178 // The list of per-member SOA MNAME information.
22179 MemberSoaMnames []*GridmemberSoamname `json:"member_soa_mnames,omitempty"`
22180 22181 // The list of per-member SOA serial information.
22182 MemberSoaSerials []*GridmemberSoaserial `json:"member_soa_serials,omitempty"`
22183 22184 // The name of the network view in which this zone resides.
22185 NetworkView string `json:"network_view,omitempty"`
22186 22187 // The name server group that serves DNS for this zone.
22188 NsGroup *string `json:"ns_group,omitempty"`
22189 22190 // The parent zone of this zone. Note that when searching for reverse zones,
22191 // the "in-addr.arpa" notation should be used.
22192 Parent string `json:"parent,omitempty"`
22193 22194 // The RFC2317 prefix value of this DNS zone. Use this field only when the
22195 // netmask is greater than 24 bits; that is, for a mask between 25 and 31 bits.
22196 // Enter a prefix, such as the name of the allocated address block. The prefix
22197 // can be alphanumeric characters, such as 128/26 , 128-189 , or sub-B.
22198 Prefix *string `json:"prefix,omitempty"`
22199 22200 // The type of the primary server.
22201 PrimaryType string `json:"primary_type,omitempty"`
22202 22203 // The hostname policy for records under this zone.
22204 RecordNamePolicy *string `json:"record_name_policy,omitempty"`
22205 22206 // Enables the appliance to ignore RPZ-IP triggers with prefix lengths less
22207 // than the specified minimum prefix length.
22208 RpzDropIpRuleEnabled *bool `json:"rpz_drop_ip_rule_enabled,omitempty"`
22209 22210 // The minimum prefix length for IPv4 RPZ-IP triggers. The appliance ignores
22211 // RPZ-IP triggers with prefix lengths less than the specified minimum IPv4
22212 // prefix length.
22213 RpzDropIpRuleMinPrefixLengthIpv4 *uint32 `json:"rpz_drop_ip_rule_min_prefix_length_ipv4,omitempty"`
22214 22215 // The minimum prefix length for IPv6 RPZ-IP triggers. The appliance ignores
22216 // RPZ-IP triggers with prefix lengths less than the specified minimum IPv6
22217 // prefix length.
22218 RpzDropIpRuleMinPrefixLengthIpv6 *uint32 `json:"rpz_drop_ip_rule_min_prefix_length_ipv6,omitempty"`
22219 22220 // The timestamp of the last update for zone data.
22221 RpzLastUpdatedTime *UnixTime `json:"rpz_last_updated_time,omitempty"`
22222 22223 // The response policy zone override policy.
22224 RpzPolicy string `json:"rpz_policy,omitempty"`
22225 22226 // The priority of this response policy zone.
22227 RpzPriority uint32 `json:"rpz_priority,omitempty"`
22228 22229 // This number is for UI to identify the end of qualified zone list.
22230 RpzPriorityEnd uint32 `json:"rpz_priority_end,omitempty"`
22231 22232 // The severity of this response policy zone.
22233 RpzSeverity string `json:"rpz_severity,omitempty"`
22234 22235 // The type of rpz zone.
22236 RpzType string `json:"rpz_type,omitempty"`
22237 22238 // The serial number in the SOA record incrementally changes every time the
22239 // record is modified. The Infoblox appliance allows you to change the serial
22240 // number (in the SOA record) for the primary server so it is higher than the
22241 // secondary server, thereby ensuring zone transfers come from the primary
22242 // server (as they should). To change the serial number you need to set a new
22243 // value at "soa_serial_number" and pass "set_soa_serial_number" as True.
22244 SetSoaSerialNumber *bool `json:"set_soa_serial_number,omitempty"`
22245 22246 // The Time to Live (TTL) value of the SOA record of this zone. This value is
22247 // the number of seconds that data is cached.
22248 SoaDefaultTtl *uint32 `json:"soa_default_ttl,omitempty"`
22249 22250 // The SOA email value for this zone. This value can be in unicode format.
22251 SoaEmail *string `json:"soa_email,omitempty"`
22252 22253 // This setting defines the amount of time, in seconds, after which the
22254 // secondary server stops giving out answers about the zone because the zone
22255 // data is too old to be useful. The default is one week.
22256 SoaExpire *uint32 `json:"soa_expire,omitempty"`
22257 22258 // The negative Time to Live (TTL) value of the SOA of the zone indicates how
22259 // long a secondary server can cache data for "Does Not Respond" responses.
22260 SoaNegativeTtl *uint32 `json:"soa_negative_ttl,omitempty"`
22261 22262 // This indicates the interval at which a secondary server sends a message to
22263 // the primary server for a zone to check that its data is current, and
22264 // retrieve fresh data if it is not.
22265 SoaRefresh *uint32 `json:"soa_refresh,omitempty"`
22266 22267 // This indicates how long a secondary server must wait before attempting to
22268 // recontact the primary server after a connection failure between the two
22269 // servers occurs.
22270 SoaRetry *uint32 `json:"soa_retry,omitempty"`
22271 22272 // The serial number in the SOA record incrementally changes every time the
22273 // record is modified. The Infoblox appliance allows you to change the serial
22274 // number (in the SOA record) for the primary server so it is higher than the
22275 // secondary server, thereby ensuring zone transfers come from the primary
22276 // server (as they should). To change the serial number you need to set a new
22277 // value at "soa_serial_number" and pass "set_soa_serial_number" as True.
22278 SoaSerialNumber *uint32 `json:"soa_serial_number,omitempty"`
22279 22280 // The canonical name of redirect target in substitute policy of response
22281 // policy zone.
22282 SubstituteName *string `json:"substitute_name,omitempty"`
22283 22284 // This flag controls whether the zone is using an external primary.
22285 UseExternalPrimary *bool `json:"use_external_primary,omitempty"`
22286 22287 // Use flag for: soa_default_ttl , soa_expire, soa_negative_ttl, soa_refresh,
22288 // soa_retry
22289 UseGridZoneTimer *bool `json:"use_grid_zone_timer,omitempty"`
22290 22291 // Use flag for: log_rpz
22292 UseLogRpz *bool `json:"use_log_rpz,omitempty"`
22293 22294 // Use flag for: record_name_policy
22295 UseRecordNamePolicy *bool `json:"use_record_name_policy,omitempty"`
22296 22297 // Use flag for: rpz_drop_ip_rule_enabled ,
22298 // rpz_drop_ip_rule_min_prefix_length_ipv4,
22299 // rpz_drop_ip_rule_min_prefix_length_ipv6
22300 UseRpzDropIpRule *bool `json:"use_rpz_drop_ip_rule,omitempty"`
22301 22302 // Use flag for: soa_email
22303 UseSoaEmail *bool `json:"use_soa_email,omitempty"`
22304 22305 // The name of the DNS view in which the zone resides. Example "external".
22306 View *string `json:"view,omitempty"`
22307 }
22308 22309 func (ZoneRp) ObjectType() string {
22310 return "zone_rp"
22311 }
22312 22313 func (obj ZoneRp) ReturnFields() []string {
22314 if obj.returnFields == nil {
22315 obj.returnFields = []string{"fqdn", "view"}
22316 }
22317 return obj.returnFields
22318 }
22319 22320 // ZoneStub represents Infoblox object zone_stub.
22321 // A stub zone contains records that identify the authoritative name servers in
22322 // the zone. It does not contain resource records for resolving IP addresses to
22323 // hosts in the zone. Instead, it contains the following records:
22324 type ZoneStub struct {
22325 IBBase `json:"-"`
22326 22327 Ref string `json:"_ref,omitempty"`
22328 22329 // The IP address of the server that is serving this zone.
22330 Address string `json:"address,omitempty"`
22331 22332 // Comment for the zone; maximum 256 characters.
22333 Comment *string `json:"comment,omitempty"`
22334 22335 // Determines whether a zone is disabled or not. When this is set to False, the
22336 // zone is enabled.
22337 Disable *bool `json:"disable,omitempty"`
22338 22339 // Determines if the name servers that host the zone should not forward queries
22340 // that end with the domain name of the zone to any configured forwarders.
22341 DisableForwarding *bool `json:"disable_forwarding,omitempty"`
22342 22343 // The displayed name of the DNS zone.
22344 DisplayDomain string `json:"display_domain,omitempty"`
22345 22346 // The name of this DNS zone in punycode format. For a reverse zone, this is in
22347 // "address/cidr" format. For other zones, this is in FQDN format in punycode
22348 // format.
22349 DnsFqdn string `json:"dns_fqdn,omitempty"`
22350 22351 // Extensible attributes associated with the object. For valid values for
22352 // extensible attributes, see {extattrs:values}.
22353 Ea EA `json:"extattrs"`
22354 22355 // A forward stub server name server group.
22356 ExternalNsGroup *string `json:"external_ns_group,omitempty"`
22357 22358 // The name of this DNS zone. For a reverse zone, this is in "address/cidr"
22359 // format. For other zones, this is in FQDN format. This value can be in
22360 // unicode format. Note that for a reverse zone, the corresponding zone_format
22361 // value should be set.
22362 Fqdn string `json:"fqdn,omitempty"`
22363 22364 // If you enable this flag, other administrators cannot make conflicting
22365 // changes. This is for administration purposes only. The zone will continue to
22366 // serve DNS data even when it is locked.
22367 Locked *bool `json:"locked,omitempty"`
22368 22369 // The name of a superuser or the administrator who locked this zone.
22370 LockedBy string `json:"locked_by,omitempty"`
22371 22372 // IPv4 Netmask or IPv6 prefix for this zone.
22373 MaskPrefix string `json:"mask_prefix,omitempty"`
22374 22375 // The flag that determines whether Active Directory is integrated or not. This
22376 // field is valid only when ms_managed is "STUB", "AUTH_PRIMARY", or
22377 // "AUTH_BOTH".
22378 MsAdIntegrated *bool `json:"ms_ad_integrated,omitempty"`
22379 22380 // Determines whether an Active Directory-integrated zone with a Microsoft DNS
22381 // server as primary allows dynamic updates. Valid values are: "SECURE" if the
22382 // zone allows secure updates only. "NONE" if the zone forbids dynamic updates.
22383 // "ANY" if the zone accepts both secure and nonsecure updates. This field is
22384 // valid only if ms_managed is either "AUTH_PRIMARY" or "AUTH_BOTH". If the
22385 // flag ms_ad_integrated is false, the value "SECURE" is not allowed.
22386 MsDdnsMode string `json:"ms_ddns_mode,omitempty"`
22387 22388 // The flag that indicates whether the zone is assigned to a Microsoft DNS
22389 // server. This flag returns the authoritative name server type of the
22390 // Microsoft DNS server. Valid values are: "NONE" if the zone is not assigned
22391 // to any Microsoft DNS server. "STUB" if the zone is assigned to a Microsoft
22392 // DNS server as a stub zone. "AUTH_PRIMARY" if only the primary server of the
22393 // zone is a Microsoft DNS server. "AUTH_SECONDARY" if only the secondary
22394 // server of the zone is a Microsoft DNS server. "AUTH_BOTH" if both the
22395 // primary and secondary servers of the zone are Microsoft DNS servers.
22396 MsManaged string `json:"ms_managed,omitempty"`
22397 22398 // Determines if a Grid member manages the zone served by a Microsoft DNS
22399 // server in read-only mode. This flag is true when a Grid member manages the
22400 // zone in read-only mode, false otherwise. When the zone has the ms_read_only
22401 // flag set to True, no changes can be made to this zone.
22402 MsReadOnly bool `json:"ms_read_only,omitempty"`
22403 22404 // The name of MS synchronization master for this zone.
22405 MsSyncMasterName string `json:"ms_sync_master_name,omitempty"`
22406 22407 // A stub member name server group.
22408 NsGroup *string `json:"ns_group,omitempty"`
22409 22410 // The parent zone of this zone. Note that when searching for reverse zones,
22411 // the "in-addr.arpa" notation should be used.
22412 Parent string `json:"parent,omitempty"`
22413 22414 // The RFC2317 prefix value of this DNS zone. Use this field only when the
22415 // netmask is greater than 24 bits; that is, for a mask between 25 and 31 bits.
22416 // Enter a prefix, such as the name of the allocated address block. The prefix
22417 // can be alphanumeric characters, such as 128/26 , 128-189 , or sub-B.
22418 Prefix *string `json:"prefix,omitempty"`
22419 22420 // The SOA email for the zone. This value can be in unicode format.
22421 SoaEmail string `json:"soa_email,omitempty"`
22422 22423 // This setting defines the amount of time, in seconds, after which the
22424 // secondary server stops giving out answers about the zone because the zone
22425 // data is too old to be useful.
22426 SoaExpire uint32 `json:"soa_expire,omitempty"`
22427 22428 // The SOA mname value for this zone. The Infoblox appliance allows you to
22429 // change the name of the primary server on the SOA record that is
22430 // automatically created when you initially configure a zone. Use this method
22431 // to change the name of the primary server on the SOA record. For example, you
22432 // may want to hide the primary server for a zone. If your device is named
22433 // dns1.zone.tld, and for security reasons, you want to show a secondary server
22434 // called dns2.zone.tld as the primary server. To do so, you would go to
22435 // dns1.zone.tld zone (being the true primary) and change the primary server on
22436 // the SOA to dns2.zone.tld to hide the true identity of the real primary
22437 // server. This value can be in unicode format.
22438 SoaMname string `json:"soa_mname,omitempty"`
22439 22440 // The negative Time to Live (TTL) value of the SOA of the zone indicates how
22441 // long a secondary server can cache data for "Does Not Respond" responses.
22442 SoaNegativeTtl uint32 `json:"soa_negative_ttl,omitempty"`
22443 22444 // This indicates the interval at which a secondary server sends a message to
22445 // the primary server for a zone to check that its data is current, and
22446 // retrieve fresh data if it is not.
22447 SoaRefresh uint32 `json:"soa_refresh,omitempty"`
22448 22449 // This indicates how long a secondary server must wait before attempting to
22450 // recontact the primary server after a connection failure between the two
22451 // servers occurs.
22452 SoaRetry uint32 `json:"soa_retry,omitempty"`
22453 22454 // The serial number in the SOA record incrementally changes every time the
22455 // record is modified. The Infoblox appliance allows you to change the serial
22456 // number (in the SOA record) for the primary server so it is higher than the
22457 // secondary server, thereby ensuring zone transfers come from the primary
22458 // server.
22459 SoaSerialNumber uint32 `json:"soa_serial_number,omitempty"`
22460 22461 // The primary servers (masters) of this stub zone.
22462 StubFrom []NameServer `json:"stub_from,omitempty"`
22463 22464 // The Grid member servers of this stub zone. Note that the
22465 // lead/stealth/grid_replicate/
22466 // preferred_primaries/override_preferred_primaries fields of the struct will
22467 // be ignored when set in this field.
22468 StubMembers []*Memberserver `json:"stub_members,omitempty"`
22469 22470 // The Microsoft DNS servers of this stub zone. Note that the stealth field of
22471 // the struct will be ignored when set in this field.
22472 StubMsservers []*Msdnsserver `json:"stub_msservers,omitempty"`
22473 22474 // This is true if the zone is associated with a shared record group.
22475 UsingSrgAssociations bool `json:"using_srg_associations,omitempty"`
22476 22477 // The name of the DNS view in which the zone resides. Example "external".
22478 View *string `json:"view,omitempty"`
22479 22480 // Determines the format of this zone.
22481 ZoneFormat string `json:"zone_format,omitempty"`
22482 }
22483 22484 func (ZoneStub) ObjectType() string {
22485 return "zone_stub"
22486 }
22487 22488 func (obj ZoneStub) ReturnFields() []string {
22489 if obj.returnFields == nil {
22490 obj.returnFields = []string{"fqdn", "stub_from", "view"}
22491 }
22492 return obj.returnFields
22493 }
22494 22495 // AdAuthServer represents Infoblox struct ad_auth_server
22496 type AdAuthServer struct {
22497 // The FQDN (Fully Qualified Domain Name) or IP address of the server.
22498 FqdnOrIp string `json:"fqdn_or_ip,omitempty"`
22499 22500 // The authentication port.
22501 AuthPort uint32 `json:"auth_port,omitempty"`
22502 22503 // The descriptive comment for the AD authentication server.
22504 Comment string `json:"comment,omitempty"`
22505 22506 // Determines if the AD authorization server is disabled.
22507 Disabled bool `json:"disabled,omitempty"`
22508 22509 // The type of encryption to use.
22510 Encryption string `json:"encryption,omitempty"`
22511 22512 // Determine if the MGMT port is enabled for the AD authentication server.
22513 MgmtPort bool `json:"mgmt_port,omitempty"`
22514 22515 // Use flag for: mgmt_port
22516 UseMgmtPort bool `json:"use_mgmt_port,omitempty"`
22517 }
22518 22519 // Addressac represents Infoblox struct addressac
22520 type Addressac struct {
22521 // The address this rule applies to or "Any".
22522 Address string `json:"address,omitempty"`
22523 22524 // The permission to use for this address.
22525 Permission string `json:"permission,omitempty"`
22526 22527 // A generated TSIG key. If the external primary server is a NIOS appliance
22528 // running DNS One 2.x code, this can be set to :2xCOMPAT.
22529 TsigKey string `json:"tsig_key,omitempty"`
22530 22531 // The TSIG key algorithm.
22532 TsigKeyAlg string `json:"tsig_key_alg,omitempty"`
22533 22534 // The name of the TSIG key. If 2.x TSIG compatibility is used, this is set to
22535 // 'tsig_xfer' on retrieval, and ignored on insert or update.
22536 TsigKeyName string `json:"tsig_key_name,omitempty"`
22537 22538 // Use flag for: tsig_key_name
22539 UseTsigKeyName bool `json:"use_tsig_key_name,omitempty"`
22540 }
22541 22542 // AdmingroupAdminsetcommands represents Infoblox struct admingroup:adminsetcommands
22543 type AdmingroupAdminsetcommands struct {
22544 // If True then CLI user has permission to run the command
22545 SetAdminGroupAcl bool `json:"set_admin_group_acl,omitempty"`
22546 22547 // If True then CLI user has permission to run the command
22548 EtBfd bool `json:"et_bfd,omitempty"`
22549 22550 // If True then CLI user has permission to run the command
22551 SetBfd bool `json:"set_bfd,omitempty"`
22552 22553 // If True then CLI user has permission to run the command
22554 SetBgp bool `json:"set_bgp,omitempty"`
22555 22556 // If True then CLI user has permission to run the command
22557 SetBloxtools bool `json:"set_bloxtools,omitempty"`
22558 22559 // If True then CLI user has permission to run the command
22560 SetCleanMscache bool `json:"set_clean_mscache,omitempty"`
22561 22562 // If True then CLI user has permission to run the command
22563 SetDebug bool `json:"set_debug,omitempty"`
22564 22565 // If True then CLI user has permission to run the command
22566 SetDebugAnalytics bool `json:"set_debug_analytics,omitempty"`
22567 22568 // If True then CLI user has permission to run the command
22569 SetDeleteTasksInterval bool `json:"set_delete_tasks_interval,omitempty"`
22570 22571 // If True then CLI user has permission to run the command
22572 SetDisableGuiOneClickSupport bool `json:"set_disable_gui_one_click_support,omitempty"`
22573 22574 // If True then CLI user has permission to run the command
22575 SetHardwareType bool `json:"set_hardware_type,omitempty"`
22576 22577 // If True then CLI user has permission to run the command
22578 SetIbtrap bool `json:"set_ibtrap,omitempty"`
22579 22580 // If True then CLI user has permission to run the command
22581 SetLcd bool `json:"set_lcd,omitempty"`
22582 22583 // If True then CLI user has permission to run the command
22584 SetLcdSettings bool `json:"set_lcd_settings,omitempty"`
22585 22586 // If True then CLI user has permission to run the command
22587 SetLines bool `json:"set_lines,omitempty"`
22588 22589 // If True then CLI user has permission to run the command
22590 SetMsMaxConnection bool `json:"set_ms_max_connection,omitempty"`
22591 22592 // If True then CLI user has permission to run the command
22593 SetNosafemode bool `json:"set_nosafemode,omitempty"`
22594 22595 // If True then CLI user has permission to run the command
22596 SetOcsp bool `json:"set_ocsp,omitempty"`
22597 22598 // If True then CLI user has permission to run the command
22599 SetPurgeRestartObjects bool `json:"set_purge_restart_objects,omitempty"`
22600 22601 // If True then CLI user has permission to run the command
22602 SetReportingUserCapabilities bool `json:"set_reporting_user_capabilities,omitempty"`
22603 22604 // If True then CLI user has permission to run the command
22605 SetRpzRecursiveOnly bool `json:"set_rpz_recursive_only,omitempty"`
22606 22607 // If True then CLI user has permission to run the command
22608 SetSafemode bool `json:"set_safemode,omitempty"`
22609 22610 // If True then CLI user has permission to run the command
22611 SetScheduled bool `json:"set_scheduled,omitempty"`
22612 22613 // If True then CLI user has permission to run the command
22614 SetSnmptrap bool `json:"set_snmptrap,omitempty"`
22615 22616 // If True then CLI user has permission to run the command
22617 SetSysname bool `json:"set_sysname,omitempty"`
22618 22619 // If True then CLI user has permission to run the command
22620 SetTerm bool `json:"set_term,omitempty"`
22621 22622 // If True then CLI user has permission to run the command
22623 SetThresholdtrap bool `json:"set_thresholdtrap,omitempty"`
22624 22625 // If True then CLI user has permission to run the command
22626 SetExpertmode bool `json:"set_expertmode,omitempty"`
22627 22628 // If True then CLI user has permission to run the command
22629 SetMaintenancemode bool `json:"set_maintenancemode,omitempty"`
22630 22631 // If True then CLI user has permission to run the command
22632 SetTransferReportingData bool `json:"set_transfer_reporting_data,omitempty"`
22633 22634 // If True then CLI user has permission to run the command
22635 SetTransferSupportbundle bool `json:"set_transfer_supportbundle,omitempty"`
22636 22637 // If True then CLI user has permission to run the command
22638 SetAnalyticsDatabaseDump bool `json:"set_analytics_database_dump,omitempty"`
22639 22640 // If True then CLI user has permission to run the command
22641 SetAnalyticsParameter bool `json:"set_analytics_parameter,omitempty"`
22642 22643 // If True then CLI user has permission to run the command
22644 SetCollectOldLogs bool `json:"set_collect_old_logs,omitempty"`
22645 22646 // If True then CLI user has permission to run the command
22647 SetCoreFilesQuota bool `json:"set_core_files_quota,omitempty"`
22648 22649 // If True then CLI user has permission to run the command
22650 SetHsmGroup bool `json:"set_hsm_group,omitempty"`
22651 22652 // If True then CLI user has permission to run the command
22653 SetWred bool `json:"set_wred,omitempty"`
22654 22655 // If True then CLI user has permission to run the command
22656 SetEnableDohKeyLogging bool `json:"set_enable_doh_key_logging,omitempty"`
22657 22658 // If True then CLI user has permission to run the command
22659 SetEnableDotKeyLogging bool `json:"set_enable_dot_key_logging,omitempty"`
22660 22661 // If True then CLI user has permission to run the command
22662 SetHotfix bool `json:"set_hotfix,omitempty"`
22663 22664 // If True then CLI user has permission to run the command
22665 SetMgm bool `json:"set_mgm,omitempty"`
22666 22667 // If True then CLI user has permission to run the command
22668 SetNtpStratum bool `json:"set_ntp_stratum,omitempty"`
22669 22670 // If True then CLI user has permission to run the command
22671 SetPcDomain bool `json:"set_pc_domain,omitempty"`
22672 22673 // If True then CLI user has permission to run the command
22674 SetReportFrequency bool `json:"set_report_frequency,omitempty"`
22675 22676 // If True then enable all fields
22677 EnableAll bool `json:"enable_all,omitempty"`
22678 22679 // If True then disable all fields
22680 DisableAll bool `json:"disable_all,omitempty"`
22681 }
22682 22683 // AdmingroupAdminshowcommands represents Infoblox struct admingroup:adminshowcommands
22684 type AdmingroupAdminshowcommands struct {
22685 // If True then CLI user has permission to run the command
22686 ShowAdminGroupAcl bool `json:"show_admin_group_acl,omitempty"`
22687 22688 // If True then CLI user has permission to run the command
22689 ShowAnalyticsParameter bool `json:"show_analytics_parameter,omitempty"`
22690 22691 // If True then CLI user has permission to run the command
22692 ShowArp bool `json:"show_arp,omitempty"`
22693 22694 // If True then CLI user has permission to run the command
22695 ShowBfd bool `json:"show_bfd,omitempty"`
22696 22697 // If True then CLI user has permission to run the command
22698 ShowBgp bool `json:"show_bgp,omitempty"`
22699 22700 // If True then CLI user has permission to run the command
22701 ShowBloxtools bool `json:"show_bloxtools,omitempty"`
22702 22703 // If True then CLI user has permission to run the command
22704 ShowCapacity bool `json:"show_capacity,omitempty"`
22705 22706 // If True then CLI user has permission to run the command
22707 ShowClusterdInfo bool `json:"show_clusterd_info,omitempty"`
22708 22709 // If True then CLI user has permission to run the command
22710 ShowConfig bool `json:"show_config,omitempty"`
22711 22712 // If True then CLI user has permission to run the command
22713 ShowCpu bool `json:"show_cpu,omitempty"`
22714 22715 // If True then CLI user has permission to run the command
22716 ShowDate bool `json:"show_date,omitempty"`
22717 22718 // If True then CLI user has permission to run the command
22719 ShowDebug bool `json:"show_debug,omitempty"`
22720 22721 // If True then CLI user has permission to run the command
22722 ShowDebugAnalytics bool `json:"show_debug_analytics,omitempty"`
22723 22724 // If True then CLI user has permission to run the command
22725 ShowDeleteTasksInterval bool `json:"show_delete_tasks_interval,omitempty"`
22726 22727 // If True then CLI user has permission to run the command
22728 ShowDisk bool `json:"show_disk,omitempty"`
22729 22730 // If True then CLI user has permission to run the command
22731 ShowFile bool `json:"show_file,omitempty"`
22732 22733 // If True then CLI user has permission to run the command
22734 ShowHardwareType bool `json:"show_hardware_type,omitempty"`
22735 22736 // If True then CLI user has permission to run the command
22737 ShowHardwareStatus bool `json:"show_hardware_status,omitempty"`
22738 22739 // If True then CLI user has permission to run the command
22740 ShowHwid bool `json:"show_hwid,omitempty"`
22741 22742 // If True then CLI user has permission to run the command
22743 ShowIbtrap bool `json:"show_ibtrap,omitempty"`
22744 22745 // If True then CLI user has permission to run the command
22746 ShowLcd bool `json:"show_lcd,omitempty"`
22747 22748 // If True then CLI user has permission to run the command
22749 ShowLcdInfo bool `json:"show_lcd_info,omitempty"`
22750 22751 // If True then CLI user has permission to run the command
22752 ShowLcdSettings bool `json:"show_lcd_settings,omitempty"`
22753 22754 // If True then CLI user has permission to run the command
22755 ShowLog bool `json:"show_log,omitempty"`
22756 22757 // If True then CLI user has permission to run the command
22758 ShowLogfiles bool `json:"show_logfiles,omitempty"`
22759 22760 // If True then CLI user has permission to run the command
22761 ShowMemory bool `json:"show_memory,omitempty"`
22762 22763 // If True then CLI user has permission to run the command
22764 ShowNtp bool `json:"show_ntp,omitempty"`
22765 22766 // If True then CLI user has permission to run the command
22767 ShowReportingUserCapabilities bool `json:"show_reporting_user_capabilities,omitempty"`
22768 22769 // If True then CLI user has permission to run the command
22770 ShowRpzRecursiveOnly bool `json:"show_rpz_recursive_only,omitempty"`
22771 22772 // If True then CLI user has permission to run the command
22773 ShowScheduled bool `json:"show_scheduled,omitempty"`
22774 22775 // If True then CLI user has permission to run the command
22776 ShowSnmp bool `json:"show_snmp,omitempty"`
22777 22778 // If True then CLI user has permission to run the command
22779 ShowStatus bool `json:"show_status,omitempty"`
22780 22781 // If True then CLI user has permission to run the command
22782 ShowTechSupport bool `json:"show_tech_support,omitempty"`
22783 22784 // If True then CLI user has permission to run the command
22785 ShowTemperature bool `json:"show_temperature,omitempty"`
22786 22787 // If True then CLI user has permission to run the command
22788 ShowThresholdtrap bool `json:"show_thresholdtrap,omitempty"`
22789 22790 // If True then CLI user has permission to run the command
22791 ShowUpgradeHistory bool `json:"show_upgrade_history,omitempty"`
22792 22793 // If True then CLI user has permission to run the command
22794 ShowUptime bool `json:"show_uptime,omitempty"`
22795 22796 // If True then CLI user has permission to run the command
22797 ShowVersion bool `json:"show_version,omitempty"`
22798 22799 // If True then CLI user has permission to run the command
22800 ShowAnalyticsDatabaseDumps bool `json:"show_analytics_database_dumps,omitempty"`
22801 22802 // If True then CLI user has permission to run the command
22803 ShowCores bool `json:"show_cores,omitempty"`
22804 22805 // If True then CLI user has permission to run the command
22806 ShowCoresummary bool `json:"show_coresummary,omitempty"`
22807 22808 // If True then CLI user has permission to run the command
22809 ShowCspThreatDb bool `json:"show_csp_threat_db,omitempty"`
22810 22811 // If True then CLI user has permission to run the command
22812 ShowHsmGroup bool `json:"show_hsm_group,omitempty"`
22813 22814 // If True then CLI user has permission to run the command
22815 ShowHsmInfo bool `json:"show_hsm_info,omitempty"`
22816 22817 // If True then CLI user has permission to run the command
22818 ShowPmap bool `json:"show_pmap,omitempty"`
22819 22820 // If True then CLI user has permission to run the command
22821 ShowProcess bool `json:"show_process,omitempty"`
22822 22823 // If True then CLI user has permission to run the command
22824 ShowPstack bool `json:"show_pstack,omitempty"`
22825 22826 // If True then CLI user has permission to run the command
22827 ShowSafenetSupportInfo bool `json:"show_safenet_support_info,omitempty"`
22828 22829 // If True then CLI user has permission to run the command
22830 ShowWredStats bool `json:"show_wred_stats,omitempty"`
22831 22832 // If True then CLI user has permission to run the command
22833 ShowWredStatus bool `json:"show_wred_status,omitempty"`
22834 22835 // If True then CLI user has permission to run the command
22836 ShowNtpStratum bool `json:"show_ntp_stratum,omitempty"`
22837 22838 // If True then CLI user has permission to run the command
22839 ShowPcDomain bool `json:"show_pc_domain,omitempty"`
22840 22841 // If True then CLI user has permission to run the command
22842 ShowReportFrequency bool `json:"show_report_frequency,omitempty"`
22843 22844 // If True then enable all fields
22845 EnableAll bool `json:"enable_all,omitempty"`
22846 22847 // If True then disable all fields
22848 DisableAll bool `json:"disable_all,omitempty"`
22849 }
22850 22851 // AdmingroupAdmintoplevelcommands represents Infoblox struct admingroup:admintoplevelcommands
22852 type AdmingroupAdmintoplevelcommands struct {
22853 // If True then CLI user has permission to run the command
22854 Ps bool `json:"ps,omitempty"`
22855 22856 // If True then CLI user has permission to run the command
22857 Iostat bool `json:"iostat,omitempty"`
22858 22859 // If True then CLI user has permission to run the command
22860 Netstat bool `json:"netstat,omitempty"`
22861 22862 // If True then CLI user has permission to run the command
22863 Vmstat bool `json:"vmstat,omitempty"`
22864 22865 // If True then CLI user has permission to run the command
22866 Tcpdump bool `json:"tcpdump,omitempty"`
22867 22868 // If True then CLI user has permission to run the command
22869 Rndc bool `json:"rndc,omitempty"`
22870 22871 // If True then CLI user has permission to run the command
22872 Sar bool `json:"sar,omitempty"`
22873 22874 // If True then CLI user has permission to run the command
22875 Resilver bool `json:"resilver,omitempty"`
22876 22877 // If True then CLI user has permission to run the command
22878 RestartProduct bool `json:"restart_product,omitempty"`
22879 22880 // If True then CLI user has permission to run the command
22881 Scrape bool `json:"scrape,omitempty"`
22882 22883 // If True then CLI user has permission to run the command
22884 SamlRestart bool `json:"saml_restart,omitempty"`
22885 22886 // If True then CLI user has permission to run the command
22887 Synctime bool `json:"synctime,omitempty"`
22888 22889 // If True then enable all fields
22890 EnableAll bool `json:"enable_all,omitempty"`
22891 22892 // If True then disable all fields
22893 DisableAll bool `json:"disable_all,omitempty"`
22894 }
22895 22896 // AdmingroupCloudsetcommands represents Infoblox struct admingroup:cloudsetcommands
22897 type AdmingroupCloudsetcommands struct {
22898 // If True then CLI user has permission to run the command
22899 SetCloudServicesPortalForceRefresh bool `json:"set_cloud_services_portal_force_refresh,omitempty"`
22900 22901 // If True then CLI user has permission to run the command
22902 SetCloudServicesPortal bool `json:"set_cloud_services_portal,omitempty"`
22903 22904 // If True then enable all fields
22905 EnableAll bool `json:"enable_all,omitempty"`
22906 22907 // If True then disable all fields
22908 DisableAll bool `json:"disable_all,omitempty"`
22909 }
22910 22911 // AdmingroupCloudshowcommands represents Infoblox struct admingroup:cloudshowcommands
22912 type AdmingroupCloudshowcommands struct {
22913 // If True then CLI user has permission to run the command
22914 ShowCloudServicesPortal bool `json:"show_cloud_services_portal,omitempty"`
22915 22916 // If True then enable all fields
22917 EnableAll bool `json:"enable_all,omitempty"`
22918 22919 // If True then disable all fields
22920 DisableAll bool `json:"disable_all,omitempty"`
22921 }
22922 22923 // AdmingroupDatabasesetcommands represents Infoblox struct admingroup:databasesetcommands
22924 type AdmingroupDatabasesetcommands struct {
22925 // If True then CLI user has permission to run the command
22926 SetNamedMaxJournalSize bool `json:"set_named_max_journal_size,omitempty"`
22927 22928 // If True then CLI user has permission to run the command
22929 SetTxnTrace bool `json:"set_txn_trace,omitempty"`
22930 22931 // If True then CLI user has permission to run the command
22932 SetDatabaseTransfer bool `json:"set_database_transfer,omitempty"`
22933 22934 // If True then CLI user has permission to run the command
22935 SetDbRollover bool `json:"set_db_rollover,omitempty"`
22936 22937 // If True then CLI user has permission to run the command
22938 SetDbSnapshot bool `json:"set_db_snapshot,omitempty"`
22939 22940 // If True then CLI user has permission to run the command
22941 SetDbsize bool `json:"set_dbsize,omitempty"`
22942 22943 // If True then CLI user has permission to run the command
22944 SetDebugTools bool `json:"set_debug_tools,omitempty"`
22945 22946 // If True then CLI user has permission to run the command
22947 SetCircTxnTrace bool `json:"set_circ_txn_trace,omitempty"`
22948 22949 // If True then enable all fields
22950 EnableAll bool `json:"enable_all,omitempty"`
22951 22952 // If True then disable all fields
22953 DisableAll bool `json:"disable_all,omitempty"`
22954 }
22955 22956 // AdmingroupDatabaseshowcommands represents Infoblox struct admingroup:databaseshowcommands
22957 type AdmingroupDatabaseshowcommands struct {
22958 // If True then CLI user has permission to run the command
22959 ShowNamedMaxJournalSize bool `json:"show_named_max_journal_size,omitempty"`
22960 22961 // If True then CLI user has permission to run the command
22962 ShowTxnTrace bool `json:"show_txn_trace,omitempty"`
22963 22964 // If True then CLI user has permission to run the command
22965 ShowDatabaseTransferStatus bool `json:"show_database_transfer_status,omitempty"`
22966 22967 // If True then CLI user has permission to run the command
22968 ShowBackup bool `json:"show_backup,omitempty"`
22969 22970 // If True then CLI user has permission to run the command
22971 ShowDbPh bool `json:"show_db_ph,omitempty"`
22972 22973 // If True then CLI user has permission to run the command
22974 ShowDbsize bool `json:"show_dbsize,omitempty"`
22975 22976 // If True then CLI user has permission to run the command
22977 ShowIbdbstat bool `json:"show_ibdbstat,omitempty"`
22978 22979 // If True then enable all fields
22980 EnableAll bool `json:"enable_all,omitempty"`
22981 22982 // If True then disable all fields
22983 DisableAll bool `json:"disable_all,omitempty"`
22984 }
22985 22986 // AdmingroupDhcpsetcommands represents Infoblox struct admingroup:dhcpsetcommands
22987 type AdmingroupDhcpsetcommands struct {
22988 // If True then CLI user has permission to run the command
22989 SetDhcpdRecvSockBufSize bool `json:"set_dhcpd_recv_sock_buf_size,omitempty"`
22990 22991 // If True then CLI user has permission to run the command
22992 SetLogTxnId bool `json:"set_log_txn_id,omitempty"`
22993 22994 // If True then CLI user has permission to run the command
22995 SetOverloadBootp bool `json:"set_overload_bootp,omitempty"`
22996 22997 // If True then CLI user has permission to run the command
22998 SetRegenerateDhcpUpdaterKeys bool `json:"set_regenerate_dhcp_updater_keys,omitempty"`
22999 23000 // If True then enable all fields
23001 EnableAll bool `json:"enable_all,omitempty"`
23002 23003 // If True then disable all fields
23004 DisableAll bool `json:"disable_all,omitempty"`
23005 }
23006 23007 // AdmingroupDhcpshowcommands represents Infoblox struct admingroup:dhcpshowcommands
23008 type AdmingroupDhcpshowcommands struct {
23009 // If True then CLI user has permission to run the command
23010 ShowDhcpGssTsig bool `json:"show_dhcp_gss_tsig,omitempty"`
23011 23012 // If True then CLI user has permission to run the command
23013 ShowDhcpv6GssTsig bool `json:"show_dhcpv6_gss_tsig,omitempty"`
23014 23015 // If True then CLI user has permission to run the command
23016 ShowDhcpdRecvSockBufSize bool `json:"show_dhcpd_recv_sock_buf_size,omitempty"`
23017 23018 // If True then CLI user has permission to run the command
23019 ShowOverloadBootp bool `json:"show_overload_bootp,omitempty"`
23020 23021 // If True then CLI user has permission to run the command
23022 ShowLogTxnId bool `json:"show_log_txn_id,omitempty"`
23023 23024 // If True then enable all fields
23025 EnableAll bool `json:"enable_all,omitempty"`
23026 23027 // If True then disable all fields
23028 DisableAll bool `json:"disable_all,omitempty"`
23029 }
23030 23031 // AdmingroupDnssetcommands represents Infoblox struct admingroup:dnssetcommands
23032 type AdmingroupDnssetcommands struct {
23033 // If True then CLI user has permission to run the command
23034 SetDns bool `json:"set_dns,omitempty"`
23035 23036 // If True then CLI user has permission to run the command
23037 SetDnsRrl bool `json:"set_dns_rrl,omitempty"`
23038 23039 // If True then CLI user has permission to run the command
23040 SetEnableDnstap bool `json:"set_enable_dnstap,omitempty"`
23041 23042 // If True then CLI user has permission to run the command
23043 SetEnableMatchRecursiveOnly bool `json:"set_enable_match_recursive_only,omitempty"`
23044 23045 // If True then CLI user has permission to run the command
23046 SetExtraDnsNameValidations bool `json:"set_extra_dns_name_validations,omitempty"`
23047 23048 // If True then CLI user has permission to run the command
23049 SetLogGuestLookups bool `json:"set_log_guest_lookups,omitempty"`
23050 23051 // If True then CLI user has permission to run the command
23052 SetMaxRecursionDepth bool `json:"set_max_recursion_depth,omitempty"`
23053 23054 // If True then CLI user has permission to run the command
23055 SetMaxRecursionQueries bool `json:"set_max_recursion_queries,omitempty"`
23056 23057 // If True then CLI user has permission to run the command
23058 SetMonitor bool `json:"set_monitor,omitempty"`
23059 23060 // If True then CLI user has permission to run the command
23061 SetMsDnsReportsSyncInterval bool `json:"set_ms_dns_reports_sync_interval,omitempty"`
23062 23063 // If True then CLI user has permission to run the command
23064 SetMsStickyIp bool `json:"set_ms_sticky_ip,omitempty"`
23065 23066 // If True then CLI user has permission to run the command
23067 SetRestartAnycastWithDnsRestart bool `json:"set_restart_anycast_with_dns_restart,omitempty"`
23068 23069 // If True then CLI user has permission to run the command
23070 SetDnsAccel bool `json:"set_dns_accel,omitempty"`
23071 23072 // If True then CLI user has permission to run the command
23073 SetDnsAccelDebug bool `json:"set_dns_accel_debug,omitempty"`
23074 23075 // If True then CLI user has permission to run the command
23076 SetDnsAutoGen bool `json:"set_dns_auto_gen,omitempty"`
23077 23078 // If True then CLI user has permission to run the command
23079 SetAllowQueryDomain bool `json:"set_allow_query_domain,omitempty"`
23080 23081 // If True then enable all fields
23082 EnableAll bool `json:"enable_all,omitempty"`
23083 23084 // If True then disable all fields
23085 DisableAll bool `json:"disable_all,omitempty"`
23086 }
23087 23088 // AdmingroupDnsshowcommands represents Infoblox struct admingroup:dnsshowcommands
23089 type AdmingroupDnsshowcommands struct {
23090 // If True then CLI user has permission to run the command
23091 ShowLogGuestLookups bool `json:"show_log_guest_lookups,omitempty"`
23092 23093 // If True then CLI user has permission to run the command
23094 ShowDnsGssTsig bool `json:"show_dns_gss_tsig,omitempty"`
23095 23096 // If True then CLI user has permission to run the command
23097 ShowDns bool `json:"show_dns,omitempty"`
23098 23099 // If True then CLI user has permission to run the command
23100 ShowDnstapStats bool `json:"show_dnstap_stats,omitempty"`
23101 23102 // If True then CLI user has permission to run the command
23103 ShowDnstapStatus bool `json:"show_dnstap_status,omitempty"`
23104 23105 // If True then CLI user has permission to run the command
23106 ShowDnsOverTlsConfig bool `json:"show_dns_over_tls_config,omitempty"`
23107 23108 // If True then CLI user has permission to run the command
23109 ShowDnsOverTlsStatus bool `json:"show_dns_over_tls_status,omitempty"`
23110 23111 // If True then CLI user has permission to run the command
23112 ShowDnsOverTlsStats bool `json:"show_dns_over_tls_stats,omitempty"`
23113 23114 // If True then CLI user has permission to run the command
23115 ShowDohConfig bool `json:"show_doh_config,omitempty"`
23116 23117 // If True then CLI user has permission to run the command
23118 ShowDohStatus bool `json:"show_doh_status,omitempty"`
23119 23120 // If True then CLI user has permission to run the command
23121 ShowDohStats bool `json:"show_doh_stats,omitempty"`
23122 23123 // If True then CLI user has permission to run the command
23124 ShowExtraDnsNameValidations bool `json:"show_extra_dns_name_validations,omitempty"`
23125 23126 // If True then CLI user has permission to run the command
23127 ShowMsStickyIp bool `json:"show_ms_sticky_ip,omitempty"`
23128 23129 // If True then CLI user has permission to run the command
23130 ShowDnsRrl bool `json:"show_dns_rrl,omitempty"`
23131 23132 // If True then CLI user has permission to run the command
23133 ShowEnableMatchRecursiveOnly bool `json:"show_enable_match_recursive_only,omitempty"`
23134 23135 // If True then CLI user has permission to run the command
23136 ShowMaxRecursionDepth bool `json:"show_max_recursion_depth,omitempty"`
23137 23138 // If True then CLI user has permission to run the command
23139 ShowMaxRecursionQueries bool `json:"show_max_recursion_queries,omitempty"`
23140 23141 // If True then CLI user has permission to run the command
23142 ShowMonitor bool `json:"show_monitor,omitempty"`
23143 23144 // If True then CLI user has permission to run the command
23145 ShowQueryCapture bool `json:"show_query_capture,omitempty"`
23146 23147 // If True then CLI user has permission to run the command
23148 ShowDtcEa bool `json:"show_dtc_ea,omitempty"`
23149 23150 // If True then CLI user has permission to run the command
23151 ShowDtcGeoip bool `json:"show_dtc_geoip,omitempty"`
23152 23153 // If True then CLI user has permission to run the command
23154 ShowRestartAnycastWithDnsRestart bool `json:"show_restart_anycast_with_dns_restart,omitempty"`
23155 23156 // If True then CLI user has permission to run the command
23157 ShowDnsAccel bool `json:"show_dns_accel,omitempty"`
23158 23159 // If True then CLI user has permission to run the command
23160 ShowDnsAccelDebug bool `json:"show_dns_accel_debug,omitempty"`
23161 23162 // If True then CLI user has permission to run the command
23163 ShowAllowQueryDomain bool `json:"show_allow_query_domain,omitempty"`
23164 23165 // If True then CLI user has permission to run the command
23166 ShowAllowQueryDomainViews bool `json:"show_allow_query_domain_views,omitempty"`
23167 23168 // If True then enable all fields
23169 EnableAll bool `json:"enable_all,omitempty"`
23170 23171 // If True then disable all fields
23172 DisableAll bool `json:"disable_all,omitempty"`
23173 }
23174 23175 // AdmingroupDnstoplevelcommands represents Infoblox struct admingroup:dnstoplevelcommands
23176 type AdmingroupDnstoplevelcommands struct {
23177 // If True then CLI user has permission to run the command
23178 DdnsAdd bool `json:"ddns_add,omitempty"`
23179 23180 // If True then CLI user has permission to run the command
23181 DdnsDelete bool `json:"ddns_delete,omitempty"`
23182 23183 // If True then CLI user has permission to run the command
23184 Delete bool `json:"delete,omitempty"`
23185 23186 // If True then CLI user has permission to run the command
23187 DnsARecordDelete bool `json:"dns_a_record_delete,omitempty"`
23188 23189 // If True then enable all fields
23190 EnableAll bool `json:"enable_all,omitempty"`
23191 23192 // If True then disable all fields
23193 DisableAll bool `json:"disable_all,omitempty"`
23194 }
23195 23196 // AdmingroupDockersetcommands represents Infoblox struct admingroup:dockersetcommands
23197 type AdmingroupDockersetcommands struct {
23198 // If True then CLI user has permission to run the command
23199 SetDockerBridge bool `json:"set_docker_bridge,omitempty"`
23200 23201 // If True then enable all fields
23202 EnableAll bool `json:"enable_all,omitempty"`
23203 23204 // If True then disable all fields
23205 DisableAll bool `json:"disable_all,omitempty"`
23206 }
23207 23208 // AdmingroupDockershowcommands represents Infoblox struct admingroup:dockershowcommands
23209 type AdmingroupDockershowcommands struct {
23210 // If True then CLI user has permission to run the command
23211 ShowDockerBridge bool `json:"show_docker_bridge,omitempty"`
23212 23213 // If True then enable all fields
23214 EnableAll bool `json:"enable_all,omitempty"`
23215 23216 // If True then disable all fields
23217 DisableAll bool `json:"disable_all,omitempty"`
23218 }
23219 23220 // AdmingroupGridsetcommands represents Infoblox struct admingroup:gridsetcommands
23221 type AdmingroupGridsetcommands struct {
23222 // If True then CLI user has permission to run the command
23223 SetDefaultRevertWindow bool `json:"set_default_revert_window,omitempty"`
23224 23225 // If True then CLI user has permission to run the command
23226 SetDscp bool `json:"set_dscp,omitempty"`
23227 23228 // If True then CLI user has permission to run the command
23229 SetMembership bool `json:"set_membership,omitempty"`
23230 23231 // If True then CLI user has permission to run the command
23232 SetNogrid bool `json:"set_nogrid,omitempty"`
23233 23234 // If True then CLI user has permission to run the command
23235 SetNomastergrid bool `json:"set_nomastergrid,omitempty"`
23236 23237 // If True then CLI user has permission to run the command
23238 SetPromoteMaster bool `json:"set_promote_master,omitempty"`
23239 23240 // If True then CLI user has permission to run the command
23241 SetRevertGrid bool `json:"set_revert_grid,omitempty"`
23242 23243 // If True then CLI user has permission to run the command
23244 SetToken bool `json:"set_token,omitempty"`
23245 23246 // If True then CLI user has permission to run the command
23247 SetTestPromoteMaster bool `json:"set_test_promote_master,omitempty"`
23248 23249 // If True then enable all fields
23250 EnableAll bool `json:"enable_all,omitempty"`
23251 23252 // If True then disable all fields
23253 DisableAll bool `json:"disable_all,omitempty"`
23254 }
23255 23256 // AdmingroupGridshowcommands represents Infoblox struct admingroup:gridshowcommands
23257 type AdmingroupGridshowcommands struct {
23258 // If True then CLI user has permission to run the command
23259 ShowTestPromoteMaster bool `json:"show_test_promote_master,omitempty"`
23260 23261 // If True then CLI user has permission to run the command
23262 ShowToken bool `json:"show_token,omitempty"`
23263 23264 // If True then enable all fields
23265 EnableAll bool `json:"enable_all,omitempty"`
23266 23267 // If True then disable all fields
23268 DisableAll bool `json:"disable_all,omitempty"`
23269 23270 // If True then CLI user has permission to run the command
23271 ShowDscp bool `json:"show_dscp,omitempty"`
23272 }
23273 23274 // AdmingroupLicensingsetcommands represents Infoblox struct admingroup:licensingsetcommands
23275 type AdmingroupLicensingsetcommands struct {
23276 // If True then CLI user has permission to run the command
23277 SetLicense bool `json:"set_license,omitempty"`
23278 23279 // If True then CLI user has permission to run the command
23280 SetReportingResetLicense bool `json:"set_reporting_reset_license,omitempty"`
23281 23282 // If True then CLI user has permission to run the command
23283 SetTempLicense bool `json:"set_temp_license,omitempty"`
23284 23285 // If True then enable all fields
23286 EnableAll bool `json:"enable_all,omitempty"`
23287 23288 // If True then disable all fields
23289 DisableAll bool `json:"disable_all,omitempty"`
23290 }
23291 23292 // AdmingroupLicensingshowcommands represents Infoblox struct admingroup:licensingshowcommands
23293 type AdmingroupLicensingshowcommands struct {
23294 // If True then CLI user has permission to run the command
23295 ShowLicense bool `json:"show_license,omitempty"`
23296 23297 // If True then CLI user has permission to run the command
23298 ShowLicensePoolContainer bool `json:"show_license_pool_container,omitempty"`
23299 23300 // If True then CLI user has permission to run the command
23301 ShowLicenseUid bool `json:"show_license_uid,omitempty"`
23302 23303 // If True then enable all fields
23304 EnableAll bool `json:"enable_all,omitempty"`
23305 23306 // If True then disable all fields
23307 DisableAll bool `json:"disable_all,omitempty"`
23308 }
23309 23310 // AdmingroupLockoutsetting represents Infoblox struct admingroup:lockoutsetting
23311 type AdmingroupLockoutsetting struct {
23312 // Enable/disable sequential failed login attempts lockout for local users
23313 EnableSequentialFailedLoginAttemptsLockout bool `json:"enable_sequential_failed_login_attempts_lockout,omitempty"`
23314 23315 // The number of failed login attempts
23316 SequentialAttempts uint32 `json:"sequential_attempts,omitempty"`
23317 23318 // Time period the account remains locked after sequential failed login attempt
23319 // lockout.
23320 FailedLockoutDuration uint32 `json:"failed_lockout_duration,omitempty"`
23321 23322 // Never unlock option is also provided and if set then user account is locked
23323 // forever and only super user can unlock this account
23324 NeverUnlockUser bool `json:"never_unlock_user,omitempty"`
23325 }
23326 23327 // AdmingroupMachinecontroltoplevelcommands represents Infoblox struct admingroup:machinecontroltoplevelcommands
23328 type AdmingroupMachinecontroltoplevelcommands struct {
23329 // If True then CLI user has permission to run the command
23330 Reboot bool `json:"reboot,omitempty"`
23331 23332 // If True then CLI user has permission to run the command
23333 Reset bool `json:"reset,omitempty"`
23334 23335 // If True then CLI user has permission to run the command
23336 Shutdown bool `json:"shutdown,omitempty"`
23337 23338 // If True then CLI user has permission to run the command
23339 Restart bool `json:"restart,omitempty"`
23340 23341 // If True then enable all fields
23342 EnableAll bool `json:"enable_all,omitempty"`
23343 23344 // If True then disable all fields
23345 DisableAll bool `json:"disable_all,omitempty"`
23346 }
23347 23348 // AdmingroupNetworkingsetcommands represents Infoblox struct admingroup:networkingsetcommands
23349 type AdmingroupNetworkingsetcommands struct {
23350 // If True then CLI user has permission to run the command
23351 SetConnectionLimit bool `json:"set_connection_limit,omitempty"`
23352 23353 // If True then CLI user has permission to run the command
23354 SetDefaultRoute bool `json:"set_default_route,omitempty"`
23355 23356 // If True then CLI user has permission to run the command
23357 SetInterface bool `json:"set_interface,omitempty"`
23358 23359 // If True then CLI user has permission to run the command
23360 SetIpRateLimit bool `json:"set_ip_rate_limit,omitempty"`
23361 23362 // If True then CLI user has permission to run the command
23363 SetIpv6DisableOnDad bool `json:"set_ipv6_disable_on_dad,omitempty"`
23364 23365 // If True then CLI user has permission to run the command
23366 SetIpv6Neighbor bool `json:"set_ipv6_neighbor,omitempty"`
23367 23368 // If True then CLI user has permission to run the command
23369 SetIpv6Ospf bool `json:"set_ipv6_ospf,omitempty"`
23370 23371 // If True then CLI user has permission to run the command
23372 SetIpv6Status bool `json:"set_ipv6_status,omitempty"`
23373 23374 // If True then CLI user has permission to run the command
23375 SetLom bool `json:"set_lom,omitempty"`
23376 23377 // If True then CLI user has permission to run the command
23378 SetMldVersion1 bool `json:"set_mld_version_1,omitempty"`
23379 23380 // If True then CLI user has permission to run the command
23381 SetNamedRecvSockBufSize bool `json:"set_named_recv_sock_buf_size,omitempty"`
23382 23383 // If True then CLI user has permission to run the command
23384 SetNamedTcpClientsLimit bool `json:"set_named_tcp_clients_limit,omitempty"`
23385 23386 // If True then CLI user has permission to run the command
23387 SetNetwork bool `json:"set_network,omitempty"`
23388 23389 // If True then CLI user has permission to run the command
23390 SetOspf bool `json:"set_ospf,omitempty"`
23391 23392 // If True then CLI user has permission to run the command
23393 SetPrompt bool `json:"set_prompt,omitempty"`
23394 23395 // If True then CLI user has permission to run the command
23396 SetRemoteConsole bool `json:"set_remote_console,omitempty"`
23397 23398 // If True then CLI user has permission to run the command
23399 SetStaticRoute bool `json:"set_static_route,omitempty"`
23400 23401 // If True then CLI user has permission to run the command
23402 SetTcpTimestamps bool `json:"set_tcp_timestamps,omitempty"`
23403 23404 // If True then CLI user has permission to run the command
23405 SetTrafficCapture bool `json:"set_traffic_capture,omitempty"`
23406 23407 // If True then CLI user has permission to run the command
23408 SetWinsForwarding bool `json:"set_wins_forwarding,omitempty"`
23409 23410 // If True then enable all fields
23411 EnableAll bool `json:"enable_all,omitempty"`
23412 23413 // If True then disable all fields
23414 DisableAll bool `json:"disable_all,omitempty"`
23415 }
23416 23417 // AdmingroupNetworkingshowcommands represents Infoblox struct admingroup:networkingshowcommands
23418 type AdmingroupNetworkingshowcommands struct {
23419 // If True then CLI user has permission to run the command
23420 ShowConnectionLimit bool `json:"show_connection_limit,omitempty"`
23421 23422 // If True then CLI user has permission to run the command
23423 ShowConnections bool `json:"show_connections,omitempty"`
23424 23425 // If True then CLI user has permission to run the command
23426 ShowInterface bool `json:"show_interface,omitempty"`
23427 23428 // If True then CLI user has permission to run the command
23429 ShowIpRateLimit bool `json:"show_ip_rate_limit,omitempty"`
23430 23431 // If True then CLI user has permission to run the command
23432 ShowIpv6Bgp bool `json:"show_ipv6_bgp,omitempty"`
23433 23434 // If True then CLI user has permission to run the command
23435 ShowIpv6DisableOnDad bool `json:"show_ipv6_disable_on_dad,omitempty"`
23436 23437 // If True then CLI user has permission to run the command
23438 ShowIpv6Neighbor bool `json:"show_ipv6_neighbor,omitempty"`
23439 23440 // If True then CLI user has permission to run the command
23441 ShowIpv6Ospf bool `json:"show_ipv6_ospf,omitempty"`
23442 23443 // If True then CLI user has permission to run the command
23444 ShowLom bool `json:"show_lom,omitempty"`
23445 23446 // If True then CLI user has permission to run the command
23447 ShowMldVersion bool `json:"show_mld_version,omitempty"`
23448 23449 // If True then CLI user has permission to run the command
23450 ShowNamedRecvSockBufSize bool `json:"show_named_recv_sock_buf_size,omitempty"`
23451 23452 // If True then CLI user has permission to run the command
23453 ShowNamedTcpClientsLimit bool `json:"show_named_tcp_clients_limit,omitempty"`
23454 23455 // If True then CLI user has permission to run the command
23456 ShowNetwork bool `json:"show_network,omitempty"`
23457 23458 // If True then CLI user has permission to run the command
23459 ShowOspf bool `json:"show_ospf,omitempty"`
23460 23461 // If True then CLI user has permission to run the command
23462 ShowRemoteConsole bool `json:"show_remote_console,omitempty"`
23463 23464 // If True then CLI user has permission to run the command
23465 ShowRoutes bool `json:"show_routes,omitempty"`
23466 23467 // If True then CLI user has permission to run the command
23468 ShowStaticRoutes bool `json:"show_static_routes,omitempty"`
23469 23470 // If True then CLI user has permission to run the command
23471 ShowTcpTimestamps bool `json:"show_tcp_timestamps,omitempty"`
23472 23473 // If True then CLI user has permission to run the command
23474 ShowTrafficCaptureStatus bool `json:"show_traffic_capture_status,omitempty"`
23475 23476 // If True then CLI user has permission to run the command
23477 ShowWinsForwarding bool `json:"show_wins_forwarding,omitempty"`
23478 23479 // If True then CLI user has permission to run the command
23480 ShowDefaultRoute bool `json:"show_default_route,omitempty"`
23481 23482 // If True then CLI user has permission to run the command
23483 ShowIproute bool `json:"show_iproute,omitempty"`
23484 23485 // If True then CLI user has permission to run the command
23486 ShowIprule bool `json:"show_iprule,omitempty"`
23487 23488 // If True then CLI user has permission to run the command
23489 ShowIptables bool `json:"show_iptables,omitempty"`
23490 23491 // If True then CLI user has permission to run the command
23492 ShowMtuSize bool `json:"show_mtu_size,omitempty"`
23493 23494 // If True then CLI user has permission to run the command
23495 ShowNetworkConnectivity bool `json:"show_network_connectivity,omitempty"`
23496 23497 // If True then CLI user has permission to run the command
23498 ShowTrafficfiles bool `json:"show_trafficfiles,omitempty"`
23499 23500 // If True then CLI user has permission to run the command
23501 ShowInterfaceStats bool `json:"show_interface_stats,omitempty"`
23502 23503 // If True then enable all fields
23504 EnableAll bool `json:"enable_all,omitempty"`
23505 23506 // If True then disable all fields
23507 DisableAll bool `json:"disable_all,omitempty"`
23508 }
23509 23510 // AdmingroupPasswordsetting represents Infoblox struct admingroup:passwordsetting
23511 type AdmingroupPasswordsetting struct {
23512 // Whether password expiry enabled or not.
23513 ExpireEnable bool `json:"expire_enable,omitempty"`
23514 23515 // The days that password must expire
23516 ExpireDays uint32 `json:"expire_days,omitempty"`
23517 23518 // Days to show up reminder prior to expiration
23519 ReminderDays uint32 `json:"reminder_days,omitempty"`
23520 }
23521 23522 // AdmingroupSamlsetting represents Infoblox struct admingroup:samlsetting
23523 type AdmingroupSamlsetting struct {
23524 // Whether or not auto create user.
23525 AutoCreateUser bool `json:"auto_create_user,omitempty"`
23526 23527 // Whether or not persist auto created user after logout.
23528 PersistAutoCreatedUser bool `json:"persist_auto_created_user,omitempty"`
23529 }
23530 23531 // AdmingroupSecuritysetcommands represents Infoblox struct admingroup:securitysetcommands
23532 type AdmingroupSecuritysetcommands struct {
23533 // If True then CLI user has permission to run the command
23534 SetAdp bool `json:"set_adp,omitempty"`
23535 23536 // If True then CLI user has permission to run the command
23537 SetApacheHttpsCert bool `json:"set_apache_https_cert,omitempty"`
23538 23539 // If True then CLI user has permission to run the command
23540 SetCcMode bool `json:"set_cc_mode,omitempty"`
23541 23542 // If True then CLI user has permission to run the command
23543 SetCertificateAuthAdmins bool `json:"set_certificate_auth_admins,omitempty"`
23544 23545 // If True then CLI user has permission to run the command
23546 SetCertificateAuthServices bool `json:"set_certificate_auth_services,omitempty"`
23547 23548 // If True then CLI user has permission to run the command
23549 SetCheckAuthNs bool `json:"set_check_auth_ns,omitempty"`
23550 23551 // If True then CLI user has permission to run the command
23552 SetCheckSslCertificate bool `json:"set_check_ssl_certificate,omitempty"`
23553 23554 // If True then CLI user has permission to run the command
23555 SetDisableHttpsCertRegeneration bool `json:"set_disable_https_cert_regeneration,omitempty"`
23556 23557 // If True then CLI user has permission to run the command
23558 SetFipsMode bool `json:"set_fips_mode,omitempty"`
23559 23560 // If True then CLI user has permission to run the command
23561 SetReportingCert bool `json:"set_reporting_cert,omitempty"`
23562 23563 // If True then CLI user has permission to run the command
23564 SetSecurity bool `json:"set_security,omitempty"`
23565 23566 // If True then CLI user has permission to run the command
23567 SetSessionTimeout bool `json:"set_session_timeout,omitempty"`
23568 23569 // If True then CLI user has permission to run the command
23570 SetSubscriberSecureData bool `json:"set_subscriber_secure_data,omitempty"`
23571 23572 // If True then CLI user has permission to run the command
23573 SetSupportAccess bool `json:"set_support_access,omitempty"`
23574 23575 // If True then CLI user has permission to run the command
23576 SetSupportInstall bool `json:"set_support_install,omitempty"`
23577 23578 // If True then CLI user has permission to run the command
23579 SetAdpDebug bool `json:"set_adp_debug,omitempty"`
23580 23581 // If True then CLI user has permission to run the command
23582 SetSupportTimeout bool `json:"set_support_timeout,omitempty"`
23583 23584 // If True then enable all fields
23585 EnableAll bool `json:"enable_all,omitempty"`
23586 23587 // If True then disable all fields
23588 DisableAll bool `json:"disable_all,omitempty"`
23589 }
23590 23591 // AdmingroupSecurityshowcommands represents Infoblox struct admingroup:securityshowcommands
23592 type AdmingroupSecurityshowcommands struct {
23593 // If True then CLI user has permission to run the command
23594 ShowFipsMode bool `json:"show_fips_mode,omitempty"`
23595 23596 // If True then CLI user has permission to run the command
23597 ShowCcMode bool `json:"show_cc_mode,omitempty"`
23598 23599 // If True then CLI user has permission to run the command
23600 ShowCertificateAuthAdmins bool `json:"show_certificate_auth_admins,omitempty"`
23601 23602 // If True then CLI user has permission to run the command
23603 ShowCertificateAuthServices bool `json:"show_certificate_auth_services,omitempty"`
23604 23605 // If True then CLI user has permission to run the command
23606 ShowCheckAuthNs bool `json:"show_check_auth_ns,omitempty"`
23607 23608 // If True then CLI user has permission to run the command
23609 ShowCheckSslCertificate bool `json:"show_check_ssl_certificate,omitempty"`
23610 23611 // If True then CLI user has permission to run the command
23612 ShowSecurity bool `json:"show_security,omitempty"`
23613 23614 // If True then CLI user has permission to run the command
23615 ShowSessionTimeout bool `json:"show_session_timeout,omitempty"`
23616 23617 // If True then CLI user has permission to run the command
23618 ShowSubscriberSecureData bool `json:"show_subscriber_secure_data,omitempty"`
23619 23620 // If True then CLI user has permission to run the command
23621 ShowSupportAccess bool `json:"show_support_access,omitempty"`
23622 23623 // If True then CLI user has permission to run the command
23624 ShowVpnCertDates bool `json:"show_vpn_cert_dates,omitempty"`
23625 23626 // If True then CLI user has permission to run the command
23627 ShowAdp bool `json:"show_adp,omitempty"`
23628 23629 // If True then CLI user has permission to run the command
23630 ShowAdpDebug bool `json:"show_adp_debug,omitempty"`
23631 23632 // If True then CLI user has permission to run the command
23633 ShowSupportTimeout bool `json:"show_support_timeout,omitempty"`
23634 23635 // If True then enable all fields
23636 EnableAll bool `json:"enable_all,omitempty"`
23637 23638 // If True then disable all fields
23639 DisableAll bool `json:"disable_all,omitempty"`
23640 }
23641 23642 // AdmingroupTroubleshootingtoplevelcommands represents Infoblox struct admingroup:troubleshootingtoplevelcommands
23643 type AdmingroupTroubleshootingtoplevelcommands struct {
23644 // If True then CLI user has permission to run the command
23645 Ping bool `json:"ping,omitempty"`
23646 23647 // If True then CLI user has permission to run the command
23648 Ping6 bool `json:"ping6,omitempty"`
23649 23650 // If True then CLI user has permission to run the command
23651 Strace bool `json:"strace,omitempty"`
23652 23653 // If True then CLI user has permission to run the command
23654 Traceroute bool `json:"traceroute,omitempty"`
23655 23656 // If True then CLI user has permission to run the command
23657 TrafficCapture bool `json:"traffic_capture,omitempty"`
23658 23659 // If True then CLI user has permission to run the command
23660 Dig bool `json:"dig,omitempty"`
23661 23662 // If True then CLI user has permission to run the command
23663 Rotate bool `json:"rotate,omitempty"`
23664 23665 // If True then CLI user has permission to run the command
23666 Snmpwalk bool `json:"snmpwalk,omitempty"`
23667 23668 // If True then CLI user has permission to run the command
23669 Snmpget bool `json:"snmpget,omitempty"`
23670 23671 // If True then CLI user has permission to run the command
23672 Console bool `json:"console,omitempty"`
23673 23674 // If True then CLI user has permission to run the command
23675 Tracepath bool `json:"tracepath,omitempty"`
23676 23677 // If True then enable all fields
23678 EnableAll bool `json:"enable_all,omitempty"`
23679 23680 // If True then disable all fields
23681 DisableAll bool `json:"disable_all,omitempty"`
23682 }
23683 23684 // Adsites represents Infoblox struct adsites
23685 type Adsites struct {
23686 // Flag to override MS Server default IP site link
23687 UseDefaultIpSiteLink bool `json:"use_default_ip_site_link,omitempty"`
23688 23689 // Default IP site link for sites created from NIOS
23690 DefaultIpSiteLink string `json:"default_ip_site_link,omitempty"`
23691 23692 // Flag to override login name and password from the MS Server
23693 UseLogin bool `json:"use_login,omitempty"`
23694 23695 // Microsoft Server login name, with optional
23696 LoginName string `json:"login_name,omitempty"`
23697 23698 // Microsoft Server login password.
23699 LoginPassword string `json:"login_password,omitempty"`
23700 23701 // Flag to override synchronization interval from the MS Server
23702 UseSynchronizationMinDelay bool `json:"use_synchronization_min_delay,omitempty"`
23703 23704 // Minimum number of minutes between two synchronizations
23705 SynchronizationMinDelay uint32 `json:"synchronization_min_delay,omitempty"`
23706 23707 // Flag to override cluster LDAP timeoutMS Server
23708 UseLdapTimeout bool `json:"use_ldap_timeout,omitempty"`
23709 23710 // Timeout in seconds for LDAP connections for this MS Server
23711 LdapTimeout uint32 `json:"ldap_timeout,omitempty"`
23712 23713 // TCP port for LDAP connections for this
23714 LdapAuthPort uint32 `json:"ldap_auth_port,omitempty"`
23715 23716 // Encryption for LDAP connections for this MS Server
23717 LdapEncryption string `json:"ldap_encryption,omitempty"`
23718 23719 // Controls whether the Sites of this MS Server are to be synchronized by the
23720 // assigned managing member or not
23721 Managed bool `json:"managed,omitempty"`
23722 23723 // Enable/disable read-only synchronization of Sites for this Active Directory
23724 // domain
23725 ReadOnly bool `json:"read_only,omitempty"`
23726 23727 // Timestamp of the last synchronization attempt
23728 LastSyncTs *UnixTime `json:"last_sync_ts,omitempty"`
23729 23730 // Status of the last synchronization attempt
23731 LastSyncStatus string `json:"last_sync_status,omitempty"`
23732 23733 // The detailed status of the last synchronization attempt.
23734 LastSyncDetail string `json:"last_sync_detail,omitempty"`
23735 23736 // Flag indicating if the server supports IPv6
23737 SupportsIpv6 bool `json:"supports_ipv6,omitempty"`
23738 }
23739 23740 // Awsrte53recordinfo represents Infoblox struct awsrte53recordinfo
23741 type Awsrte53recordinfo struct {
23742 // DNS name of the alias target.
23743 AliasTargetDnsName string `json:"alias_target_dns_name,omitempty"`
23744 23745 // Hosted zone ID of the alias target.
23746 AliasTargetHostedZoneId string `json:"alias_target_hosted_zone_id,omitempty"`
23747 23748 // Indicates if Amazon Route 53 evaluates the health of the alias target.
23749 AliasTargetEvaluateTargetHealth bool `json:"alias_target_evaluate_target_health,omitempty"`
23750 23751 // Indicates whether this is the primary or secondary resource record for
23752 // Amazon Route 53 failover routing.
23753 Failover string `json:"failover,omitempty"`
23754 23755 // Continent code for Amazon Route 53 geolocation routing.
23756 GeolocationContinentCode string `json:"geolocation_continent_code,omitempty"`
23757 23758 // Country code for Amazon Route 53 geolocation routing.
23759 GeolocationCountryCode string `json:"geolocation_country_code,omitempty"`
23760 23761 // Subdivision code for Amazon Route 53 geolocation routing.
23762 GeolocationSubdivisionCode string `json:"geolocation_subdivision_code,omitempty"`
23763 23764 // ID of the health check that Amazon Route 53 performs for this resource
23765 // record.
23766 HealthCheckId string `json:"health_check_id,omitempty"`
23767 23768 // Amazon EC2 region where this resource record resides for latency routing.
23769 Region string `json:"region,omitempty"`
23770 23771 // An identifier that differentiates records with the same DNS name and type
23772 // for weighted, latency, geolocation, and failover routing.
23773 SetIdentifier string `json:"set_identifier,omitempty"`
23774 23775 // Type of Amazon Route 53 resource record.
23776 Type string `json:"type,omitempty"`
23777 23778 // Value that determines the portion of traffic for this record in weighted
23779 // routing. The range is from 0 to 255.
23780 Weight uint32 `json:"weight,omitempty"`
23781 }
23782 23783 // Awsrte53task represents Infoblox struct awsrte53task
23784 type Awsrte53task struct {
23785 // The name of this task.
23786 Name string `json:"name,omitempty"`
23787 23788 // Indicates if the task is enabled or disabled.
23789 Disabled bool `json:"disabled,omitempty"`
23790 23791 // Indicate the sync status of this task.
23792 State string `json:"state,omitempty"`
23793 23794 // State message for the task.
23795 StateMsg string `json:"state_msg,omitempty"`
23796 23797 // Filter for this task.
23798 Filter string `json:"filter,omitempty"`
23799 23800 // Periodic interval for this task.
23801 ScheduleInterval uint32 `json:"schedule_interval,omitempty"`
23802 23803 // Units for the schedule interval.
23804 ScheduleUnits string `json:"schedule_units,omitempty"`
23805 23806 // Reference to associated AWS user whose credentials are to be used for this
23807 // task.
23808 AwsUser string `json:"aws_user,omitempty"`
23809 23810 // The timestamp when the last state was logged.
23811 StatusTimestamp *UnixTime `json:"status_timestamp,omitempty"`
23812 23813 // The timestamp when the task was started last.
23814 LastRun *UnixTime `json:"last_run,omitempty"`
23815 23816 // Indicates whether public zones are synchronized.
23817 SyncPublicZones bool `json:"sync_public_zones,omitempty"`
23818 23819 // Indicates whether private zones are synchronized.
23820 SyncPrivateZones bool `json:"sync_private_zones,omitempty"`
23821 23822 // The number of zones synchronized by this task.
23823 ZoneCount uint32 `json:"zone_count,omitempty"`
23824 23825 // Credentials type used for connecting to the cloud management platform.
23826 CredentialsType string `json:"credentials_type,omitempty"`
23827 }
23828 23829 // Awsrte53zoneinfo represents Infoblox struct awsrte53zoneinfo
23830 type Awsrte53zoneinfo struct {
23831 // List of AWS VPC strings that are associated with this zone.
23832 AssociatedVpcs []string `json:"associated_vpcs,omitempty"`
23833 23834 // User specified caller reference when zone was created.
23835 CallerReference string `json:"caller_reference,omitempty"`
23836 23837 // ID of delegation set associated with this zone.
23838 DelegationSetId string `json:"delegation_set_id,omitempty"`
23839 23840 // AWS route 53 assigned ID for this zone.
23841 HostedZoneId string `json:"hosted_zone_id,omitempty"`
23842 23843 // List of AWS name servers that are authoritative for this domain name.
23844 NameServers []string `json:"name_servers,omitempty"`
23845 23846 // Number of resource record sets in the hosted zone.
23847 RecordSetCount uint32 `json:"record_set_count,omitempty"`
23848 23849 // Indicates whether private or public zone.
23850 Type string `json:"type,omitempty"`
23851 }
23852 23853 // Bgpas represents Infoblox struct bgpas
23854 type Bgpas struct {
23855 // The number of this autonomous system.
23856 As uint32 `json:"as,omitempty"`
23857 23858 // The AS keepalive timer (in seconds). The valid value is from 1 to 21845.
23859 Keepalive uint32 `json:"keepalive,omitempty"`
23860 23861 // The AS holddown timer (in seconds). The valid value is from 3 to 65535.
23862 Holddown uint32 `json:"holddown,omitempty"`
23863 23864 // The BGP neighbors for this AS.
23865 Neighbors []*Bgpneighbor `json:"neighbors,omitempty"`
23866 23867 // Determines if link detection on the interface is enabled or not.
23868 LinkDetect bool `json:"link_detect,omitempty"`
23869 }
23870 23871 // Bgpneighbor represents Infoblox struct bgpneighbor
23872 type Bgpneighbor struct {
23873 // The interface that sends BGP advertisement information.
23874 Interface string `json:"interface,omitempty"`
23875 23876 // The IP address of the BGP neighbor.
23877 NeighborIp string `json:"neighbor_ip,omitempty"`
23878 23879 // The remote AS number of the BGP neighbor.
23880 RemoteAs uint32 `json:"remote_as,omitempty"`
23881 23882 // The BGP authentication mode.
23883 AuthenticationMode string `json:"authentication_mode,omitempty"`
23884 23885 // The password for a BGP neighbor. This is required only if
23886 // authentication_mode is set to "MD5". When the password is entered, the value
23887 // is preserved even if authentication_mode is changed to "NONE". This is a
23888 // write-only attribute.
23889 BgpNeighborPass string `json:"bgp_neighbor_pass,omitempty"`
23890 23891 // User comments for this BGP neighbor.
23892 Comment string `json:"comment,omitempty"`
23893 23894 // Determines if the multi-hop support is enabled or not.
23895 Multihop bool `json:"multihop,omitempty"`
23896 23897 // The Time To Live (TTL) value for multi-hop. Valid values are between 1 and
23898 // 255.
23899 MultihopTtl uint32 `json:"multihop_ttl,omitempty"`
23900 23901 // The BFD template name.
23902 BfdTemplate string `json:"bfd_template,omitempty"`
23903 23904 // Determines if BFD is enabled or not.
23905 EnableBfd bool `json:"enable_bfd,omitempty"`
23906 }
23907 23908 // CapacityreportObjectcount represents Infoblox struct capacityreport:objectcount
23909 type CapacityreportObjectcount struct {
23910 // Object type name.
23911 TypeName string `json:"type_name,omitempty"`
23912 23913 // Number of object type instances created.
23914 Count uint32 `json:"count,omitempty"`
23915 }
23916 23917 // CaptiveportalFile represents Infoblox struct captiveportal:file
23918 type CaptiveportalFile struct {
23919 // The name of the uploaded file.
23920 Name string `json:"name,omitempty"`
23921 23922 // The type of the uploaded file.
23923 Type string `json:"type,omitempty"`
23924 }
23925 23926 // Changedobject represents Infoblox struct changedobject
23927 type Changedobject struct {
23928 // This is a description of the action that is applied to this object.
23929 Action string `json:"action,omitempty"`
23930 23931 // The object name.
23932 Name string `json:"name,omitempty"`
23933 23934 // A value of the object type, this may contain objects that are not yet
23935 // available in WAPI.
23936 Type string `json:"type,omitempty"`
23937 23938 // The object type. This is undefined if the object is not yet supported.
23939 ObjectType string `json:"object_type,omitempty"`
23940 23941 // A list of properties that are being changed.
23942 Properties []string `json:"properties,omitempty"`
23943 }
23944 23945 // CiscoiseEaassociation represents Infoblox struct ciscoise:eaassociation
23946 type CiscoiseEaassociation struct {
23947 // The Cisco ISE attribute name that is enabled for publishsing from a Cisco
23948 // ISE endpoint.
23949 Name string `json:"name,omitempty"`
23950 23951 // The name of the extensible attribute definition object the Cisco ISE
23952 // attribute that is enabled for subscription is mapped on.
23953 MappedEa string `json:"mapped_ea,omitempty"`
23954 }
23955 23956 // CiscoisePublishsetting represents Infoblox struct ciscoise:publishsetting
23957 type CiscoisePublishsetting struct {
23958 // The list of NIOS extensible attributes enalbed for publishsing to Cisco ISE
23959 // endpoint.
23960 EnabledAttributes []string `json:"enabled_attributes,omitempty"`
23961 }
23962 23963 // CiscoiseSubscribesetting represents Infoblox struct ciscoise:subscribesetting
23964 type CiscoiseSubscribesetting struct {
23965 // The list of Cisco ISE attributes allowed for subscription.
23966 EnabledAttributes []string `json:"enabled_attributes,omitempty"`
23967 23968 // The list of NIOS extensible attributes to Cisco ISE attributes mappings.
23969 MappedEaAttributes []*CiscoiseEaassociation `json:"mapped_ea_attributes,omitempty"`
23970 }
23971 23972 // Clientsubnetdomain represents Infoblox struct clientsubnetdomain
23973 type Clientsubnetdomain struct {
23974 // The FQDN that represents the ECS zone domain name.
23975 Domain string `json:"domain,omitempty"`
23976 23977 // The ECS domain name permission.
23978 Permission string `json:"permission,omitempty"`
23979 }
23980 23981 // Dhcpddns represents Infoblox struct dhcpddns
23982 type Dhcpddns struct {
23983 // Indicate matching type.
23984 ZoneMatch string `json:"zone_match,omitempty"`
23985 23986 // The ref of a DNS zone.
23987 DnsGridZone string `json:"dns_grid_zone,omitempty"`
23988 23989 // The name of a Grid member.
23990 DnsGridPrimary string `json:"dns_grid_primary,omitempty"`
23991 23992 // The name of external zone in FQDN format.
23993 DnsExtZone string `json:"dns_ext_zone,omitempty"`
23994 23995 // The IP address of the External server. Valid when zone_match is "EXTERNAL"
23996 // or "ANY_EXTERNAL".
23997 DnsExtPrimary string `json:"dns_ext_primary,omitempty"`
23998 }
23999 24000 // Dhcpmember represents Infoblox struct dhcpmember
24001 type Dhcpmember struct {
24002 // The IPv4 Address of the Grid Member.
24003 Ipv4Addr string `json:"ipv4addr,omitempty"`
24004 24005 // The IPv6 Address of the Grid Member.
24006 Ipv6Addr string `json:"ipv6addr,omitempty"`
24007 24008 // The Grid member name
24009 Name string `json:"name,omitempty"`
24010 }
24011 24012 // Dhcpoption represents Infoblox struct dhcpoption
24013 type Dhcpoption struct {
24014 // Name of the DHCP option.
24015 Name string `json:"name,omitempty"`
24016 24017 // The code of the DHCP option.
24018 Num uint32 `json:"num,omitempty"`
24019 24020 // The name of the space this DHCP option is associated to.
24021 VendorClass string `json:"vendor_class,omitempty"`
24022 24023 // Value of the DHCP option
24024 Value string `json:"value,omitempty"`
24025 24026 // Only applies to special options that are displayed separately from other
24027 // options and have a use flag. These options are: * routers * router-templates
24028 // * domain-name-servers * domain-name * broadcast-address *
24029 // broadcast-address-offset * dhcp-lease-time * dhcp6.name-servers
24030 UseOption bool `json:"use_option,omitempty"`
24031 }
24032 24033 // Dhcpserver represents Infoblox struct dhcpserver
24034 type Dhcpserver struct {
24035 // Flag to override login name and password from the MS Server
24036 UseLogin bool `json:"use_login,omitempty"`
24037 24038 // Microsoft Server login name
24039 LoginName string `json:"login_name,omitempty"`
24040 24041 // Microsoft Server login password
24042 LoginPassword string `json:"login_password,omitempty"`
24043 24044 // flag indicating if the DNS service is managed
24045 Managed bool `json:"managed,omitempty"`
24046 24047 // Defines what control to apply on the DNS server
24048 NextSyncControl string `json:"next_sync_control,omitempty"`
24049 24050 // Status of the Microsoft DNS Service
24051 Status string `json:"status,omitempty"`
24052 24053 // Timestamp of the last update
24054 StatusLastUpdated *UnixTime `json:"status_last_updated,omitempty"`
24055 24056 // Override enable monitoring inherited from grid level
24057 UseEnableMonitoring bool `json:"use_enable_monitoring,omitempty"`
24058 24059 // Flag indicating if the DNS service is monitored and controlled
24060 EnableMonitoring bool `json:"enable_monitoring,omitempty"`
24061 24062 // Override setting for Enable Invalid Mac Address
24063 UseEnableInvalidMac bool `json:"use_enable_invalid_mac,omitempty"`
24064 24065 // Enable Invalid Mac Address
24066 EnableInvalidMac bool `json:"enable_invalid_mac,omitempty"`
24067 24068 // Flag indicating if the DHCP supports Failover
24069 SupportsFailover bool `json:"supports_failover,omitempty"`
24070 24071 // Flag to override synchronization interval from the MS Server
24072 UseSynchronizationMinDelay bool `json:"use_synchronization_min_delay,omitempty"`
24073 24074 // Minimum number of minutes between two synchronizations
24075 SynchronizationMinDelay uint32 `json:"synchronization_min_delay,omitempty"`
24076 }
24077 24078 // DiscoveryAdvancedpollsetting represents Infoblox struct discovery:advancedpollsetting
24079 type DiscoveryAdvancedpollsetting struct {
24080 // The TCP scan method.
24081 TcpScanTechnique string `json:"tcp_scan_technique,omitempty"`
24082 24083 // The ping timeout in seconds.
24084 PingTimeout uint32 `json:"ping_timeout,omitempty"`
24085 24086 // The number of ping retries.
24087 PingRetries uint32 `json:"ping_retries,omitempty"`
24088 24089 // The number of days a device remains in database after it is no longer found
24090 // in network.
24091 PurgeExpiredDeviceData uint32 `json:"purge_expired_device_data,omitempty"`
24092 24093 // Determines if purge of expired end host data is enabled.
24094 EnablePurgeExpiredEndhostData bool `json:"enable_purge_expired_endhost_data,omitempty"`
24095 24096 // The number of days a end host remains in database after it is no longer
24097 // found in network.
24098 PurgeExpiredEndhostData uint32 `json:"purge_expired_endhost_data,omitempty"`
24099 24100 // The ARP aggregate limit.
24101 ArpAggregateLimit uint32 `json:"arp_aggregate_limit,omitempty"`
24102 24103 // Route limit.
24104 RouteLimit uint32 `json:"route_limit,omitempty"`
24105 24106 // The hourly wait interval between ping sweeps for individual discovery
24107 // ranges.
24108 PingSweepInterval uint32 `json:"ping_sweep_interval,omitempty"`
24109 24110 // The refresh interval in seconds for ARP cache.
24111 ArpCacheRefreshInterval uint32 `json:"arp_cache_refresh_interval,omitempty"`
24112 24113 // Determines if polling and authenticating using SNMPv2c or later is enabled.
24114 PollingAuthenticateSnmpv2cOrLaterOnly bool `json:"polling_authenticate_snmpv2c_or_later_only,omitempty"`
24115 24116 // Determines if discovery of networks that are not in IPAM is disabled.
24117 DisableDiscoveryOutsideIpam bool `json:"disable_discovery_outside_ipam,omitempty"`
24118 24119 // Determines if DHCP router is used as seed for discovery.
24120 DhcpRouterAsSeed bool `json:"dhcp_router_as_seed,omitempty"`
24121 24122 // Determines if syslogging of IPAM sync events is enabled.
24123 SyslogIpamEvents bool `json:"syslog_ipam_events,omitempty"`
24124 24125 // Determines if syslogging of Network sync events is enabled.
24126 SyslogNetworkEvents bool `json:"syslog_network_events,omitempty"`
24127 }
24128 24129 // DiscoveryAdvancedsdnpollsettings represents Infoblox struct discovery:advancedsdnpollsettings
24130 type DiscoveryAdvancedsdnpollsettings struct {
24131 // Policy of mapping SDN networks to network views. To obtain mapping table use
24132 // the object discovery:sdnnetwork
24133 NetworksMappingPolicy string `json:"networks_mapping_policy,omitempty"`
24134 24135 // Disable discovery of SDN subnets that are not in IPAM.
24136 DisableSdnDiscoveryOutsideIpam bool `json:"disable_sdn_discovery_outside_ipam,omitempty"`
24137 }
24138 24139 // DiscoveryAdvisorsetting represents Infoblox struct discovery:advisorsetting
24140 type DiscoveryAdvisorsetting struct {
24141 // Use proxy server if true.
24142 EnableProxy bool `json:"enable_proxy,omitempty"`
24143 24144 // Host name or ip address of the proxy server.
24145 ProxyAddress string `json:"proxy_address,omitempty"`
24146 24147 // Port number the proxy listens on.
24148 ProxyPort uint32 `json:"proxy_port,omitempty"`
24149 24150 // Is proxy authorization required?
24151 UseProxyUsernamePasswd bool `json:"use_proxy_username_passwd,omitempty"`
24152 24153 // Proxy username.
24154 ProxyUsername string `json:"proxy_username,omitempty"`
24155 24156 // Proxy password.
24157 ProxyPassword string `json:"proxy_password,omitempty"`
24158 24159 // Application execution interval in seconds. Must be greater than or equal to
24160 // 86400 seconds (1 day).
24161 ExecutionInterval uint32 `json:"execution_interval,omitempty"`
24162 24163 // Application execution hour.
24164 ExecutionHour uint32 `json:"execution_hour,omitempty"`
24165 24166 // The type of the network interface on consolidator member.
24167 NetworkInterfaceType string `json:"network_interface_type,omitempty"`
24168 24169 // The interface for Advisor application on consolidator member.
24170 NetworkInterfaceVirtualIp string `json:"network_interface_virtual_ip,omitempty"`
24171 24172 // Host name or ip address of the Advisor server
24173 Address string `json:"address,omitempty"`
24174 24175 // Port number the Advisor server listens on
24176 Port uint32 `json:"port,omitempty"`
24177 24178 // Authentication type used for Advisor server
24179 AuthType string `json:"auth_type,omitempty"`
24180 24181 // Advisor AUTH token
24182 AuthToken string `json:"auth_token,omitempty"`
24183 24184 // Username for Advisor server
24185 Username string `json:"username,omitempty"`
24186 24187 // Password for Advisor server
24188 Password string `json:"password,omitempty"`
24189 24190 // Advisor minimal severity
24191 MinSeverity string `json:"min_severity,omitempty"`
24192 24193 // Timestamp of the Advisor last execution attempt'
24194 LastExecTime *UnixTime `json:"last_exec_time,omitempty"`
24195 24196 // Result of the last execution attempt of Advisor
24197 LastExecStatus string `json:"last_exec_status,omitempty"`
24198 24199 // Details of the last execution attempt of Advisor. Describes the error or
24200 // warning with a string
24201 LastExecDetails string `json:"last_exec_details,omitempty"`
24202 24203 // Timestamp of the Advisor last Run Now attempt'
24204 LastRunNowTime *UnixTime `json:"last_run_now_time,omitempty"`
24205 24206 // Result of the last Run Now attempt of Advisor
24207 LastRunNowStatus string `json:"last_run_now_status,omitempty"`
24208 24209 // Details of the last Run Now attempt of Advisor. Describes the error or
24210 // warning with a string
24211 LastRunNowDetails string `json:"last_run_now_details,omitempty"`
24212 }
24213 24214 // DiscoveryAutoconversionsetting represents Infoblox struct discovery:autoconversionsetting
24215 type DiscoveryAutoconversionsetting struct {
24216 // The network view name which contains discovered data for convert.
24217 NetworkView string `json:"network_view,omitempty"`
24218 24219 // The object type used to define the converted object.
24220 Type string `json:"type,omitempty"`
24221 24222 // Template string used to generate host names.
24223 Format string `json:"format,omitempty"`
24224 24225 // The string that contains condition of use the auto conversion settings.
24226 Condition string `json:"condition,omitempty"`
24227 24228 // The comment.
24229 Comment string `json:"comment,omitempty"`
24230 }
24231 24232 // DiscoveryBasicpollsettings represents Infoblox struct discovery:basicpollsettings
24233 type DiscoveryBasicpollsettings struct {
24234 // Determines whether port scanning is enabled or not.
24235 PortScanning bool `json:"port_scanning,omitempty"`
24236 24237 // Determines whether device profile is enabled or not.
24238 DeviceProfile bool `json:"device_profile,omitempty"`
24239 24240 // Determines whether SNMP collection is enabled or not.
24241 SnmpCollection bool `json:"snmp_collection,omitempty"`
24242 24243 // Determines whether CLI collection is enabled or not.
24244 CliCollection bool `json:"cli_collection,omitempty"`
24245 24246 // Determines whether netbios scanning is enabled or not.
24247 NetbiosScanning bool `json:"netbios_scanning,omitempty"`
24248 24249 // Determines whether complete ping sweep is enabled or not.
24250 CompletePingSweep bool `json:"complete_ping_sweep,omitempty"`
24251 24252 // Determines whether smart subnet ping sweep is enabled or not.
24253 SmartSubnetPingSweep bool `json:"smart_subnet_ping_sweep,omitempty"`
24254 24255 // Determines whether auto ARP refresh before switch port polling is enabled or
24256 // not.
24257 AutoArpRefreshBeforeSwitchPortPolling bool `json:"auto_arp_refresh_before_switch_port_polling,omitempty"`
24258 24259 // A switch port data collection polling mode.
24260 SwitchPortDataCollectionPolling string `json:"switch_port_data_collection_polling,omitempty"`
24261 24262 // A Schedule Setting struct that determines switch port data collection
24263 // polling schedule.
24264 SwitchPortDataCollectionPollingSchedule *SettingSchedule `json:"switch_port_data_collection_polling_schedule,omitempty"`
24265 24266 // Indicates the interval for switch port data collection polling.
24267 SwitchPortDataCollectionPollingInterval uint32 `json:"switch_port_data_collection_polling_interval,omitempty"`
24268 24269 // Credential group.
24270 CredentialGroup string `json:"credential_group,omitempty"`
24271 }
24272 24273 // DiscoveryBasicsdnpollsettings represents Infoblox struct discovery:basicsdnpollsettings
24274 type DiscoveryBasicsdnpollsettings struct {
24275 // Enable/disable SDN discovery.
24276 SdnDiscovery bool `json:"sdn_discovery,omitempty"`
24277 24278 // Default network view to map collected SDN networks.
24279 DefaultNetworkView string `json:"default_network_view,omitempty"`
24280 24281 // SDN end host polling mode.
24282 EndHostPolling string `json:"end_host_polling,omitempty"`
24283 24284 // Valid SDN end host polling interval in seconds. Must be between 1800 and
24285 // 86400 seconds.
24286 EndHostPollingInterval uint32 `json:"end_host_polling_interval,omitempty"`
24287 24288 // A Schedule Setting struct that determines SDN end host polling schedule.
24289 EndHostPollingSchedule *SettingSchedule `json:"end_host_polling_schedule,omitempty"`
24290 }
24291 24292 // DiscoveryClicredential represents Infoblox struct discovery:clicredential
24293 type DiscoveryClicredential struct {
24294 // The CLI user name.
24295 User string `json:"user,omitempty"`
24296 24297 // The CLI password.
24298 Password string `json:"password,omitempty"`
24299 24300 // The type of the credential.
24301 CredentialType string `json:"credential_type,omitempty"`
24302 24303 // The commment for the credential.
24304 Comment string `json:"comment,omitempty"`
24305 24306 // The Credentials ID.
24307 Id uint32 `json:"id,omitempty"`
24308 24309 // Group for the CLI credential.
24310 CredentialGroup string `json:"credential_group,omitempty"`
24311 }
24312 24313 // DiscoveryDevicePortstatistics represents Infoblox struct discovery:device:portstatistics
24314 type DiscoveryDevicePortstatistics struct {
24315 // The total number of available interfaces on this device.
24316 InterfacesCount uint32 `json:"interfaces_count,omitempty"`
24317 24318 // The total number of interfaces which have both administrative and operating
24319 // states as 'UP'.
24320 AdminUpOperUpCount uint32 `json:"admin_up_oper_up_count,omitempty"`
24321 24322 // The total number of interfaces which have administrative state 'UP' and oper
24323 // state 'DOWN'.
24324 AdminUpOperDownCount uint32 `json:"admin_up_oper_down_count,omitempty"`
24325 24326 // The total number of interfaces which have administrative state 'DOWN' and
24327 // operating state 'DOWN'.
24328 AdminDownOperDownCount uint32 `json:"admin_down_oper_down_count,omitempty"`
24329 }
24330 24331 // DiscoveryIfaddrinfo represents Infoblox struct discovery:ifaddrinfo
24332 type DiscoveryIfaddrinfo struct {
24333 // The IPv4 Address or IPv6 Address of the device.
24334 Address string `json:"address,omitempty"`
24335 24336 // The ref to IPv4/Ipv6 Address.
24337 AddressObject string `json:"address_object,omitempty"`
24338 24339 // The network to which this device belongs, in IPv4 Address/CIDR format.
24340 Network string `json:"network,omitempty"`
24341 }
24342 24343 // DiscoveryNetworkinfo represents Infoblox struct discovery:networkinfo
24344 type DiscoveryNetworkinfo struct {
24345 // The ref to the network to which the management IP address belongs.
24346 Network string `json:"network,omitempty"`
24347 24348 // The Network address in format address/cidr.
24349 NetworkStr string `json:"network_str,omitempty"`
24350 }
24351 24352 // DiscoveryPort represents Infoblox struct discovery:port
24353 type DiscoveryPort struct {
24354 // The discovery port number.
24355 Port uint32 `json:"port,omitempty"`
24356 24357 // The discovery port type.
24358 Type string `json:"type,omitempty"`
24359 24360 // The comment for this discovery port.
24361 Comment string `json:"comment,omitempty"`
24362 }
24363 24364 // DiscoveryPortConfigAdminstatus represents Infoblox struct discovery:port:config:adminstatus
24365 type DiscoveryPortConfigAdminstatus struct {
24366 // The configured admin status value.
24367 Status string `json:"status,omitempty"`
24368 24369 // The associated port control task details.
24370 Details *DiscoveryPortControlTaskdetails `json:"details,omitempty"`
24371 }
24372 24373 // DiscoveryPortConfigDescription represents Infoblox struct discovery:port:config:description
24374 type DiscoveryPortConfigDescription struct {
24375 // The configured description value.
24376 Description string `json:"description,omitempty"`
24377 24378 // The associated port control task details.
24379 Details *DiscoveryPortControlTaskdetails `json:"details,omitempty"`
24380 }
24381 24382 // DiscoveryPortConfigVlaninfo represents Infoblox struct discovery:port:config:vlaninfo
24383 type DiscoveryPortConfigVlaninfo struct {
24384 // The configured data VLAN ID and the name of the interface.
24385 DataVlanInfo *DiscoveryVlaninfo `json:"data_vlan_info,omitempty"`
24386 24387 // The configured voice VLAN id and name of interface.
24388 VoiceVlanInfo *DiscoveryVlaninfo `json:"voice_vlan_info,omitempty"`
24389 24390 // The associated port control task details.
24391 Details *DiscoveryPortControlTaskdetails `json:"details,omitempty"`
24392 }
24393 24394 // DiscoveryPortControlTaskdetails represents Infoblox struct discovery:port:control:taskdetails
24395 type DiscoveryPortControlTaskdetails struct {
24396 // The ID of the associated port control task.
24397 Id uint32 `json:"id,omitempty"`
24398 24399 // The task status of the associated port control task.
24400 Status string `json:"status,omitempty"`
24401 24402 // True if this port control task is completed and matched with current
24403 // discovered value.
24404 IsSynchronized bool `json:"is_synchronized,omitempty"`
24405 }
24406 24407 // DiscoveryScaninterface represents Infoblox struct discovery:scaninterface
24408 type DiscoveryScaninterface struct {
24409 // The name of the network view associated with the network discovery probing
24410 // member.
24411 NetworkView string `json:"network_view,omitempty"`
24412 24413 // The probing interface associated with the network discovery probing member.
24414 Type string `json:"type,omitempty"`
24415 24416 // The virtual ip for discovery scan interface on network discovery probing
24417 // member.
24418 ScanVirtualIp string `json:"scan_virtual_ip,omitempty"`
24419 }
24420 24421 // DiscoverySdnconfig represents Infoblox struct discovery:sdnconfig
24422 type DiscoverySdnconfig struct {
24423 // Type of SDN controller.
24424 SdnType string `json:"sdn_type,omitempty"`
24425 24426 // SDN controller IP addresses or FQDNs.
24427 Addresses []string `json:"addresses,omitempty"`
24428 24429 // The network view associated with SDN controller.
24430 NetworkView string `json:"network_view,omitempty"`
24431 24432 // The connection protocol. Valid values are 'HTTP' and 'HTTPS'.
24433 Protocol string `json:"protocol,omitempty"`
24434 24435 // Unique configuration handle.
24436 Handle string `json:"handle,omitempty"`
24437 24438 // SDN controller login password.
24439 Password string `json:"password,omitempty"`
24440 24441 // SDN controller login name.
24442 Username string `json:"username,omitempty"`
24443 24444 // SDN controller API key.
24445 ApiKey string `json:"api_key,omitempty"`
24446 24447 // True if controller is on-premises, otherwise we consider it is in cloud.
24448 OnPrem bool `json:"on_prem,omitempty"`
24449 24450 // Use global proxy settings to access SDN controller.
24451 UseGlobalProxy bool `json:"use_global_proxy,omitempty"`
24452 24453 // Additional information about the SDN configuration.
24454 Comment string `json:"comment,omitempty"`
24455 24456 // The type of the network interface on discovery member used for SDN
24457 // controller discovery
24458 NetworkInterfaceType string `json:"network_interface_type,omitempty"`
24459 24460 // Virtual IP of VLAN network interface on discovery member
24461 NetworkInterfaceVirtualIp string `json:"network_interface_virtual_ip,omitempty"`
24462 24463 // Unique key of SDN controller structure. Must be specified for existing
24464 // sdn_config structures, otherwise they will be removed. If not specified, new
24465 // structure will be created.
24466 Uuid string `json:"uuid,omitempty"`
24467 }
24468 24469 // DiscoverySeedrouter represents Infoblox struct discovery:seedrouter
24470 type DiscoverySeedrouter struct {
24471 // Address of the seed router.
24472 Address string `json:"address,omitempty"`
24473 24474 // The network view name.
24475 NetworkView string `json:"network_view,omitempty"`
24476 24477 // Description of the seed router.
24478 Comment string `json:"comment,omitempty"`
24479 }
24480 24481 // DiscoverySnmp3credential represents Infoblox struct discovery:snmp3credential
24482 type DiscoverySnmp3credential struct {
24483 // The SNMPv3 user name.
24484 User string `json:"user,omitempty"`
24485 24486 // Authentication protocol for the SNMPv3 user.
24487 AuthenticationProtocol string `json:"authentication_protocol,omitempty"`
24488 24489 // Authentication password for the SNMPv3 user.
24490 AuthenticationPassword string `json:"authentication_password,omitempty"`
24491 24492 // Privacy protocol for the SNMPv3 user.
24493 PrivacyProtocol string `json:"privacy_protocol,omitempty"`
24494 24495 // Privacy password for the SNMPv3 user.
24496 PrivacyPassword string `json:"privacy_password,omitempty"`
24497 24498 // Comments for the SNMPv3 user.
24499 Comment string `json:"comment,omitempty"`
24500 24501 // Group for the SNMPv3 credential.
24502 CredentialGroup string `json:"credential_group,omitempty"`
24503 }
24504 24505 // DiscoverySnmpcredential represents Infoblox struct discovery:snmpcredential
24506 type DiscoverySnmpcredential struct {
24507 // The public community string.
24508 CommunityString string `json:"community_string,omitempty"`
24509 24510 // Comments for the SNMPv1 and SNMPv2 users.
24511 Comment string `json:"comment,omitempty"`
24512 24513 // Group for the SNMPv1 and SNMPv2 credential.
24514 CredentialGroup string `json:"credential_group,omitempty"`
24515 }
24516 24517 // DiscoveryStatusinfo represents Infoblox struct discovery:statusinfo
24518 type DiscoveryStatusinfo struct {
24519 // The overall status of the device.
24520 Status string `json:"status,omitempty"`
24521 24522 // The detailed message.
24523 Message string `json:"message,omitempty"`
24524 24525 // The timestamp when the status was generated.
24526 Timestamp *UnixTime `json:"timestamp,omitempty"`
24527 }
24528 24529 // DiscoveryVlaninfo represents Infoblox struct discovery:vlaninfo
24530 type DiscoveryVlaninfo struct {
24531 // The Vlan ID.
24532 Id uint32 `json:"id,omitempty"`
24533 24534 // The Vlan name.
24535 Name string `json:"name,omitempty"`
24536 }
24537 24538 // DiscoveryVrfmappingrule represents Infoblox struct discovery:vrfmappingrule
24539 type DiscoveryVrfmappingrule struct {
24540 // The name of the network view associated with the VRF mapping rule.
24541 NetworkView string `json:"network_view,omitempty"`
24542 24543 // Extended POSIX regular expression matching the VRF name. The regular
24544 // expression string should contain the leading caret anchor ^ and the trailing
24545 // dollar anchor $ symbols.
24546 Criteria string `json:"criteria,omitempty"`
24547 24548 // The comment.
24549 Comment string `json:"comment,omitempty"`
24550 }
24551 24552 // Discoverydata represents Infoblox struct discoverydata
24553 type Discoverydata struct {
24554 // The model name of the end device in the vendor terminology.
24555 DeviceModel string `json:"device_model,omitempty"`
24556 24557 // The system name of the interface associated with the discovered IP address.
24558 DevicePortName string `json:"device_port_name,omitempty"`
24559 24560 // The hardware type of the interface associated with the discovered IP
24561 // address.
24562 DevicePortType string `json:"device_port_type,omitempty"`
24563 24564 // The type of end host in vendor terminology.
24565 DeviceType string `json:"device_type,omitempty"`
24566 24567 // The vendor name of the end host.
24568 DeviceVendor string `json:"device_vendor,omitempty"`
24569 24570 // The name of the network device associated with the discovered IP address.
24571 DiscoveredName string `json:"discovered_name,omitempty"`
24572 24573 // Specifies whether the IP address was discovered by a NetMRI or NIOS
24574 // discovery process.
24575 Discoverer string `json:"discoverer,omitempty"`
24576 24577 // For IPv6 address only. The DHCP unique identifier of the discovered host.
24578 // This is an optional field, and data might not be included.
24579 Duid string `json:"duid,omitempty"`
24580 24581 // The date and time the IP address was first discovered in Epoch seconds
24582 // format.
24583 FirstDiscovered *UnixTime `json:"first_discovered,omitempty"`
24584 24585 // The port redundant group number.
24586 IprgNo uint32 `json:"iprg_no,omitempty"`
24587 24588 // The status for the IP address within port redundant group.
24589 IprgState string `json:"iprg_state,omitempty"`
24590 24591 // The port redundant group type.
24592 IprgType string `json:"iprg_type,omitempty"`
24593 24594 // The date and time the IP address was last discovered in Epoch seconds
24595 // format.
24596 LastDiscovered *UnixTime `json:"last_discovered,omitempty"`
24597 24598 // The discovered MAC address for the host. This is the unique identifier of a
24599 // network device. The discovery acquires the MAC address for hosts that are
24600 // located on the same network as the Grid member that is running the
24601 // discovery. This can also be the MAC address of a virtual entity on a
24602 // specified vSphere server.
24603 MacAddress string `json:"mac_address,omitempty"`
24604 24605 // The management IP address of the end host that has more than one IP.
24606 MgmtIpAddress string `json:"mgmt_ip_address,omitempty"`
24607 24608 // The name returned in the NetBIOS reply or the name you manually register for
24609 // the discovered host.
24610 NetbiosName string `json:"netbios_name,omitempty"`
24611 24612 // A textual description of the switch that is connected to the end device.
24613 NetworkComponentDescription string `json:"network_component_description,omitempty"`
24614 24615 // The IPv4 Address or IPv6 Address of the switch that is connected to the end
24616 // device.
24617 NetworkComponentIp string `json:"network_component_ip,omitempty"`
24618 24619 // Model name of the switch port connected to the end host in vendor
24620 // terminology.
24621 NetworkComponentModel string `json:"network_component_model,omitempty"`
24622 24623 // If a reverse lookup was successful for the IP address associated with this
24624 // switch, the host name is displayed in this field.
24625 NetworkComponentName string `json:"network_component_name,omitempty"`
24626 24627 // A textual description of the switch port that is connected to the end
24628 // device.
24629 NetworkComponentPortDescription string `json:"network_component_port_description,omitempty"`
24630 24631 // The name of the switch port connected to the end device.
24632 NetworkComponentPortName string `json:"network_component_port_name,omitempty"`
24633 24634 // The number of the switch port connected to the end device.
24635 NetworkComponentPortNumber string `json:"network_component_port_number,omitempty"`
24636 24637 // Identifies the switch that is connected to the end device.
24638 NetworkComponentType string `json:"network_component_type,omitempty"`
24639 24640 // The vendor name of the switch port connected to the end host.
24641 NetworkComponentVendor string `json:"network_component_vendor,omitempty"`
24642 24643 // The list of opened ports on the IP address, represented as: "TCP: 21,22,23
24644 // UDP: 137,139". Limited to max total 1000 ports.
24645 OpenPorts string `json:"open_ports,omitempty"`
24646 24647 // The operating system of the detected host or virtual entity. The OS can be
24648 // one of the following: * Microsoft for all discovered hosts that have a
24649 // non-null value in the MAC addresses using the NetBIOS discovery method. * A
24650 // value that a TCP discovery returns. * The OS of a virtual entity on a
24651 // vSphere server.
24652 Os string `json:"os,omitempty"`
24653 24654 // The negotiated or operational duplex setting of the switch port connected to
24655 // the end device.
24656 PortDuplex string `json:"port_duplex,omitempty"`
24657 24658 // The link status of the switch port connected to the end device. Indicates
24659 // whether it is connected.
24660 PortLinkStatus string `json:"port_link_status,omitempty"`
24661 24662 // The interface speed, in Mbps, of the switch port.
24663 PortSpeed string `json:"port_speed,omitempty"`
24664 24665 // The operational status of the switch port. Indicates whether the port is up
24666 // or down.
24667 PortStatus string `json:"port_status,omitempty"`
24668 24669 // The type of switch port.
24670 PortType string `json:"port_type,omitempty"`
24671 24672 // The description of the VLAN of the switch port that is connected to the end
24673 // device.
24674 PortVlanDescription string `json:"port_vlan_description,omitempty"`
24675 24676 // The name of the VLAN of the switch port.
24677 PortVlanName string `json:"port_vlan_name,omitempty"`
24678 24679 // The ID of the VLAN of the switch port.
24680 PortVlanNumber string `json:"port_vlan_number,omitempty"`
24681 24682 // The name of the physical network adapter through which the virtual entity is
24683 // connected to the appliance.
24684 VAdapter string `json:"v_adapter,omitempty"`
24685 24686 // The name of the VMware cluster to which the virtual entity belongs.
24687 VCluster string `json:"v_cluster,omitempty"`
24688 24689 // The name of the vSphere datacenter or container to which the virtual entity
24690 // belongs.
24691 VDatacenter string `json:"v_datacenter,omitempty"`
24692 24693 // The name of the virtual entity.
24694 VEntityName string `json:"v_entity_name,omitempty"`
24695 24696 // The virtual entity type. This can be blank or one of the following: Virtual
24697 // Machine, Virtual Host, or Virtual Center. Virtual Center represents a VMware
24698 // vCenter server.
24699 VEntityType string `json:"v_entity_type,omitempty"`
24700 24701 // The name of the VMware server on which the virtual entity was discovered.
24702 VHost string `json:"v_host,omitempty"`
24703 24704 // The name of the switch to which the virtual entity is connected.
24705 VSwitch string `json:"v_switch,omitempty"`
24706 24707 // Name of the virtual machine.
24708 VmiName string `json:"vmi_name,omitempty"`
24709 24710 // ID of the virtual machine.
24711 VmiId string `json:"vmi_id,omitempty"`
24712 24713 // Port group which the virtual machine belongs to.
24714 VlanPortGroup string `json:"vlan_port_group,omitempty"`
24715 24716 // Name of the virtual switch.
24717 VswitchName string `json:"vswitch_name,omitempty"`
24718 24719 // ID of the virtual switch.
24720 VswitchId string `json:"vswitch_id,omitempty"`
24721 24722 // Type of the virtual switch: standard or distributed.
24723 VswitchType string `json:"vswitch_type,omitempty"`
24724 24725 // Indicates the virtual switch has IPV6 enabled.
24726 VswitchIpv6Enabled bool `json:"vswitch_ipv6_enabled,omitempty"`
24727 24728 // Name of the network adapter on the virtual switch connected with the virtual
24729 // machine.
24730 VportName string `json:"vport_name,omitempty"`
24731 24732 // MAC address of the network adapter on the virtual switch where the virtual
24733 // machine connected to.
24734 VportMacAddress string `json:"vport_mac_address,omitempty"`
24735 24736 // Link status of the network adapter on the virtual switch where the virtual
24737 // machine connected to.
24738 VportLinkStatus string `json:"vport_link_status,omitempty"`
24739 24740 // Configured speed of the network adapter on the virtual switch where the
24741 // virtual machine connected to. Unit is kb.
24742 VportConfSpeed string `json:"vport_conf_speed,omitempty"`
24743 24744 // Configured mode of the network adapter on the virtual switch where the
24745 // virtual machine connected to.
24746 VportConfMode string `json:"vport_conf_mode,omitempty"`
24747 24748 // Actual speed of the network adapter on the virtual switch where the virtual
24749 // machine connected to. Unit is kb.
24750 VportSpeed string `json:"vport_speed,omitempty"`
24751 24752 // Actual mode of the network adapter on the virtual switch where the virtual
24753 // machine connected to.
24754 VportMode string `json:"vport_mode,omitempty"`
24755 24756 // Type of the network segment on which the current virtual machine/vport
24757 // connected to.
24758 VswitchSegmentType string `json:"vswitch_segment_type,omitempty"`
24759 24760 // Name of the network segment on which the current virtual machine/vport
24761 // connected to.
24762 VswitchSegmentName string `json:"vswitch_segment_name,omitempty"`
24763 24764 // ID of the network segment on which the current virtual machine/vport
24765 // connected to.
24766 VswitchSegmentId string `json:"vswitch_segment_id,omitempty"`
24767 24768 // Port group of the network segment on which the current virtual machine/vport
24769 // connected to.
24770 VswitchSegmentPortGroup string `json:"vswitch_segment_port_group,omitempty"`
24771 24772 // Numer of available ports reported by the virtual switch on which the virtual
24773 // machine/vport connected to.
24774 VswitchAvailablePortsCount uint32 `json:"vswitch_available_ports_count,omitempty"`
24775 24776 // Type of virtual tunnel endpoint (VTEP) in the virtual switch.
24777 VswitchTepType string `json:"vswitch_tep_type,omitempty"`
24778 24779 // IP address of the virtual tunnel endpoint (VTEP) in the virtual switch.
24780 VswitchTepIp string `json:"vswitch_tep_ip,omitempty"`
24781 24782 // Port group of the virtual tunnel endpoint (VTEP) in the virtual switch.
24783 VswitchTepPortGroup string `json:"vswitch_tep_port_group,omitempty"`
24784 24785 // VLAN of the virtual tunnel endpoint (VTEP) in the virtual switch.
24786 VswitchTepVlan string `json:"vswitch_tep_vlan,omitempty"`
24787 24788 // DHCP server of the virtual tunnel endpoint (VTEP) in the virtual switch.
24789 VswitchTepDhcpServer string `json:"vswitch_tep_dhcp_server,omitempty"`
24790 24791 // Muticast address of the virtual tunnel endpoint (VTEP) in the virtual
24792 // swtich.
24793 VswitchTepMulticast string `json:"vswitch_tep_multicast,omitempty"`
24794 24795 // IP address of the physical node on which the virtual machine is hosted.
24796 VmhostIpAddress string `json:"vmhost_ip_address,omitempty"`
24797 24798 // Name of the physical node on which the virtual machine is hosted.
24799 VmhostName string `json:"vmhost_name,omitempty"`
24800 24801 // MAC address of the physical node on which the virtual machine is hosted.
24802 VmhostMacAddress string `json:"vmhost_mac_address,omitempty"`
24803 24804 // CIDR subnet of the physical node on which the virtual machine is hosted.
24805 VmhostSubnetCidr uint32 `json:"vmhost_subnet_cidr,omitempty"`
24806 24807 // List of all physical port names used by the virtual switch on the physical
24808 // node on which the virtual machine is hosted. Represented as:
24809 // "eth1,eth2,eth3".
24810 VmhostNicNames string `json:"vmhost_nic_names,omitempty"`
24811 24812 // ID of the tenant which virtual machine belongs to.
24813 VmiTenantId string `json:"vmi_tenant_id,omitempty"`
24814 24815 // If the IP is coming from a Cloud environment, the Cloud Management Platform
24816 // type.
24817 CmpType string `json:"cmp_type,omitempty"`
24818 24819 // Discovered IP address type.
24820 VmiIpType string `json:"vmi_ip_type,omitempty"`
24821 24822 // Private IP address of the virtual machine.
24823 VmiPrivateAddress string `json:"vmi_private_address,omitempty"`
24824 24825 // Indicates whether the IP address is a public address.
24826 VmiIsPublicAddress bool `json:"vmi_is_public_address,omitempty"`
24827 24828 // The Cisco ISE SSID.
24829 CiscoIseSsid string `json:"cisco_ise_ssid,omitempty"`
24830 24831 // The Endpoint Profile created in Cisco ISE.
24832 CiscoIseEndpointProfile string `json:"cisco_ise_endpoint_profile,omitempty"`
24833 24834 // The Cisco ISE connection session state.
24835 CiscoIseSessionState string `json:"cisco_ise_session_state,omitempty"`
24836 24837 // The Cisco ISE security group name.
24838 CiscoIseSecurityGroup string `json:"cisco_ise_security_group,omitempty"`
24839 24840 // The name of the discovery task.
24841 TaskName string `json:"task_name,omitempty"`
24842 24843 // Location of the network component on which the IP address was discovered.
24844 NetworkComponentLocation string `json:"network_component_location,omitempty"`
24845 24846 // Contact information from the network component on which the IP address was
24847 // discovered.
24848 NetworkComponentContact string `json:"network_component_contact,omitempty"`
24849 24850 // Location of device on which the IP address was discovered.
24851 DeviceLocation string `json:"device_location,omitempty"`
24852 24853 // Contact information from device on which the IP address was discovered.
24854 DeviceContact string `json:"device_contact,omitempty"`
24855 24856 // Discovered name of Wireless Access Point.
24857 ApName string `json:"ap_name,omitempty"`
24858 24859 // Discovered IP address of Wireless Access Point.
24860 ApIpAddress string `json:"ap_ip_address,omitempty"`
24861 24862 // Service set identifier (SSID) associated with Wireless Access Point.
24863 ApSsid string `json:"ap_ssid,omitempty"`
24864 24865 // Discovered bridge domain.
24866 BridgeDomain string `json:"bridge_domain,omitempty"`
24867 24868 // A comma-separated list of the discovered endpoint groups.
24869 EndpointGroups string `json:"endpoint_groups,omitempty"`
24870 24871 // Discovered tenant.
24872 Tenant string `json:"tenant,omitempty"`
24873 24874 // The name of the VRF.
24875 VrfName string `json:"vrf_name,omitempty"`
24876 24877 // Description of the VRF.
24878 VrfDescription string `json:"vrf_description,omitempty"`
24879 24880 // Route distinguisher of the VRF.
24881 VrfRd string `json:"vrf_rd,omitempty"`
24882 24883 // The BGP autonomous system number.
24884 BgpAs uint32 `json:"bgp_as,omitempty"`
24885 }
24886 24887 // Discoverytaskport represents Infoblox struct discoverytaskport
24888 type Discoverytaskport struct {
24889 // The TCP port number.
24890 Number uint32 `json:"number,omitempty"`
24891 24892 // The TCP port descriptive comment.
24893 Comment string `json:"comment,omitempty"`
24894 }
24895 24896 // Discoverytaskvserver represents Infoblox struct discoverytaskvserver
24897 type Discoverytaskvserver struct {
24898 // The disable flag of a vSphere server.
24899 Disable bool `json:"disable,omitempty"`
24900 24901 // The connection protocol of a vSphere server.
24902 ConnectionProtocol string `json:"connection_protocol,omitempty"`
24903 24904 // The FQDN (Fully Qualified Domain Name) or IP address of the vShpere server.
24905 FqdnOrIp string `json:"fqdn_or_ip,omitempty"`
24906 24907 // The user password on the vSphere server.
24908 Password string `json:"password,omitempty"`
24909 24910 // The connection port that the vSphere server uses.
24911 Port uint32 `json:"port,omitempty"`
24912 24913 // The user name on the vSphere server.
24914 Username string `json:"username,omitempty"`
24915 }
24916 24917 // Dnsseckey represents Infoblox struct dnsseckey
24918 type Dnsseckey struct {
24919 // The tag of the key for the zone.
24920 Tag uint32 `json:"tag,omitempty"`
24921 24922 // The status of the key for the zone.
24923 Status string `json:"status,omitempty"`
24924 24925 // The next event date for the key, the rollover date for an active key or the
24926 // removal date for an already rolled one.
24927 NextEventDate *UnixTime `json:"next_event_date,omitempty"`
24928 24929 // The key type.
24930 Type string `json:"type,omitempty"`
24931 24932 // The public-key encryption algorithm.
24933 Algorithm string `json:"algorithm,omitempty"`
24934 24935 // The Base-64 encoding of the public key.
24936 PublicKey string `json:"public_key,omitempty"`
24937 }
24938 24939 // Dnsseckeyalgorithm represents Infoblox struct dnsseckeyalgorithm
24940 type Dnsseckeyalgorithm struct {
24941 // The signing key algorithm.
24942 Algorithm string `json:"algorithm,omitempty"`
24943 24944 // The signing key size, in bits.
24945 Size uint32 `json:"size,omitempty"`
24946 }
24947 24948 // Dnsseckeyparams represents Infoblox struct dnsseckeyparams
24949 type Dnsseckeyparams struct {
24950 // If set to True, automatic rollovers for the signing key is enabled.
24951 EnableKskAutoRollover bool `json:"enable_ksk_auto_rollover,omitempty"`
24952 24953 // Key Signing Key algorithm. Deprecated.
24954 KskAlgorithm string `json:"ksk_algorithm,omitempty"`
24955 24956 // A list of Key Signing Key Algorithms.
24957 KskAlgorithms []*Dnsseckeyalgorithm `json:"ksk_algorithms,omitempty"`
24958 24959 // Key Signing Key rollover interval, in seconds.
24960 KskRollover uint32 `json:"ksk_rollover,omitempty"`
24961 24962 // Key Signing Key size, in bits. Deprecated.
24963 KskSize uint32 `json:"ksk_size,omitempty"`
24964 24965 // NSEC (next secure) types.
24966 NextSecureType string `json:"next_secure_type,omitempty"`
24967 24968 // This field controls events for which users will be notified.
24969 KskRolloverNotificationConfig string `json:"ksk_rollover_notification_config,omitempty"`
24970 24971 // Enable SNMP notifications for KSK related events.
24972 KskSnmpNotificationEnabled bool `json:"ksk_snmp_notification_enabled,omitempty"`
24973 24974 // Enable email notifications for KSK related events.
24975 KskEmailNotificationEnabled bool `json:"ksk_email_notification_enabled,omitempty"`
24976 24977 // The minimum length for NSEC3 salts.
24978 Nsec3SaltMinLength uint32 `json:"nsec3_salt_min_length,omitempty"`
24979 24980 // The maximum length for NSEC3 salts.
24981 Nsec3SaltMaxLength uint32 `json:"nsec3_salt_max_length,omitempty"`
24982 24983 // The number of iterations used for hashing NSEC3.
24984 Nsec3Iterations uint32 `json:"nsec3_iterations,omitempty"`
24985 24986 // Signature expiration time, in seconds.
24987 SignatureExpiration uint32 `json:"signature_expiration,omitempty"`
24988 24989 // Zone Signing Key algorithm. Deprecated.
24990 ZskAlgorithm string `json:"zsk_algorithm,omitempty"`
24991 24992 // A list of Zone Signing Key Algorithms.
24993 ZskAlgorithms []*Dnsseckeyalgorithm `json:"zsk_algorithms,omitempty"`
24994 24995 // Zone Signing Key rollover interval, in seconds.
24996 ZskRollover uint32 `json:"zsk_rollover,omitempty"`
24997 24998 // Zone Signing Key rollover mechanism.
24999 ZskRolloverMechanism string `json:"zsk_rollover_mechanism,omitempty"`
25000 25001 // Zone Signing Key size, in bits. Deprecated.
25002 ZskSize uint32 `json:"zsk_size,omitempty"`
25003 }
25004 25005 // Dnssectrustedkey represents Infoblox struct dnssectrustedkey
25006 type Dnssectrustedkey struct {
25007 // The FQDN of the domain for which the member validates responses to recursive
25008 // queries.
25009 Fqdn string `json:"fqdn,omitempty"`
25010 25011 // The DNSSEC algorithm used to generate the key.
25012 Algorithm string `json:"algorithm,omitempty"`
25013 25014 // The DNSSEC key.
25015 Key string `json:"key,omitempty"`
25016 25017 // The secure entry point flag, if set it means this is a KSK configuration.
25018 SecureEntryPoint bool `json:"secure_entry_point,omitempty"`
25019 25020 // Responses must be DNSSEC secure for this hierarchy/domain.
25021 DnssecMustBeSecure bool `json:"dnssec_must_be_secure,omitempty"`
25022 }
25023 25024 // Dnsserver represents Infoblox struct dnsserver
25025 type Dnsserver struct {
25026 // Flag to override login name and password from the MS Server
25027 UseLogin bool `json:"use_login,omitempty"`
25028 25029 // Microsoft Server login name
25030 LoginName string `json:"login_name,omitempty"`
25031 25032 // Microsoft Server login password
25033 LoginPassword string `json:"login_password,omitempty"`
25034 25035 // flag indicating if the DNS service is managed
25036 Managed bool `json:"managed,omitempty"`
25037 25038 // Defines what control to apply on the DNS server
25039 NextSyncControl string `json:"next_sync_control,omitempty"`
25040 25041 // Status of the Microsoft DNS Service
25042 Status string `json:"status,omitempty"`
25043 25044 // Detailed status of the DNS status
25045 StatusDetail string `json:"status_detail,omitempty"`
25046 25047 // Timestamp of the last update
25048 StatusLastUpdated *UnixTime `json:"status_last_updated,omitempty"`
25049 25050 // Timestamp of the last synchronization attempt
25051 LastSyncTs *UnixTime `json:"last_sync_ts,omitempty"`
25052 25053 // Status of the last synchronization attempt
25054 LastSyncStatus string `json:"last_sync_status,omitempty"`
25055 25056 // Detailled status of the last synchronization attempt
25057 LastSyncDetail string `json:"last_sync_detail,omitempty"`
25058 25059 // Ordered list of IP addresses to forward queries to
25060 Forwarders string `json:"forwarders,omitempty"`
25061 25062 // Flag indicating if the server supports IPv6
25063 SupportsIpv6 bool `json:"supports_ipv6,omitempty"`
25064 25065 // Flag indicating if the server supports reverse IPv6 zones
25066 SupportsIpv6Reverse bool `json:"supports_ipv6_reverse,omitempty"`
25067 25068 // Flag indicating if the server supports DNAME records
25069 SupportsRrDname bool `json:"supports_rr_dname,omitempty"`
25070 25071 // Flag indicating if the server supports
25072 SupportsDnssec bool `json:"supports_dnssec,omitempty"`
25073 25074 // Flag indicating if the server supports AD integrated zones
25075 SupportsActiveDirectory bool `json:"supports_active_directory,omitempty"`
25076 25077 // MS Server ip address
25078 Address string `json:"address,omitempty"`
25079 25080 // Flag indicating if the server supports NAPTR records
25081 SupportsRrNaptr bool `json:"supports_rr_naptr,omitempty"`
25082 25083 // Override enable monitoring inherited from grid level
25084 UseEnableMonitoring bool `json:"use_enable_monitoring,omitempty"`
25085 25086 // Flag indicating if the DNS service is monitored and controlled
25087 EnableMonitoring bool `json:"enable_monitoring,omitempty"`
25088 25089 // Flag to override synchronization interval from the MS Server
25090 UseSynchronizationMinDelay bool `json:"use_synchronization_min_delay,omitempty"`
25091 25092 // Minimum number of minutes between two synchronizations
25093 SynchronizationMinDelay uint32 `json:"synchronization_min_delay,omitempty"`
25094 25095 // Override enable reports data inherited from grid level
25096 UseEnableDnsReportsSync bool `json:"use_enable_dns_reports_sync,omitempty"`
25097 25098 // Enable or Disable MS DNS data for reports from this MS Server
25099 EnableDnsReportsSync bool `json:"enable_dns_reports_sync,omitempty"`
25100 }
25101 25102 // Dnstapsetting represents Infoblox struct dnstapsetting
25103 type Dnstapsetting struct {
25104 // Address of DNSTAP receiver.
25105 DnstapReceiverAddress string `json:"dnstap_receiver_address,omitempty"`
25106 25107 // DNSTAP receiver port number.
25108 DnstapReceiverPort uint32 `json:"dnstap_receiver_port,omitempty"`
25109 25110 // DNSTAP id string.
25111 DnstapIdentity string `json:"dnstap_identity,omitempty"`
25112 25113 // DNSTAP version.
25114 DnstapVersion string `json:"dnstap_version,omitempty"`
25115 }
25116 25117 // DtcHealth represents Infoblox struct dtc:health
25118 type DtcHealth struct {
25119 // The availability color status.
25120 Availability string `json:"availability,omitempty"`
25121 25122 // The enabled state of the object.
25123 EnabledState string `json:"enabled_state,omitempty"`
25124 25125 // The textual description of the object's status.
25126 Description string `json:"description,omitempty"`
25127 }
25128 25129 // DtcMonitorSnmpOid represents Infoblox struct dtc:monitor:snmp:oid
25130 type DtcMonitorSnmpOid struct {
25131 // The SNMP OID value for DTC SNMP Monitor health checks.
25132 Oid string `json:"oid,omitempty"`
25133 25134 // The comment for a DTC SNMP Health Monitor OID object.
25135 Comment string `json:"comment,omitempty"`
25136 25137 // The value of the condition type for DTC SNMP Monitor health check results.
25138 Type string `json:"type,omitempty"`
25139 25140 // The condition of the validation result for an SNMP health check. The
25141 // following conditions can be applied to the health check results: 'ANY'
25142 // accepts any response; 'EXACT' accepts result equal to 'first'; 'LEQ' accepts
25143 // result which is less than 'first'; 'GEQ' accepts result which is greater
25144 // than 'first'; 'RANGE' accepts result value of which is between 'first' and
25145 // 'last'.
25146 Condition string `json:"condition,omitempty"`
25147 25148 // The condition's first term to match against the SNMP health check result.
25149 First string `json:"first,omitempty"`
25150 25151 // The condition's second term to match against the SNMP health check result
25152 // with 'RANGE' condition.
25153 Last string `json:"last,omitempty"`
25154 }
25155 25156 // DtcPoolConsolidatedMonitorHealth represents Infoblox struct dtc:pool:consolidated_monitor_health
25157 type DtcPoolConsolidatedMonitorHealth struct {
25158 // Members whose monitor statuses are shared across other members in a pool.
25159 Members []string `json:"members,omitempty"`
25160 25161 // Monitor whose statuses are shared across other members in a pool.
25162 Monitor string `json:"monitor,omitempty"`
25163 25164 // Servers assigned to a pool with monitor defined are healthy if ANY or ALL
25165 // members report healthy status.
25166 Availability string `json:"availability,omitempty"`
25167 25168 // Flag for switching health performing and sharing behavior to perform health
25169 // checks on each DTC grid member that serves related LBDN(s) and send them
25170 // across all DTC grid members from both selected and non-selected lists.
25171 FullHealthCommunication bool `json:"full_health_communication,omitempty"`
25172 }
25173 25174 // DtcPoolLink represents Infoblox struct dtc:pool:link
25175 type DtcPoolLink struct {
25176 // The pool to link with.
25177 Pool string `json:"pool,omitempty"`
25178 25179 // The weight of pool.
25180 Ratio uint32 `json:"ratio,omitempty"`
25181 }
25182 25183 // DtcServerLink represents Infoblox struct dtc:server:link
25184 type DtcServerLink struct {
25185 // The server to link with.
25186 Server string `json:"server,omitempty"`
25187 25188 // The weight of server.
25189 Ratio uint32 `json:"ratio,omitempty"`
25190 }
25191 25192 // DtcServerMonitor represents Infoblox struct dtc:server:monitor
25193 type DtcServerMonitor struct {
25194 // The monitor related to server.
25195 Monitor string `json:"monitor,omitempty"`
25196 25197 // IP address or FQDN of the server used for monitoring.
25198 Host string `json:"host,omitempty"`
25199 }
25200 25201 // DtcTopologyRuleSource represents Infoblox struct dtc:topology:rule:source
25202 type DtcTopologyRuleSource struct {
25203 // The source type.
25204 SourceType string `json:"source_type,omitempty"`
25205 25206 // The operation used to match the value.
25207 SourceOp string `json:"source_op,omitempty"`
25208 25209 // The source value.
25210 SourceValue string `json:"source_value,omitempty"`
25211 }
25212 25213 // DxlEndpointBroker represents Infoblox struct dxl:endpoint:broker
25214 type DxlEndpointBroker struct {
25215 // The FQDN for the DXL endpoint broker.
25216 HostName string `json:"host_name,omitempty"`
25217 25218 // The IPv4 Address or IPv6 Address for the DXL endpoint broker.
25219 Address string `json:"address,omitempty"`
25220 25221 // The communication port for the DXL endpoint broker.
25222 Port uint32 `json:"port,omitempty"`
25223 25224 // The unique identifier for the DXL endpoint.
25225 UniqueId string `json:"unique_id,omitempty"`
25226 }
25227 25228 // Eaexpressionop represents Infoblox struct eaexpressionop
25229 type Eaexpressionop struct {
25230 // The operation name.
25231 Op string `json:"op,omitempty"`
25232 25233 // The name of the Extensible Attribute Definition object which is used as the
25234 // first operand value.
25235 Op1 string `json:"op1,omitempty"`
25236 25237 // The first operand type.
25238 Op1Type string `json:"op1_type,omitempty"`
25239 25240 // The second operand value.
25241 Op2 string `json:"op2,omitempty"`
25242 25243 // The second operand type.
25244 Op2Type string `json:"op2_type,omitempty"`
25245 }
25246 25247 // Exclusionrange represents Infoblox struct exclusionrange
25248 type Exclusionrange struct {
25249 // The IPv4 Address starting address of the exclusion range.
25250 StartAddress string `json:"start_address,omitempty"`
25251 25252 // The IPv4 Address ending address of the exclusion range.
25253 EndAddress string `json:"end_address,omitempty"`
25254 25255 // Comment for the exclusion range; maximum 256 characters.
25256 Comment string `json:"comment,omitempty"`
25257 }
25258 25259 // Exclusionrangetemplate represents Infoblox struct exclusionrangetemplate
25260 type Exclusionrangetemplate struct {
25261 // The address offset of the DHCP exclusion range template.
25262 Offset uint32 `json:"offset,omitempty"`
25263 25264 // The number of addresses in the DHCP exclusion range template.
25265 NumberOfAddresses uint32 `json:"number_of_addresses,omitempty"`
25266 25267 // A descriptive comment of a DHCP exclusion range template.
25268 Comment string `json:"comment,omitempty"`
25269 }
25270 25271 // Expressionop represents Infoblox struct expressionop
25272 type Expressionop struct {
25273 // The operation name.
25274 Op string `json:"op,omitempty"`
25275 25276 // The first operand value.
25277 Op1 string `json:"op1,omitempty"`
25278 25279 // The first operand type.
25280 Op1Type string `json:"op1_type,omitempty"`
25281 25282 // The second operand value.
25283 Op2 string `json:"op2,omitempty"`
25284 25285 // The second operand type.
25286 Op2Type string `json:"op2_type,omitempty"`
25287 }
25288 25289 // ExtensibleattributedefDescendants represents Infoblox struct extensibleattributedef:descendants
25290 type ExtensibleattributedefDescendants struct {
25291 // This option describes which action must be taken if the extensible attribute
25292 // exists for both the parent and descendant objects: * INHERIT: inherit the
25293 // extensible attribute from the parent object. * RETAIN: retain the value of
25294 // an extensible attribute that was set for the child object. * CONVERT: the
25295 // value of the extensible attribute must be copied from the parent object.
25296 OptionWithEa string `json:"option_with_ea,omitempty"`
25297 25298 // This option describes which action must be taken if the extensible attribute
25299 // exists for the parent, but is absent from the descendant object: * INHERIT:
25300 // inherit the extensible attribute from the parent object. * NOT_INHERIT: do
25301 // nothing.
25302 OptionWithoutEa string `json:"option_without_ea,omitempty"`
25303 25304 // This option describes which action must be taken if the extensible attribute
25305 // exists for the descendant, but is absent for the parent object: * RETAIN:
25306 // retain the extensible attribute value for the descendant object. * REMOVE:
25307 // remove this extensible attribute from the descendant object.
25308 OptionDeleteEa string `json:"option_delete_ea,omitempty"`
25309 }
25310 25311 // EADefListValue represents Infoblox struct extensibleattributedef:listvalues
25312 type EADefListValue struct {
25313 // Enum value
25314 Value string `json:"value,omitempty"`
25315 }
25316 25317 // NameServer represents Infoblox struct extserver
25318 type NameServer struct {
25319 // The IPv4 Address or IPv6 Address of the server.
25320 Address string `json:"address,omitempty"`
25321 25322 // A resolvable domain name for the external DNS server.
25323 Name string `json:"name,omitempty"`
25324 25325 // This flag represents whether the name server is shared with the parent
25326 // Microsoft primary zone's delegation server.
25327 SharedWithMsParentDelegation bool `json:"shared_with_ms_parent_delegation,omitempty"`
25328 25329 // Set this flag to hide the NS record for the primary name server from DNS
25330 // queries.
25331 Stealth bool `json:"stealth,omitempty"`
25332 25333 // A generated TSIG key.
25334 TsigKey string `json:"tsig_key,omitempty"`
25335 25336 // The TSIG key algorithm.
25337 TsigKeyAlg string `json:"tsig_key_alg,omitempty"`
25338 25339 // The TSIG key name.
25340 TsigKeyName string `json:"tsig_key_name,omitempty"`
25341 25342 // Use flag for: tsig_key_name
25343 UseTsigKeyName bool `json:"use_tsig_key_name,omitempty"`
25344 }
25345 25346 // Extsyslogbackupserver represents Infoblox struct extsyslogbackupserver
25347 type Extsyslogbackupserver struct {
25348 // The IPv4 or IPv6 address of the backup syslog server.
25349 Address string `json:"address,omitempty"`
25350 25351 // The directory path for the replication of the rotated syslog files.
25352 DirectoryPath string `json:"directory_path,omitempty"`
25353 25354 // If set to True, the syslog backup server is enabled.
25355 Enable bool `json:"enable,omitempty"`
25356 25357 // The password of the backup syslog server.
25358 Password string `json:"password,omitempty"`
25359 25360 // The port used to connect to the backup syslog server.
25361 Port uint32 `json:"port,omitempty"`
25362 25363 // The transport protocol used to connect to the backup syslog server.
25364 Protocol string `json:"protocol,omitempty"`
25365 25366 // The username of the backup syslog server.
25367 Username string `json:"username,omitempty"`
25368 }
25369 25370 // Filetransfersetting represents Infoblox struct filetransfersetting
25371 type Filetransfersetting struct {
25372 // The directory to save the captured DNS queries and responses.
25373 Directory string `json:"directory,omitempty"`
25374 25375 // The host name of the destination server for DNS capture transfer.
25376 Host string `json:"host,omitempty"`
25377 25378 // The password to access the destination server directory.
25379 Password string `json:"password,omitempty"`
25380 25381 // The transfer protocol for the captured DNS queries and responses.
25382 Type string `json:"type,omitempty"`
25383 25384 // The username to access the destination server directory.
25385 Username string `json:"username,omitempty"`
25386 25387 // Transfer scp port.
25388 Port uint32 `json:"port,omitempty"`
25389 }
25390 25391 // Filterrule represents Infoblox struct filterrule
25392 type Filterrule struct {
25393 // The name of the DHCP filter.
25394 Filter string `json:"filter,omitempty"`
25395 25396 // The permission to be applied.
25397 Permission string `json:"permission,omitempty"`
25398 }
25399 25400 // FireeyeAlertmap represents Infoblox struct fireeye:alertmap
25401 type FireeyeAlertmap struct {
25402 // The type of Fireeye Alert.
25403 AlertType string `json:"alert_type,omitempty"`
25404 25405 // The RPZ rule for the alert.
25406 RpzRule string `json:"rpz_rule,omitempty"`
25407 25408 // The expiration Lifetime of alert type. The 32-bit unsigned integer
25409 // represents the amount of seconds this alert type will live for. 0 means the
25410 // alert will never expire.
25411 Lifetime uint32 `json:"lifetime,omitempty"`
25412 }
25413 25414 // FireeyeRulemapping represents Infoblox struct fireeye:rulemapping
25415 type FireeyeRulemapping struct {
25416 // The override setting for APT alerts.
25417 AptOverride string `json:"apt_override,omitempty"`
25418 25419 // The FireEye alert mapping.
25420 FireeyeAlertMapping []*FireeyeAlertmap `json:"fireeye_alert_mapping,omitempty"`
25421 25422 // The domain name to be substituted, this is applicable only when apt_override
25423 // is set to "SUBSTITUTE".
25424 SubstitutedDomainName string `json:"substituted_domain_name,omitempty"`
25425 }
25426 25427 // Forwardingmemberserver represents Infoblox struct forwardingmemberserver
25428 type Forwardingmemberserver struct {
25429 // The name of this Grid member in FQDN format.
25430 Name string `json:"name,omitempty"`
25431 25432 // Determines if the appliance sends queries to forwarders only, and not to
25433 // other internal or Internet root servers.
25434 ForwardersOnly bool `json:"forwarders_only,omitempty"`
25435 25436 // The information for the remote name server to which you want the Infoblox
25437 // appliance to forward queries for a specified domain name.
25438 ForwardTo NullableNameServers `json:"forward_to,omitempty"`
25439 25440 // Use flag for: forward_to
25441 UseOverrideForwarders bool `json:"use_override_forwarders"`
25442 }
25443 25444 // GridAttackdetect represents Infoblox struct grid:attackdetect
25445 type GridAttackdetect struct {
25446 // Determines if DNS attack detection is enabled or not.
25447 Enable bool `json:"enable,omitempty"`
25448 25449 // The high threshold value (in percentage) for starting DNS attack detection.
25450 High uint32 `json:"high,omitempty"`
25451 25452 // The maximum number of events that have occurred before processing DNS attack
25453 // detection.
25454 IntervalMax uint32 `json:"interval_max,omitempty"`
25455 25456 // The minimum number of events that have occurred before processing DNS attack
25457 // detection.
25458 IntervalMin uint32 `json:"interval_min,omitempty"`
25459 25460 // The time interval between detection processing.
25461 IntervalTime uint32 `json:"interval_time,omitempty"`
25462 25463 // The low threshold value (in percentage) for starting DNS attack detection.
25464 Low uint32 `json:"low,omitempty"`
25465 }
25466 25467 // GridAttackmitigation represents Infoblox struct grid:attackmitigation
25468 type GridAttackmitigation struct {
25469 // Configuration for detecting changes for the Cache Hit Ratio (CHR) of
25470 // recursive queries.
25471 DetectChr *GridAttackdetect `json:"detect_chr,omitempty"`
25472 25473 // The cache utilization (in percentage) when Cache Hit Ratio (CHR) starts.
25474 DetectChrGrace uint32 `json:"detect_chr_grace,omitempty"`
25475 25476 // Configuration for detecting NXDOMAIN responses from up-stream servers to all
25477 // incoming recursive responses.
25478 DetectNxdomainResponses *GridAttackdetect `json:"detect_nxdomain_responses,omitempty"`
25479 25480 // Configuration for detecting the UDP packet drop rate.
25481 DetectUdpDrop *GridAttackdetect `json:"detect_udp_drop,omitempty"`
25482 25483 // The minimum time interval (in seconds) between changes in attack status.
25484 Interval uint32 `json:"interval,omitempty"`
25485 25486 // Enable or disable the mitigation of possible NXDOMAIN attacks by splitting
25487 // the Lease Recently Used (LRU) list into NX (non-existent) RRsets and all
25488 // other RRsets, and by removing the least recently used items from the LRU
25489 // list for NX RRsets before removing items for other RRsets.
25490 MitigateNxdomainLru bool `json:"mitigate_nxdomain_lru,omitempty"`
25491 }
25492 25493 // GridAutoblackhole represents Infoblox struct grid:autoblackhole
25494 type GridAutoblackhole struct {
25495 // Enables or disables the configuration of the maximum number of concurrent
25496 // recursive queries the appliance sends to each upstream DNS server.
25497 EnableFetchesPerServer bool `json:"enable_fetches_per_server,omitempty"`
25498 25499 // Enables or disables the configuration of the maximum number of concurrent
25500 // recursive queries the appliance sends to each DNS zone.
25501 EnableFetchesPerZone bool `json:"enable_fetches_per_zone,omitempty"`
25502 25503 // Enables or disables the holddown configuration when the appliance stops
25504 // sending queries to non-responsive servers.
25505 EnableHolddown bool `json:"enable_holddown,omitempty"`
25506 25507 // The maximum number of concurrent recursive queries the appliance sends to a
25508 // single upstream name server before blocking additional queries to that
25509 // server.
25510 FetchesPerServer uint32 `json:"fetches_per_server,omitempty"`
25511 25512 // The maximum number of concurrent recursive queries that a server sends for
25513 // its domains.
25514 FetchesPerZone uint32 `json:"fetches_per_zone,omitempty"`
25515 25516 // Determines how often (in number of recursive responses) the appliance
25517 // recalculates the average timeout ratio for each DNS server.
25518 FpsFreq uint32 `json:"fps_freq,omitempty"`
25519 25520 // The holddown duration for non-responsive servers.
25521 Holddown uint32 `json:"holddown,omitempty"`
25522 25523 // The number of consecutive timeouts before holding down a non-responsive
25524 // server.
25525 HolddownThreshold uint32 `json:"holddown_threshold,omitempty"`
25526 25527 // The minimum time (in seconds) that needs to be passed before a timeout
25528 // occurs. Note that only these timeouts are counted towards the number of
25529 // consecutive timeouts.
25530 HolddownTimeout uint32 `json:"holddown_timeout,omitempty"`
25531 }
25532 25533 // GridCloudapiGatewayConfig represents Infoblox struct grid:cloudapi:gateway:config
25534 type GridCloudapiGatewayConfig struct {
25535 // Enable Gateway Service.
25536 EnableProxyService bool `json:"enable_proxy_service,omitempty"`
25537 25538 // Gateway port
25539 Port uint32 `json:"port,omitempty"`
25540 25541 // List of Gateway FQDN to AWS Endpoint Mapping.
25542 EndpointMapping []*GridCloudapiGatewayEndpointmapping `json:"endpoint_mapping,omitempty"`
25543 }
25544 25545 // GridCloudapiGatewayEndpointmapping represents Infoblox struct grid:cloudapi:gateway:endpointmapping
25546 type GridCloudapiGatewayEndpointmapping struct {
25547 // Gateway FQDN.
25548 GatewayFqdn string `json:"gateway_fqdn,omitempty"`
25549 25550 // Endpoint FQDN.
25551 EndpointFqdn string `json:"endpoint_fqdn,omitempty"`
25552 }
25553 25554 // GridCloudapiInfo represents Infoblox struct grid:cloudapi:info
25555 type GridCloudapiInfo struct {
25556 // The Cloud Platform Appliance to which authority of the object is delegated.
25557 DelegatedMember *Dhcpmember `json:"delegated_member,omitempty"`
25558 25559 // Indicates the scope of delegation for the object. This can be one of the
25560 // following: NONE (outside any delegation), ROOT (the delegation point),
25561 // SUBTREE (within the scope of a delegation), RECLAIMING (within the scope of
25562 // a delegation being reclaimed, either as the delegation point or in the
25563 // subtree).
25564 DelegatedScope string `json:"delegated_scope,omitempty"`
25565 25566 // Indicates the root of the delegation if delegated_scope is SUBTREE or
25567 // RECLAIMING. This is not set otherwise.
25568 DelegatedRoot string `json:"delegated_root,omitempty"`
25569 25570 // Determines whether the object was created by the cloud adapter or not.
25571 OwnedByAdaptor bool `json:"owned_by_adaptor,omitempty"`
25572 25573 // Indicates the cloud origin of the object.
25574 Usage string `json:"usage,omitempty"`
25575 25576 // Reference to the tenant object associated with the object, if any.
25577 Tenant string `json:"tenant,omitempty"`
25578 25579 // Indicates the specified cloud management platform.
25580 MgmtPlatform string `json:"mgmt_platform,omitempty"`
25581 25582 // Type of authority over the object.
25583 AuthorityType string `json:"authority_type,omitempty"`
25584 }
25585 25586 // GridCloudapiUser represents Infoblox struct grid:cloudapi:user
25587 type GridCloudapiUser struct {
25588 // Determines whether this is a remote admin user.
25589 IsRemote bool `json:"is_remote,omitempty"`
25590 25591 // Username that matches a remote administrator who can perform cloud API
25592 // requests on the Cloud Platform Appliance.
25593 RemoteAdmin string `json:"remote_admin,omitempty"`
25594 25595 // Local administrator who can perform cloud API requests on the Cloud Platform
25596 // Appliance.
25597 LocalAdmin string `json:"local_admin,omitempty"`
25598 }
25599 25600 // GridConsentbannersetting represents Infoblox struct grid:consentbannersetting
25601 type GridConsentbannersetting struct {
25602 // Determines whether the consent banner is enabled.
25603 Enable bool `json:"enable,omitempty"`
25604 25605 // The message included in the consent banner.
25606 Message string `json:"message,omitempty"`
25607 }
25608 25609 // GridCspapiconfig represents Infoblox struct grid:cspapiconfig
25610 type GridCspapiconfig struct {
25611 // The url for the CspApiConfig.
25612 Url string `json:"url,omitempty"`
25613 25614 // The user name for the CspApiConfig.
25615 Username string `json:"username,omitempty"`
25616 25617 // The password for the CspApiConfig.
25618 Password string `json:"password,omitempty"`
25619 }
25620 25621 // GridCspgridsetting represents Infoblox struct grid:cspgridsetting
25622 type GridCspgridsetting struct {
25623 // Join token required to connect to a cluster
25624 CspJoinToken string `json:"csp_join_token,omitempty"`
25625 25626 // IP address of DNS resolver in DFP
25627 CspDnsResolver string `json:"csp_dns_resolver,omitempty"`
25628 25629 // HTTP Proxy IP address of CSP Portal
25630 CspHttpsProxy string `json:"csp_https_proxy,omitempty"`
25631 }
25632 25633 // GridDnsFixedrrsetorderfqdn represents Infoblox struct grid:dns:fixedrrsetorderfqdn
25634 type GridDnsFixedrrsetorderfqdn struct {
25635 // The FQDN of the fixed RRset configuration item.
25636 Fqdn string `json:"fqdn,omitempty"`
25637 25638 // The record type for the specified FQDN in the fixed RRset configuration.
25639 RecordType string `json:"record_type,omitempty"`
25640 }
25641 25642 // GridInformationalbannersetting represents Infoblox struct grid:informationalbannersetting
25643 type GridInformationalbannersetting struct {
25644 // Determines whether the display of the informational level banner is enabled.
25645 Enable bool `json:"enable,omitempty"`
25646 25647 // The message included in the informational level banner.
25648 Message string `json:"message,omitempty"`
25649 25650 // The color for the informational level banner.
25651 Color string `json:"color,omitempty"`
25652 }
25653 25654 // GridLicensesubpool represents Infoblox struct grid:licensesubpool
25655 type GridLicensesubpool struct {
25656 // The license string for the license subpool.
25657 Key string `json:"key,omitempty"`
25658 25659 // The total number of dynamic licenses allowed for this license subpool.
25660 Installed uint32 `json:"installed,omitempty"`
25661 25662 // License expiration date.
25663 ExpiryDate *UnixTime `json:"expiry_date,omitempty"`
25664 }
25665 25666 // GridLockoutsetting represents Infoblox struct grid:lockoutsetting
25667 type GridLockoutsetting struct {
25668 // Enable/disable sequential failed login attempts lockout for local users
25669 EnableSequentialFailedLoginAttemptsLockout bool `json:"enable_sequential_failed_login_attempts_lockout,omitempty"`
25670 25671 // The number of failed login attempts
25672 SequentialAttempts uint32 `json:"sequential_attempts,omitempty"`
25673 25674 // Time period the account remains locked after sequential failed login attempt
25675 // lockout.
25676 FailedLockoutDuration uint32 `json:"failed_lockout_duration,omitempty"`
25677 25678 // Never unlock option is also provided and if set then user account is locked
25679 // forever and only super user can unlock this account
25680 NeverUnlockUser bool `json:"never_unlock_user,omitempty"`
25681 }
25682 25683 // GridLoggingcategories represents Infoblox struct grid:loggingcategories
25684 type GridLoggingcategories struct {
25685 // Determines whether the DTC GSLB activity is captured or not.
25686 LogDtcGslb bool `json:"log_dtc_gslb,omitempty"`
25687 25688 // Determines whether the DTC health monitoring information is captured or not.
25689 LogDtcHealth bool `json:"log_dtc_health,omitempty"`
25690 25691 // Determines whether the BIND messages that are not specifically classified
25692 // are captured or not.
25693 LogGeneral bool `json:"log_general,omitempty"`
25694 25695 // Determines whether the client requests are captured or not.
25696 LogClient bool `json:"log_client,omitempty"`
25697 25698 // Determines whether the configuration file parsing is captured or not.
25699 LogConfig bool `json:"log_config,omitempty"`
25700 25701 // Determines whether the BIND's internal database processes are captured or
25702 // not.
25703 LogDatabase bool `json:"log_database,omitempty"`
25704 25705 // Determines whether the DNSSEC-signed responses are captured or not.
25706 LogDnssec bool `json:"log_dnssec,omitempty"`
25707 25708 // Determines whether the bad delegation instances are captured or not.
25709 LogLameServers bool `json:"log_lame_servers,omitempty"`
25710 25711 // Determines whether the network operation messages are captured or not.
25712 LogNetwork bool `json:"log_network,omitempty"`
25713 25714 // Determines whether the asynchronous zone change notification messages are
25715 // captured or not.
25716 LogNotify bool `json:"log_notify,omitempty"`
25717 25718 // Determines whether the query messages are captured or not.
25719 LogQueries bool `json:"log_queries,omitempty"`
25720 25721 // Determines whether the query rewrite messages are captured or not.
25722 LogQueryRewrite bool `json:"log_query_rewrite,omitempty"`
25723 25724 // Determines whether the response messages are captured or not.
25725 LogResponses bool `json:"log_responses,omitempty"`
25726 25727 // Determines whether the DNS resolution instances, including recursive queries
25728 // from resolvers are captured or not.
25729 LogResolver bool `json:"log_resolver,omitempty"`
25730 25731 // Determines whether the approved and denied requests are captured or not.
25732 LogSecurity bool `json:"log_security,omitempty"`
25733 25734 // Determines whether the dynamic update instances are captured or not.
25735 LogUpdate bool `json:"log_update,omitempty"`
25736 25737 // Determines whether the zone transfer messages from the remote name servers
25738 // to the appliance are captured or not.
25739 LogXferIn bool `json:"log_xfer_in,omitempty"`
25740 25741 // Determines whether the zone transfer messages from the Infoblox appliance to
25742 // remote name servers are captured or not.
25743 LogXferOut bool `json:"log_xfer_out,omitempty"`
25744 25745 // Determines whether the security update messages are captured or not.
25746 LogUpdateSecurity bool `json:"log_update_security,omitempty"`
25747 25748 // Determines whether the rate limit messages are captured or not.
25749 LogRateLimit bool `json:"log_rate_limit,omitempty"`
25750 25751 // Determines whether the Response Policy Zone messages are captured or not.
25752 LogRpz bool `json:"log_rpz,omitempty"`
25753 }
25754 25755 // NTPSetting represents Infoblox struct grid:ntp
25756 type NTPSetting struct {
25757 // Determines whether NTP is enabled on the Grid.
25758 EnableNTP bool `json:"enable_ntp,omitempty"`
25759 25760 // The list of NTP servers configured on a Grid.
25761 NTPServers []*NTPserver `json:"ntp_servers,omitempty"`
25762 25763 // The list of NTP authentication keys used to authenticate NTP clients.
25764 NTPKeys []*Ntpkey `json:"ntp_keys,omitempty"`
25765 25766 // The NTP access control settings.
25767 NTPAcl *Ntpaccess `json:"ntp_acl,omitempty"`
25768 25769 // Determines whether the Kiss-o'-Death packets are enabled.
25770 NTPKod bool `json:"ntp_kod,omitempty"`
25771 25772 // Grid level GM local NTP stratum.
25773 GmLocalNtpStratum uint32 `json:"gm_local_ntp_stratum,omitempty"`
25774 25775 // Local NTP stratum for non-GM members.
25776 LocalNtpStratum uint32 `json:"local_ntp_stratum,omitempty"`
25777 25778 // This flag controls whether gm_local_ntp_stratum value be set to a default
25779 // value
25780 UseDefaultStratum bool `json:"use_default_stratum,omitempty"`
25781 }
25782 25783 // GridResponseratelimiting represents Infoblox struct grid:responseratelimiting
25784 type GridResponseratelimiting struct {
25785 // Determines if the response rate limiting is enabled or not.
25786 EnableRrl bool `json:"enable_rrl,omitempty"`
25787 25788 // Determines if logging for response rate limiting without dropping any
25789 // requests is enabled or not.
25790 LogOnly bool `json:"log_only,omitempty"`
25791 25792 // The number of responses per client per second.
25793 ResponsesPerSecond uint32 `json:"responses_per_second,omitempty"`
25794 25795 // The time interval in seconds over which responses are tracked.
25796 Window uint32 `json:"window,omitempty"`
25797 25798 // The response rate limiting slip. Note that if slip is not equal to 0 every
25799 // n-th rate-limited UDP request is sent a truncated response instead of being
25800 // dropped.
25801 Slip uint32 `json:"slip,omitempty"`
25802 }
25803 25804 // GridRestartbannersetting represents Infoblox struct grid:restartbannersetting
25805 type GridRestartbannersetting struct {
25806 // If set to True, the restart banner is enabled.
25807 Enabled bool `json:"enabled,omitempty"`
25808 25809 // If set to True, the user is required to input name before restarting the
25810 // services.
25811 EnableDoubleConfirmation bool `json:"enable_double_confirmation,omitempty"`
25812 }
25813 25814 // GridServicerestart represents Infoblox struct grid:servicerestart
25815 type GridServicerestart struct {
25816 // The time duration to delay a restart for a restart group.
25817 Delay uint32 `json:"delay,omitempty"`
25818 25819 // The duration of timeout for a restart group. The value "-1" means infinite.
25820 Timeout int `json:"timeout,omitempty"`
25821 25822 // Determines whether the Grid should try to restart offline member.
25823 RestartOffline bool `json:"restart_offline,omitempty"`
25824 }
25825 25826 // GridServicerestartGroupSchedule represents Infoblox struct grid:servicerestart:group:schedule
25827 type GridServicerestartGroupSchedule struct {
25828 // The list of applicable services for the restart.
25829 Services []string `json:"services,omitempty"`
25830 25831 // The restart method for a Grid restart.
25832 Mode string `json:"mode,omitempty"`
25833 25834 // The Schedule Setting struct that determines the schedule for the restart.
25835 Schedule *SettingSchedule `json:"schedule,omitempty"`
25836 25837 // Determines if the Restart Group should have a force restart.
25838 Force bool `json:"force,omitempty"`
25839 }
25840 25841 // GridmemberSoamname represents Infoblox struct gridmember_soamname
25842 type GridmemberSoamname struct {
25843 // The grid primary server for the zone. Only one of "grid_primary" or
25844 // "ms_server_primary" should be set when modifying or creating the object.
25845 GridPrimary string `json:"grid_primary,omitempty"`
25846 25847 // The primary MS server for the zone. Only one of "grid_primary" or
25848 // "ms_server_primary" should be set when modifying or creating the object.
25849 MsServerPrimary string `json:"ms_server_primary,omitempty"`
25850 25851 // Master's SOA MNAME. This value can be in unicode format.
25852 Mname string `json:"mname,omitempty"`
25853 25854 // Master's SOA MNAME in punycode format.
25855 DnsMname string `json:"dns_mname,omitempty"`
25856 }
25857 25858 // GridmemberSoaserial represents Infoblox struct gridmember_soaserial
25859 type GridmemberSoaserial struct {
25860 // The grid primary server for the zone. Only one of "grid_primary" or
25861 // "ms_server_primary" will be set when the object is retrieved from the
25862 // server.
25863 GridPrimary string `json:"grid_primary,omitempty"`
25864 25865 // The primary MS server for the zone. Only one of "grid_primary" or
25866 // "ms_server_primary" will be set when the object is retrieved from the
25867 // server.
25868 MsServerPrimary string `json:"ms_server_primary,omitempty"`
25869 25870 // The SOA serial number.
25871 Serial uint32 `json:"serial,omitempty"`
25872 }
25873 25874 // Hotfix represents Infoblox struct hotfix
25875 type Hotfix struct {
25876 // The status text of the hotfix.
25877 StatusText string `json:"status_text,omitempty"`
25878 25879 // Unique ID of the hotfix.
25880 UniqueId string `json:"unique_id,omitempty"`
25881 }
25882 25883 // HsmSafenet represents Infoblox struct hsm:safenet
25884 type HsmSafenet struct {
25885 // The HSM SafeNet device IPv4 Address or FQDN.
25886 Name string `json:"name,omitempty"`
25887 25888 // The HSM SafeNet device partition serial number (PSN).
25889 PartitionSerialNumber string `json:"partition_serial_number,omitempty"`
25890 25891 // Determines whether the HSM SafeNet device is disabled.
25892 Disable bool `json:"disable,omitempty"`
25893 25894 // Partition ID that is displayed after the appliance has successfully
25895 // connected to the HSM SafeNet device.
25896 PartitionId string `json:"partition_id,omitempty"`
25897 25898 // Determines whether the HSM SafeNet device is FIPS compliant.
25899 IsFipsCompliant bool `json:"is_fips_compliant,omitempty"`
25900 25901 // The token returned by the uploadinit function call in object fileop for a
25902 // SafeNet HSM device certificate.
25903 ServerCert string `json:"server_cert,omitempty"`
25904 25905 // The HSM SafeNet device partition capacity percentage used.
25906 PartitionCapacity uint32 `json:"partition_capacity,omitempty"`
25907 25908 // The HSM SafeNet device status.
25909 Status string `json:"status,omitempty"`
25910 }
25911 25912 // HsmThales represents Infoblox struct hsm:thales
25913 type HsmThales struct {
25914 // The IPv4 Address of the Thales HSM device.
25915 RemoteIp string `json:"remote_ip,omitempty"`
25916 25917 // The Thales HSM device destination port.
25918 RemotePort uint32 `json:"remote_port,omitempty"`
25919 25920 // The Thales HSM device status.
25921 Status string `json:"status,omitempty"`
25922 25923 // The Thales HSM device electronic serial number.
25924 RemoteEsn string `json:"remote_esn,omitempty"`
25925 25926 // The Thales HSM device public key digest.
25927 Keyhash string `json:"keyhash,omitempty"`
25928 25929 // Determines whether the Thales HSM device is disabled.
25930 Disable bool `json:"disable,omitempty"`
25931 }
25932 25933 // Interface represents Infoblox struct interface
25934 type Interface struct {
25935 // Determines if anycast for the Interface object is enabled or not.
25936 Anycast bool `json:"anycast,omitempty"`
25937 25938 // The IPv4 network settings of the Grid Member.
25939 Ipv4NetworkSetting *SettingNetwork `json:"ipv4_network_setting,omitempty"`
25940 25941 // The IPv6 network settings of the Grid Member.
25942 Ipv6NetworkSetting *Ipv6setting `json:"ipv6_network_setting,omitempty"`
25943 25944 // A descriptive comment of this structure.
25945 Comment string `json:"comment,omitempty"`
25946 25947 // Determines if the BGP advertisement setting is enabled for this interface or
25948 // not.
25949 EnableBgp bool `json:"enable_bgp,omitempty"`
25950 25951 // Determines if the OSPF advertisement setting is enabled for this interface
25952 // or not.
25953 EnableOspf bool `json:"enable_ospf,omitempty"`
25954 25955 // The interface type for the Interface object.
25956 Interface string `json:"interface,omitempty"`
25957 }
25958 25959 // Ipv6networksetting represents Infoblox struct ipv6networksetting
25960 type Ipv6networksetting struct {
25961 // IPv6 address.
25962 Address string `json:"address,omitempty"`
25963 25964 // IPv6 CIDR
25965 Cidr uint32 `json:"cidr,omitempty"`
25966 25967 // Gateway address.
25968 Gateway string `json:"gateway,omitempty"`
25969 }
25970 25971 // Ipv6setting represents Infoblox struct ipv6setting
25972 type Ipv6setting struct {
25973 // Determines if IPv6 networking should be enabled.
25974 Enabled bool `json:"enabled,omitempty"`
25975 25976 // IPv6 address.
25977 VirtualIp string `json:"virtual_ip,omitempty"`
25978 25979 // IPv6 cidr prefix
25980 CidrPrefix uint32 `json:"cidr_prefix,omitempty"`
25981 25982 // Gateway address.
25983 Gateway string `json:"gateway,omitempty"`
25984 25985 // Determines if automatic router configuration should be enabled.
25986 AutoRouterConfigEnabled bool `json:"auto_router_config_enabled,omitempty"`
25987 25988 // The identifier for the VLAN. Valid values are from 1 to 4096.
25989 VlanId uint32 `json:"vlan_id,omitempty"`
25990 25991 // Determines if the current address is the primary VLAN address or not.
25992 Primary bool `json:"primary,omitempty"`
25993 25994 // The DSCP (Differentiated Services Code Point) value determines relative
25995 // priorities for the type of services on your network. The appliance
25996 // implements QoS (Quality of Service) rules based on this configuration. Valid
25997 // values are from 0 to 63.
25998 Dscp uint32 `json:"dscp,omitempty"`
25999 26000 // Use flag for: dscp
26001 UseDscp bool `json:"use_dscp,omitempty"`
26002 }
26003 26004 // Lan2portsetting represents Infoblox struct lan2portsetting
26005 type Lan2portsetting struct {
26006 // If the 'enabled' field is set to True, this defines the virtual router ID
26007 // for the LAN2 port.
26008 VirtualRouterId uint32 `json:"virtual_router_id,omitempty"`
26009 26010 // If this field is set to True, then it has its own IP settings. Otherwise,
26011 // port redundancy mechanism is used, in which the LAN1 and LAN2 ports share
26012 // the same IP settings for failover purposes.
26013 Enabled bool `json:"enabled,omitempty"`
26014 26015 // If the 'enable' field is set to True, this defines IPv4 network settings for
26016 // LAN2.
26017 NetworkSetting *SettingNetwork `json:"network_setting,omitempty"`
26018 26019 // If the 'enable' field is set to True, this defines IPv6 network settings for
26020 // the LAN2 port.
26021 V6NetworkSetting *Ipv6setting `json:"v6_network_setting,omitempty"`
26022 26023 // Determines if NIC failover is enabled or not.
26024 NicFailoverEnabled bool `json:"nic_failover_enabled,omitempty"`
26025 26026 // Prefer LAN1 when available.
26027 NicFailoverEnablePrimary bool `json:"nic_failover_enable_primary,omitempty"`
26028 26029 // Default route failover for LAN1 and LAN2.
26030 DefaultRouteFailoverEnabled bool `json:"default_route_failover_enabled,omitempty"`
26031 }
26032 26033 // Lanhaportsetting represents Infoblox struct lanhaportsetting
26034 type Lanhaportsetting struct {
26035 // Public IPv4 address for the LAN1 interface.
26036 MgmtLan string `json:"mgmt_lan,omitempty"`
26037 26038 // Public IPv6 address for the LAN1 interface.
26039 MgmtIpv6addr string `json:"mgmt_ipv6addr,omitempty"`
26040 26041 // HA IP address.
26042 HaIpAddress string `json:"ha_ip_address,omitempty"`
26043 26044 // Physical port settings for the LAN interface.
26045 LanPortSetting *Physicalportsetting `json:"lan_port_setting,omitempty"`
26046 26047 // Physical port settings for the HA interface.
26048 HaPortSetting *Physicalportsetting `json:"ha_port_setting,omitempty"`
26049 }
26050 26051 // LdapEamapping represents Infoblox struct ldap_eamapping
26052 type LdapEamapping struct {
26053 // The LDAP attribute name.
26054 Name string `json:"name,omitempty"`
26055 26056 // The name of the extensible attribute definition object to which the LDAP
26057 // attribute is mapped.
26058 MappedEa string `json:"mapped_ea,omitempty"`
26059 }
26060 26061 // LdapServer represents Infoblox struct ldap_server
26062 type LdapServer struct {
26063 // The IP address or FQDN of the LDAP server.
26064 Address string `json:"address,omitempty"`
26065 26066 // The authentication type for the LDAP server.
26067 AuthenticationType string `json:"authentication_type,omitempty"`
26068 26069 // The base DN for the LDAP server.
26070 BaseDn string `json:"base_dn,omitempty"`
26071 26072 // The user password for authentication.
26073 BindPassword string `json:"bind_password,omitempty"`
26074 26075 // The user DN for authentication.
26076 BindUserDn string `json:"bind_user_dn,omitempty"`
26077 26078 // The LDAP descriptive comment.
26079 Comment string `json:"comment,omitempty"`
26080 26081 // Determines if the LDAP server is disabled.
26082 Disable bool `json:"disable,omitempty"`
26083 26084 // The LDAP server encryption type.
26085 Encryption string `json:"encryption,omitempty"`
26086 26087 // The LDAP server port.
26088 Port uint32 `json:"port,omitempty"`
26089 26090 // Determines if the connection via the MGMT interface is allowed.
26091 UseMgmtPort bool `json:"use_mgmt_port,omitempty"`
26092 26093 // The LDAP server version.
26094 Version string `json:"version,omitempty"`
26095 }
26096 26097 // Logicfilterrule represents Infoblox struct logicfilterrule
26098 type Logicfilterrule struct {
26099 // The filter name.
26100 Filter string `json:"filter,omitempty"`
26101 26102 // The filter type. Valid values are: * MAC * NAC * Option
26103 Type string `json:"type,omitempty"`
26104 }
26105 26106 // Lomnetworkconfig represents Infoblox struct lomnetworkconfig
26107 type Lomnetworkconfig struct {
26108 // The IPv4 Address of the Grid member.
26109 Address string `json:"address,omitempty"`
26110 26111 // The default gateway for the Grid member.
26112 Gateway string `json:"gateway,omitempty"`
26113 26114 // The subnet mask for the Grid member.
26115 SubnetMask string `json:"subnet_mask,omitempty"`
26116 26117 // Determines if the physical node supports LOM or not.
26118 IsLomCapable bool `json:"is_lom_capable,omitempty"`
26119 }
26120 26121 // Lomuser represents Infoblox struct lomuser
26122 type Lomuser struct {
26123 // The LOM user name.
26124 Name string `json:"name,omitempty"`
26125 26126 // The LOM user password.
26127 Password string `json:"password,omitempty"`
26128 26129 // The LOM user role which specifies the list of actions that are allowed for
26130 // the user.
26131 Role string `json:"role,omitempty"`
26132 26133 // Determines whether the LOM user is disabled.
26134 Disable bool `json:"disable,omitempty"`
26135 26136 // The descriptive comment for the LOM user.
26137 Comment string `json:"comment,omitempty"`
26138 }
26139 26140 // MemberCspmembersetting represents Infoblox struct member:cspmembersetting
26141 type MemberCspmembersetting struct {
26142 // Overrides grid join token
26143 UseCspJoinToken bool `json:"use_csp_join_token,omitempty"`
26144 26145 // Overrides CSP DNS Resolver
26146 UseCspDnsResolver bool `json:"use_csp_dns_resolver,omitempty"`
26147 26148 // Overrides grid https proxy
26149 UseCspHttpsProxy bool `json:"use_csp_https_proxy,omitempty"`
26150 26151 // Join token required to connect to a cluster
26152 CspJoinToken string `json:"csp_join_token,omitempty"`
26153 26154 // IP address of DNS resolver in DFP
26155 CspDnsResolver string `json:"csp_dns_resolver,omitempty"`
26156 26157 // HTTP Proxy IP address of CSP Portal
26158 CspHttpsProxy string `json:"csp_https_proxy,omitempty"`
26159 }
26160 26161 // MemberDnsgluerecordaddr represents Infoblox struct member:dnsgluerecordaddr
26162 type MemberDnsgluerecordaddr struct {
26163 // Determines if empty view with recursion enabled will be written into the
26164 // conf file.
26165 AttachEmptyRecursiveView bool `json:"attach_empty_recursive_view,omitempty"`
26166 26167 // The address the appliance uses to generate the glue record.
26168 GlueRecordAddress string `json:"glue_record_address,omitempty"`
26169 26170 // The name of the DNS View in which the record resides. Example: "external".
26171 View string `json:"view,omitempty"`
26172 26173 // The address choice for auto-created glue records for this view.
26174 GlueAddressChoice string `json:"glue_address_choice,omitempty"`
26175 }
26176 26177 // MemberDnsip represents Infoblox struct member:dnsip
26178 type MemberDnsip struct {
26179 // The additional IP address of the member.
26180 IpAddress string `json:"ip_address,omitempty"`
26181 }
26182 26183 // MemberNtp represents Infoblox struct member:ntp
26184 type MemberNtp struct {
26185 // Determines whether the NTP service is enabled on the member.
26186 EnableNTP bool `json:"enable_ntp,omitempty"`
26187 26188 // The list of NTP servers configured on a member.
26189 NTPServers []*NTPserver `json:"ntp_servers,omitempty"`
26190 26191 // The list of NTP authentication keys used to authenticate NTP clients.
26192 NTPKeys []*Ntpkey `json:"ntp_keys,omitempty"`
26193 26194 // The NTP access control settings.
26195 NTPAcl *Ntpaccess `json:"ntp_acl,omitempty"`
26196 26197 // Determines whether the Kiss-o'-Death packets are enabled or disabled.
26198 NTPKod bool `json:"ntp_kod,omitempty"`
26199 26200 // Determines whether the use of the external NTP servers is enabled for the
26201 // member.
26202 EnableExternalNtpServers bool `json:"enable_external_ntp_servers,omitempty"`
26203 26204 // Determines whether the Grid Master is excluded as an NTP server.
26205 ExcludeGridMasterNtpServer bool `json:"exclude_grid_master_ntp_server,omitempty"`
26206 26207 // Override Grid level NTP stratum.
26208 UseLocalNtpStratum bool `json:"use_local_ntp_stratum,omitempty"`
26209 26210 // Vnode level local NTP stratum.
26211 LocalNtpStratum uint32 `json:"local_ntp_stratum,omitempty"`
26212 26213 // Vnode level default stratum.
26214 UseDefaultStratum bool `json:"use_default_stratum,omitempty"`
26215 26216 // Use flag for: ntp_servers
26217 UseNtpServers bool `json:"use_ntp_servers,omitempty"`
26218 26219 // Use flag for: ntp_keys
26220 UseNtpKeys bool `json:"use_ntp_keys,omitempty"`
26221 26222 // Use flag for: ntp_acl
26223 UseNtpAcl bool `json:"use_ntp_acl,omitempty"`
26224 26225 // Use flag for: ntp_kod
26226 UseNtpKod bool `json:"use_ntp_kod,omitempty"`
26227 }
26228 26229 // Memberserver represents Infoblox struct memberserver
26230 type Memberserver struct {
26231 // The grid member name.
26232 Name string `json:"name,omitempty"`
26233 26234 // This flag governs whether the specified Grid member is in stealth mode or
26235 // not. If set to True, the member is in stealth mode. This flag is ignored if
26236 // the struct is specified as part of a stub zone.
26237 Stealth bool `json:"stealth,omitempty"`
26238 26239 // The flag represents DNS zone transfers if set to True, and ID Grid
26240 // Replication if set to False. This flag is ignored if the struct is specified
26241 // as part of a stub zone or if it is set as grid_member in an authoritative
26242 // zone.
26243 GridReplicate bool `json:"grid_replicate,omitempty"`
26244 26245 // This flag controls whether the Grid lead secondary server performs zone
26246 // transfers to non lead secondaries. This flag is ignored if the struct is
26247 // specified as grid_member in an authoritative zone.
26248 Lead bool `json:"lead,omitempty"`
26249 26250 // The primary preference list with Grid member names and\or External Server
26251 // extserver structs for this member.
26252 PreferredPrimaries []NameServer `json:"preferred_primaries,omitempty"`
26253 26254 // This flag represents whether the preferred_primaries field values of this
26255 // member are used.
26256 EnablePreferredPrimaries bool `json:"enable_preferred_primaries,omitempty"`
26257 }
26258 26259 // Memberservicecommunication represents Infoblox struct memberservicecommunication
26260 type Memberservicecommunication struct {
26261 // The service for a Grid member.
26262 Service string `json:"service,omitempty"`
26263 26264 // Communication type.
26265 Type string `json:"type,omitempty"`
26266 26267 // The option for communication type.
26268 Option string `json:"option,omitempty"`
26269 }
26270 26271 // Memberservicestatus represents Infoblox struct memberservicestatus
26272 type Memberservicestatus struct {
26273 // The description of the current service status.
26274 Description string `json:"description,omitempty"`
26275 26276 // The service status.
26277 Status string `json:"status,omitempty"`
26278 26279 // The service identifier.
26280 Service string `json:"service,omitempty"`
26281 }
26282 26283 // Mgmtportsetting represents Infoblox struct mgmtportsetting
26284 type Mgmtportsetting struct {
26285 // Determines if MGMT port settings should be enabled.
26286 Enabled bool `json:"enabled,omitempty"`
26287 26288 // Determines if VPN on the MGMT port is enabled or not.
26289 VpnEnabled bool `json:"vpn_enabled,omitempty"`
26290 26291 // Determines if security access on the MGMT port is enabled or not.
26292 SecurityAccessEnabled bool `json:"security_access_enabled,omitempty"`
26293 }
26294 26295 // Monitoreddomains represents Infoblox struct monitoreddomains
26296 type Monitoreddomains struct {
26297 // Domain name (FQDN to Query).
26298 DomainName string `json:"domain_name,omitempty"`
26299 26300 // Record type(record to query).
26301 RecordType string `json:"record_type,omitempty"`
26302 }
26303 26304 // Msdhcpoption represents Infoblox struct msdhcpoption
26305 type Msdhcpoption struct {
26306 // The code of the DHCP option.
26307 Num uint32 `json:"num,omitempty"`
26308 26309 // Value of the DHCP option.
26310 Value string `json:"value,omitempty"`
26311 26312 // The name of the DHCP option.
26313 Name string `json:"name,omitempty"`
26314 26315 // The name of the vendor class with which this DHCP option is associated.
26316 VendorClass string `json:"vendor_class,omitempty"`
26317 26318 // The name of the user class with which this DHCP option is associated.
26319 UserClass string `json:"user_class,omitempty"`
26320 26321 // The DHCP option type. Valid values are: * "16-bit signed integer" * "16-bit
26322 // unsigned integer" * "32-bit signed integer" * "32-bit unsigned integer" *
26323 // "64-bit unsigned integer" * "8-bit signed integer" * "8-bit unsigned integer
26324 // (1,2,4,8)" * "8-bit unsigned integer" * "array of 16-bit integer" * "array
26325 // of 16-bit unsigned integer" * "array of 32-bit integer" * "array of 32-bit
26326 // unsigned integer" * "array of 64-bit unsigned integer" * "array of 8-bit
26327 // integer" * "array of 8-bit unsigned integer" * "array of ip-address pair" *
26328 // "array of ip-address" * "array of string" * "binary" * "boolean array of
26329 // ip-address" * "boolean" * "boolean-text" * "domain-list" * "domain-name" *
26330 // "encapsulated" * "ip-address" * "string" * "text"
26331 Type string `json:"type,omitempty"`
26332 }
26333 26334 // Msdhcpserver represents Infoblox struct msdhcpserver
26335 type Msdhcpserver struct {
26336 // The IPv4 Address or FQDN of the Microsoft server.
26337 Ipv4Addr string `json:"ipv4addr,omitempty"`
26338 }
26339 26340 // Msdnsserver represents Infoblox struct msdnsserver
26341 type Msdnsserver struct {
26342 // The address of the server.
26343 Address string `json:"address,omitempty"`
26344 26345 // This flag indicates if this server is a synchronization master.
26346 IsMaster bool `json:"is_master,omitempty"`
26347 26348 // This address is used when generating the NS record in the zone, which can be
26349 // different in case of multihomed hosts.
26350 NsIp string `json:"ns_ip,omitempty"`
26351 26352 // This name is used when generating the NS record in the zone, which can be
26353 // different in case of multihomed hosts.
26354 NsName string `json:"ns_name,omitempty"`
26355 26356 // Set this flag to hide the NS record for the primary name server from DNS
26357 // queries.
26358 Stealth bool `json:"stealth,omitempty"`
26359 26360 // This flag represents whether the name server is shared with the parent
26361 // Microsoft primary zone's delegation server.
26362 SharedWithMsParentDelegation bool `json:"shared_with_ms_parent_delegation,omitempty"`
26363 }
26364 26365 // MsserverAduser represents Infoblox struct msserver:aduser
26366 type MsserverAduser struct {
26367 // The login name of the Microsoft Server.
26368 LoginName string `json:"login_name,omitempty"`
26369 26370 // The login password of the DHCP Microsoft Server.
26371 LoginPassword string `json:"login_password,omitempty"`
26372 26373 // Determines whether the Active Directory user synchronization is enabled or
26374 // not.
26375 EnableUserSync bool `json:"enable_user_sync,omitempty"`
26376 26377 // The minimum number of minutes between two synchronizations.
26378 SynchronizationInterval uint32 `json:"synchronization_interval,omitempty"`
26379 26380 // Timestamp of the last synchronization attempt.
26381 LastSyncTime *UnixTime `json:"last_sync_time,omitempty"`
26382 26383 // The status of the last synchronization attempt.
26384 LastSyncStatus string `json:"last_sync_status,omitempty"`
26385 26386 // The detailed status of the last synchronization attempt.
26387 LastSyncDetail string `json:"last_sync_detail,omitempty"`
26388 26389 // Timestamp of the last successful synchronization attempt.
26390 LastSuccessSyncTime *UnixTime `json:"last_success_sync_time,omitempty"`
26391 26392 // Flag to override login name and password from MS server
26393 UseLogin bool `json:"use_login,omitempty"`
26394 26395 // Flag to override AD User sync from grid level
26396 UseEnableAdUserSync bool `json:"use_enable_ad_user_sync,omitempty"`
26397 26398 // Flag to override synchronization interval from the MS Server
26399 UseSynchronizationMinDelay bool `json:"use_synchronization_min_delay,omitempty"`
26400 26401 // Use flag for: enable_user_sync
26402 UseEnableUserSync bool `json:"use_enable_user_sync,omitempty"`
26403 26404 // Use flag for: synchronization_interval
26405 UseSynchronizationInterval bool `json:"use_synchronization_interval,omitempty"`
26406 }
26407 26408 // MsserverAduserData represents Infoblox struct msserver:aduser:data
26409 type MsserverAduserData struct {
26410 // The number of active users.
26411 ActiveUsersCount uint32 `json:"active_users_count,omitempty"`
26412 }
26413 26414 // MsserverDcnsrecordcreation represents Infoblox struct msserver:dcnsrecordcreation
26415 type MsserverDcnsrecordcreation struct {
26416 // The IPv4 address of the domain controller that is allowed to create NS
26417 // records.
26418 Address string `json:"address,omitempty"`
26419 26420 // Optional user comment.
26421 Comment string `json:"comment,omitempty"`
26422 }
26423 26424 // Natsetting represents Infoblox struct natsetting
26425 type Natsetting struct {
26426 // Determines if NAT should be enabled.
26427 Enabled bool `json:"enabled,omitempty"`
26428 26429 // External IP address for NAT.
26430 ExternalVirtualIp string `json:"external_virtual_ip,omitempty"`
26431 26432 // The NAT group.
26433 Group string `json:"group,omitempty"`
26434 }
26435 26436 // NetworkviewAssocmember represents Infoblox struct networkview:assocmember
26437 type NetworkviewAssocmember struct {
26438 // The member object associated with a network view.
26439 Member string `json:"member,omitempty"`
26440 26441 // The list of failover objects associated with each member.
26442 Failovers []string `json:"failovers,omitempty"`
26443 }
26444 26445 // Nodeinfo represents Infoblox struct nodeinfo
26446 type Nodeinfo struct {
26447 // The service status list of the Grid Member.
26448 ServiceStatus []*Servicestatus `json:"service_status,omitempty"`
26449 26450 // The OID of the physical node.
26451 PhysicalOid string `json:"physical_oid,omitempty"`
26452 26453 // Status about the node of an HA pair.
26454 HaStatus string `json:"ha_status,omitempty"`
26455 26456 // The platform on which NIOS is running on.
26457 Hwplatform string `json:"hwplatform,omitempty"`
26458 26459 // Hardware ID.
26460 Hwid string `json:"hwid,omitempty"`
26461 26462 // Hardware model.
26463 Hwmodel string `json:"hwmodel,omitempty"`
26464 26465 // Hardware type.
26466 Hwtype string `json:"hwtype,omitempty"`
26467 26468 // True if node is Paid NIOS.
26469 PaidNios bool `json:"paid_nios,omitempty"`
26470 26471 // Network settings for the MGMT port of the node.
26472 MgmtNetworkSetting *SettingNetwork `json:"mgmt_network_setting,omitempty"`
26473 26474 // LAN/HA port settings for the node.
26475 LanHaPortSetting *Lanhaportsetting `json:"lan_ha_port_setting,omitempty"`
26476 26477 // Physical port settings for the MGMT interface.
26478 MgmtPhysicalSetting *Physicalportsetting `json:"mgmt_physical_setting,omitempty"`
26479 26480 // Physical port settings for the LAN2 interface.
26481 Lan2PhysicalSetting *Physicalportsetting `json:"lan2_physical_setting,omitempty"`
26482 26483 // The NAT external IP address for the node.
26484 NatExternalIp string `json:"nat_external_ip,omitempty"`
26485 26486 // The network settings for the IPv6 MGMT port of the node.
26487 V6MgmtNetworkSetting *Ipv6setting `json:"v6_mgmt_network_setting,omitempty"`
26488 }
26489 26490 // NotificationRestTemplateinstance represents Infoblox struct notification:rest:templateinstance
26491 type NotificationRestTemplateinstance struct {
26492 // The name of the REST API template parameter.
26493 Template string `json:"template,omitempty"`
26494 26495 // The notification REST template parameters.
26496 Parameters []*NotificationRestTemplateparameter `json:"parameters,omitempty"`
26497 }
26498 26499 // NotificationRestTemplateparameter represents Infoblox struct notification:rest:templateparameter
26500 type NotificationRestTemplateparameter struct {
26501 // The name of the REST API template parameter.
26502 Name string `json:"name,omitempty"`
26503 26504 // The value of the REST API template parameter.
26505 Value string `json:"value,omitempty"`
26506 26507 // The default value of the REST API template parameter.
26508 DefaultValue string `json:"default_value,omitempty"`
26509 26510 // The syntax of the REST API template parameter.
26511 Syntax string `json:"syntax,omitempty"`
26512 }
26513 26514 // NotificationRuleexpressionop represents Infoblox struct notification:ruleexpressionop
26515 type NotificationRuleexpressionop struct {
26516 // Rule expression type.
26517 Op string `json:"op,omitempty"`
26518 26519 // Rule expression first operand value.
26520 Op1 string `json:"op1,omitempty"`
26521 26522 // Rule expression first operand type.
26523 Op1Type string `json:"op1_type,omitempty"`
26524 26525 // Rule expression second operand.
26526 Op2 string `json:"op2,omitempty"`
26527 26528 // Rule expression second operand type.
26529 Op2Type string `json:"op2_type,omitempty"`
26530 }
26531 26532 // Ntpac represents Infoblox struct ntpac
26533 type Ntpac struct {
26534 // The client address/network with access control.
26535 AddressAc *Addressac `json:"address_ac,omitempty"`
26536 26537 // The type of service with access control.
26538 Service string `json:"service,omitempty"`
26539 }
26540 26541 // Ntpaccess represents Infoblox struct ntpaccess
26542 type Ntpaccess struct {
26543 // The NTP access control list type.
26544 AclType string `json:"acl_type,omitempty"`
26545 26546 // The list of NTP access control items.
26547 AcList []*Ntpac `json:"ac_list,omitempty"`
26548 26549 // The NTP access named ACL.
26550 NamedAcl string `json:"named_acl,omitempty"`
26551 26552 // The type of service with access control for the assigned named ACL.
26553 Service string `json:"service,omitempty"`
26554 }
26555 26556 // Ntpkey represents Infoblox struct ntpkey
26557 type Ntpkey struct {
26558 // The NTP authentication key identifier.
26559 Number uint32 `json:"number,omitempty"`
26560 26561 // The NTP authentication key string.
26562 String string `json:"string,omitempty"`
26563 26564 // The NTP authentication key type.
26565 Type string `json:"type,omitempty"`
26566 }
26567 26568 // NTPserver represents Infoblox struct ntpserver
26569 type NTPserver struct {
26570 // The NTP server IP address or FQDN.
26571 Address string `json:"address,omitempty"`
26572 26573 // Determines whether the NTP authentication is enabled.
26574 EnableAuthentication bool `json:"enable_authentication,omitempty"`
26575 26576 // The NTP authentication key number.
26577 NtpKeyNumber uint32 `json:"ntp_key_number,omitempty"`
26578 26579 // Determines whether the NTP server is a preferred one or not.
26580 Preferred bool `json:"preferred,omitempty"`
26581 26582 // Determines whether the BURST operation mode is enabled. In BURST operating
26583 // mode, when the external server is reachable and a valid source of
26584 // synchronization is available, NTP sends a burst of 8 packets with a 2 second
26585 // interval between packets.
26586 Burst bool `json:"burst,omitempty"`
26587 26588 // Determines whether the IBURST operation mode is enabled. In IBURST operating
26589 // mode, when the external server is unreachable, NTP server sends a burst of 8
26590 // packets with a 2 second interval between packets.
26591 IBurst bool `json:"iburst,omitempty"`
26592 }
26593 26594 // Nxdomainrule represents Infoblox struct nxdomainrule
26595 type Nxdomainrule struct {
26596 // The action to perform when a domain name matches the pattern defined in this
26597 // Ruleset.
26598 Action string `json:"action,omitempty"`
26599 26600 // The pattern that is used to match the domain name.
26601 Pattern string `json:"pattern,omitempty"`
26602 }
26603 26604 // Objectschangestrackingsetting represents Infoblox struct objectschangestrackingsetting
26605 type Objectschangestrackingsetting struct {
26606 // Determines whether the objects changes tracking feature is enabled or not.
26607 Enable bool `json:"enable,omitempty"`
26608 26609 // Determines the percentage of completion for objects changes tracking.
26610 EnableCompletion uint32 `json:"enable_completion,omitempty"`
26611 26612 // Determines the objects changes tracking enable state.
26613 State string `json:"state,omitempty"`
26614 26615 // Maximum time period in seconds to track the deleted objects changes. You can
26616 // enter a value from 7200 - 604800 seconds.
26617 MaxTimeToTrack uint32 `json:"max_time_to_track,omitempty"`
26618 26619 // Maximum number of deleted objects retained for tracking. You can enter a
26620 // value from 2000 - 20000.
26621 MaxObjsToTrack uint32 `json:"max_objs_to_track,omitempty"`
26622 }
26623 26624 // OcspResponder represents Infoblox struct ocsp_responder
26625 type OcspResponder struct {
26626 // The FQDN (Fully Qualified Domain Name) or IP address of the server.
26627 FqdnOrIp string `json:"fqdn_or_ip,omitempty"`
26628 26629 // The port used for connecting.
26630 Port uint32 `json:"port,omitempty"`
26631 26632 // The descriptive comment for the OCSP authentication responder.
26633 Comment string `json:"comment,omitempty"`
26634 26635 // Determines if this OCSP authentication responder is disabled.
26636 Disabled bool `json:"disabled,omitempty"`
26637 26638 // The reference to the OCSP responder certificate.
26639 Certificate string `json:"certificate,omitempty"`
26640 26641 // The token returned by the uploadinit function call in object fileop.
26642 CertificateToken string `json:"certificate_token,omitempty"`
26643 }
26644 26645 // Option60matchrule represents Infoblox struct option60matchrule
26646 type Option60matchrule struct {
26647 // The match value for this DHCP Option 60 match rule.
26648 MatchValue string `json:"match_value,omitempty"`
26649 26650 // The option space for this DHCP Option 60 match rule.
26651 OptionSpace string `json:"option_space,omitempty"`
26652 26653 // Determines if the match value is a substring.
26654 IsSubstring bool `json:"is_substring,omitempty"`
26655 26656 // The offset of match value for this DHCP Option 60 match rule.
26657 SubstringOffset uint32 `json:"substring_offset,omitempty"`
26658 26659 // The length of match value for this DHCP Option 60 match rule.
26660 SubstringLength uint32 `json:"substring_length,omitempty"`
26661 }
26662 26663 // Ospf represents Infoblox struct ospf
26664 type Ospf struct {
26665 // The area ID value of the OSPF settings.
26666 AreaId string `json:"area_id,omitempty"`
26667 26668 // The OSPF area type.
26669 AreaType string `json:"area_type,omitempty"`
26670 26671 // The authentication password to use for OSPF. The authentication key is valid
26672 // only when authentication type is "SIMPLE" or "MESSAGE_DIGEST".
26673 AuthenticationKey string `json:"authentication_key,omitempty"`
26674 26675 // The authentication type used for the OSPF advertisement.
26676 AuthenticationType string `json:"authentication_type,omitempty"`
26677 26678 // Determines if auto calculate cost is enabled or not.
26679 AutoCalcCostEnabled bool `json:"auto_calc_cost_enabled,omitempty"`
26680 26681 // A descriptive comment of the OSPF configuration.
26682 Comment string `json:"comment,omitempty"`
26683 26684 // The cost metric associated with the OSPF advertisement.
26685 Cost uint32 `json:"cost,omitempty"`
26686 26687 // The dead interval value of OSPF (in seconds). The dead interval describes
26688 // the time to wait before declaring the device is unavailable and down.
26689 DeadInterval uint32 `json:"dead_interval,omitempty"`
26690 26691 // The hello interval value of OSPF. The hello interval specifies how often to
26692 // send OSPF hello advertisement, in seconds.
26693 HelloInterval uint32 `json:"hello_interval,omitempty"`
26694 26695 // The interface that sends out OSPF advertisement information.
26696 Interface string `json:"interface,omitempty"`
26697 26698 // The OSPF protocol version. Specify "true" if the IPv4 version of OSPF is
26699 // used, or "false" if the IPv6 version of OSPF is used.
26700 IsIpv4 bool `json:"is_ipv4,omitempty"`
26701 26702 // The hash key identifier to use for "MESSAGE_DIGEST" authentication. The hash
26703 // key identifier is valid only when authentication type is "MESSAGE_DIGEST".
26704 KeyId uint32 `json:"key_id,omitempty"`
26705 26706 // The retransmit interval time of OSPF (in seconds). The retransmit interval
26707 // describes the time to wait before retransmitting OSPF advertisement.
26708 RetransmitInterval uint32 `json:"retransmit_interval,omitempty"`
26709 26710 // The transmit delay value of OSPF (in seconds). The transmit delay describes
26711 // the time to wait before sending an advertisement.
26712 TransmitDelay uint32 `json:"transmit_delay,omitempty"`
26713 26714 // The VLAN used as the advertising interface for sending OSPF announcements.
26715 AdvertiseInterfaceVlan string `json:"advertise_interface_vlan,omitempty"`
26716 26717 // Determines BFD template name.
26718 BfdTemplate string `json:"bfd_template,omitempty"`
26719 26720 // Determines if the BFD is enabled or not.
26721 EnableBfd bool `json:"enable_bfd,omitempty"`
26722 }
26723 26724 // OutboundCloudclientEvent represents Infoblox struct outbound:cloudclient:event
26725 type OutboundCloudclientEvent struct {
26726 // The event type enum rpz and analytics.
26727 EventType string `json:"event_type,omitempty"`
26728 26729 // Determines if the event type is enabled or not.
26730 Enabled bool `json:"enabled,omitempty"`
26731 }
26732 26733 // ParentalcontrolAbs represents Infoblox struct parentalcontrol:abs
26734 type ParentalcontrolAbs struct {
26735 // The IP address of addional blocking server.
26736 IpAddress string `json:"ip_address,omitempty"`
26737 26738 // The blocking policy for the addional blocking server.
26739 BlockingPolicy string `json:"blocking_policy,omitempty"`
26740 }
26741 26742 // ParentalcontrolMsp represents Infoblox struct parentalcontrol:msp
26743 type ParentalcontrolMsp struct {
26744 // The IPv4 Address of MSP.
26745 IpAddress string `json:"ip_address,omitempty"`
26746 }
26747 26748 // ParentalcontrolNasgateway represents Infoblox struct parentalcontrol:nasgateway
26749 type ParentalcontrolNasgateway struct {
26750 // The name of NAS gateway.
26751 Name string `json:"name,omitempty"`
26752 26753 // The IPv4 Address of NAS gateway.
26754 IpAddress string `json:"ip_address,omitempty"`
26755 26756 // The protocol MD5 phrase.
26757 SharedSecret string `json:"shared_secret,omitempty"`
26758 26759 // Determines whether an acknowledge needs to be sent.
26760 SendAck bool `json:"send_ack,omitempty"`
26761 26762 // The message rate per server.
26763 MessageRate uint32 `json:"message_rate,omitempty"`
26764 26765 // The human readable comment for NAS gateway.
26766 Comment string `json:"comment,omitempty"`
26767 }
26768 26769 // ParentalcontrolSitemember represents Infoblox struct parentalcontrol:sitemember
26770 type ParentalcontrolSitemember struct {
26771 // The Grid member name.
26772 Name string `json:"name,omitempty"`
26773 26774 // The type of member.
26775 Type string `json:"type,omitempty"`
26776 }
26777 26778 // ParentalcontrolSpm represents Infoblox struct parentalcontrol:spm
26779 type ParentalcontrolSpm struct {
26780 // The IPv4 Address of SPM.
26781 IpAddress string `json:"ip_address,omitempty"`
26782 }
26783 26784 // Physicalportsetting represents Infoblox struct physicalportsetting
26785 type Physicalportsetting struct {
26786 // Enable or disalbe the auto port setting.
26787 AutoPortSettingEnabled bool `json:"auto_port_setting_enabled,omitempty"`
26788 26789 // The port speed; if speed is 1000, duplex is FULL.
26790 Speed string `json:"speed,omitempty"`
26791 26792 // The port duplex; if speed is 1000, duplex must be FULL.
26793 Duplex string `json:"duplex,omitempty"`
26794 }
26795 26796 // Preprovision represents Infoblox struct preprovision
26797 type Preprovision struct {
26798 // An array of structures that describe the hardware being pre-provisioned.
26799 HardwareInfo []*Preprovisionhardware `json:"hardware_info,omitempty"`
26800 26801 // An array of license types the pre-provisioned member should have in order to
26802 // join the Grid, or the licenses that must be allocated to the member when it
26803 // joins the Grid using the token-based authentication.
26804 Licenses []string `json:"licenses,omitempty"`
26805 }
26806 26807 // Preprovisionhardware represents Infoblox struct preprovisionhardware
26808 type Preprovisionhardware struct {
26809 // Hardware type.
26810 Hwtype string `json:"hwtype,omitempty"`
26811 26812 // Hardware model - for IB-4010 are Rev1, Rev2; for IB-4030 are Rev1, Rev2; for
26813 // PT-4000 is Rev2; for IB-VNIOS are IB-VM-100, IB-VM-810, IB-VM-820,
26814 // IB-VM-RSP, IB-VM-1410, IB-VM-1420, IB-VM-2210, IB-VM-2220, IB-VM-4010,
26815 // CP-V800, CP-V1400, CP-V2200. Note that you cannot specify hwmodel for
26816 // following hardware types: IB-FLEX, IB-V2215, IB-V1425, IB-V4025, IB-V4015,
26817 // IB-V1415, IB-V815, IB-V825, IB-V2225, CP-V805, CP-V1405, CP-V2205.
26818 Hwmodel string `json:"hwmodel,omitempty"`
26819 }
26820 26821 // PropertiesBlackoutsetting represents Infoblox struct properties:blackoutsetting
26822 type PropertiesBlackoutsetting struct {
26823 // Determines whether a blackout is enabled or not.
26824 EnableBlackout bool `json:"enable_blackout,omitempty"`
26825 26826 // The blackout duration in seconds; minimum value is 1 minute.
26827 BlackoutDuration uint32 `json:"blackout_duration,omitempty"`
26828 26829 // A Schedule Setting struct that determines blackout schedule.
26830 BlackoutSchedule *SettingSchedule `json:"blackout_schedule,omitempty"`
26831 }
26832 26833 // Queriesuser represents Infoblox struct queriesuser
26834 type Queriesuser struct {
26835 // The SNMPv3 user.
26836 User string `json:"user,omitempty"`
26837 26838 // A descriptive comment for this queries user.
26839 Comment string `json:"comment,omitempty"`
26840 }
26841 26842 // RadiusServer represents Infoblox struct radius:server
26843 type RadiusServer struct {
26844 // The accounting port.
26845 AcctPort uint32 `json:"acct_port,omitempty"`
26846 26847 // The authorization port.
26848 AuthPort uint32 `json:"auth_port,omitempty"`
26849 26850 // The authentication protocol.
26851 AuthType string `json:"auth_type,omitempty"`
26852 26853 // The RADIUS descriptive comment.
26854 Comment string `json:"comment,omitempty"`
26855 26856 // Determines whether the RADIUS server is disabled.
26857 Disable bool `json:"disable,omitempty"`
26858 26859 // The FQDN or the IP address of the RADIUS server that is used for
26860 // authentication.
26861 Address string `json:"address,omitempty"`
26862 26863 // The shared secret that the NIOS appliance and the RADIUS server use to
26864 // encrypt and decrypt their messages.
26865 SharedSecret string `json:"shared_secret,omitempty"`
26866 26867 // Determines whether RADIUS accounting is enabled.
26868 UseAccounting bool `json:"use_accounting,omitempty"`
26869 26870 // Determines whether connection via the management interface is allowed.
26871 UseMgmtPort bool `json:"use_mgmt_port,omitempty"`
26872 }
26873 26874 // Rdatasubfield represents Infoblox struct rdatasubfield
26875 type Rdatasubfield struct {
26876 // String representation of subfield value.
26877 FieldValue string `json:"field_value,omitempty"`
26878 26879 // Type of field. "B": unsigned 8-bit integer, "S": unsigned 16-bit integer,
26880 // "I": unsigned 32-bit integer. "H": BASE64, "6": an IPv6 address, "4": an
26881 // IPv4 address, "N": a domain name, "T": text string, "X": opaque binary data
26882 FieldType string `json:"field_type,omitempty"`
26883 26884 // The 'size of 'length' sub-sub field to be included in RDATA.
26885 IncludeLength string `json:"include_length,omitempty"`
26886 }
26887 26888 // Remoteddnszone represents Infoblox struct remoteddnszone
26889 type Remoteddnszone struct {
26890 // The FQDN of the remote server.
26891 Fqdn string `json:"fqdn,omitempty"`
26892 26893 // The remote server IP address.
26894 ServerAddress string `json:"server_address,omitempty"`
26895 26896 // The principal name in which GSS-TSIG for dynamic updates is enabled.
26897 GssTsigDnsPrincipal string `json:"gss_tsig_dns_principal,omitempty"`
26898 26899 // The domain in which GSS-TSIG for dynamic updates is enabled.
26900 GssTsigDomain string `json:"gss_tsig_domain,omitempty"`
26901 26902 // The TSIG key value.
26903 TsigKey string `json:"tsig_key,omitempty"`
26904 26905 // The TSIG key alorithm name.
26906 TsigKeyAlg string `json:"tsig_key_alg,omitempty"`
26907 26908 // The name of the TSIG key. The key name entered here must match the TSIG key
26909 // name on the external name server.
26910 TsigKeyName string `json:"tsig_key_name,omitempty"`
26911 26912 // The key type to be used.
26913 KeyType string `json:"key_type,omitempty"`
26914 }
26915 26916 // SamlIdp represents Infoblox struct saml:idp
26917 type SamlIdp struct {
26918 // SAML Identity Provider type.
26919 IdpType string `json:"idp_type,omitempty"`
26920 26921 // The SAML Identity Provider descriptive comment.
26922 Comment string `json:"comment,omitempty"`
26923 26924 // Identity Provider Metadata URL.
26925 MetadataUrl string `json:"metadata_url,omitempty"`
26926 26927 // The token returned by the uploadinit function call in object fileop.
26928 MetadataToken string `json:"metadata_token,omitempty"`
26929 26930 // The SAML groupname optional user group attribute.
26931 Groupname string `json:"groupname,omitempty"`
26932 26933 // host name or IP address of the GM
26934 SsoRedirectUrl string `json:"sso_redirect_url,omitempty"`
26935 }
26936 26937 // Scheduledbackup represents Infoblox struct scheduledbackup
26938 type Scheduledbackup struct {
26939 // The status of the scheduled backup.
26940 Status string `json:"status,omitempty"`
26941 26942 // The state for scheduled backup or restore operation.
26943 Execute string `json:"execute,omitempty"`
26944 26945 // The scheduled backup operation.
26946 Operation string `json:"operation,omitempty"`
26947 26948 // The destination of the backup files.
26949 BackupType string `json:"backup_type,omitempty"`
26950 26951 // Determines whether the local backup performed before uploading backup to
26952 // remote storage.
26953 KeepLocalCopy bool `json:"keep_local_copy,omitempty"`
26954 26955 // The frequency of backups.
26956 BackupFrequency string `json:"backup_frequency,omitempty"`
26957 26958 // The day of the week when the backup is performed.
26959 Weekday string `json:"weekday,omitempty"`
26960 26961 // The hour of the day past 12:00 AM the backup is performed.
26962 HourOfDay uint32 `json:"hour_of_day,omitempty"`
26963 26964 // The minute of the hour when the backup is performed.
26965 MinutesPastHour uint32 `json:"minutes_past_hour,omitempty"`
26966 26967 // The user name on the backup server.
26968 Username string `json:"username,omitempty"`
26969 26970 // The user password on the backup server.
26971 Password string `json:"password,omitempty"`
26972 26973 // The IP address of the backup server.
26974 BackupServer string `json:"backup_server,omitempty"`
26975 26976 // The directory path to the backup file stored on the server.
26977 Path string `json:"path,omitempty"`
26978 26979 // The destination of the restore files.
26980 RestoreType string `json:"restore_type,omitempty"`
26981 26982 // The IP address of the restore server.
26983 RestoreServer string `json:"restore_server,omitempty"`
26984 26985 // The user name on the restore server.
26986 RestoreUsername string `json:"restore_username,omitempty"`
26987 26988 // The password on the restore server.
26989 RestorePassword string `json:"restore_password,omitempty"`
26990 26991 // The directory path to the restored file on the server.
26992 RestorePath string `json:"restore_path,omitempty"`
26993 26994 // Determines whether the restore of the NIOS data is enabled.
26995 NiosData bool `json:"nios_data,omitempty"`
26996 26997 // Determines whether the restore the NetMRI data is enabled.
26998 DiscoveryData bool `json:"discovery_data,omitempty"`
26999 27000 // Determines whether the restore of the Splunk application data is enabled.
27001 SplunkAppData bool `json:"splunk_app_data,omitempty"`
27002 27003 // Determines whether the scheduled backup is enabled.
27004 Enable bool `json:"enable,omitempty"`
27005 27006 // If set, scp backup support based on keys
27007 UseKeys bool `json:"use_keys,omitempty"`
27008 27009 // If set, scp backup support based on keys type
27010 KeyType string `json:"key_type,omitempty"`
27011 27012 // If set, scp backup support to upload keys
27013 UploadKeys bool `json:"upload_keys,omitempty"`
27014 27015 // If set, scp backup support to download keys
27016 DownloadKeys bool `json:"download_keys,omitempty"`
27017 }
27018 27019 // Servicestatus represents Infoblox struct servicestatus
27020 type Servicestatus struct {
27021 // The description of the current service status.
27022 Description string `json:"description,omitempty"`
27023 27024 // The service status.
27025 Status string `json:"status,omitempty"`
27026 27027 // The service identifier.
27028 Service string `json:"service,omitempty"`
27029 }
27030 27031 // SettingAtpoutbound represents Infoblox struct setting:atpoutbound
27032 type SettingAtpoutbound struct {
27033 // Flag to enable using DNS query FQDN for Outbound.
27034 EnableQueryFqdn bool `json:"enable_query_fqdn,omitempty"`
27035 27036 // Max domain level for DNS Query FQDN
27037 QueryFqdnLimit uint32 `json:"query_fqdn_limit,omitempty"`
27038 }
27039 27040 // SettingAutomatedtrafficcapture represents Infoblox struct setting:automatedtrafficcapture
27041 type SettingAutomatedtrafficcapture struct {
27042 // Enable automated traffic capture based on monitoring thresholds.
27043 TrafficCaptureEnable bool `json:"traffic_capture_enable,omitempty"`
27044 27045 // Destination of traffic capture files. Save traffic capture locally or upload
27046 // to remote server using FTP or SCP.
27047 Destination string `json:"destination,omitempty"`
27048 27049 // The time interval on which traffic will be captured(in sec).
27050 Duration uint32 `json:"duration,omitempty"`
27051 27052 // Enable automatic download for support bundle.
27053 IncludeSupportBundle bool `json:"include_support_bundle,omitempty"`
27054 27055 // Save traffic capture files locally.
27056 KeepLocalCopy bool `json:"keep_local_copy,omitempty"`
27057 27058 // IP Address of the destination host.
27059 DestinationHost string `json:"destination_host,omitempty"`
27060 27061 // Directory to store the traffic capture files on the remote server.
27062 TrafficCaptureDirectory string `json:"traffic_capture_directory,omitempty"`
27063 27064 // Directory to store the support bundle on the remote server.
27065 SupportBundleDirectory string `json:"support_bundle_directory,omitempty"`
27066 27067 // User name for accessing the FTP/SCP server.
27068 Username string `json:"username,omitempty"`
27069 27070 // Password for accessing the FTP/SCP server. This field is not readable.
27071 Password string `json:"password,omitempty"`
27072 }
27073 27074 // SettingDnsresolver represents Infoblox struct setting:dnsresolver
27075 type SettingDnsresolver struct {
27076 // The resolvers of a Grid member. The Grid member sends queries to the first
27077 // name server address in the list. The second name server address is used if
27078 // first one does not response.
27079 Resolvers []string `json:"resolvers,omitempty"`
27080 27081 // The Search Domain Group, which is a group of domain names that the Infoblox
27082 // device can add to partial queries that do not specify a domain name. Note
27083 // that you can set this parameter only when prefer_resolver or
27084 // alternate_resolver is set.
27085 SearchDomains []string `json:"search_domains,omitempty"`
27086 }
27087 27088 // SettingDynamicratio represents Infoblox struct setting:dynamicratio
27089 type SettingDynamicratio struct {
27090 // The method of the DTC dynamic ratio load balancing.
27091 Method string `json:"method,omitempty"`
27092 27093 // The DTC monitor output of which will be used for dynamic ratio load
27094 // balancing.
27095 Monitor string `json:"monitor,omitempty"`
27096 27097 // The metric of the DTC SNMP monitor that will be used for dynamic weighing.
27098 MonitorMetric string `json:"monitor_metric,omitempty"`
27099 27100 // The DTC monitor weight. 'PRIORITY' means that all clients will be forwarded
27101 // to the least loaded server. 'RATIO' means that distribution will be
27102 // calculated based on dynamic weights.
27103 MonitorWeighing string `json:"monitor_weighing,omitempty"`
27104 27105 // Determines whether the inverted values of the DTC SNMP monitor metric will
27106 // be used.
27107 InvertMonitorMetric bool `json:"invert_monitor_metric,omitempty"`
27108 }
27109 27110 // SettingEmail represents Infoblox struct setting:email
27111 type SettingEmail struct {
27112 // Determines if email notification is enabled or not.
27113 Enabled bool `json:"enabled,omitempty"`
27114 27115 // The email address of a Grid Member for 'from' field in notification.
27116 FromAddress string `json:"from_address,omitempty"`
27117 27118 // The notification email address of a Grid member.
27119 Address string `json:"address,omitempty"`
27120 27121 // Determines if email relay is enabled or not.
27122 RelayEnabled bool `json:"relay_enabled,omitempty"`
27123 27124 // The relay name or IP address.
27125 Relay string `json:"relay,omitempty"`
27126 27127 // Password to validate from address
27128 Password string `json:"password,omitempty"`
27129 27130 // SMTP over TLS
27131 Smtps bool `json:"smtps,omitempty"`
27132 27133 // SMTP port number
27134 PortNumber uint32 `json:"port_number,omitempty"`
27135 27136 // Enable or disable SMTP auth
27137 UseAuthentication bool `json:"use_authentication,omitempty"`
27138 }
27139 27140 // SettingHttpproxyserver represents Infoblox struct setting:httpproxyserver
27141 type SettingHttpproxyserver struct {
27142 // The address of the HTTP proxy server.
27143 Address string `json:"address,omitempty"`
27144 27145 // The port on which the HTTP proxy server listens.
27146 Port uint32 `json:"port,omitempty"`
27147 27148 // Determines if the HTTP proxy server is enabled or not.
27149 EnableProxy bool `json:"enable_proxy,omitempty"`
27150 27151 // Determines if HTTPS content inspection by the HTTP proxy server is enabled
27152 // or not.
27153 EnableContentInspection bool `json:"enable_content_inspection,omitempty"`
27154 27155 // Determines if the CNAME record query verification is enabled or not.
27156 VerifyCname bool `json:"verify_cname,omitempty"`
27157 27158 // The descriptive comment for the HTTP proxy server configuration.
27159 Comment string `json:"comment,omitempty"`
27160 27161 // The user name for the HTTP proxy server.
27162 Username string `json:"username,omitempty"`
27163 27164 // The password for the HTTP proxy server.
27165 Password string `json:"password,omitempty"`
27166 27167 // The token returned by the uploadinit function call in object fileop for the
27168 // CA certificate file used in the content inspection by an HTTP proxy server.
27169 Certificate string `json:"certificate,omitempty"`
27170 27171 // Determines if username and password for HTTP Proxy Server connectivity is
27172 // used or not.
27173 EnableUsernameAndPassword bool `json:"enable_username_and_password,omitempty"`
27174 }
27175 27176 // SettingInactivelockout represents Infoblox struct setting:inactivelockout
27177 type SettingInactivelockout struct {
27178 // Enable/disable the account inactivity lockout.
27179 AccountInactivityLockoutEnable bool `json:"account_inactivity_lockout_enable,omitempty"`
27180 27181 // Number of days after which account gets locked out if user does not login.
27182 InactiveDays uint32 `json:"inactive_days,omitempty"`
27183 27184 // The number of days before the account lockout date when the appliance sends
27185 // a reminder.
27186 ReminderDays uint32 `json:"reminder_days,omitempty"`
27187 27188 // Enable/disable reactivating user account by logging in from serial console.
27189 ReactivateViaSerialConsoleEnable bool `json:"reactivate_via_serial_console_enable,omitempty"`
27190 27191 // Enable/disable reactivating user account by logging in from remote console.
27192 ReactivateViaRemoteConsoleEnable bool `json:"reactivate_via_remote_console_enable,omitempty"`
27193 }
27194 27195 // SettingIpamThreshold represents Infoblox struct setting:ipam:threshold
27196 type SettingIpamThreshold struct {
27197 // Indicates the percentage point which triggers the email/SNMP trap sending.
27198 TriggerValue uint32 `json:"trigger_value,omitempty"`
27199 27200 // Indicates the percentage point which resets the email/SNMP trap sending.
27201 ResetValue uint32 `json:"reset_value,omitempty"`
27202 }
27203 27204 // SettingIpamTrap represents Infoblox struct setting:ipam:trap
27205 type SettingIpamTrap struct {
27206 // Determines whether sending warnings by email is enabled or not.
27207 EnableEmailWarnings bool `json:"enable_email_warnings,omitempty"`
27208 27209 // Determines whether sending warnings by SNMP is enabled or not.
27210 EnableSnmpWarnings bool `json:"enable_snmp_warnings,omitempty"`
27211 }
27212 27213 // SettingMsserver represents Infoblox struct setting:msserver
27214 type SettingMsserver struct {
27215 // The logging of synchronization messages to the syslog or mslog.
27216 LogDestination string `json:"log_destination,omitempty"`
27217 27218 // Determines if the invalid MAC address synchronization for DHCP leases and
27219 // fixed addresses is enabled or not.
27220 EnableInvalidMac bool `json:"enable_invalid_mac,omitempty"`
27221 27222 // Determines the maximum number of connections to Microsoft servers.
27223 MaxConnection uint32 `json:"max_connection,omitempty"`
27224 27225 // Determines the timeout value (in seconds) for RPC connections to all
27226 // Microsoft servers.
27227 RpcTimeout uint32 `json:"rpc_timeout,omitempty"`
27228 27229 // Determines if the monitoring and control of DHCP service on all Microsoft
27230 // servers in the Grid is enabled or not.
27231 EnableDhcpMonitoring bool `json:"enable_dhcp_monitoring,omitempty"`
27232 27233 // Determines if the monitoring and control of DNS service on all Microsoft
27234 // servers in the Grid is enabled or not.
27235 EnableDnsMonitoring bool `json:"enable_dns_monitoring,omitempty"`
27236 27237 // Determines an LDAP connection timeout interval (in seconds) for all
27238 // Microsoft servers.
27239 LdapTimeout uint32 `json:"ldap_timeout,omitempty"`
27240 27241 // The default IP site link for sites created on NIOS for all Microsoft
27242 // servers.
27243 DefaultIpSiteLink string `json:"default_ip_site_link,omitempty"`
27244 27245 // Determines if the Network Users creation is enabled or not.
27246 EnableNetworkUsers bool `json:"enable_network_users,omitempty"`
27247 27248 // Determines if Active Directory user synchronization for all Microsoft
27249 // servers in the Grid is enabled or not.
27250 EnableAdUserSync bool `json:"enable_ad_user_sync,omitempty"`
27251 27252 // Determines the default timeout value (in seconds) for Active Directory user
27253 // synchronization for all Microsoft servers.
27254 AdUserDefaultTimeout uint32 `json:"ad_user_default_timeout,omitempty"`
27255 27256 // Determines if synchronization of DNS reporting data from all Microsoft
27257 // servers in the Grid is enabled or not.
27258 EnableDnsReportsSync bool `json:"enable_dns_reports_sync,omitempty"`
27259 }
27260 27261 // SettingNetwork represents Infoblox struct setting:network
27262 type SettingNetwork struct {
27263 // The IPv4 Address of the Grid Member.
27264 Address string `json:"address,omitempty"`
27265 27266 // The default gateway for the Grid Member.
27267 Gateway string `json:"gateway,omitempty"`
27268 27269 // The subnet mask for the Grid Member.
27270 SubnetMask string `json:"subnet_mask,omitempty"`
27271 27272 // The identifier for the VLAN. Valid values are from 1 to 4096.
27273 VlanId uint32 `json:"vlan_id,omitempty"`
27274 27275 // Determines if the current address is the primary VLAN address or not.
27276 Primary bool `json:"primary,omitempty"`
27277 27278 // The DSCP (Differentiated Services Code Point) value determines relative
27279 // priorities for the type of services on your network. The appliance
27280 // implements QoS (Quality of Service) rules based on this configuration. Valid
27281 // values are from 0 to 63.
27282 Dscp uint32 `json:"dscp,omitempty"`
27283 27284 // Use flag for: dscp
27285 UseDscp bool `json:"use_dscp,omitempty"`
27286 }
27287 27288 // SettingPassword represents Infoblox struct setting:password
27289 type SettingPassword struct {
27290 // The minimum length of the password.
27291 PasswordMinLength uint32 `json:"password_min_length,omitempty"`
27292 27293 // The minimum number of lowercase characters.
27294 NumLowerChar uint32 `json:"num_lower_char,omitempty"`
27295 27296 // The minimum number of uppercase characters.
27297 NumUpperChar uint32 `json:"num_upper_char,omitempty"`
27298 27299 // The minimum number of numeric characters.
27300 NumNumericChar uint32 `json:"num_numeric_char,omitempty"`
27301 27302 // The minimum number of symbol characters. The allowed characters are ! @ # $
27303 // % ^ & * ( ).
27304 NumSymbolChar uint32 `json:"num_symbol_char,omitempty"`
27305 27306 // The minimum number of characters that must be changed when revising an admin
27307 // password.
27308 CharsToChange uint32 `json:"chars_to_change,omitempty"`
27309 27310 // The number of days of the password expiration period (if enabled).
27311 ExpireDays uint32 `json:"expire_days,omitempty"`
27312 27313 // The number of days before the password expiration date when the appliance
27314 // sends a reminder.
27315 ReminderDays uint32 `json:"reminder_days,omitempty"`
27316 27317 // If set to True, all new users must change their passwords when they first
27318 // log in to the system, and existing users must change the passwords that were
27319 // just reset.
27320 ForceResetEnable bool `json:"force_reset_enable,omitempty"`
27321 27322 // If set to True, password expiration is enabled.
27323 ExpireEnable bool `json:"expire_enable,omitempty"`
27324 27325 // Enable/disable the password history.
27326 HistoryEnable bool `json:"history_enable,omitempty"`
27327 27328 // Number of saved passwords if password history is enabled. Can be set between
27329 // 1 to 20.
27330 NumPasswordsSaved uint32 `json:"num_passwords_saved,omitempty"`
27331 27332 // Minimum password age in days before password can be updated. Can be set
27333 // between 1 to 9998 days.
27334 MinPasswordAge uint32 `json:"min_password_age,omitempty"`
27335 }
27336 27337 // SettingScavenging represents Infoblox struct setting:scavenging
27338 type SettingScavenging struct {
27339 // This flag indicates if the resource record scavenging is enabled or not.
27340 EnableScavenging bool `json:"enable_scavenging,omitempty"`
27341 27342 // This flag indicates if the recurrent resource record scavenging is enabled
27343 // or not.
27344 EnableRecurrentScavenging bool `json:"enable_recurrent_scavenging,omitempty"`
27345 27346 // This flag indicates if the automatic resource record scavenging is enabled
27347 // or not.
27348 EnableAutoReclamation bool `json:"enable_auto_reclamation,omitempty"`
27349 27350 // This flag indicates if the resource record last queried monitoring in
27351 // affected zones is enabled or not.
27352 EnableRrLastQueried bool `json:"enable_rr_last_queried,omitempty"`
27353 27354 // This flag indicates if the last queried monitoring for affected zones is
27355 // enabled or not.
27356 EnableZoneLastQueried bool `json:"enable_zone_last_queried,omitempty"`
27357 27358 // This flag indicates if the associated resource record scavenging is enabled
27359 // or not.
27360 ReclaimAssociatedRecords bool `json:"reclaim_associated_records,omitempty"`
27361 27362 // Schedule setting for cloud discovery task.
27363 ScavengingSchedule *SettingSchedule `json:"scavenging_schedule,omitempty"`
27364 27365 // The expression list. The particular record is treated as reclaimable if
27366 // expression condition evaluates to 'true' for given record if scavenging
27367 // hasn't been manually disabled on a given resource record.
27368 ExpressionList []*Expressionop `json:"expression_list,omitempty"`
27369 27370 // The extensible attributes expression list. The particular record is treated
27371 // as reclaimable if extensible attributes expression condition evaluates to
27372 // 'true' for given record if scavenging hasn't been manually disabled on a
27373 // given resource record.
27374 EaExpressionList []*Eaexpressionop `json:"ea_expression_list,omitempty"`
27375 }
27376 27377 // SettingSchedule represents Infoblox struct setting:schedule
27378 type SettingSchedule struct {
27379 // Days of the week when scheduling is triggered.
27380 Weekdays []string `json:"weekdays,omitempty"`
27381 27382 // The time zone for the schedule.
27383 TimeZone string `json:"time_zone,omitempty"`
27384 27385 // The recurring time for the schedule in Epoch seconds format. This field is
27386 // obsolete and is preserved only for backward compatibility purposes. Please
27387 // use other applicable fields to define the recurring schedule. DO NOT use
27388 // recurring_time together with these fields. If you use recurring_time with
27389 // other fields to define the recurring schedule, recurring_time has priority
27390 // over year, hour_of_day, and minutes_past_hour and will override the values
27391 // of these fields, although it does not override month and day_of_month. In
27392 // this case, the recurring time value might be different than the intended
27393 // value that you define.
27394 RecurringTime *UnixTime `json:"recurring_time,omitempty"`
27395 27396 // The frequency for the scheduled task.
27397 Frequency string `json:"frequency,omitempty"`
27398 27399 // The number of frequency to wait before repeating the scheduled task.
27400 Every uint32 `json:"every,omitempty"`
27401 27402 // The minutes past the hour for the scheduled task.
27403 MinutesPastHour uint32 `json:"minutes_past_hour,omitempty"`
27404 27405 // The hour of day for the scheduled task.
27406 HourOfDay uint32 `json:"hour_of_day,omitempty"`
27407 27408 // The year for the scheduled task.
27409 Year uint32 `json:"year,omitempty"`
27410 27411 // The month for the scheduled task.
27412 Month uint32 `json:"month,omitempty"`
27413 27414 // The day of the month for the scheduled task.
27415 DayOfMonth uint32 `json:"day_of_month,omitempty"`
27416 27417 // Indicates if the scheduled task will be repeated or run only once.
27418 Repeat string `json:"repeat,omitempty"`
27419 27420 // If set to True, the scheduled task is disabled.
27421 Disable bool `json:"disable,omitempty"`
27422 }
27423 27424 // SettingSecurity represents Infoblox struct setting:security
27425 type SettingSecurity struct {
27426 // If set to True, rolling of audit logs is enabled.
27427 AuditLogRollingEnable bool `json:"audit_log_rolling_enable,omitempty"`
27428 27429 // A list of access control settings used for security access.
27430 AdminAccessItems []*Addressac `json:"admin_access_items,omitempty"`
27431 27432 // If set to True, HTTP connections are redirected to HTTPS.
27433 HttpRedirectEnable bool `json:"http_redirect_enable,omitempty"`
27434 27435 // If set to True, the LCD buttons on the front panel of the NIOS appliance can
27436 // be used for IP address settings of the LAN1 port.
27437 LcdInputEnable bool `json:"lcd_input_enable,omitempty"`
27438 27439 // If set to True, the login banner is enabled.
27440 LoginBannerEnable bool `json:"login_banner_enable,omitempty"`
27441 27442 // The login banner text.
27443 LoginBannerText string `json:"login_banner_text,omitempty"`
27444 27445 // If set to True, superuser admins can access the Infoblox CLI from a remote
27446 // location using an SSH (Secure Shell) v2 client.
27447 RemoteConsoleAccessEnable bool `json:"remote_console_access_enable,omitempty"`
27448 27449 // If set to True, HTTP access restrictions are enabled.
27450 SecurityAccessEnable bool `json:"security_access_enable,omitempty"`
27451 27452 // If set to True, remote console access restrictions will be enabled.
27453 SecurityAccessRemoteConsoleEnable bool `json:"security_access_remote_console_enable,omitempty"`
27454 27455 // The session timeout interval in seconds.
27456 SessionTimeout uint32 `json:"session_timeout,omitempty"`
27457 27458 // If set to False, SSH access is permanently disabled.
27459 SshPermEnable bool `json:"ssh_perm_enable,omitempty"`
27460 27461 // If set to True, support access for the Grid has been enabled.
27462 SupportAccessEnable bool `json:"support_access_enable,omitempty"`
27463 27464 // Information string to be used for support access requests.
27465 SupportAccessInfo string `json:"support_access_info,omitempty"`
27466 27467 // Whether concurrent login allowed gridlevel
27468 DisableConcurrentLogin bool `json:"disable_concurrent_login,omitempty"`
27469 27470 // The Admin Group security settings.
27471 InactivityLockoutSetting *SettingInactivelockout `json:"inactivity_lockout_setting,omitempty"`
27472 }
27473 27474 // SettingSecuritybanner represents Infoblox struct setting:securitybanner
27475 type SettingSecuritybanner struct {
27476 // The security level color.
27477 Color string `json:"color,omitempty"`
27478 27479 // The security level.
27480 Level string `json:"level,omitempty"`
27481 27482 // The classification message to be displayed.
27483 Message string `json:"message,omitempty"`
27484 27485 // If set to True, the security banner will be displayed on the header and
27486 // footer of the Grid Manager screen, including the Login screen.
27487 Enable bool `json:"enable,omitempty"`
27488 }
27489 27490 // SettingSnmp represents Infoblox struct setting:snmp
27491 type SettingSnmp struct {
27492 // The engine ID of the appliance that manages the SNMP agent.
27493 EngineId []string `json:"engine_id,omitempty"`
27494 27495 // The community string for SNMP queries.
27496 QueriesCommunityString string `json:"queries_community_string,omitempty"`
27497 27498 // If set to True, SNMP queries are enabled.
27499 QueriesEnable bool `json:"queries_enable,omitempty"`
27500 27501 // If set to True, SNMPv3 queries are enabled.
27502 Snmpv3QueriesEnable bool `json:"snmpv3_queries_enable,omitempty"`
27503 27504 // A list of SNMPv3 queries users.
27505 Snmpv3QueriesUsers []*Queriesuser `json:"snmpv3_queries_users,omitempty"`
27506 27507 // If set to True, SNMPv3 traps are enabled.
27508 Snmpv3TrapsEnable bool `json:"snmpv3_traps_enable,omitempty"`
27509 27510 // The name of the contact person for the appliance. Second value is applicable
27511 // only for HA pair. Otherwise second value is ignored.
27512 Syscontact []string `json:"syscontact,omitempty"`
27513 27514 // Useful information about the appliance. Second value is applicable only for
27515 // HA pair. Otherwise second value is ignored.
27516 Sysdescr []string `json:"sysdescr,omitempty"`
27517 27518 // The physical location of the appliance. Second value is applicable only for
27519 // HA pair. Otherwise second value is ignored.
27520 Syslocation []string `json:"syslocation,omitempty"`
27521 27522 // The FQDN (Fully Qualified Domain Name) of the appliance. Second value is
27523 // applicable only for HA pair. Otherwise second value is ignored.
27524 Sysname []string `json:"sysname,omitempty"`
27525 27526 // A list of trap receivers.
27527 TrapReceivers []*Trapreceiver `json:"trap_receivers,omitempty"`
27528 27529 // A string the NIOS appliance sends to the management system together with its
27530 // traps. Note that this community string must match exactly what you enter in
27531 // the management system.
27532 TrapsCommunityString string `json:"traps_community_string,omitempty"`
27533 27534 // If set to True, SNMP traps are enabled.
27535 TrapsEnable bool `json:"traps_enable,omitempty"`
27536 }
27537 27538 // SettingSyslogproxy represents Infoblox struct setting:syslogproxy
27539 type SettingSyslogproxy struct {
27540 // If set to True, the member receives syslog messages from specified devices,
27541 // such as syslog servers and routers, and then forwards these messages to an
27542 // external syslog server.
27543 Enable bool `json:"enable,omitempty"`
27544 27545 // If set to True, the appliance can receive messages from other devices via
27546 // TCP.
27547 TcpEnable bool `json:"tcp_enable,omitempty"`
27548 27549 // The TCP port the appliance must listen on.
27550 TcpPort uint32 `json:"tcp_port,omitempty"`
27551 27552 // If set to True, the appliance can receive messages from other devices via
27553 // UDP.
27554 UdpEnable bool `json:"udp_enable,omitempty"`
27555 27556 // The UDP port the appliance must listen on.
27557 UdpPort uint32 `json:"udp_port,omitempty"`
27558 27559 // This list controls the IP addresses and networks that are allowed to access
27560 // the syslog proxy.
27561 ClientAcls []*Addressac `json:"client_acls,omitempty"`
27562 }
27563 27564 // SettingTrafficcapturechr represents Infoblox struct setting:trafficcapturechr
27565 type SettingTrafficcapturechr struct {
27566 // Enable triggering automated traffic capture based on cache hit ratio
27567 // thresholds.
27568 ChrTriggerEnable bool `json:"chr_trigger_enable,omitempty"`
27569 27570 // DNS Cache hit ratio threshold(%) below which traffic capture will be
27571 // triggered.
27572 ChrThreshold uint32 `json:"chr_threshold,omitempty"`
27573 27574 // DNS Cache hit ratio threshold(%) above which traffic capture will be
27575 // triggered.
27576 ChrReset uint32 `json:"chr_reset,omitempty"`
27577 27578 // Minimum DNS cache utilization threshold(%) for triggering traffic capture
27579 // based on DNS cache hit ratio.
27580 ChrMinCacheUtilization uint32 `json:"chr_min_cache_utilization,omitempty"`
27581 }
27582 27583 // SettingTrafficcaptureqps represents Infoblox struct setting:trafficcaptureqps
27584 type SettingTrafficcaptureqps struct {
27585 // Enable triggering automated traffic capture based on DNS queries per second
27586 // threshold.
27587 QpsTriggerEnable bool `json:"qps_trigger_enable,omitempty"`
27588 27589 // DNS queries per second threshold below which traffic capture will be
27590 // triggered.
27591 QpsThreshold uint32 `json:"qps_threshold,omitempty"`
27592 27593 // DNS queries per second threshold below which traffic capture will be
27594 // stopped.
27595 QpsReset uint32 `json:"qps_reset,omitempty"`
27596 }
27597 27598 // SettingTriggerrecdnslatency represents Infoblox struct setting:triggerrecdnslatency
27599 type SettingTriggerrecdnslatency struct {
27600 // Enable triggering automated traffic capture based on recursive DNS latency.
27601 RecDnsLatencyTriggerEnable bool `json:"rec_dns_latency_trigger_enable,omitempty"`
27602 27603 // Recursive DNS latency below which traffic capture will be triggered.
27604 RecDnsLatencyThreshold uint32 `json:"rec_dns_latency_threshold,omitempty"`
27605 27606 // Recursive DNS latency above which traffic capture will be stopped.
27607 RecDnsLatencyReset uint32 `json:"rec_dns_latency_reset,omitempty"`
27608 27609 // The local IP DNS service is listen on ( for recursive DNS latency trigger).
27610 RecDnsLatencyListenOnSource string `json:"rec_dns_latency_listen_on_source,omitempty"`
27611 27612 // The DNS listen-on IP address used if rec_dns_latency_listen_on_source is IP.
27613 RecDnsLatencyListenOnIp string `json:"rec_dns_latency_listen_on_ip,omitempty"`
27614 27615 // List of domains monitored by 'Recursive DNS Latency Threshold' trigger.
27616 KpiMonitoredDomains []*Monitoreddomains `json:"kpi_monitored_domains,omitempty"`
27617 }
27618 27619 // SettingTriggerrecqueries represents Infoblox struct setting:triggerrecqueries
27620 type SettingTriggerrecqueries struct {
27621 // Enable triggering automated traffic capture based on outgoing recursive
27622 // queries count.
27623 RecursiveClientsCountTriggerEnable bool `json:"recursive_clients_count_trigger_enable,omitempty"`
27624 27625 // Concurrent outgoing recursive queries count below which traffic capture will
27626 // be triggered.
27627 RecursiveClientsCountThreshold uint32 `json:"recursive_clients_count_threshold,omitempty"`
27628 27629 // Concurrent outgoing recursive queries count below which traffic capture will
27630 // be stopped.
27631 RecursiveClientsCountReset uint32 `json:"recursive_clients_count_reset,omitempty"`
27632 }
27633 27634 // SettingTriggeruthdnslatency represents Infoblox struct setting:triggeruthdnslatency
27635 type SettingTriggeruthdnslatency struct {
27636 // Enabling trigger automated traffic capture based on authoritative DNS
27637 // latency.
27638 AuthDnsLatencyTriggerEnable bool `json:"auth_dns_latency_trigger_enable,omitempty"`
27639 27640 // Authoritative DNS latency below which traffic capture will be triggered.
27641 AuthDnsLatencyThreshold uint32 `json:"auth_dns_latency_threshold,omitempty"`
27642 27643 // Authoritative DNS latency above which traffic capture will stopped.
27644 AuthDnsLatencyReset uint32 `json:"auth_dns_latency_reset,omitempty"`
27645 27646 // The local IP DNS service is listen on (for authoritative DNS latency
27647 // trigger).
27648 AuthDnsLatencyListenOnSource string `json:"auth_dns_latency_listen_on_source,omitempty"`
27649 27650 // The DNS listen-on IP address used if auth_dns_latency_on_source is IP.
27651 AuthDnsLatencyListenOnIp string `json:"auth_dns_latency_listen_on_ip,omitempty"`
27652 }
27653 27654 // SettingViewaddress represents Infoblox struct setting:viewaddress
27655 type SettingViewaddress struct {
27656 // The reference to DNS View
27657 ViewName string `json:"view_name,omitempty"`
27658 27659 // Determines which IP address is used as the source for DDNS notify and
27660 // transfer operations.
27661 DnsNotifyTransferSource string `json:"dns_notify_transfer_source,omitempty"`
27662 27663 // The source address used if dns_notify_transfer_source type is "IP".
27664 DnsNotifyTransferSourceAddress string `json:"dns_notify_transfer_source_address,omitempty"`
27665 27666 // Determines which IP address is used as the source for DDNS query operations.
27667 DnsQuerySourceInterface string `json:"dns_query_source_interface,omitempty"`
27668 27669 // The source address used if dns_query_source_interface type is "IP".
27670 DnsQuerySourceAddress string `json:"dns_query_source_address,omitempty"`
27671 27672 // Determines if the notify source port for a view is enabled or not.
27673 EnableNotifySourcePort bool `json:"enable_notify_source_port,omitempty"`
27674 27675 // The source port for notify messages. When requesting zone transfers from the
27676 // primary server, some secondary DNS servers use the source port number (the
27677 // primary server used to send the notify message) as the destination port
27678 // number in the zone transfer request. This setting overrides Grid static
27679 // source port settings. Valid values are between 1 and 63999. The default is
27680 // selected by BIND.
27681 NotifySourcePort uint32 `json:"notify_source_port,omitempty"`
27682 27683 // Determines if the query source port for a view is enabled or not.
27684 EnableQuerySourcePort bool `json:"enable_query_source_port,omitempty"`
27685 27686 // The source port for queries. Specifying a source port number for recursive
27687 // queries ensures that a firewall will allow the response. Valid values are
27688 // between 1 and 63999. The default is selected by BIND.
27689 QuerySourcePort uint32 `json:"query_source_port,omitempty"`
27690 27691 // Specifies the number of seconds of delay the notify messages are sent to
27692 // secondaries.
27693 NotifyDelay uint32 `json:"notify_delay,omitempty"`
27694 27695 // Use flag for: enable_notify_source_port , notify_source_port,
27696 // enable_query_source_port, query_source_port
27697 UseSourcePorts bool `json:"use_source_ports,omitempty"`
27698 27699 // Use flag for: notify_delay
27700 UseNotifyDelay bool `json:"use_notify_delay,omitempty"`
27701 }
27702 27703 // SmartfolderGroupby represents Infoblox struct smartfolder:groupby
27704 type SmartfolderGroupby struct {
27705 // The name of the Smart Folder grouping attribute.
27706 Value string `json:"value,omitempty"`
27707 27708 // The type of the Smart Folder grouping attribute value.
27709 ValueType string `json:"value_type,omitempty"`
27710 27711 // Determines whether the grouping is enabled.
27712 EnableGrouping bool `json:"enable_grouping,omitempty"`
27713 }
27714 27715 // SmartfolderQueryitem represents Infoblox struct smartfolder:queryitem
27716 type SmartfolderQueryitem struct {
27717 // The Smart Folder query name.
27718 Name string `json:"name,omitempty"`
27719 27720 // The Smart Folder query field type.
27721 FieldType string `json:"field_type,omitempty"`
27722 27723 // The Smart Folder operator used in query.
27724 Operator string `json:"operator,omitempty"`
27725 27726 // Determines whether the query operator should match.
27727 OpMatch bool `json:"op_match,omitempty"`
27728 27729 // The Smart Folder query value type.
27730 ValueType string `json:"value_type,omitempty"`
27731 27732 // The Smart Folder query value.
27733 Value *SmartfolderQueryitemvalue `json:"value,omitempty"`
27734 }
27735 27736 // SmartfolderQueryitemvalue represents Infoblox struct smartfolder:queryitemvalue
27737 type SmartfolderQueryitemvalue struct {
27738 // The integer value of the Smart Folder query.
27739 ValueInteger int `json:"value_integer,omitempty"`
27740 27741 // The string value of the Smart Folder query.
27742 ValueString string `json:"value_string,omitempty"`
27743 27744 // The timestamp value of the Smart Folder query.
27745 ValueDate *UnixTime `json:"value_date,omitempty"`
27746 27747 // The boolean value of the Smart Folder query.
27748 ValueBoolean bool `json:"value_boolean,omitempty"`
27749 }
27750 27751 // Sortlist represents Infoblox struct sortlist
27752 type Sortlist struct {
27753 // The source address of a sortlist object.
27754 Address string `json:"address,omitempty"`
27755 27756 // The match list of a sortlist.
27757 MatchList []string `json:"match_list,omitempty"`
27758 }
27759 27760 // SshKey represents Infoblox struct ssh_key
27761 type SshKey struct {
27762 // Unique identifier for the key
27763 KeyName string `json:"key_name,omitempty"`
27764 27765 // ssh_key_types
27766 KeyType string `json:"key_type,omitempty"`
27767 27768 // ssh key text
27769 KeyValue string `json:"key_value,omitempty"`
27770 }
27771 27772 // SyslogEndpointServers represents Infoblox struct syslog:endpoint:servers
27773 type SyslogEndpointServers struct {
27774 // Syslog Server IP address
27775 Address string `json:"address,omitempty"`
27776 27777 // Connection type values
27778 ConnectionType string `json:"connection_type,omitempty"`
27779 27780 // The port this server listens on.
27781 Port uint32 `json:"port,omitempty"`
27782 27783 // List of hostnames
27784 Hostname string `json:"hostname,omitempty"`
27785 27786 // Format vlues for syslog endpoint server
27787 Format string `json:"format,omitempty"`
27788 27789 // Facility values for syslog endpoint server
27790 Facility string `json:"facility,omitempty"`
27791 27792 // Severity values for syslog endpoint server.
27793 Severity string `json:"severity,omitempty"`
27794 27795 // Reference for creating sysog endpoint server.
27796 Certificate string `json:"certificate,omitempty"`
27797 27798 // The token returned by the uploadinit function call in object fileop.
27799 CertificateToken string `json:"certificate_token,omitempty"`
27800 }
27801 27802 // Syslogserver represents Infoblox struct syslogserver
27803 type Syslogserver struct {
27804 // The server address.
27805 Address string `json:"address,omitempty"`
27806 27807 // Reference to the underlying X509Certificate object grid:x509certificate.
27808 Certificate string `json:"certificate,omitempty"`
27809 27810 // The token returned by the uploadinit function call in object fileop.
27811 CertificateToken string `json:"certificate_token,omitempty"`
27812 27813 // The connection type for communicating with this server.
27814 ConnectionType string `json:"connection_type,omitempty"`
27815 27816 // The port this server listens on.
27817 Port uint32 `json:"port,omitempty"`
27818 27819 // The local interface through which the appliance sends syslog messages to the
27820 // syslog server.
27821 LocalInterface string `json:"local_interface,omitempty"`
27822 27823 // The source of syslog messages to be sent to the external syslog server. If
27824 // set to 'INTERNAL', only messages the appliance generates will be sent to the
27825 // syslog server. If set to 'EXTERNAL', the appliance sends syslog messages
27826 // that it receives from other devices, such as syslog servers and routers. If
27827 // set to 'ANY', the appliance sends both internal and external syslog
27828 // messages.
27829 MessageSource string `json:"message_source,omitempty"`
27830 27831 // Identify the node in the syslog message.
27832 MessageNodeId string `json:"message_node_id,omitempty"`
27833 27834 // The severity filter. The appliance sends log messages of the specified
27835 // severity and above to the external syslog server.
27836 Severity string `json:"severity,omitempty"`
27837 27838 // The list of all syslog logging categories.
27839 CategoryList []string `json:"category_list,omitempty"`
27840 27841 // The list of selected syslog logging categories. The appliance forwards
27842 // syslog messages that belong to the selected categories.
27843 OnlyCategoryList bool `json:"only_category_list,omitempty"`
27844 }
27845 27846 // TacacsplusServer represents Infoblox struct tacacsplus:server
27847 type TacacsplusServer struct {
27848 // The valid IP address or FQDN of the TACACS+ server.
27849 Address string `json:"address,omitempty"`
27850 27851 // The TACACS+ server port.
27852 Port uint32 `json:"port,omitempty"`
27853 27854 // The secret key with which to connect to the TACACS+ server.
27855 SharedSecret string `json:"shared_secret,omitempty"`
27856 27857 // The authentication protocol.
27858 AuthType string `json:"auth_type,omitempty"`
27859 27860 // The TACACS+ descriptive comment.
27861 Comment string `json:"comment,omitempty"`
27862 27863 // Determines whether the TACACS+ server is disabled.
27864 Disable bool `json:"disable,omitempty"`
27865 27866 // Determines whether the TACACS+ server is connected via the management
27867 // interface.
27868 UseMgmtPort bool `json:"use_mgmt_port,omitempty"`
27869 27870 // Determines whether the TACACS+ accounting server is used.
27871 UseAccounting bool `json:"use_accounting,omitempty"`
27872 }
27873 27874 // TaxiiRpzconfig represents Infoblox struct taxii:rpzconfig
27875 type TaxiiRpzconfig struct {
27876 // The STIX collection name.
27877 CollectionName string `json:"collection_name,omitempty"`
27878 27879 // The reference to the RPZ in which rules are created through the Taxii
27880 // protocol requests.
27881 Zone string `json:"zone,omitempty"`
27882 }
27883 27884 // ThreatprotectionNatport represents Infoblox struct threatprotection:natport
27885 type ThreatprotectionNatport struct {
27886 // The start port value for the NAT port configuration object.
27887 StartPort uint32 `json:"start_port,omitempty"`
27888 27889 // The end port value for the NAT port configuration object.
27890 EndPort uint32 `json:"end_port,omitempty"`
27891 27892 // The block size for the NAT Port configuration object.
27893 BlockSize uint32 `json:"block_size,omitempty"`
27894 }
27895 27896 // ThreatprotectionNatrule represents Infoblox struct threatprotection:natrule
27897 type ThreatprotectionNatrule struct {
27898 // The rule type for the threat protection NAT mapping rule.
27899 RuleType string `json:"rule_type,omitempty"`
27900 27901 // The IP address for the threat protection NAT mapping rule.
27902 Address string `json:"address,omitempty"`
27903 27904 // The network address for the threat protection NAT mapping rule.
27905 Network string `json:"network,omitempty"`
27906 27907 // The network CIDR for the threat protection NAT mapping rule.
27908 Cidr uint32 `json:"cidr,omitempty"`
27909 27910 // The start address for the range of the threat protection NAT mapping rule.
27911 StartAddress string `json:"start_address,omitempty"`
27912 27913 // The end address for the range of the threat protection NAT mapping rule.
27914 EndAddress string `json:"end_address,omitempty"`
27915 27916 // The NAT port configuration for the threat protection NAT mapping rule.
27917 NatPorts []*ThreatprotectionNatport `json:"nat_ports,omitempty"`
27918 }
27919 27920 // ThreatprotectionRuleconfig represents Infoblox struct threatprotection:ruleconfig
27921 type ThreatprotectionRuleconfig struct {
27922 // The rule action.
27923 Action string `json:"action,omitempty"`
27924 27925 // The rule log severity.
27926 LogSeverity string `json:"log_severity,omitempty"`
27927 27928 // The threat protection rule parameters.
27929 Params []*ThreatprotectionRuleparam `json:"params,omitempty"`
27930 }
27931 27932 // ThreatprotectionRuleparam represents Infoblox struct threatprotection:ruleparam
27933 type ThreatprotectionRuleparam struct {
27934 // The rule parameter name.
27935 Name string `json:"name,omitempty"`
27936 27937 // The rule parameter description.
27938 Description string `json:"description,omitempty"`
27939 27940 // The rule parameter syntax.
27941 Syntax string `json:"syntax,omitempty"`
27942 27943 // The rule parameter value.
27944 Value string `json:"value,omitempty"`
27945 27946 // The rule parameter minimum.
27947 Min uint32 `json:"min,omitempty"`
27948 27949 // The rule parameter maximum.
27950 Max uint32 `json:"max,omitempty"`
27951 27952 // Determines if parameter value is editable at member level.
27953 ReadOnly bool `json:"read_only,omitempty"`
27954 27955 // The rule parameter enum values.
27956 EnumValues []string `json:"enum_values,omitempty"`
27957 }
27958 27959 // ThreatprotectionStatinfo represents Infoblox struct threatprotection:statinfo
27960 type ThreatprotectionStatinfo struct {
27961 // The timestamp when data was collected.
27962 Timestamp *UnixTime `json:"timestamp,omitempty"`
27963 27964 // The number of critical events.
27965 Critical uint64 `json:"critical,omitempty"`
27966 27967 // The number of major events.
27968 Major uint64 `json:"major,omitempty"`
27969 27970 // The number of warning events.
27971 Warning uint64 `json:"warning,omitempty"`
27972 27973 // The number of informational events.
27974 Informational uint64 `json:"informational,omitempty"`
27975 27976 // The total number of events.
27977 Total uint64 `json:"total,omitempty"`
27978 }
27979 27980 // Thresholdtrap represents Infoblox struct thresholdtrap
27981 type Thresholdtrap struct {
27982 // Determines the type of a given trap.
27983 TrapType string `json:"trap_type,omitempty"`
27984 27985 // Determines the threshold value to reset the trap.
27986 TrapReset uint32 `json:"trap_reset,omitempty"`
27987 27988 // Determines the threshold value to trigger the trap.
27989 TrapTrigger uint32 `json:"trap_trigger,omitempty"`
27990 }
27991 27992 // Trapnotification represents Infoblox struct trapnotification
27993 type Trapnotification struct {
27994 // Determines the type of a given trap.
27995 TrapType string `json:"trap_type,omitempty"`
27996 27997 // Determines if the email notifications for the given trap are enabled or not.
27998 EnableEmail bool `json:"enable_email,omitempty"`
27999 28000 // Determines if the trap is enabled or not.
28001 EnableTrap bool `json:"enable_trap,omitempty"`
28002 }
28003 28004 // Trapreceiver represents Infoblox struct trapreceiver
28005 type Trapreceiver struct {
28006 // The address of the trap receiver.
28007 Address string `json:"address,omitempty"`
28008 28009 // The SNMPv3 user for this trap receiver.
28010 User string `json:"user,omitempty"`
28011 28012 // A descriptive comment for this trap receiver.
28013 Comment string `json:"comment,omitempty"`
28014 }
28015 28016 // Tsigac represents Infoblox struct tsigac
28017 type Tsigac struct {
28018 // The address this rule applies to or "Any".
28019 Address string `json:"address,omitempty"`
28020 28021 // The permission to use for this address.
28022 Permission string `json:"permission,omitempty"`
28023 28024 // A generated TSIG key. If the external primary server is a NIOS appliance
28025 // running DNS One 2.x code, this can be set to :2xCOMPAT.
28026 TsigKey string `json:"tsig_key,omitempty"`
28027 28028 // The TSIG key algorithm.
28029 TsigKeyAlg string `json:"tsig_key_alg,omitempty"`
28030 28031 // The name of the TSIG key. If 2.x TSIG compatibility is used, this is set to
28032 // 'tsig_xfer' on retrieval, and ignored on insert or update.
28033 TsigKeyName string `json:"tsig_key_name,omitempty"`
28034 28035 // Use flag for: tsig_key_name
28036 UseTsigKeyName bool `json:"use_tsig_key_name,omitempty"`
28037 }
28038 28039 // Updatesdownloadmemberconfig represents Infoblox struct updatesdownloadmemberconfig
28040 type Updatesdownloadmemberconfig struct {
28041 // The name of the updates download member.
28042 Member string `json:"member,omitempty"`
28043 28044 // The source interface for updates download requests.
28045 Interface string `json:"interface,omitempty"`
28046 28047 // Determines if the updates download member is online or not.
28048 IsOnline bool `json:"is_online,omitempty"`
28049 }
28050 28051 // UpgradegroupMember represents Infoblox struct upgradegroup:member
28052 type UpgradegroupMember struct {
28053 // The upgrade group member name.
28054 Member string `json:"member,omitempty"`
28055 28056 // The upgrade group member time zone.
28057 TimeZone string `json:"time_zone,omitempty"`
28058 }
28059 28060 // UpgradegroupSchedule represents Infoblox struct upgradegroup:schedule
28061 type UpgradegroupSchedule struct {
28062 // The upgrade group name.
28063 Name string `json:"name,omitempty"`
28064 28065 // The time zone for scheduling operations.
28066 TimeZone string `json:"time_zone,omitempty"`
28067 28068 // The distribution dependent group name.
28069 DistributionDependentGroup string `json:"distribution_dependent_group,omitempty"`
28070 28071 // The upgrade dependent group name.
28072 UpgradeDependentGroup string `json:"upgrade_dependent_group,omitempty"`
28073 28074 // The time of the next scheduled distribution.
28075 DistributionTime *UnixTime `json:"distribution_time,omitempty"`
28076 28077 // The time of the next scheduled upgrade.
28078 UpgradeTime *UnixTime `json:"upgrade_time,omitempty"`
28079 }
28080 28081 // Upgradestep represents Infoblox struct upgradestep
28082 type Upgradestep struct {
28083 // The status value of a step.
28084 StatusValue string `json:"status_value,omitempty"`
28085 28086 // The status text that describes a step.
28087 StatusText string `json:"status_text,omitempty"`
28088 }
28089 28090 // Vlanlink represents Infoblox struct vlanlink
28091 type Vlanlink struct {
28092 // VLAN ID value.
28093 Id uint32 `json:"id,omitempty"`
28094 28095 // Name of the VLAN.
28096 Name string `json:"name,omitempty"`
28097 }
28098 28099 // Vtftpdirmember represents Infoblox struct vtftpdirmember
28100 type Vtftpdirmember struct {
28101 // The Grid member on which to create the virtual TFTP directory.
28102 Member string `json:"member,omitempty"`
28103 28104 // The IP type of the virtual TFTP root directory.
28105 IpType string `json:"ip_type,omitempty"`
28106 28107 // The IP address of the clients which will see the virtual TFTP directory as
28108 // the root directory.
28109 Address string `json:"address,omitempty"`
28110 28111 // The start IP address of the range within which the clients will see the
28112 // virtual TFTP directory as the root directory.
28113 StartAddress string `json:"start_address,omitempty"`
28114 28115 // The end IP address of the range within which the clients will see the
28116 // virtual TFTP directory as the root directory.
28117 EndAddress string `json:"end_address,omitempty"`
28118 28119 // The IP address of network the clients from which will see the virtual TFTP
28120 // directory as the root directory.
28121 Network string `json:"network,omitempty"`
28122 28123 // The CIDR of network the clients from which will see the virtual TFTP
28124 // directory as the root directory.
28125 Cidr uint32 `json:"cidr,omitempty"`
28126 }
28127 28128 // Zoneassociation represents Infoblox struct zoneassociation
28129 type Zoneassociation struct {
28130 // The FQDN of the authoritative forward zone.
28131 Fqdn string `json:"fqdn,omitempty"`
28132 28133 // True if this is the default zone.
28134 IsDefault bool `json:"is_default,omitempty"`
28135 28136 // The view to which the zone belongs. If a view is not specified, the default
28137 // view is used.
28138 View string `json:"view,omitempty"`
28139 }
28140 28141 // ZoneNameServer represents Infoblox struct zonenameserver
28142 type ZoneNameServer struct {
28143 // The address of the Zone Name Server.
28144 Address string `json:"address,omitempty"`
28145 28146 // Flag to indicate if ptr records need to be auto created.
28147 AutoCreatePtr bool `json:"auto_create_ptr,omitempty"`
28148 }
28149