ibclient

package module
v2.8.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 29, 2024 License: Apache-2.0 Imports: 21 Imported by: 14

README

Infoblox Go Client

An Infoblox NIOS WAPI client library in Golang. The library enables us to do a CRUD oprations on NIOS Objects.

This library is compatible with Go 1.2+

Build Status

Build Status

Prerequisites

  • Infoblox GRID with 2.9 or above WAPI support
  • Go 1.21 or above

Installation

To get the latest released version v2.8.0 of Go Client use below command.

go get github.com/infobloxopen/infoblox-go-client/v2

To get the previous major version v1.1.1 use below command.

go get github.com/infobloxopen/infoblox-go-client

Note: Go client version v2.0.0 and above have breaking changes and are not backward compatible.

Usage

The following is a very simple example for the client usage:

   package main

   import (
     "fmt"
     ibclient "github.com/infobloxopen/infoblox-go-client/v2"
   )

   func main() {
     hostConfig := ibclient.HostConfig{
        Scheme:  "https",
     	Host:    "<NIOS grid IP>",
        Version: "<WAPI version>",
        Port:    "PORT",
     }
     authConfig := ibclient.AuthConfig{
        Username: "username",
        Password: "password",
     }
     transportConfig := ibclient.NewTransportConfig("false", 20, 10)
     requestBuilder := &ibclient.WapiRequestBuilder{}
     requestor := &ibclient.WapiHttpRequestor{}
     conn, err := ibclient.NewConnector(hostConfig, authConfig, transportConfig, requestBuilder, requestor)
     if err != nil {
     	fmt.Println(err)
     }
     defer conn.Logout()
     objMgr := ibclient.NewObjectManager(conn, "myclient", "")
     //Fetches grid information
     fmt.Println(objMgr.GetGridLicense())
   } 

Supported NIOS operations

  • AllocateIP
  • AllocateNextAvailableIp
  • AllocateNetwork
  • AllocateNetworkByEA
  • AllocateNetworkContainerByEA
  • AllocateNetworkContainer
  • CreateARecord
  • CreateAAAARecord
  • CreateZoneAuth
  • CreateCNAMERecord
  • CreateDefaultNetviews
  • CreateZoneForward
  • CreateEADefinition
  • CreateHostRecord
  • CreateNetwork
  • CreateNetworkContainer
  • CreateNetworkView
  • CreatePTRRecord
  • CreateTXTRecord
  • CreateZoneDelegated
  • DeleteARecord
  • DeleteAAAARecord
  • DeleteZoneAuth
  • DeleteZoneForward
  • DeleteCNAMERecord
  • DeleteFixedAddress
  • DeleteHostRecord
  • DeleteNetwork
  • DeleteNetworkView
  • DeletePTRRecord
  • DeleteTXTRecord
  • DeleteZoneDelegated
  • GetAllMembers
  • GetARecordByRef
  • GetARecord
  • GetAAAARecordByRef
  • GetAAAARecord
  • GetCapacityReport
  • GetCNAMERecordByRef
  • GetCNAMERecord
  • GetDhcpMember
  • GetDnsMember
  • GetEADefinition
  • GetFixedAddress
  • GetFixedAddressByRef
  • GetHostRecord
  • GetHostRecordByRef
  • SearchHostRecordByAltId
  • SearchObjectByAltId
  • GetIpAddressFromHostRecord
  • GetNetwork
  • GetNetworkByRef
  • GetNetworkContainer
  • GetNetworkContainerByRef
  • GetNetworkView
  • GetNetworkViewByRef
  • GetPTRRecordByRef
  • GetPTRRecord
  • GetTXTRecord
  • GetTXTRecordByRef
  • GetZoneAuthByRef
  • GetZoneDelegated
  • GetUpgradeStatus (2.7 or above)
  • GetAllMembers
  • GetZoneForwardByRef
  • GetZoneForwardFilters
  • GetGridInfo
  • GetGridLicense
  • ReleaseIP
  • UpdateAAAARecord
  • UpdateCNAMERecord
  • UpdateDhcpStatus
  • UpdateDnsStatus
  • UpdateFixedAddress
  • UpdateHostRecord
  • UpdateNetwork
  • UpdateNetworkContainer
  • UpdateNetworkView
  • UpdatePTRRecord
  • UpdateTXTRecord
  • UpdateARecord
  • UpdateZoneDelegated
  • UpdateZoneForward

Documentation

Index

Constants

View Source
const (
	ARecord               = "A"
	AaaaRecord            = "AAAA"
	CnameRecord           = "CNAME"
	MxRecord              = "MX"
	SrvRecord             = "SRV"
	TxtRecord             = "TXT"
	PtrRecord             = "PTR"
	HostRecordConst       = "Host"
	DnsViewConst          = "DNSView"
	ZoneAuthConst         = "ZoneAuth"
	NetworkViewConst      = "NetworkView"
	NetworkConst          = "Network"
	NetworkContainerConst = "NetworkContainer"
	ZoneForwardConst      = "ZoneForward"
	ZoneDelegatedConst    = "ZoneDelegated"
)
View Source
const MACADDR_ZERO = "00:00:00:00:00:00"
View Source
const WAPI_VERSION = "2.12.1"

WAPI_VERSION is a version of WAPI, which was used to generate infoblox-go-client.

Variables

View Source
var ValidateConnector = validateConnector

Functions

func CheckIntRange added in v2.3.0

func CheckIntRange(name string, value int, min int, max int) error

func GetIPAddressFromRef

func GetIPAddressFromRef(ref string) string

func ValidateDomainName added in v2.3.0

func ValidateDomainName(name string) error

ValidateDomainName return an error if the domain name does not conform to standards. The domain name may be in Unicode format (internationalized domain name)

func ValidateMultiValue added in v2.4.0

func ValidateMultiValue(v string) ([]string, bool)

func ValidateSrvRecName added in v2.3.0

func ValidateSrvRecName(name string) error

ValidateSrvRecName return an error if the record's name does not conform to standards.

Types

type AdAuthServer added in v2.4.0

type AdAuthServer struct {
	// The FQDN (Fully Qualified Domain Name) or IP address of the server.
	FqdnOrIp string `json:"fqdn_or_ip,omitempty"`

	// The authentication port.
	AuthPort uint32 `json:"auth_port,omitempty"`

	// The descriptive comment for the AD authentication server.
	Comment string `json:"comment,omitempty"`

	// Determines if the AD authorization server is disabled.
	Disabled bool `json:"disabled,omitempty"`

	// The type of encryption to use.
	Encryption string `json:"encryption,omitempty"`

	// Determine if the MGMT port is enabled for the AD authentication server.
	MgmtPort bool `json:"mgmt_port,omitempty"`

	// Use flag for: mgmt_port
	UseMgmtPort bool `json:"use_mgmt_port,omitempty"`
}

AdAuthServer represents Infoblox struct ad_auth_server

type AdAuthService added in v2.4.0

type AdAuthService struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The Active Directory domain to which this server belongs.
	AdDomain *string `json:"ad_domain,omitempty"`

	// The unordered list of additional search paths for nested group querying.
	AdditionalSearchPaths []string `json:"additional_search_paths,omitempty"`

	// The descriptive comment for the AD authentication service.
	Comment *string `json:"comment,omitempty"`

	// Determines whether the default search path for nested group querying is
	// used.
	DisableDefaultSearchPath *bool `json:"disable_default_search_path,omitempty"`

	// Determines if Active Directory Authentication Service is disabled.
	Disabled *bool `json:"disabled,omitempty"`

	// The AD authentication server list.
	DomainControllers []*AdAuthServer `json:"domain_controllers,omitempty"`

	// The AD authentication service name.
	Name *string `json:"name,omitempty"`

	// Determines whether the nested group querying is enabled.
	NestedGroupQuerying *bool `json:"nested_group_querying,omitempty"`

	// The number of seconds that the appliance waits for a response from the AD
	// server.
	Timeout *uint32 `json:"timeout,omitempty"`
}

AdAuthService represents Infoblox object ad_auth_service. This object allows you to specify an Active Directory (AD) authentication method and the AD authentication servers that Infoblox uses to authenticate administrators.

func (AdAuthService) ObjectType added in v2.4.0

func (AdAuthService) ObjectType() string

func (AdAuthService) ReturnFields added in v2.4.0

func (obj AdAuthService) ReturnFields() []string

type Addressac added in v2.4.0

type Addressac struct {
	// The address this rule applies to or "Any".
	Address string `json:"address,omitempty"`

	// The permission to use for this address.
	Permission string `json:"permission,omitempty"`

	// A generated TSIG key. If the external primary server is a NIOS appliance
	// running DNS One 2.x code, this can be set to :2xCOMPAT.
	TsigKey string `json:"tsig_key,omitempty"`

	// The TSIG key algorithm.
	TsigKeyAlg string `json:"tsig_key_alg,omitempty"`

	// The name of the TSIG key. If 2.x TSIG compatibility is used, this is set to
	// 'tsig_xfer' on retrieval, and ignored on insert or update.
	TsigKeyName string `json:"tsig_key_name,omitempty"`

	// Use flag for: tsig_key_name
	UseTsigKeyName bool `json:"use_tsig_key_name,omitempty"`
}

Addressac represents Infoblox struct addressac

type Admingroup added in v2.4.0

type Admingroup struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Access methods specify whether an admin group can use the GUI and the API to
	// access the appliance or to send Taxii messages to the appliance. Note that
	// API includes both the Perl API and RESTful API.
	AccessMethod []string `json:"access_method,omitempty"`

	// Admin set commands for the admin command group.
	AdminSetCommands *AdmingroupAdminsetcommands `json:"admin_set_commands,omitempty"`

	// Admin show commands for the admin command group.
	AdminShowCommands *AdmingroupAdminshowcommands `json:"admin_show_commands,omitempty"`

	// Admin_toplevel commands for the admin command group
	AdminToplevelCommands *AdmingroupAdmintoplevelcommands `json:"admin_toplevel_commands,omitempty"`

	// Cloud set commands for the cloud command group.
	CloudSetCommands *AdmingroupCloudsetcommands `json:"cloud_set_commands,omitempty"`

	// Cloud show commands for admin group
	CloudShowCommands *AdmingroupCloudshowcommands `json:"cloud_show_commands,omitempty"`

	// Comment for the Admin Group; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// Database show commands for admin group.
	DatabaseSetCommands *AdmingroupDatabasesetcommands `json:"database_set_commands,omitempty"`

	// Database show commands for the database command
	DatabaseShowCommands *AdmingroupDatabaseshowcommands `json:"database_show_commands,omitempty"`

	// Dhcp set commands for the dhcp command group.
	DhcpSetCommands *AdmingroupDhcpsetcommands `json:"dhcp_set_commands,omitempty"`

	// Dhcp show commands for the dhcp command group.
	DhcpShowCommands *AdmingroupDhcpshowcommands `json:"dhcp_show_commands,omitempty"`

	// Determines whether the Admin Group is disabled or not. When this is set to
	// False, the Admin Group is enabled.
	Disable *bool `json:"disable,omitempty"`

	// Disable concurrent login feature
	DisableConcurrentLogin *bool `json:"disable_concurrent_login,omitempty"`

	// Dns set commands for the dns command group.
	DnsSetCommands *AdmingroupDnssetcommands `json:"dns_set_commands,omitempty"`

	// Dns show commands for the dns command group.
	DnsShowCommands *AdmingroupDnsshowcommands `json:"dns_show_commands,omitempty"`

	// Dns toplevel commands for the dns command group.
	DnsToplevelCommands *AdmingroupDnstoplevelcommands `json:"dns_toplevel_commands,omitempty"`

	// Docker set commands for the dcoker command group.
	DockerSetCommands *AdmingroupDockersetcommands `json:"docker_set_commands,omitempty"`

	// Docker show commands for the dcoker command group.
	DockerShowCommands *AdmingroupDockershowcommands `json:"docker_show_commands,omitempty"`

	// The e-mail addresses for the Admin Group.
	EmailAddresses []string `json:"email_addresses,omitempty"`

	// Determines whether the restrictions will be applied to the admin connector
	// level for users of this Admin Group.
	EnableRestrictedUserAccess *bool `json:"enable_restricted_user_access,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// Grid set commands for the grid command group.
	GridSetCommands *AdmingroupGridsetcommands `json:"grid_set_commands,omitempty"`

	// Show commands for the grid command group.
	GridShowCommands *AdmingroupGridshowcommands `json:"grid_show_commands,omitempty"`

	// The Admin group inactivity lockout settings.
	InactivityLockoutSetting *SettingInactivelockout `json:"inactivity_lockout_setting,omitempty"`

	// Set commands for the licensing command group.
	LicensingSetCommands *AdmingroupLicensingsetcommands `json:"licensing_set_commands,omitempty"`

	// Show commands for the licensing command group.
	LicensingShowCommands *AdmingroupLicensingshowcommands `json:"licensing_show_commands,omitempty"`

	// This struct specifies security policy settings in admin group.
	LockoutSetting *AdmingroupLockoutsetting `json:"lockout_setting,omitempty"`

	// Machine control toplevel commands for the machine control command group.
	MachineControlToplevelCommands *AdmingroupMachinecontroltoplevelcommands `json:"machine_control_toplevel_commands,omitempty"`

	// The name of the Admin Group.
	Name *string `json:"name,omitempty"`

	// Set commands for the networking command group.
	NetworkingSetCommands *AdmingroupNetworkingsetcommands `json:"networking_set_commands,omitempty"`

	// Show commands for the networking command group.
	NetworkingShowCommands *AdmingroupNetworkingshowcommands `json:"networking_show_commands,omitempty"`

	// The Admin Group password settings.
	PasswordSetting *AdmingroupPasswordsetting `json:"password_setting,omitempty"`

	// The names of roles this Admin Group applies to.
	Roles []string `json:"roles,omitempty"`

	// The Admin Group SAML settings.
	SamlSetting *AdmingroupSamlsetting `json:"saml_setting,omitempty"`

	// Set commands for the security command group.
	SecuritySetCommands *AdmingroupSecuritysetcommands `json:"security_set_commands,omitempty"`

	// Show commands for the security command group.
	SecurityShowCommands *AdmingroupSecurityshowcommands `json:"security_show_commands,omitempty"`

	// Determines whether this Admin Group is a superuser group. A superuser group
	// can perform all operations on the appliance, and can view and configure all
	// types of data.
	Superuser *bool `json:"superuser,omitempty"`

	// Toplevel commands for the troubleshooting command group.
	TroubleShootingToplevelCommands *AdmingroupTroubleshootingtoplevelcommands `json:"trouble_shooting_toplevel_commands,omitempty"`

	// This is the use flag for account inactivity lockout settings.
	UseAccountInactivityLockoutEnable *bool `json:"use_account_inactivity_lockout_enable,omitempty"`

	// Whether to override grid concurrent login
	UseDisableConcurrentLogin *bool `json:"use_disable_concurrent_login,omitempty"`

	// Whether to override grid sequential lockout setting
	UseLockoutSetting *bool `json:"use_lockout_setting,omitempty"`

	// Whether grid password expiry setting should be override.
	UsePasswordSetting *bool `json:"use_password_setting,omitempty"`

	// The access control items for this Admin Group.
	UserAccess []*Addressac `json:"user_access,omitempty"`
}

Admingroup represents Infoblox object admingroup. An Admin Group object creates and manages a local admin group on the Infoblox appliance. The privileges and properties that are set for the group apply to all the admin accounts that are assigned to the group.

func (Admingroup) ObjectType added in v2.4.0

func (Admingroup) ObjectType() string

func (Admingroup) ReturnFields added in v2.4.0

func (obj Admingroup) ReturnFields() []string

type AdmingroupAdminsetcommands added in v2.4.0

type AdmingroupAdminsetcommands struct {
	// If True then CLI user has permission to run the command
	SetAdminGroupAcl bool `json:"set_admin_group_acl,omitempty"`

	// If True then CLI user has permission to run the command
	EtBfd bool `json:"et_bfd,omitempty"`

	// If True then CLI user has permission to run the command
	SetBfd bool `json:"set_bfd,omitempty"`

	// If True then CLI user has permission to run the command
	SetBgp bool `json:"set_bgp,omitempty"`

	// If True then CLI user has permission to run the command
	SetBloxtools bool `json:"set_bloxtools,omitempty"`

	// If True then CLI user has permission to run the command
	SetCleanMscache bool `json:"set_clean_mscache,omitempty"`

	// If True then CLI user has permission to run the command
	SetDebug bool `json:"set_debug,omitempty"`

	// If True then CLI user has permission to run the command
	SetDebugAnalytics bool `json:"set_debug_analytics,omitempty"`

	// If True then CLI user has permission to run the command
	SetDeleteTasksInterval bool `json:"set_delete_tasks_interval,omitempty"`

	// If True then CLI user has permission to run the command
	SetDisableGuiOneClickSupport bool `json:"set_disable_gui_one_click_support,omitempty"`

	// If True then CLI user has permission to run the command
	SetHardwareType bool `json:"set_hardware_type,omitempty"`

	// If True then CLI user has permission to run the command
	SetIbtrap bool `json:"set_ibtrap,omitempty"`

	// If True then CLI user has permission to run the command
	SetLcd bool `json:"set_lcd,omitempty"`

	// If True then CLI user has permission to run the command
	SetLcdSettings bool `json:"set_lcd_settings,omitempty"`

	// If True then CLI user has permission to run the command
	SetLines bool `json:"set_lines,omitempty"`

	// If True then CLI user has permission to run the command
	SetMsMaxConnection bool `json:"set_ms_max_connection,omitempty"`

	// If True then CLI user has permission to run the command
	SetNosafemode bool `json:"set_nosafemode,omitempty"`

	// If True then CLI user has permission to run the command
	SetOcsp bool `json:"set_ocsp,omitempty"`

	// If True then CLI user has permission to run the command
	SetPurgeRestartObjects bool `json:"set_purge_restart_objects,omitempty"`

	// If True then CLI user has permission to run the command
	SetReportingUserCapabilities bool `json:"set_reporting_user_capabilities,omitempty"`

	// If True then CLI user has permission to run the command
	SetRpzRecursiveOnly bool `json:"set_rpz_recursive_only,omitempty"`

	// If True then CLI user has permission to run the command
	SetSafemode bool `json:"set_safemode,omitempty"`

	// If True then CLI user has permission to run the command
	SetScheduled bool `json:"set_scheduled,omitempty"`

	// If True then CLI user has permission to run the command
	SetSnmptrap bool `json:"set_snmptrap,omitempty"`

	// If True then CLI user has permission to run the command
	SetSysname bool `json:"set_sysname,omitempty"`

	// If True then CLI user has permission to run the command
	SetTerm bool `json:"set_term,omitempty"`

	// If True then CLI user has permission to run the command
	SetThresholdtrap bool `json:"set_thresholdtrap,omitempty"`

	// If True then CLI user has permission to run the command
	SetExpertmode bool `json:"set_expertmode,omitempty"`

	// If True then CLI user has permission to run the command
	SetMaintenancemode bool `json:"set_maintenancemode,omitempty"`

	// If True then CLI user has permission to run the command
	SetTransferReportingData bool `json:"set_transfer_reporting_data,omitempty"`

	// If True then CLI user has permission to run the command
	SetTransferSupportbundle bool `json:"set_transfer_supportbundle,omitempty"`

	// If True then CLI user has permission to run the command
	SetAnalyticsDatabaseDump bool `json:"set_analytics_database_dump,omitempty"`

	// If True then CLI user has permission to run the command
	SetAnalyticsParameter bool `json:"set_analytics_parameter,omitempty"`

	// If True then CLI user has permission to run the command
	SetCollectOldLogs bool `json:"set_collect_old_logs,omitempty"`

	// If True then CLI user has permission to run the command
	SetCoreFilesQuota bool `json:"set_core_files_quota,omitempty"`

	// If True then CLI user has permission to run the command
	SetHsmGroup bool `json:"set_hsm_group,omitempty"`

	// If True then CLI user has permission to run the command
	SetWred bool `json:"set_wred,omitempty"`

	// If True then CLI user has permission to run the command
	SetEnableDohKeyLogging bool `json:"set_enable_doh_key_logging,omitempty"`

	// If True then CLI user has permission to run the command
	SetEnableDotKeyLogging bool `json:"set_enable_dot_key_logging,omitempty"`

	// If True then CLI user has permission to run the command
	SetHotfix bool `json:"set_hotfix,omitempty"`

	// If True then CLI user has permission to run the command
	SetMgm bool `json:"set_mgm,omitempty"`

	// If True then CLI user has permission to run the command
	SetNtpStratum bool `json:"set_ntp_stratum,omitempty"`

	// If True then CLI user has permission to run the command
	SetPcDomain bool `json:"set_pc_domain,omitempty"`

	// If True then CLI user has permission to run the command
	SetReportFrequency bool `json:"set_report_frequency,omitempty"`

	// If True then enable all fields
	EnableAll bool `json:"enable_all,omitempty"`

	// If True then disable all fields
	DisableAll bool `json:"disable_all,omitempty"`
}

AdmingroupAdminsetcommands represents Infoblox struct admingroup:adminsetcommands

type AdmingroupAdminshowcommands added in v2.4.0

type AdmingroupAdminshowcommands struct {
	// If True then CLI user has permission to run the command
	ShowAdminGroupAcl bool `json:"show_admin_group_acl,omitempty"`

	// If True then CLI user has permission to run the command
	ShowAnalyticsParameter bool `json:"show_analytics_parameter,omitempty"`

	// If True then CLI user has permission to run the command
	ShowArp bool `json:"show_arp,omitempty"`

	// If True then CLI user has permission to run the command
	ShowBfd bool `json:"show_bfd,omitempty"`

	// If True then CLI user has permission to run the command
	ShowBgp bool `json:"show_bgp,omitempty"`

	// If True then CLI user has permission to run the command
	ShowBloxtools bool `json:"show_bloxtools,omitempty"`

	// If True then CLI user has permission to run the command
	ShowCapacity bool `json:"show_capacity,omitempty"`

	// If True then CLI user has permission to run the command
	ShowClusterdInfo bool `json:"show_clusterd_info,omitempty"`

	// If True then CLI user has permission to run the command
	ShowConfig bool `json:"show_config,omitempty"`

	// If True then CLI user has permission to run the command
	ShowCpu bool `json:"show_cpu,omitempty"`

	// If True then CLI user has permission to run the command
	ShowDate bool `json:"show_date,omitempty"`

	// If True then CLI user has permission to run the command
	ShowDebug bool `json:"show_debug,omitempty"`

	// If True then CLI user has permission to run the command
	ShowDebugAnalytics bool `json:"show_debug_analytics,omitempty"`

	// If True then CLI user has permission to run the command
	ShowDeleteTasksInterval bool `json:"show_delete_tasks_interval,omitempty"`

	// If True then CLI user has permission to run the command
	ShowDisk bool `json:"show_disk,omitempty"`

	// If True then CLI user has permission to run the command
	ShowFile bool `json:"show_file,omitempty"`

	// If True then CLI user has permission to run the command
	ShowHardwareType bool `json:"show_hardware_type,omitempty"`

	// If True then CLI user has permission to run the command
	ShowHardwareStatus bool `json:"show_hardware_status,omitempty"`

	// If True then CLI user has permission to run the command
	ShowHwid bool `json:"show_hwid,omitempty"`

	// If True then CLI user has permission to run the command
	ShowIbtrap bool `json:"show_ibtrap,omitempty"`

	// If True then CLI user has permission to run the command
	ShowLcd bool `json:"show_lcd,omitempty"`

	// If True then CLI user has permission to run the command
	ShowLcdInfo bool `json:"show_lcd_info,omitempty"`

	// If True then CLI user has permission to run the command
	ShowLcdSettings bool `json:"show_lcd_settings,omitempty"`

	// If True then CLI user has permission to run the command
	ShowLog bool `json:"show_log,omitempty"`

	// If True then CLI user has permission to run the command
	ShowLogfiles bool `json:"show_logfiles,omitempty"`

	// If True then CLI user has permission to run the command
	ShowMemory bool `json:"show_memory,omitempty"`

	// If True then CLI user has permission to run the command
	ShowNtp bool `json:"show_ntp,omitempty"`

	// If True then CLI user has permission to run the command
	ShowReportingUserCapabilities bool `json:"show_reporting_user_capabilities,omitempty"`

	// If True then CLI user has permission to run the command
	ShowRpzRecursiveOnly bool `json:"show_rpz_recursive_only,omitempty"`

	// If True then CLI user has permission to run the command
	ShowScheduled bool `json:"show_scheduled,omitempty"`

	// If True then CLI user has permission to run the command
	ShowSnmp bool `json:"show_snmp,omitempty"`

	// If True then CLI user has permission to run the command
	ShowStatus bool `json:"show_status,omitempty"`

	// If True then CLI user has permission to run the command
	ShowTechSupport bool `json:"show_tech_support,omitempty"`

	// If True then CLI user has permission to run the command
	ShowTemperature bool `json:"show_temperature,omitempty"`

	// If True then CLI user has permission to run the command
	ShowThresholdtrap bool `json:"show_thresholdtrap,omitempty"`

	// If True then CLI user has permission to run the command
	ShowUpgradeHistory bool `json:"show_upgrade_history,omitempty"`

	// If True then CLI user has permission to run the command
	ShowUptime bool `json:"show_uptime,omitempty"`

	// If True then CLI user has permission to run the command
	ShowVersion bool `json:"show_version,omitempty"`

	// If True then CLI user has permission to run the command
	ShowAnalyticsDatabaseDumps bool `json:"show_analytics_database_dumps,omitempty"`

	// If True then CLI user has permission to run the command
	ShowCores bool `json:"show_cores,omitempty"`

	// If True then CLI user has permission to run the command
	ShowCoresummary bool `json:"show_coresummary,omitempty"`

	// If True then CLI user has permission to run the command
	ShowCspThreatDb bool `json:"show_csp_threat_db,omitempty"`

	// If True then CLI user has permission to run the command
	ShowHsmGroup bool `json:"show_hsm_group,omitempty"`

	// If True then CLI user has permission to run the command
	ShowHsmInfo bool `json:"show_hsm_info,omitempty"`

	// If True then CLI user has permission to run the command
	ShowPmap bool `json:"show_pmap,omitempty"`

	// If True then CLI user has permission to run the command
	ShowProcess bool `json:"show_process,omitempty"`

	// If True then CLI user has permission to run the command
	ShowPstack bool `json:"show_pstack,omitempty"`

	// If True then CLI user has permission to run the command
	ShowSafenetSupportInfo bool `json:"show_safenet_support_info,omitempty"`

	// If True then CLI user has permission to run the command
	ShowWredStats bool `json:"show_wred_stats,omitempty"`

	// If True then CLI user has permission to run the command
	ShowWredStatus bool `json:"show_wred_status,omitempty"`

	// If True then CLI user has permission to run the command
	ShowNtpStratum bool `json:"show_ntp_stratum,omitempty"`

	// If True then CLI user has permission to run the command
	ShowPcDomain bool `json:"show_pc_domain,omitempty"`

	// If True then CLI user has permission to run the command
	ShowReportFrequency bool `json:"show_report_frequency,omitempty"`

	// If True then enable all fields
	EnableAll bool `json:"enable_all,omitempty"`

	// If True then disable all fields
	DisableAll bool `json:"disable_all,omitempty"`
}

AdmingroupAdminshowcommands represents Infoblox struct admingroup:adminshowcommands

type AdmingroupAdmintoplevelcommands added in v2.4.0

type AdmingroupAdmintoplevelcommands struct {
	// If True then CLI user has permission to run the command
	Ps bool `json:"ps,omitempty"`

	// If True then CLI user has permission to run the command
	Iostat bool `json:"iostat,omitempty"`

	// If True then CLI user has permission to run the command
	Netstat bool `json:"netstat,omitempty"`

	// If True then CLI user has permission to run the command
	Vmstat bool `json:"vmstat,omitempty"`

	// If True then CLI user has permission to run the command
	Tcpdump bool `json:"tcpdump,omitempty"`

	// If True then CLI user has permission to run the command
	Rndc bool `json:"rndc,omitempty"`

	// If True then CLI user has permission to run the command
	Sar bool `json:"sar,omitempty"`

	// If True then CLI user has permission to run the command
	Resilver bool `json:"resilver,omitempty"`

	// If True then CLI user has permission to run the command
	RestartProduct bool `json:"restart_product,omitempty"`

	// If True then CLI user has permission to run the command
	Scrape bool `json:"scrape,omitempty"`

	// If True then CLI user has permission to run the command
	SamlRestart bool `json:"saml_restart,omitempty"`

	// If True then CLI user has permission to run the command
	Synctime bool `json:"synctime,omitempty"`

	// If True then enable all fields
	EnableAll bool `json:"enable_all,omitempty"`

	// If True then disable all fields
	DisableAll bool `json:"disable_all,omitempty"`
}

AdmingroupAdmintoplevelcommands represents Infoblox struct admingroup:admintoplevelcommands

type AdmingroupCloudsetcommands added in v2.4.0

type AdmingroupCloudsetcommands struct {
	// If True then CLI user has permission to run the command
	SetCloudServicesPortalForceRefresh bool `json:"set_cloud_services_portal_force_refresh,omitempty"`

	// If True then CLI user has permission to run the command
	SetCloudServicesPortal bool `json:"set_cloud_services_portal,omitempty"`

	// If True then enable all fields
	EnableAll bool `json:"enable_all,omitempty"`

	// If True then disable all fields
	DisableAll bool `json:"disable_all,omitempty"`
}

AdmingroupCloudsetcommands represents Infoblox struct admingroup:cloudsetcommands

type AdmingroupCloudshowcommands added in v2.4.0

type AdmingroupCloudshowcommands struct {
	// If True then CLI user has permission to run the command
	ShowCloudServicesPortal bool `json:"show_cloud_services_portal,omitempty"`

	// If True then enable all fields
	EnableAll bool `json:"enable_all,omitempty"`

	// If True then disable all fields
	DisableAll bool `json:"disable_all,omitempty"`
}

AdmingroupCloudshowcommands represents Infoblox struct admingroup:cloudshowcommands

type AdmingroupDatabasesetcommands added in v2.4.0

type AdmingroupDatabasesetcommands struct {
	// If True then CLI user has permission to run the command
	SetNamedMaxJournalSize bool `json:"set_named_max_journal_size,omitempty"`

	// If True then CLI user has permission to run the command
	SetTxnTrace bool `json:"set_txn_trace,omitempty"`

	// If True then CLI user has permission to run the command
	SetDatabaseTransfer bool `json:"set_database_transfer,omitempty"`

	// If True then CLI user has permission to run the command
	SetDbRollover bool `json:"set_db_rollover,omitempty"`

	// If True then CLI user has permission to run the command
	SetDbSnapshot bool `json:"set_db_snapshot,omitempty"`

	// If True then CLI user has permission to run the command
	SetDbsize bool `json:"set_dbsize,omitempty"`

	// If True then CLI user has permission to run the command
	SetDebugTools bool `json:"set_debug_tools,omitempty"`

	// If True then CLI user has permission to run the command
	SetCircTxnTrace bool `json:"set_circ_txn_trace,omitempty"`

	// If True then enable all fields
	EnableAll bool `json:"enable_all,omitempty"`

	// If True then disable all fields
	DisableAll bool `json:"disable_all,omitempty"`
}

AdmingroupDatabasesetcommands represents Infoblox struct admingroup:databasesetcommands

type AdmingroupDatabaseshowcommands added in v2.4.0

type AdmingroupDatabaseshowcommands struct {
	// If True then CLI user has permission to run the command
	ShowNamedMaxJournalSize bool `json:"show_named_max_journal_size,omitempty"`

	// If True then CLI user has permission to run the command
	ShowTxnTrace bool `json:"show_txn_trace,omitempty"`

	// If True then CLI user has permission to run the command
	ShowDatabaseTransferStatus bool `json:"show_database_transfer_status,omitempty"`

	// If True then CLI user has permission to run the command
	ShowBackup bool `json:"show_backup,omitempty"`

	// If True then CLI user has permission to run the command
	ShowDbPh bool `json:"show_db_ph,omitempty"`

	// If True then CLI user has permission to run the command
	ShowDbsize bool `json:"show_dbsize,omitempty"`

	// If True then CLI user has permission to run the command
	ShowIbdbstat bool `json:"show_ibdbstat,omitempty"`

	// If True then enable all fields
	EnableAll bool `json:"enable_all,omitempty"`

	// If True then disable all fields
	DisableAll bool `json:"disable_all,omitempty"`
}

AdmingroupDatabaseshowcommands represents Infoblox struct admingroup:databaseshowcommands

type AdmingroupDhcpsetcommands added in v2.4.0

type AdmingroupDhcpsetcommands struct {
	// If True then CLI user has permission to run the command
	SetDhcpdRecvSockBufSize bool `json:"set_dhcpd_recv_sock_buf_size,omitempty"`

	// If True then CLI user has permission to run the command
	SetLogTxnId bool `json:"set_log_txn_id,omitempty"`

	// If True then CLI user has permission to run the command
	SetOverloadBootp bool `json:"set_overload_bootp,omitempty"`

	// If True then CLI user has permission to run the command
	SetRegenerateDhcpUpdaterKeys bool `json:"set_regenerate_dhcp_updater_keys,omitempty"`

	// If True then enable all fields
	EnableAll bool `json:"enable_all,omitempty"`

	// If True then disable all fields
	DisableAll bool `json:"disable_all,omitempty"`
}

AdmingroupDhcpsetcommands represents Infoblox struct admingroup:dhcpsetcommands

type AdmingroupDhcpshowcommands added in v2.4.0

type AdmingroupDhcpshowcommands struct {
	// If True then CLI user has permission to run the command
	ShowDhcpGssTsig bool `json:"show_dhcp_gss_tsig,omitempty"`

	// If True then CLI user has permission to run the command
	ShowDhcpv6GssTsig bool `json:"show_dhcpv6_gss_tsig,omitempty"`

	// If True then CLI user has permission to run the command
	ShowDhcpdRecvSockBufSize bool `json:"show_dhcpd_recv_sock_buf_size,omitempty"`

	// If True then CLI user has permission to run the command
	ShowOverloadBootp bool `json:"show_overload_bootp,omitempty"`

	// If True then CLI user has permission to run the command
	ShowLogTxnId bool `json:"show_log_txn_id,omitempty"`

	// If True then enable all fields
	EnableAll bool `json:"enable_all,omitempty"`

	// If True then disable all fields
	DisableAll bool `json:"disable_all,omitempty"`
}

AdmingroupDhcpshowcommands represents Infoblox struct admingroup:dhcpshowcommands

type AdmingroupDnssetcommands added in v2.4.0

type AdmingroupDnssetcommands struct {
	// If True then CLI user has permission to run the command
	SetDns bool `json:"set_dns,omitempty"`

	// If True then CLI user has permission to run the command
	SetDnsRrl bool `json:"set_dns_rrl,omitempty"`

	// If True then CLI user has permission to run the command
	SetEnableDnstap bool `json:"set_enable_dnstap,omitempty"`

	// If True then CLI user has permission to run the command
	SetEnableMatchRecursiveOnly bool `json:"set_enable_match_recursive_only,omitempty"`

	// If True then CLI user has permission to run the command
	SetExtraDnsNameValidations bool `json:"set_extra_dns_name_validations,omitempty"`

	// If True then CLI user has permission to run the command
	SetLogGuestLookups bool `json:"set_log_guest_lookups,omitempty"`

	// If True then CLI user has permission to run the command
	SetMaxRecursionDepth bool `json:"set_max_recursion_depth,omitempty"`

	// If True then CLI user has permission to run the command
	SetMaxRecursionQueries bool `json:"set_max_recursion_queries,omitempty"`

	// If True then CLI user has permission to run the command
	SetMonitor bool `json:"set_monitor,omitempty"`

	// If True then CLI user has permission to run the command
	SetMsDnsReportsSyncInterval bool `json:"set_ms_dns_reports_sync_interval,omitempty"`

	// If True then CLI user has permission to run the command
	SetMsStickyIp bool `json:"set_ms_sticky_ip,omitempty"`

	// If True then CLI user has permission to run the command
	SetRestartAnycastWithDnsRestart bool `json:"set_restart_anycast_with_dns_restart,omitempty"`

	// If True then CLI user has permission to run the command
	SetDnsAccel bool `json:"set_dns_accel,omitempty"`

	// If True then CLI user has permission to run the command
	SetDnsAccelDebug bool `json:"set_dns_accel_debug,omitempty"`

	// If True then CLI user has permission to run the command
	SetDnsAutoGen bool `json:"set_dns_auto_gen,omitempty"`

	// If True then CLI user has permission to run the command
	SetAllowQueryDomain bool `json:"set_allow_query_domain,omitempty"`

	// If True then enable all fields
	EnableAll bool `json:"enable_all,omitempty"`

	// If True then disable all fields
	DisableAll bool `json:"disable_all,omitempty"`
}

AdmingroupDnssetcommands represents Infoblox struct admingroup:dnssetcommands

type AdmingroupDnsshowcommands added in v2.4.0

type AdmingroupDnsshowcommands struct {
	// If True then CLI user has permission to run the command
	ShowLogGuestLookups bool `json:"show_log_guest_lookups,omitempty"`

	// If True then CLI user has permission to run the command
	ShowDnsGssTsig bool `json:"show_dns_gss_tsig,omitempty"`

	// If True then CLI user has permission to run the command
	ShowDns bool `json:"show_dns,omitempty"`

	// If True then CLI user has permission to run the command
	ShowDnstapStats bool `json:"show_dnstap_stats,omitempty"`

	// If True then CLI user has permission to run the command
	ShowDnstapStatus bool `json:"show_dnstap_status,omitempty"`

	// If True then CLI user has permission to run the command
	ShowDnsOverTlsConfig bool `json:"show_dns_over_tls_config,omitempty"`

	// If True then CLI user has permission to run the command
	ShowDnsOverTlsStatus bool `json:"show_dns_over_tls_status,omitempty"`

	// If True then CLI user has permission to run the command
	ShowDnsOverTlsStats bool `json:"show_dns_over_tls_stats,omitempty"`

	// If True then CLI user has permission to run the command
	ShowDohConfig bool `json:"show_doh_config,omitempty"`

	// If True then CLI user has permission to run the command
	ShowDohStatus bool `json:"show_doh_status,omitempty"`

	// If True then CLI user has permission to run the command
	ShowDohStats bool `json:"show_doh_stats,omitempty"`

	// If True then CLI user has permission to run the command
	ShowExtraDnsNameValidations bool `json:"show_extra_dns_name_validations,omitempty"`

	// If True then CLI user has permission to run the command
	ShowMsStickyIp bool `json:"show_ms_sticky_ip,omitempty"`

	// If True then CLI user has permission to run the command
	ShowDnsRrl bool `json:"show_dns_rrl,omitempty"`

	// If True then CLI user has permission to run the command
	ShowEnableMatchRecursiveOnly bool `json:"show_enable_match_recursive_only,omitempty"`

	// If True then CLI user has permission to run the command
	ShowMaxRecursionDepth bool `json:"show_max_recursion_depth,omitempty"`

	// If True then CLI user has permission to run the command
	ShowMaxRecursionQueries bool `json:"show_max_recursion_queries,omitempty"`

	// If True then CLI user has permission to run the command
	ShowMonitor bool `json:"show_monitor,omitempty"`

	// If True then CLI user has permission to run the command
	ShowQueryCapture bool `json:"show_query_capture,omitempty"`

	// If True then CLI user has permission to run the command
	ShowDtcEa bool `json:"show_dtc_ea,omitempty"`

	// If True then CLI user has permission to run the command
	ShowDtcGeoip bool `json:"show_dtc_geoip,omitempty"`

	// If True then CLI user has permission to run the command
	ShowRestartAnycastWithDnsRestart bool `json:"show_restart_anycast_with_dns_restart,omitempty"`

	// If True then CLI user has permission to run the command
	ShowDnsAccel bool `json:"show_dns_accel,omitempty"`

	// If True then CLI user has permission to run the command
	ShowDnsAccelDebug bool `json:"show_dns_accel_debug,omitempty"`

	// If True then CLI user has permission to run the command
	ShowAllowQueryDomain bool `json:"show_allow_query_domain,omitempty"`

	// If True then CLI user has permission to run the command
	ShowAllowQueryDomainViews bool `json:"show_allow_query_domain_views,omitempty"`

	// If True then enable all fields
	EnableAll bool `json:"enable_all,omitempty"`

	// If True then disable all fields
	DisableAll bool `json:"disable_all,omitempty"`
}

AdmingroupDnsshowcommands represents Infoblox struct admingroup:dnsshowcommands

type AdmingroupDnstoplevelcommands added in v2.4.0

type AdmingroupDnstoplevelcommands struct {
	// If True then CLI user has permission to run the command
	DdnsAdd bool `json:"ddns_add,omitempty"`

	// If True then CLI user has permission to run the command
	DdnsDelete bool `json:"ddns_delete,omitempty"`

	// If True then CLI user has permission to run the command
	Delete bool `json:"delete,omitempty"`

	// If True then CLI user has permission to run the command
	DnsARecordDelete bool `json:"dns_a_record_delete,omitempty"`

	// If True then enable all fields
	EnableAll bool `json:"enable_all,omitempty"`

	// If True then disable all fields
	DisableAll bool `json:"disable_all,omitempty"`
}

AdmingroupDnstoplevelcommands represents Infoblox struct admingroup:dnstoplevelcommands

type AdmingroupDockersetcommands added in v2.4.0

type AdmingroupDockersetcommands struct {
	// If True then CLI user has permission to run the command
	SetDockerBridge bool `json:"set_docker_bridge,omitempty"`

	// If True then enable all fields
	EnableAll bool `json:"enable_all,omitempty"`

	// If True then disable all fields
	DisableAll bool `json:"disable_all,omitempty"`
}

AdmingroupDockersetcommands represents Infoblox struct admingroup:dockersetcommands

type AdmingroupDockershowcommands added in v2.4.0

type AdmingroupDockershowcommands struct {
	// If True then CLI user has permission to run the command
	ShowDockerBridge bool `json:"show_docker_bridge,omitempty"`

	// If True then enable all fields
	EnableAll bool `json:"enable_all,omitempty"`

	// If True then disable all fields
	DisableAll bool `json:"disable_all,omitempty"`
}

AdmingroupDockershowcommands represents Infoblox struct admingroup:dockershowcommands

type AdmingroupGridsetcommands added in v2.4.0

type AdmingroupGridsetcommands struct {
	// If True then CLI user has permission to run the command
	SetDefaultRevertWindow bool `json:"set_default_revert_window,omitempty"`

	// If True then CLI user has permission to run the command
	SetDscp bool `json:"set_dscp,omitempty"`

	// If True then CLI user has permission to run the command
	SetMembership bool `json:"set_membership,omitempty"`

	// If True then CLI user has permission to run the command
	SetNogrid bool `json:"set_nogrid,omitempty"`

	// If True then CLI user has permission to run the command
	SetNomastergrid bool `json:"set_nomastergrid,omitempty"`

	// If True then CLI user has permission to run the command
	SetPromoteMaster bool `json:"set_promote_master,omitempty"`

	// If True then CLI user has permission to run the command
	SetRevertGrid bool `json:"set_revert_grid,omitempty"`

	// If True then CLI user has permission to run the command
	SetToken bool `json:"set_token,omitempty"`

	// If True then CLI user has permission to run the command
	SetTestPromoteMaster bool `json:"set_test_promote_master,omitempty"`

	// If True then enable all fields
	EnableAll bool `json:"enable_all,omitempty"`

	// If True then disable all fields
	DisableAll bool `json:"disable_all,omitempty"`
}

AdmingroupGridsetcommands represents Infoblox struct admingroup:gridsetcommands

type AdmingroupGridshowcommands added in v2.4.0

type AdmingroupGridshowcommands struct {
	// If True then CLI user has permission to run the command
	ShowTestPromoteMaster bool `json:"show_test_promote_master,omitempty"`

	// If True then CLI user has permission to run the command
	ShowToken bool `json:"show_token,omitempty"`

	// If True then enable all fields
	EnableAll bool `json:"enable_all,omitempty"`

	// If True then disable all fields
	DisableAll bool `json:"disable_all,omitempty"`

	// If True then CLI user has permission to run the command
	ShowDscp bool `json:"show_dscp,omitempty"`
}

AdmingroupGridshowcommands represents Infoblox struct admingroup:gridshowcommands

type AdmingroupLicensingsetcommands added in v2.4.0

type AdmingroupLicensingsetcommands struct {
	// If True then CLI user has permission to run the command
	SetLicense bool `json:"set_license,omitempty"`

	// If True then CLI user has permission to run the command
	SetReportingResetLicense bool `json:"set_reporting_reset_license,omitempty"`

	// If True then CLI user has permission to run the command
	SetTempLicense bool `json:"set_temp_license,omitempty"`

	// If True then enable all fields
	EnableAll bool `json:"enable_all,omitempty"`

	// If True then disable all fields
	DisableAll bool `json:"disable_all,omitempty"`
}

AdmingroupLicensingsetcommands represents Infoblox struct admingroup:licensingsetcommands

type AdmingroupLicensingshowcommands added in v2.4.0

type AdmingroupLicensingshowcommands struct {
	// If True then CLI user has permission to run the command
	ShowLicense bool `json:"show_license,omitempty"`

	// If True then CLI user has permission to run the command
	ShowLicensePoolContainer bool `json:"show_license_pool_container,omitempty"`

	// If True then CLI user has permission to run the command
	ShowLicenseUid bool `json:"show_license_uid,omitempty"`

	// If True then enable all fields
	EnableAll bool `json:"enable_all,omitempty"`

	// If True then disable all fields
	DisableAll bool `json:"disable_all,omitempty"`
}

AdmingroupLicensingshowcommands represents Infoblox struct admingroup:licensingshowcommands

type AdmingroupLockoutsetting added in v2.4.0

type AdmingroupLockoutsetting struct {
	// Enable/disable sequential failed login attempts lockout for local users
	EnableSequentialFailedLoginAttemptsLockout bool `json:"enable_sequential_failed_login_attempts_lockout,omitempty"`

	// The number of failed login attempts
	SequentialAttempts uint32 `json:"sequential_attempts,omitempty"`

	// Time period the account remains locked after sequential failed login attempt
	// lockout.
	FailedLockoutDuration uint32 `json:"failed_lockout_duration,omitempty"`

	// Never unlock option is also provided and if set then user account is locked
	// forever and only super user can unlock this account
	NeverUnlockUser bool `json:"never_unlock_user,omitempty"`
}

AdmingroupLockoutsetting represents Infoblox struct admingroup:lockoutsetting

type AdmingroupMachinecontroltoplevelcommands added in v2.4.0

type AdmingroupMachinecontroltoplevelcommands struct {
	// If True then CLI user has permission to run the command
	Reboot bool `json:"reboot,omitempty"`

	// If True then CLI user has permission to run the command
	Reset bool `json:"reset,omitempty"`

	// If True then CLI user has permission to run the command
	Shutdown bool `json:"shutdown,omitempty"`

	// If True then CLI user has permission to run the command
	Restart bool `json:"restart,omitempty"`

	// If True then enable all fields
	EnableAll bool `json:"enable_all,omitempty"`

	// If True then disable all fields
	DisableAll bool `json:"disable_all,omitempty"`
}

AdmingroupMachinecontroltoplevelcommands represents Infoblox struct admingroup:machinecontroltoplevelcommands

type AdmingroupNetworkingsetcommands added in v2.4.0

type AdmingroupNetworkingsetcommands struct {
	// If True then CLI user has permission to run the command
	SetConnectionLimit bool `json:"set_connection_limit,omitempty"`

	// If True then CLI user has permission to run the command
	SetDefaultRoute bool `json:"set_default_route,omitempty"`

	// If True then CLI user has permission to run the command
	SetInterface bool `json:"set_interface,omitempty"`

	// If True then CLI user has permission to run the command
	SetIpRateLimit bool `json:"set_ip_rate_limit,omitempty"`

	// If True then CLI user has permission to run the command
	SetIpv6DisableOnDad bool `json:"set_ipv6_disable_on_dad,omitempty"`

	// If True then CLI user has permission to run the command
	SetIpv6Neighbor bool `json:"set_ipv6_neighbor,omitempty"`

	// If True then CLI user has permission to run the command
	SetIpv6Ospf bool `json:"set_ipv6_ospf,omitempty"`

	// If True then CLI user has permission to run the command
	SetIpv6Status bool `json:"set_ipv6_status,omitempty"`

	// If True then CLI user has permission to run the command
	SetLom bool `json:"set_lom,omitempty"`

	// If True then CLI user has permission to run the command
	SetMldVersion1 bool `json:"set_mld_version_1,omitempty"`

	// If True then CLI user has permission to run the command
	SetNamedRecvSockBufSize bool `json:"set_named_recv_sock_buf_size,omitempty"`

	// If True then CLI user has permission to run the command
	SetNamedTcpClientsLimit bool `json:"set_named_tcp_clients_limit,omitempty"`

	// If True then CLI user has permission to run the command
	SetNetwork bool `json:"set_network,omitempty"`

	// If True then CLI user has permission to run the command
	SetOspf bool `json:"set_ospf,omitempty"`

	// If True then CLI user has permission to run the command
	SetPrompt bool `json:"set_prompt,omitempty"`

	// If True then CLI user has permission to run the command
	SetRemoteConsole bool `json:"set_remote_console,omitempty"`

	// If True then CLI user has permission to run the command
	SetStaticRoute bool `json:"set_static_route,omitempty"`

	// If True then CLI user has permission to run the command
	SetTcpTimestamps bool `json:"set_tcp_timestamps,omitempty"`

	// If True then CLI user has permission to run the command
	SetTrafficCapture bool `json:"set_traffic_capture,omitempty"`

	// If True then CLI user has permission to run the command
	SetWinsForwarding bool `json:"set_wins_forwarding,omitempty"`

	// If True then enable all fields
	EnableAll bool `json:"enable_all,omitempty"`

	// If True then disable all fields
	DisableAll bool `json:"disable_all,omitempty"`
}

AdmingroupNetworkingsetcommands represents Infoblox struct admingroup:networkingsetcommands

type AdmingroupNetworkingshowcommands added in v2.4.0

type AdmingroupNetworkingshowcommands struct {
	// If True then CLI user has permission to run the command
	ShowConnectionLimit bool `json:"show_connection_limit,omitempty"`

	// If True then CLI user has permission to run the command
	ShowConnections bool `json:"show_connections,omitempty"`

	// If True then CLI user has permission to run the command
	ShowInterface bool `json:"show_interface,omitempty"`

	// If True then CLI user has permission to run the command
	ShowIpRateLimit bool `json:"show_ip_rate_limit,omitempty"`

	// If True then CLI user has permission to run the command
	ShowIpv6Bgp bool `json:"show_ipv6_bgp,omitempty"`

	// If True then CLI user has permission to run the command
	ShowIpv6DisableOnDad bool `json:"show_ipv6_disable_on_dad,omitempty"`

	// If True then CLI user has permission to run the command
	ShowIpv6Neighbor bool `json:"show_ipv6_neighbor,omitempty"`

	// If True then CLI user has permission to run the command
	ShowIpv6Ospf bool `json:"show_ipv6_ospf,omitempty"`

	// If True then CLI user has permission to run the command
	ShowLom bool `json:"show_lom,omitempty"`

	// If True then CLI user has permission to run the command
	ShowMldVersion bool `json:"show_mld_version,omitempty"`

	// If True then CLI user has permission to run the command
	ShowNamedRecvSockBufSize bool `json:"show_named_recv_sock_buf_size,omitempty"`

	// If True then CLI user has permission to run the command
	ShowNamedTcpClientsLimit bool `json:"show_named_tcp_clients_limit,omitempty"`

	// If True then CLI user has permission to run the command
	ShowNetwork bool `json:"show_network,omitempty"`

	// If True then CLI user has permission to run the command
	ShowOspf bool `json:"show_ospf,omitempty"`

	// If True then CLI user has permission to run the command
	ShowRemoteConsole bool `json:"show_remote_console,omitempty"`

	// If True then CLI user has permission to run the command
	ShowRoutes bool `json:"show_routes,omitempty"`

	// If True then CLI user has permission to run the command
	ShowStaticRoutes bool `json:"show_static_routes,omitempty"`

	// If True then CLI user has permission to run the command
	ShowTcpTimestamps bool `json:"show_tcp_timestamps,omitempty"`

	// If True then CLI user has permission to run the command
	ShowTrafficCaptureStatus bool `json:"show_traffic_capture_status,omitempty"`

	// If True then CLI user has permission to run the command
	ShowWinsForwarding bool `json:"show_wins_forwarding,omitempty"`

	// If True then CLI user has permission to run the command
	ShowDefaultRoute bool `json:"show_default_route,omitempty"`

	// If True then CLI user has permission to run the command
	ShowIproute bool `json:"show_iproute,omitempty"`

	// If True then CLI user has permission to run the command
	ShowIprule bool `json:"show_iprule,omitempty"`

	// If True then CLI user has permission to run the command
	ShowIptables bool `json:"show_iptables,omitempty"`

	// If True then CLI user has permission to run the command
	ShowMtuSize bool `json:"show_mtu_size,omitempty"`

	// If True then CLI user has permission to run the command
	ShowNetworkConnectivity bool `json:"show_network_connectivity,omitempty"`

	// If True then CLI user has permission to run the command
	ShowTrafficfiles bool `json:"show_trafficfiles,omitempty"`

	// If True then CLI user has permission to run the command
	ShowInterfaceStats bool `json:"show_interface_stats,omitempty"`

	// If True then enable all fields
	EnableAll bool `json:"enable_all,omitempty"`

	// If True then disable all fields
	DisableAll bool `json:"disable_all,omitempty"`
}

AdmingroupNetworkingshowcommands represents Infoblox struct admingroup:networkingshowcommands

type AdmingroupPasswordsetting added in v2.4.0

type AdmingroupPasswordsetting struct {
	// Whether password expiry enabled or not.
	ExpireEnable bool `json:"expire_enable,omitempty"`

	// The days that password must expire
	ExpireDays uint32 `json:"expire_days,omitempty"`

	// Days to show up reminder prior to expiration
	ReminderDays uint32 `json:"reminder_days,omitempty"`
}

AdmingroupPasswordsetting represents Infoblox struct admingroup:passwordsetting

type AdmingroupSamlsetting added in v2.4.0

type AdmingroupSamlsetting struct {
	// Whether or not auto create user.
	AutoCreateUser bool `json:"auto_create_user,omitempty"`

	// Whether or not persist auto created user after logout.
	PersistAutoCreatedUser bool `json:"persist_auto_created_user,omitempty"`
}

AdmingroupSamlsetting represents Infoblox struct admingroup:samlsetting

type AdmingroupSecuritysetcommands added in v2.4.0

type AdmingroupSecuritysetcommands struct {
	// If True then CLI user has permission to run the command
	SetAdp bool `json:"set_adp,omitempty"`

	// If True then CLI user has permission to run the command
	SetApacheHttpsCert bool `json:"set_apache_https_cert,omitempty"`

	// If True then CLI user has permission to run the command
	SetCcMode bool `json:"set_cc_mode,omitempty"`

	// If True then CLI user has permission to run the command
	SetCertificateAuthAdmins bool `json:"set_certificate_auth_admins,omitempty"`

	// If True then CLI user has permission to run the command
	SetCertificateAuthServices bool `json:"set_certificate_auth_services,omitempty"`

	// If True then CLI user has permission to run the command
	SetCheckAuthNs bool `json:"set_check_auth_ns,omitempty"`

	// If True then CLI user has permission to run the command
	SetCheckSslCertificate bool `json:"set_check_ssl_certificate,omitempty"`

	// If True then CLI user has permission to run the command
	SetDisableHttpsCertRegeneration bool `json:"set_disable_https_cert_regeneration,omitempty"`

	// If True then CLI user has permission to run the command
	SetFipsMode bool `json:"set_fips_mode,omitempty"`

	// If True then CLI user has permission to run the command
	SetReportingCert bool `json:"set_reporting_cert,omitempty"`

	// If True then CLI user has permission to run the command
	SetSecurity bool `json:"set_security,omitempty"`

	// If True then CLI user has permission to run the command
	SetSessionTimeout bool `json:"set_session_timeout,omitempty"`

	// If True then CLI user has permission to run the command
	SetSubscriberSecureData bool `json:"set_subscriber_secure_data,omitempty"`

	// If True then CLI user has permission to run the command
	SetSupportAccess bool `json:"set_support_access,omitempty"`

	// If True then CLI user has permission to run the command
	SetSupportInstall bool `json:"set_support_install,omitempty"`

	// If True then CLI user has permission to run the command
	SetAdpDebug bool `json:"set_adp_debug,omitempty"`

	// If True then CLI user has permission to run the command
	SetSupportTimeout bool `json:"set_support_timeout,omitempty"`

	// If True then enable all fields
	EnableAll bool `json:"enable_all,omitempty"`

	// If True then disable all fields
	DisableAll bool `json:"disable_all,omitempty"`
}

AdmingroupSecuritysetcommands represents Infoblox struct admingroup:securitysetcommands

type AdmingroupSecurityshowcommands added in v2.4.0

type AdmingroupSecurityshowcommands struct {
	// If True then CLI user has permission to run the command
	ShowFipsMode bool `json:"show_fips_mode,omitempty"`

	// If True then CLI user has permission to run the command
	ShowCcMode bool `json:"show_cc_mode,omitempty"`

	// If True then CLI user has permission to run the command
	ShowCertificateAuthAdmins bool `json:"show_certificate_auth_admins,omitempty"`

	// If True then CLI user has permission to run the command
	ShowCertificateAuthServices bool `json:"show_certificate_auth_services,omitempty"`

	// If True then CLI user has permission to run the command
	ShowCheckAuthNs bool `json:"show_check_auth_ns,omitempty"`

	// If True then CLI user has permission to run the command
	ShowCheckSslCertificate bool `json:"show_check_ssl_certificate,omitempty"`

	// If True then CLI user has permission to run the command
	ShowSecurity bool `json:"show_security,omitempty"`

	// If True then CLI user has permission to run the command
	ShowSessionTimeout bool `json:"show_session_timeout,omitempty"`

	// If True then CLI user has permission to run the command
	ShowSubscriberSecureData bool `json:"show_subscriber_secure_data,omitempty"`

	// If True then CLI user has permission to run the command
	ShowSupportAccess bool `json:"show_support_access,omitempty"`

	// If True then CLI user has permission to run the command
	ShowVpnCertDates bool `json:"show_vpn_cert_dates,omitempty"`

	// If True then CLI user has permission to run the command
	ShowAdp bool `json:"show_adp,omitempty"`

	// If True then CLI user has permission to run the command
	ShowAdpDebug bool `json:"show_adp_debug,omitempty"`

	// If True then CLI user has permission to run the command
	ShowSupportTimeout bool `json:"show_support_timeout,omitempty"`

	// If True then enable all fields
	EnableAll bool `json:"enable_all,omitempty"`

	// If True then disable all fields
	DisableAll bool `json:"disable_all,omitempty"`
}

AdmingroupSecurityshowcommands represents Infoblox struct admingroup:securityshowcommands

type AdmingroupTroubleshootingtoplevelcommands added in v2.4.0

type AdmingroupTroubleshootingtoplevelcommands struct {
	// If True then CLI user has permission to run the command
	Ping bool `json:"ping,omitempty"`

	// If True then CLI user has permission to run the command
	Ping6 bool `json:"ping6,omitempty"`

	// If True then CLI user has permission to run the command
	Strace bool `json:"strace,omitempty"`

	// If True then CLI user has permission to run the command
	Traceroute bool `json:"traceroute,omitempty"`

	// If True then CLI user has permission to run the command
	TrafficCapture bool `json:"traffic_capture,omitempty"`

	// If True then CLI user has permission to run the command
	Dig bool `json:"dig,omitempty"`

	// If True then CLI user has permission to run the command
	Rotate bool `json:"rotate,omitempty"`

	// If True then CLI user has permission to run the command
	Snmpwalk bool `json:"snmpwalk,omitempty"`

	// If True then CLI user has permission to run the command
	Snmpget bool `json:"snmpget,omitempty"`

	// If True then CLI user has permission to run the command
	Console bool `json:"console,omitempty"`

	// If True then CLI user has permission to run the command
	Tracepath bool `json:"tracepath,omitempty"`

	// If True then enable all fields
	EnableAll bool `json:"enable_all,omitempty"`

	// If True then disable all fields
	DisableAll bool `json:"disable_all,omitempty"`
}

AdmingroupTroubleshootingtoplevelcommands represents Infoblox struct admingroup:troubleshootingtoplevelcommands

type Adminrole added in v2.4.0

type Adminrole struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The descriptive comment of the Admin Role object.
	Comment *string `json:"comment,omitempty"`

	// The disable flag.
	Disable *bool `json:"disable,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The name of an admin role.
	Name *string `json:"name,omitempty"`
}

Adminrole represents Infoblox object adminrole. An Admin Role object creates and manages a local admin role on the Infoblox appliance. A Role object is used to aggregate a set of permissions (represented by Permission objects).

func (Adminrole) ObjectType added in v2.4.0

func (Adminrole) ObjectType() string

func (Adminrole) ReturnFields added in v2.4.0

func (obj Adminrole) ReturnFields() []string

type Adminuser added in v2.4.0

type Adminuser struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The names of the Admin Groups to which this Admin User belongs. Currently,
	// this is limited to only one Admin Group.
	AdminGroups []string `json:"admin_groups,omitempty"`

	// Determines the way of authentication
	AuthMethod string `json:"auth_method,omitempty"`

	// The authentication type for the admin user.
	AuthType string `json:"auth_type,omitempty"`

	// The CA certificate that is used for user lookup during authentication.
	CaCertificateIssuer *string `json:"ca_certificate_issuer,omitempty"`

	// The serial number of the client certificate.
	ClientCertificateSerialNumber *string `json:"client_certificate_serial_number,omitempty"`

	// Comment for the admin user; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// Determines whether the admin user is disabled or not. When this is set to
	// False, the admin user is enabled.
	Disable *bool `json:"disable,omitempty"`

	// The e-mail address for the admin user.
	Email *string `json:"email,omitempty"`

	// Determines whether the user is allowed to log in only with the certificate.
	// Regular username/password authentication will be disabled for this user.
	EnableCertificateAuthentication *bool `json:"enable_certificate_authentication,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The name of the admin user.
	Name *string `json:"name,omitempty"`

	// The password for the administrator to use when logging in.
	Password *string `json:"password,omitempty"`

	// List of ssh keys for a particular user.
	SshKeys []*SshKey `json:"ssh_keys,omitempty"`

	// Status of the user account.
	Status string `json:"status,omitempty"`

	// The time zone for this admin user.
	TimeZone string `json:"time_zone,omitempty"`

	// \, Enable/disable the ssh keypair authentication.
	UseSshKeys *bool `json:"use_ssh_keys,omitempty"`

	// Use flag for: time_zone
	UseTimeZone *bool `json:"use_time_zone,omitempty"`
}

Adminuser represents Infoblox object adminuser. An admin account provides access to the Infoblox appliance. An admin account inherits the privileges and properties of the group to which it belongs.

func (Adminuser) ObjectType added in v2.4.0

func (Adminuser) ObjectType() string

func (Adminuser) ReturnFields added in v2.4.0

func (obj Adminuser) ReturnFields() []string

type Adsites added in v2.4.0

type Adsites struct {
	// Flag to override MS Server default IP site link
	UseDefaultIpSiteLink bool `json:"use_default_ip_site_link,omitempty"`

	// Default IP site link for sites created from NIOS
	DefaultIpSiteLink string `json:"default_ip_site_link,omitempty"`

	// Flag to override login name and password from the MS Server
	UseLogin bool `json:"use_login,omitempty"`

	// Microsoft Server login name, with optional
	LoginName string `json:"login_name,omitempty"`

	// Microsoft Server login password.
	LoginPassword string `json:"login_password,omitempty"`

	// Flag to override synchronization interval from the MS Server
	UseSynchronizationMinDelay bool `json:"use_synchronization_min_delay,omitempty"`

	// Minimum number of minutes between two synchronizations
	SynchronizationMinDelay uint32 `json:"synchronization_min_delay,omitempty"`

	// Flag to override cluster LDAP timeoutMS Server
	UseLdapTimeout bool `json:"use_ldap_timeout,omitempty"`

	// Timeout in seconds for LDAP connections for this MS Server
	LdapTimeout uint32 `json:"ldap_timeout,omitempty"`

	// TCP port for LDAP connections for this
	LdapAuthPort uint32 `json:"ldap_auth_port,omitempty"`

	// Encryption for LDAP connections for this MS Server
	LdapEncryption string `json:"ldap_encryption,omitempty"`

	// Controls whether the Sites of this MS Server are to be synchronized by the
	// assigned managing member or not
	Managed bool `json:"managed,omitempty"`

	// Enable/disable read-only synchronization of Sites for this Active Directory
	// domain
	ReadOnly bool `json:"read_only,omitempty"`

	// Timestamp of the last synchronization attempt
	LastSyncTs *UnixTime `json:"last_sync_ts,omitempty"`

	// Status of the last synchronization attempt
	LastSyncStatus string `json:"last_sync_status,omitempty"`

	// The detailed status of the last synchronization attempt.
	LastSyncDetail string `json:"last_sync_detail,omitempty"`

	// Flag indicating if the server supports IPv6
	SupportsIpv6 bool `json:"supports_ipv6,omitempty"`
}

Adsites represents Infoblox struct adsites

type Allendpoints added in v2.4.0

type Allendpoints struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The Grid endpoint IPv4 Address or IPv6 Address or Fully-Qualified Domain
	// Name (FQDN).
	Address string `json:"address,omitempty"`

	// The Grid endpoint descriptive comment.
	Comment string `json:"comment,omitempty"`

	// Determines whether a Grid endpoint is disabled or not. When this is set to
	// False, the Grid endpoint is enabled.
	Disable bool `json:"disable,omitempty"`

	// The name of the Grid Member object that is serving Grid endpoint.
	SubscribingMember string `json:"subscribing_member,omitempty"`

	// The Grid endpoint type.
	Type string `json:"type,omitempty"`

	// The Grid endpoint version.
	Version string `json:"version,omitempty"`
}

Allendpoints represents Infoblox object allendpoints. The object provides information about all thrid-party servers configured on the Grid.

func (Allendpoints) ObjectType added in v2.4.0

func (Allendpoints) ObjectType() string

func (Allendpoints) ReturnFields added in v2.4.0

func (obj Allendpoints) ReturnFields() []string

type Allnsgroup added in v2.4.0

type Allnsgroup struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The comment for the name server group.
	Comment string `json:"comment,omitempty"`

	// The name of the name server group.
	Name string `json:"name,omitempty"`

	// The type of the name server group.
	Type string `json:"type,omitempty"`
}

Allnsgroup represents Infoblox object allnsgroup. The All NS Groups object is a generic name server group object that provides information about all name server groups.

func (Allnsgroup) ObjectType added in v2.4.0

func (Allnsgroup) ObjectType() string

func (Allnsgroup) ReturnFields added in v2.4.0

func (obj Allnsgroup) ReturnFields() []string

type Allrecords added in v2.4.0

type Allrecords struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The record address.
	Address string `json:"address,omitempty"`

	// The record comment.
	Comment string `json:"comment,omitempty"`

	// The record creator.
	Creator string `json:"creator,omitempty"`

	// The GSS-TSIG principal that owns this record.
	DdnsPrincipal string `json:"ddns_principal,omitempty"`

	// Determines if the DDNS updates for this record are allowed or not.
	DdnsProtected bool `json:"ddns_protected,omitempty"`

	// The disable value determines if the record is disabled or not. "False" means
	// the record is enabled.
	Disable bool `json:"disable,omitempty"`

	// The specific LBDN record.
	DtcObscured string `json:"dtc_obscured,omitempty"`

	// The name of the record.
	Name string `json:"name,omitempty"`

	// Determines if the record is reclaimable or not.
	Reclaimable bool `json:"reclaimable,omitempty"`

	// The record object, if supported by the WAPI. Otherwise, the value is "None".
	Record string `json:"record,omitempty"`

	// The Time To Live (TTL) value for which the record is valid or being cached.
	// The 32-bit unsigned integer represents the duration in seconds. Zero
	// indicates that the record should not be cached.
	Ttl uint32 `json:"ttl,omitempty"`

	// The record type. When searching for an unspecified record type, the search
	// is performed for all records. On retrieval, the appliance returns
	// "UNSUPPORTED" for unsupported records.
	Type string `json:"type,omitempty"`

	// Name of the DNS View in which the record resides.
	View string `json:"view,omitempty"`

	// Name of the zone in which the record resides.
	Zone string `json:"zone,omitempty"`
}

Allrecords represents Infoblox object allrecords. The allrecords object is a read-only synthetic object used to retrieve records that belong to a particular zone.

func (Allrecords) ObjectType added in v2.4.0

func (Allrecords) ObjectType() string

func (Allrecords) ReturnFields added in v2.4.0

func (obj Allrecords) ReturnFields() []string

type Allrpzrecords added in v2.4.0

type Allrpzrecords struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The alert type of the record associated with the allrpzrecords object.
	AlertType string `json:"alert_type,omitempty"`

	// The descriptive comment of the record associated with the allrpzrecords
	// object.
	Comment string `json:"comment,omitempty"`

	// The disable flag of the record associated with the allrpzrecords object (if
	// present).
	Disable bool `json:"disable,omitempty"`

	// The expiration time of the record associated with the allrpzrecords object.
	ExpirationTime uint32 `json:"expiration_time,omitempty"`

	// The time when the record associated with the allrpzrecords object was last
	// updated.
	LastUpdated uint32 `json:"last_updated,omitempty"`

	// The name of the record associated with the allrpzrecords object. Note that
	// this value might be different than the value of the name field for the
	// associated record.
	Name string `json:"name,omitempty"`

	// The record object associated with the allrpzrecords object.
	Record string `json:"record,omitempty"`

	// The RPZ rule type of the record associated with the allrpzrecrods object.
	RpzRule string `json:"rpz_rule,omitempty"`

	// The TTL value of the record associated with the allrpzrecords object (if
	// present).
	Ttl uint32 `json:"ttl,omitempty"`

	// The type of record associated with the allrpzrecords object. This is a
	// descriptive string that identifies the record to which this allrpzrecords
	// object refers. (Examples: 'record:rpz:a', 'record:rpz:mx', etc.)
	Type string `json:"type,omitempty"`

	// The DNS view name of the record associated with the allrpzrecords object.
	View string `json:"view,omitempty"`

	// The Response Policy Zone name of the record associated with the
	// allrpzrecords object.
	Zone string `json:"zone,omitempty"`
}

Allrpzrecords represents Infoblox object allrpzrecords. A synthetic object used to return record object types that belong to a Response Policy Zone.

func (Allrpzrecords) ObjectType added in v2.4.0

func (Allrpzrecords) ObjectType() string

func (Allrpzrecords) ReturnFields added in v2.4.0

func (obj Allrpzrecords) ReturnFields() []string

type Approvalworkflow added in v2.4.0

type Approvalworkflow struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The approval administration group.
	ApprovalGroup *string `json:"approval_group,omitempty"`

	// The destination for approval task notifications.
	ApprovalNotifyTo string `json:"approval_notify_to,omitempty"`

	// The destination for approved task notifications.
	ApprovedNotifyTo string `json:"approved_notify_to,omitempty"`

	// The requirement for the comment when an approver approves a submitted task.
	ApproverComment string `json:"approver_comment,omitempty"`

	// Determines whether approval task notifications are enabled.
	EnableApprovalNotify *bool `json:"enable_approval_notify,omitempty"`

	// Determines whether approved task notifications are enabled.
	EnableApprovedNotify *bool `json:"enable_approved_notify,omitempty"`

	// Determines whether failed task notifications are enabled.
	EnableFailedNotify *bool `json:"enable_failed_notify,omitempty"`

	// Determines whether e-mail notifications to admin group's e-mail address are
	// enabled.
	EnableNotifyGroup *bool `json:"enable_notify_group,omitempty"`

	// Determines whether e-mail notifications to an admin member's e-mail address
	// are enabled.
	EnableNotifyUser *bool `json:"enable_notify_user,omitempty"`

	// Determines whether rejected task notifications are enabled.
	EnableRejectedNotify *bool `json:"enable_rejected_notify,omitempty"`

	// Determines whether rescheduled task notifications are enabled.
	EnableRescheduledNotify *bool `json:"enable_rescheduled_notify,omitempty"`

	// Determines whether succeeded task notifications are enabled.
	EnableSucceededNotify *bool `json:"enable_succeeded_notify,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The destination for failed task notifications.
	FailedNotifyTo string `json:"failed_notify_to,omitempty"`

	// The destination for rejected task notifications.
	RejectedNotifyTo string `json:"rejected_notify_to,omitempty"`

	// The destination for rescheduled task notifications.
	RescheduledNotifyTo string `json:"rescheduled_notify_to,omitempty"`

	// The requirement for the comment when a submitter submits a task for
	// approval.
	SubmitterComment string `json:"submitter_comment,omitempty"`

	// The submitter admininstration group.
	SubmitterGroup string `json:"submitter_group,omitempty"`

	// The destination for succeeded task notifications.
	SucceededNotifyTo string `json:"succeeded_notify_to,omitempty"`

	// The requirement for the ticket number when a submitter submits a task for
	// approval.
	TicketNumber string `json:"ticket_number,omitempty"`
}

Approvalworkflow represents Infoblox object approvalworkflow. The approval workflow object supports routing certain core network service tasks submitted by an admin group to another approval. You can add an admin group to an approval workflow and define the group as a submitter or an approver group. You can also define when and to whom e-mail notifications must be sent, and configure options such as whether the submitters or approvers must enter a comment or a ticket number when they submit tasks for approval. Approval workflows are useful when you want to control tasks that require reviews.

func (Approvalworkflow) ObjectType added in v2.4.0

func (Approvalworkflow) ObjectType() string

func (Approvalworkflow) ReturnFields added in v2.4.0

func (obj Approvalworkflow) ReturnFields() []string

type AuthConfig added in v2.2.0

type AuthConfig struct {
	Username string
	Password string

	ClientCert []byte
	ClientKey  []byte
}

type Authpolicy added in v2.4.0

type Authpolicy struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// List of names of local administration groups that are mapped to remote
	// administration groups.
	AdminGroups []string `json:"admin_groups,omitempty"`

	// The array that contains an ordered list of refs to
	// :doc:`localuser:authservice object </objects/localuser.authservice>`,
	// ldap_auth_service object ldap_auth_service, :doc:`radius:authservice object
	// </objects/radius.authservice>`, :doc:`tacacsplus:authservice object
	// </objects/tacacsplus.authservice>`, ad_auth_service object ad_auth_service,
	// :doc:`certificate:authservice object </objects/certificate.authservice>`.
	// :doc:`saml:authservice object </objects/saml.authservice>`,
	AuthServices []*LocaluserAuthservice `json:"auth_services,omitempty"`

	// The default admin group that provides authentication in case no valid group
	// is found.
	DefaultGroup *string `json:"default_group,omitempty"`

	// Remote policies usage.
	UsageType string `json:"usage_type,omitempty"`
}

Authpolicy represents Infoblox object authpolicy. The authentication policy defines which authentication server groups the appliance uses to authenticate admins and lists the local admin groups that map to the remote admin groups.

func (Authpolicy) ObjectType added in v2.4.0

func (Authpolicy) ObjectType() string

func (Authpolicy) ReturnFields added in v2.4.0

func (obj Authpolicy) ReturnFields() []string

type Awsrte53recordinfo added in v2.4.0

type Awsrte53recordinfo struct {
	// DNS name of the alias target.
	AliasTargetDnsName string `json:"alias_target_dns_name,omitempty"`

	// Hosted zone ID of the alias target.
	AliasTargetHostedZoneId string `json:"alias_target_hosted_zone_id,omitempty"`

	// Indicates if Amazon Route 53 evaluates the health of the alias target.
	AliasTargetEvaluateTargetHealth bool `json:"alias_target_evaluate_target_health,omitempty"`

	// Indicates whether this is the primary or secondary resource record for
	// Amazon Route 53 failover routing.
	Failover string `json:"failover,omitempty"`

	// Continent code for Amazon Route 53 geolocation routing.
	GeolocationContinentCode string `json:"geolocation_continent_code,omitempty"`

	// Country code for Amazon Route 53 geolocation routing.
	GeolocationCountryCode string `json:"geolocation_country_code,omitempty"`

	// Subdivision code for Amazon Route 53 geolocation routing.
	GeolocationSubdivisionCode string `json:"geolocation_subdivision_code,omitempty"`

	// ID of the health check that Amazon Route 53 performs for this resource
	// record.
	HealthCheckId string `json:"health_check_id,omitempty"`

	// Amazon EC2 region where this resource record resides for latency routing.
	Region string `json:"region,omitempty"`

	// An identifier that differentiates records with the same DNS name and type
	// for weighted, latency, geolocation, and failover routing.
	SetIdentifier string `json:"set_identifier,omitempty"`

	// Type of Amazon Route 53 resource record.
	Type string `json:"type,omitempty"`

	// Value that determines the portion of traffic for this record in weighted
	// routing. The range is from 0 to 255.
	Weight uint32 `json:"weight,omitempty"`
}

Awsrte53recordinfo represents Infoblox struct awsrte53recordinfo

type Awsrte53task added in v2.4.0

type Awsrte53task struct {
	// The name of this task.
	Name string `json:"name,omitempty"`

	// Indicates if the task is enabled or disabled.
	Disabled bool `json:"disabled,omitempty"`

	// Indicate the sync status of this task.
	State string `json:"state,omitempty"`

	// State message for the task.
	StateMsg string `json:"state_msg,omitempty"`

	// Filter for this task.
	Filter string `json:"filter,omitempty"`

	// Periodic interval for this task.
	ScheduleInterval uint32 `json:"schedule_interval,omitempty"`

	// Units for the schedule interval.
	ScheduleUnits string `json:"schedule_units,omitempty"`

	// Reference to associated AWS user whose credentials are to be used for this
	// task.
	AwsUser string `json:"aws_user,omitempty"`

	// The timestamp when the last state was logged.
	StatusTimestamp *UnixTime `json:"status_timestamp,omitempty"`

	// The timestamp when the task was started last.
	LastRun *UnixTime `json:"last_run,omitempty"`

	// Indicates whether public zones are synchronized.
	SyncPublicZones bool `json:"sync_public_zones,omitempty"`

	// Indicates whether private zones are synchronized.
	SyncPrivateZones bool `json:"sync_private_zones,omitempty"`

	// The number of zones synchronized by this task.
	ZoneCount uint32 `json:"zone_count,omitempty"`

	// Credentials type used for connecting to the cloud management platform.
	CredentialsType string `json:"credentials_type,omitempty"`
}

Awsrte53task represents Infoblox struct awsrte53task

type Awsrte53taskgroup added in v2.4.0

type Awsrte53taskgroup struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The AWS Account ID associated with this task group.
	AccountId string `json:"account_id,omitempty"`

	// Comment for the task group; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// Indicates if all zones need to be saved into a single view.
	ConsolidateZones bool `json:"consolidate_zones,omitempty"`

	// The name of the DNS view for consolidating zones.
	ConsolidatedView string `json:"consolidated_view,omitempty"`

	// Indicates if the task group is enabled or disabled.
	Disabled *bool `json:"disabled,omitempty"`

	// Member on which the tasks in this task group will be run.
	GridMember *string `json:"grid_member,omitempty"`

	// The name of this AWS Route53 sync task group.
	Name *string `json:"name,omitempty"`

	// The name of the tenant's network view.
	NetworkView string `json:"network_view,omitempty"`

	// The network view mapping policy.
	NetworkViewMappingPolicy string `json:"network_view_mapping_policy,omitempty"`

	// Indicate the overall sync status of this task group.
	SyncStatus string `json:"sync_status,omitempty"`

	// List of AWS Route53 tasks in this group.
	TaskList []*Awsrte53task `json:"task_list,omitempty"`
}

Awsrte53taskgroup represents Infoblox object awsrte53taskgroup. An AWS Route53 task group is a collection of one or more tasks allowing you to specify various zone filters to retrieve DNS zone data from AWS Route53 service using specified AWS user credentials. Grouping these tasks together helps organize related groups of sync data, enable/disable these and manage the grid member these run on.

func (Awsrte53taskgroup) ObjectType added in v2.4.0

func (Awsrte53taskgroup) ObjectType() string

func (Awsrte53taskgroup) ReturnFields added in v2.4.0

func (obj Awsrte53taskgroup) ReturnFields() []string

type Awsrte53zoneinfo added in v2.4.0

type Awsrte53zoneinfo struct {
	// List of AWS VPC strings that are associated with this zone.
	AssociatedVpcs []string `json:"associated_vpcs,omitempty"`

	// User specified caller reference when zone was created.
	CallerReference string `json:"caller_reference,omitempty"`

	// ID of delegation set associated with this zone.
	DelegationSetId string `json:"delegation_set_id,omitempty"`

	// AWS route 53 assigned ID for this zone.
	HostedZoneId string `json:"hosted_zone_id,omitempty"`

	// List of AWS name servers that are authoritative for this domain name.
	NameServers []string `json:"name_servers,omitempty"`

	// Number of resource record sets in the hosted zone.
	RecordSetCount uint32 `json:"record_set_count,omitempty"`

	// Indicates whether private or public zone.
	Type string `json:"type,omitempty"`
}

Awsrte53zoneinfo represents Infoblox struct awsrte53zoneinfo

type Awsuser added in v2.4.0

type Awsuser struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The unique Access Key ID of this AWS user. Maximum 255 characters.
	AccessKeyId *string `json:"access_key_id,omitempty"`

	// The AWS Account ID of this AWS user. Maximum 64 characters.
	AccountId *string `json:"account_id,omitempty"`

	// The timestamp when this AWS user credentials was last used.
	LastUsed *UnixTime `json:"last_used,omitempty"`

	// The AWS user name. Maximum 64 characters.
	Name *string `json:"name,omitempty"`

	// The NIOS user name mapped to this AWS user. Maximum 64 characters.
	NiosUserName *string `json:"nios_user_name,omitempty"`

	// The Secret Access Key for the Access Key ID of this user. Maximum 255
	// characters.
	SecretAccessKey *string `json:"secret_access_key,omitempty"`

	// Indicate the validity status of this AWS user.
	Status string `json:"status,omitempty"`
}

Awsuser represents Infoblox object awsuser. An AWS user object represents a specific access key and secret key pair credentials of an AWS user.

func (Awsuser) ObjectType added in v2.4.0

func (Awsuser) ObjectType() string

func (Awsuser) ReturnFields added in v2.4.0

func (obj Awsuser) ReturnFields() []string

type Bfdtemplate added in v2.4.0

type Bfdtemplate struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The authentication key for BFD protocol message-digest authentication.
	AuthenticationKey *string `json:"authentication_key,omitempty"`

	// The authentication key identifier for BFD protocol authentication. Valid
	// values are between 1 and 255.
	AuthenticationKeyId *uint32 `json:"authentication_key_id,omitempty"`

	// The authentication type for BFD protocol.
	AuthenticationType string `json:"authentication_type,omitempty"`

	// The detection time multiplier value for BFD protocol. The negotiated
	// transmit interval, multiplied by this value, provides the detection time for
	// the receiving system in asynchronous BFD mode. Valid values are between 3
	// and 50.
	DetectionMultiplier *uint32 `json:"detection_multiplier,omitempty"`

	// The minimum receive time (in seconds) for BFD protocol. Valid values are
	// between 50 and 9999.
	MinRxInterval *uint32 `json:"min_rx_interval,omitempty"`

	// The minimum transmission time (in seconds) for BFD protocol. Valid values
	// are between 50 and 9999.
	MinTxInterval *uint32 `json:"min_tx_interval,omitempty"`

	// The name of the BFD template object.
	Name *string `json:"name,omitempty"`
}

Bfdtemplate represents Infoblox object bfdtemplate. The Bidirectional Forwarding Detection (BFD) template contains a configuration of advanced BFD settings such as authentication and timer intervals.

func (Bfdtemplate) ObjectType added in v2.4.0

func (Bfdtemplate) ObjectType() string

func (Bfdtemplate) ReturnFields added in v2.4.0

func (obj Bfdtemplate) ReturnFields() []string

type Bgpas added in v2.4.0

type Bgpas struct {
	// The number of this autonomous system.
	As uint32 `json:"as,omitempty"`

	// The AS keepalive timer (in seconds). The valid value is from 1 to 21845.
	Keepalive uint32 `json:"keepalive,omitempty"`

	// The AS holddown timer (in seconds). The valid value is from 3 to 65535.
	Holddown uint32 `json:"holddown,omitempty"`

	// The BGP neighbors for this AS.
	Neighbors []*Bgpneighbor `json:"neighbors,omitempty"`

	// Determines if link detection on the interface is enabled or not.
	LinkDetect bool `json:"link_detect,omitempty"`
}

Bgpas represents Infoblox struct bgpas

type Bgpneighbor added in v2.4.0

type Bgpneighbor struct {
	// The interface that sends BGP advertisement information.
	Interface string `json:"interface,omitempty"`

	// The IP address of the BGP neighbor.
	NeighborIp string `json:"neighbor_ip,omitempty"`

	// The remote AS number of the BGP neighbor.
	RemoteAs uint32 `json:"remote_as,omitempty"`

	// The BGP authentication mode.
	AuthenticationMode string `json:"authentication_mode,omitempty"`

	// The password for a BGP neighbor. This is required only if
	// authentication_mode is set to "MD5". When the password is entered, the value
	// is preserved even if authentication_mode is changed to "NONE". This is a
	// write-only attribute.
	BgpNeighborPass string `json:"bgp_neighbor_pass,omitempty"`

	// User comments for this BGP neighbor.
	Comment string `json:"comment,omitempty"`

	// Determines if the multi-hop support is enabled or not.
	Multihop bool `json:"multihop,omitempty"`

	// The Time To Live (TTL) value for multi-hop. Valid values are between 1 and
	// 255.
	MultihopTtl uint32 `json:"multihop_ttl,omitempty"`

	// The BFD template name.
	BfdTemplate string `json:"bfd_template,omitempty"`

	// Determines if BFD is enabled or not.
	EnableBfd bool `json:"enable_bfd,omitempty"`
}

Bgpneighbor represents Infoblox struct bgpneighbor

type Bool

type Bool bool

func (Bool) MarshalJSON

func (b Bool) MarshalJSON() ([]byte, error)

type Bulkhost added in v2.4.0

type Bulkhost struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The cloud API related information.
	CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`

	// The descriptive comment.
	Comment *string `json:"comment,omitempty"`

	// The disable flag of a DNS BulkHost record.
	Disable *bool `json:"disable,omitempty"`

	// The prefix, in punycode format, for the bulk host.
	DnsPrefix string `json:"dns_prefix,omitempty"`

	// The last IP address in the address range for the bulk host.
	EndAddr *string `json:"end_addr,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The time of the last DNS query in Epoch seconds format.
	LastQueried *UnixTime `json:"last_queried,omitempty"`

	// The bulk host name template.
	NameTemplate *string `json:"name_template,omitempty"`

	// The network view associated with the bulk host view.
	NetworkView string `json:"network_view,omitempty"`

	// The hostname policy for records under the bulk host parent zone.
	Policy string `json:"policy,omitempty"`

	// The prefix for the bulk host. The prefix is the name (or a series of
	// characters) inserted at the beginning of each host name.
	Prefix *string `json:"prefix,omitempty"`

	// The reverse flag of the BulkHost record.
	Reverse *bool `json:"reverse,omitempty"`

	// The first IP address in the address range for the bulk host.
	StartAddr *string `json:"start_addr,omitempty"`

	// The bulk host name template format.
	TemplateFormat string `json:"template_format,omitempty"`

	// The Time to Live (TTL) value.
	Ttl *uint32 `json:"ttl,omitempty"`

	// Use flag for: name_template
	UseNameTemplate *bool `json:"use_name_template,omitempty"`

	// Use flag for: ttl
	UseTtl *bool `json:"use_ttl,omitempty"`

	// The view for the bulk host.
	View *string `json:"view,omitempty"`

	// The zone name.
	Zone *string `json:"zone,omitempty"`
}

Bulkhost represents Infoblox object bulkhost. If you need to add a large number of hosts, you can have the Infoblox appliance add them as a group and automatically assign host names based on a range of IP addresses and name format applied to it. This group of hosts is referred to as a BulkHost. The Infoblox appliance uses the name space bulk-xx-xx-xx-xx for bulk host, so this name should not be used for CNAMEs and host aliases because doing so causes conflicts. Before adding a bulk host, make sure that no CNAMEs or host aliases uses this name.

func (Bulkhost) ObjectType added in v2.4.0

func (Bulkhost) ObjectType() string

func (Bulkhost) ReturnFields added in v2.4.0

func (obj Bulkhost) ReturnFields() []string

type Bulkhostnametemplate added in v2.4.0

type Bulkhostnametemplate struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// True if this template is Grid default.
	IsGridDefault bool `json:"is_grid_default,omitempty"`

	// True if this is a pre-defined template, False otherwise.
	PreDefined bool `json:"pre_defined,omitempty"`

	// The format of bulk host name template. It should follow certain rules
	// (please use Administration Guide as reference).
	TemplateFormat *string `json:"template_format,omitempty"`

	// The name of bulk host name template.
	TemplateName *string `json:"template_name,omitempty"`
}

Bulkhostnametemplate represents Infoblox object bulkhostnametemplate. The object manages the DNS bulk host name formats defined at the Grid level.

func (Bulkhostnametemplate) ObjectType added in v2.4.0

func (Bulkhostnametemplate) ObjectType() string

func (Bulkhostnametemplate) ReturnFields added in v2.4.0

func (obj Bulkhostnametemplate) ReturnFields() []string

type Cacertificate added in v2.4.0

type Cacertificate struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The certificate subject name.
	DistinguishedName string `json:"distinguished_name,omitempty"`

	// The certificate issuer subject name.
	Issuer string `json:"issuer,omitempty"`

	// The certificate serial number in hex format.
	Serial string `json:"serial,omitempty"`

	// Information about the CA certificate usage.
	UsedBy string `json:"used_by,omitempty"`

	// The date after which the certificate becomes invalid.
	ValidNotAfter *UnixTime `json:"valid_not_after,omitempty"`

	// The date before which the certificate is not valid.
	ValidNotBefore *UnixTime `json:"valid_not_before,omitempty"`
}

Cacertificate represents Infoblox object cacertificate. An CA Certificate object represents a CA certificate description.

func (Cacertificate) ObjectType added in v2.4.0

func (Cacertificate) ObjectType() string

func (Cacertificate) ReturnFields added in v2.4.0

func (obj Cacertificate) ReturnFields() []string

type CapacityReport

type CapacityReport struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Hardware type of a Grid member.
	HardwareType string `json:"hardware_type,omitempty"`

	// The maximum amount of capacity available for the Grid member.
	MaxCapacity uint32 `json:"max_capacity,omitempty"`

	// The Grid member name.
	Name string `json:"name,omitempty"`

	// A list of instance counts for object types created on the Grid member.
	ObjectCounts []*CapacityreportObjectcount `json:"object_counts,omitempty"`

	// The percentage of the capacity in use by the Grid member.
	PercentUsed uint32 `json:"percent_used,omitempty"`

	// The Grid member role.
	Role string `json:"role,omitempty"`

	// The total number of objects created by the Grid member.
	TotalObjects uint32 `json:"total_objects,omitempty"`
}

CapacityReport represents Infoblox object capacityreport. The capacity report object provides information about the object count, interface count, and other memory usage statistics for a Grid member.

func NewCapcityReport

func NewCapcityReport(capReport CapacityReport) *CapacityReport

func (CapacityReport) ObjectType added in v2.4.0

func (CapacityReport) ObjectType() string

func (CapacityReport) ReturnFields added in v2.4.0

func (obj CapacityReport) ReturnFields() []string

type CapacityreportObjectcount added in v2.4.0

type CapacityreportObjectcount struct {
	// Object type name.
	TypeName string `json:"type_name,omitempty"`

	// Number of object type instances created.
	Count uint32 `json:"count,omitempty"`
}

CapacityreportObjectcount represents Infoblox struct capacityreport:objectcount

type Captiveportal added in v2.4.0

type Captiveportal struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The authentication server group assigned to this captive portal.
	AuthnServerGroup *string `json:"authn_server_group,omitempty"`

	// The company name that appears in the guest registration page.
	CompanyName *string `json:"company_name,omitempty"`

	// Determines if authentication failures are logged to syslog or not.
	EnableSyslogAuthFailure *bool `json:"enable_syslog_auth_failure,omitempty"`

	// Determines if successful authentications are logged to syslog or not.
	EnableSyslogAuthSuccess *bool `json:"enable_syslog_auth_success,omitempty"`

	// The type of user to be enabled for the captive portal.
	EnableUserType string `json:"enable_user_type,omitempty"`

	// The encryption the captive portal uses.
	Encryption string `json:"encryption,omitempty"`

	// The list of files associated with the captive portal.
	Files []*CaptiveportalFile `json:"files,omitempty"`

	// The name of the custom field that you are adding to the guest registration
	// page.
	GuestCustomField1Name *string `json:"guest_custom_field1_name,omitempty"`

	// Determines if the custom field is required or not.
	GuestCustomField1Required *bool `json:"guest_custom_field1_required,omitempty"`

	// The name of the custom field that you are adding to the guest registration
	// page.
	GuestCustomField2Name *string `json:"guest_custom_field2_name,omitempty"`

	// Determines if the custom field is required or not.
	GuestCustomField2Required *bool `json:"guest_custom_field2_required,omitempty"`

	// The name of the custom field that you are adding to the guest registration
	// page.
	GuestCustomField3Name *string `json:"guest_custom_field3_name,omitempty"`

	// Determines if the custom field is required or not.
	GuestCustomField3Required *bool `json:"guest_custom_field3_required,omitempty"`

	// The name of the custom field that you are adding to the guest registration
	// page.
	GuestCustomField4Name *string `json:"guest_custom_field4_name,omitempty"`

	// Determines if the custom field is required or not.
	GuestCustomField4Required *bool `json:"guest_custom_field4_required,omitempty"`

	// Determines if the email address of the guest is required or not.
	GuestEmailRequired *bool `json:"guest_email_required,omitempty"`

	// Determines if the first name of the guest is required or not.
	GuestFirstNameRequired *bool `json:"guest_first_name_required,omitempty"`

	// Determines if the last name of the guest is required or not.
	GuestLastNameRequired *bool `json:"guest_last_name_required,omitempty"`

	// Determines if the middle name of the guest is required or not.
	GuestMiddleNameRequired *bool `json:"guest_middle_name_required,omitempty"`

	// Determines if the phone number of the guest is required or not.
	GuestPhoneRequired *bool `json:"guest_phone_required,omitempty"`

	// The helpdesk message that appears in the guest registration page.
	HelpdeskMessage *string `json:"helpdesk_message,omitempty"`

	// Determines the IP address on which the captive portal listens. Valid if
	// listen address type is 'IP'.
	ListenAddressIp *string `json:"listen_address_ip,omitempty"`

	// Determines the type of the IP address on which the captive portal listens.
	ListenAddressType string `json:"listen_address_type,omitempty"`

	// The hostname of the Grid member that hosts the captive portal.
	Name string `json:"name,omitempty"`

	// The network view of the captive portal.
	NetworkView *string `json:"network_view,omitempty"`

	// The TCP port used by the Captive Portal service. The port is required when
	// the Captive Portal service is enabled. Valid values are between 1 and 63999.
	// Please note that setting the port number to 80 or 443 might impact
	// performance.
	Port *uint32 `json:"port,omitempty"`

	// Determines if the captive portal service is enabled or not.
	ServiceEnabled *bool `json:"service_enabled,omitempty"`

	// The syslog level at which authentication failures are logged.
	SyslogAuthFailureLevel string `json:"syslog_auth_failure_level,omitempty"`

	// The syslog level at which successful authentications are logged.
	SyslogAuthSuccessLevel string `json:"syslog_auth_success_level,omitempty"`

	// The welcome message that appears in the guest registration page.
	WelcomeMessage *string `json:"welcome_message,omitempty"`
}

Captiveportal represents Infoblox object captiveportal. This object represents the captive portal configuration.

func (Captiveportal) ObjectType added in v2.4.0

func (Captiveportal) ObjectType() string

func (Captiveportal) ReturnFields added in v2.4.0

func (obj Captiveportal) ReturnFields() []string

type CaptiveportalFile added in v2.4.0

type CaptiveportalFile struct {
	// The name of the uploaded file.
	Name string `json:"name,omitempty"`

	// The type of the uploaded file.
	Type string `json:"type,omitempty"`
}

CaptiveportalFile represents Infoblox struct captiveportal:file

type CertificateAuthservice added in v2.4.0

type CertificateAuthservice struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Specifies the value of the client certificate for automatically populating
	// the NIOS login name.
	AutoPopulateLogin string `json:"auto_populate_login,omitempty"`

	// The list of CA certificates.
	CaCertificates []*Cacertificate `json:"ca_certificates,omitempty"`

	// The descriptive comment for the certificate authentication service.
	Comment *string `json:"comment,omitempty"`

	// Determines if this certificate authentication service is enabled or
	// disabled.
	Disabled *bool `json:"disabled,omitempty"`

	// Determines if username/password authentication together with client
	// certificate authentication is enabled or disabled.
	EnablePasswordRequest *bool `json:"enable_password_request,omitempty"`

	// Determines if the lookup for user group membership information on remote
	// services is enabled or disabled.
	EnableRemoteLookup *bool `json:"enable_remote_lookup,omitempty"`

	// The number of validation attempts before the appliance contacts the next
	// responder.
	MaxRetries *uint32 `json:"max_retries,omitempty"`

	// The name of the certificate authentication service.
	Name *string `json:"name,omitempty"`

	// Specifies the source of OCSP settings.
	OcspCheck string `json:"ocsp_check,omitempty"`

	// An ordered list of OCSP responders that are part of the certificate
	// authentication service.
	OcspResponders []*OcspResponder `json:"ocsp_responders,omitempty"`

	// The period of time the appliance waits before it attempts to contact a
	// responder that is out of service again. The value must be between 1 and 600
	// seconds.
	RecoveryInterval *uint32 `json:"recovery_interval,omitempty"`

	// The password for the service account.
	RemoteLookupPassword *string `json:"remote_lookup_password,omitempty"`

	// The service that will be used for remote lookup.
	RemoteLookupService *string `json:"remote_lookup_service,omitempty"`

	// The username for the service account.
	RemoteLookupUsername *string `json:"remote_lookup_username,omitempty"`

	// The validation timeout period in milliseconds.
	ResponseTimeout *uint32 `json:"response_timeout,omitempty"`

	// The OCSP trust model.
	TrustModel string `json:"trust_model,omitempty"`

	// Specifies how to search for a user.
	UserMatchType string `json:"user_match_type,omitempty"`
}

CertificateAuthservice represents Infoblox object certificate:authservice. This object represents an certificate authentication service.

func (CertificateAuthservice) ObjectType added in v2.4.0

func (CertificateAuthservice) ObjectType() string

func (CertificateAuthservice) ReturnFields added in v2.4.0

func (obj CertificateAuthservice) ReturnFields() []string

type Changedobject added in v2.4.0

type Changedobject struct {
	// This is a description of the action that is applied to this object.
	Action string `json:"action,omitempty"`

	// The object name.
	Name string `json:"name,omitempty"`

	// A value of the object type, this may contain objects that are not yet
	// available in WAPI.
	Type string `json:"type,omitempty"`

	// The object type. This is undefined if the object is not yet supported.
	ObjectType string `json:"object_type,omitempty"`

	// A list of properties that are being changed.
	Properties []string `json:"properties,omitempty"`
}

Changedobject represents Infoblox struct changedobject

type CiscoiseEaassociation added in v2.4.0

type CiscoiseEaassociation struct {
	// The Cisco ISE attribute name that is enabled for publishsing from a Cisco
	// ISE endpoint.
	Name string `json:"name,omitempty"`

	// The name of the extensible attribute definition object the Cisco ISE
	// attribute that is enabled for subscription is mapped on.
	MappedEa string `json:"mapped_ea,omitempty"`
}

CiscoiseEaassociation represents Infoblox struct ciscoise:eaassociation

type CiscoiseEndpoint added in v2.4.0

type CiscoiseEndpoint struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The Cisco ISE endpoint IPv4 Address or IPv6 Address or Fully-Qualified
	// Domain Name (FQDN)
	Address *string `json:"address,omitempty"`

	// The Cisco ISE bulk download certificate subject.
	BulkDownloadCertificateSubject string `json:"bulk_download_certificate_subject,omitempty"`

	// The token returned by the uploadinit function call in object fileop for
	// Cisco ISE bulk download certificate.
	BulkDownloadCertificateToken *string `json:"bulk_download_certificate_token,omitempty"`

	// The Cisco ISE bulk download certificate valid from.
	BulkDownloadCertificateValidFrom *UnixTime `json:"bulk_download_certificate_valid_from,omitempty"`

	// The Cisco ISE bulk download certificate valid to.
	BulkDownloadCertificateValidTo *UnixTime `json:"bulk_download_certificate_valid_to,omitempty"`

	// The Cisco ISE client certificate subject.
	ClientCertificateSubject string `json:"client_certificate_subject,omitempty"`

	// The token returned by the uploadinit function call in object fileop for
	// Cisco ISE client certificate.
	ClientCertificateToken *string `json:"client_certificate_token,omitempty"`

	// The Cisco ISE client certificate valid from.
	ClientCertificateValidFrom *UnixTime `json:"client_certificate_valid_from,omitempty"`

	// The Cisco ISE client certificate valid to.
	ClientCertificateValidTo *UnixTime `json:"client_certificate_valid_to,omitempty"`

	// The Cisco ISE endpoint descriptive comment.
	Comment *string `json:"comment,omitempty"`

	// The Cisco ISE connection status.
	ConnectionStatus string `json:"connection_status,omitempty"`

	// The Cisco ISE connection timeout.
	ConnectionTimeout *uint32 `json:"connection_timeout,omitempty"`

	// Determines whether a Cisco ISE endpoint is disabled or not. When this is set
	// to False, the Cisco ISE endpoint is enabled.
	Disable *bool `json:"disable,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The Cisco ISE network view name.
	NetworkView *string `json:"network_view,omitempty"`

	// The Cisco ISE publish settings.
	PublishSettings *CiscoisePublishsetting `json:"publish_settings,omitempty"`

	// The resolved IPv4 Address or IPv6 Address of the Cisco ISE endpoint.
	ResolvedAddress string `json:"resolved_address,omitempty"`

	// The resolved IPv4 Address or IPv6 Address of the Cisco ISE endpoint.
	ResolvedSecondaryAddress string `json:"resolved_secondary_address,omitempty"`

	// The Cisco ISE endpoint secondary IPv4 Address or IPv6 Address or
	// Fully-Qualified Domain Name (FQDN)
	SecondaryAddress *string `json:"secondary_address,omitempty"`

	// The Cisco ISE subscribe settings.
	SubscribeSettings *CiscoiseSubscribesetting `json:"subscribe_settings,omitempty"`

	// The name of the Grid Member object that is serving Cisco ISE endpoint.
	SubscribingMember *string `json:"subscribing_member,omitempty"`

	// The Cisco ISE endpoint type.
	Type string `json:"type,omitempty"`

	// The Cisco ISE endpoint version.
	Version string `json:"version,omitempty"`
}

CiscoiseEndpoint represents Infoblox object ciscoise:endpoint. The object contains information and configuration for third-party Cisco ISE servers integration, configuration for Cisco ISE publishing and subscription.

func (CiscoiseEndpoint) ObjectType added in v2.4.0

func (CiscoiseEndpoint) ObjectType() string

func (CiscoiseEndpoint) ReturnFields added in v2.4.0

func (obj CiscoiseEndpoint) ReturnFields() []string

type CiscoisePublishsetting added in v2.4.0

type CiscoisePublishsetting struct {
	// The list of NIOS extensible attributes enalbed for publishsing to Cisco ISE
	// endpoint.
	EnabledAttributes []string `json:"enabled_attributes,omitempty"`
}

CiscoisePublishsetting represents Infoblox struct ciscoise:publishsetting

type CiscoiseSubscribesetting added in v2.4.0

type CiscoiseSubscribesetting struct {
	// The list of Cisco ISE attributes allowed for subscription.
	EnabledAttributes []string `json:"enabled_attributes,omitempty"`

	// The list of NIOS extensible attributes to Cisco ISE attributes mappings.
	MappedEaAttributes []*CiscoiseEaassociation `json:"mapped_ea_attributes,omitempty"`
}

CiscoiseSubscribesetting represents Infoblox struct ciscoise:subscribesetting

type Clientsubnetdomain added in v2.4.0

type Clientsubnetdomain struct {
	// The FQDN that represents the ECS zone domain name.
	Domain string `json:"domain,omitempty"`

	// The ECS domain name permission.
	Permission string `json:"permission,omitempty"`
}

Clientsubnetdomain represents Infoblox struct clientsubnetdomain

type Connector

type Connector struct {
	// contains filtered or unexported fields
}

func NewConnector

func NewConnector(hostConfig HostConfig, authCfg AuthConfig, transportConfig TransportConfig,
	requestBuilder HttpRequestBuilder, requestor HttpRequestor) (res *Connector, err error)

func (*Connector) CreateObject

func (c *Connector) CreateObject(obj IBObject) (ref string, err error)

func (*Connector) DeleteObject

func (c *Connector) DeleteObject(ref string) (refRes string, err error)

func (*Connector) GetObject

func (c *Connector) GetObject(
	obj IBObject, ref string,
	queryParams *QueryParams, res interface{}) (err error)

func (*Connector) Logout

func (c *Connector) Logout() (err error)

Logout sends a request to invalidate the ibapauth cookie and should be used in a defer statement after the Connector has been successfully initialized.

func (*Connector) UpdateObject

func (c *Connector) UpdateObject(obj IBObject, ref string) (refRes string, err error)

type Csvimporttask added in v2.4.0

type Csvimporttask struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The action to execute.
	Action string `json:"action,omitempty"`

	// The login name of the administrator.
	AdminName string `json:"admin_name,omitempty"`

	// The end time of this import operation.
	EndTime *UnixTime `json:"end_time,omitempty"`

	// The name of the file used for the import operation.
	FileName string `json:"file_name,omitempty"`

	// The size of the file used for the import operation.
	FileSize uint32 `json:"file_size,omitempty"`

	// The ID of the current import task.
	ImportId uint32 `json:"import_id,omitempty"`

	// The number of lines that encountered an error.
	LinesFailed uint32 `json:"lines_failed,omitempty"`

	// The number of lines that have been processed.
	LinesProcessed uint32 `json:"lines_processed,omitempty"`

	// The number of lines that encountered a warning.
	LinesWarning uint32 `json:"lines_warning,omitempty"`

	// The action to take when an error is encountered.
	OnError string `json:"on_error,omitempty"`

	// The operation to execute.
	Operation string `json:"operation,omitempty"`

	// The separator to be used for the data in the CSV file.
	Separator string `json:"separator,omitempty"`

	// The start time of the import operation.
	StartTime *UnixTime `json:"start_time,omitempty"`

	// The status of the import operation
	Status string `json:"status,omitempty"`

	// The update method to be used for the operation.
	UpdateMethod string `json:"update_method,omitempty"`
}

Csvimporttask represents Infoblox object csvimporttask. This object represents a CSV import task, if the task was created but not started by an import operation, it can be started by modifying it and assigning the value ‘START’ to the ‘action’ field.

func (Csvimporttask) ObjectType added in v2.4.0

func (Csvimporttask) ObjectType() string

func (Csvimporttask) ReturnFields added in v2.4.0

func (obj Csvimporttask) ReturnFields() []string

type DbObjects added in v2.4.0

type DbObjects struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The last returned sequence ID.
	LastSequenceId string `json:"last_sequence_id,omitempty"`

	// The record object when supported by WAPI. Otherwise, the value is "None".
	Object string `json:"object,omitempty"`

	// The object type. This is undefined if the object is not supported.
	ObjectTypeField string `json:"object_type,omitempty"`

	// The unique ID of the requested object.
	UniqueId string `json:"unique_id,omitempty"`
}

DbObjects represents Infoblox object db_objects. The DB Objects object is used to search for changes in objects of the Infoblox Grid.

func (DbObjects) ObjectType added in v2.4.0

func (DbObjects) ObjectType() string

func (DbObjects) ReturnFields added in v2.4.0

func (obj DbObjects) ReturnFields() []string

type Dbsnapshot added in v2.4.0

type Dbsnapshot struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The descriptive comment.
	Comment string `json:"comment,omitempty"`

	// The time when the latest OneDB snapshot was taken in Epoch seconds format.
	Timestamp *UnixTime `json:"timestamp,omitempty"`
}

Dbsnapshot represents Infoblox object dbsnapshot. The object provides information about the OneDB snapshot, the last time it was taken and the descriptive comment.

func (Dbsnapshot) ObjectType added in v2.4.0

func (Dbsnapshot) ObjectType() string

func (Dbsnapshot) ReturnFields added in v2.4.0

func (obj Dbsnapshot) ReturnFields() []string

type DdnsPrincipalcluster added in v2.4.0

type DdnsPrincipalcluster struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Comment for the DDNS Principal Cluster.
	Comment *string `json:"comment,omitempty"`

	// The DDNS Principal cluster group name.
	Group *string `json:"group,omitempty"`

	// The name of this DDNS Principal Cluster.
	Name *string `json:"name,omitempty"`

	// The list of equivalent principals.
	Principals []string `json:"principals,omitempty"`
}

DdnsPrincipalcluster represents Infoblox object ddns:principalcluster. The DDNS Principal Cluster object represents a set of principals such that any principal in a DDNS Principal Cluster can update records created by any other principal in the same cluster.

func (DdnsPrincipalcluster) ObjectType added in v2.4.0

func (DdnsPrincipalcluster) ObjectType() string

func (DdnsPrincipalcluster) ReturnFields added in v2.4.0

func (obj DdnsPrincipalcluster) ReturnFields() []string

type DdnsPrincipalclusterGroup added in v2.4.0

type DdnsPrincipalclusterGroup struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The list of equivalent DDNS principal clusters.
	Clusters []*DdnsPrincipalcluster `json:"clusters,omitempty"`

	// Comment for the DDNS Principal Cluster Group.
	Comment *string `json:"comment,omitempty"`

	// The name of this DDNS Principal Cluster Group.
	Name *string `json:"name,omitempty"`
}

DdnsPrincipalclusterGroup represents Infoblox object ddns:principalcluster:group. The DDNS Principal Cluster Group object represents a set of DDNS Principal Clusters. A single group can be active at any time.

func (DdnsPrincipalclusterGroup) ObjectType added in v2.4.0

func (DdnsPrincipalclusterGroup) ObjectType() string

func (DdnsPrincipalclusterGroup) ReturnFields added in v2.4.0

func (obj DdnsPrincipalclusterGroup) ReturnFields() []string

type DeletedObjects added in v2.4.0

type DeletedObjects struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The object type of the deleted object. This is undefined if the object is
	// not supported.
	ObjectTypeField string `json:"object_type,omitempty"`
}

DeletedObjects represents Infoblox object deleted_objects. The Deleted Objects object is used to display information about deleted objects. You can retrieve it from the appliance only as a part of DB Objects response.

func (DeletedObjects) ObjectType added in v2.4.0

func (DeletedObjects) ObjectType() string

func (DeletedObjects) ReturnFields added in v2.4.0

func (obj DeletedObjects) ReturnFields() []string

type Dhcp added in v2.6.0

type Dhcp struct {
	IBBase `json:"-"`

	Ref         string `json:"_ref,omitempty"`
	Ea          EA     `json:"extattrs"`
	Comment     string `json:"comment,omitempty"`
	HostName    string `json:"host_name,omitempty"`
	IPv4Address string `json:"ipv4addr,omitempty"`
	EnableDhcp  bool   `json:"enable_dhcp"`
	// contains filtered or unexported fields
}

func NewDhcp added in v2.6.0

func NewDhcp(dhcp Dhcp) *Dhcp

func (Dhcp) ObjectType added in v2.6.0

func (d Dhcp) ObjectType() string

type DhcpStatistics added in v2.4.0

type DhcpStatistics struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The percentage of the total DHCP utilization of DHCP objects multiplied by
	// 1000. This is the percentage of the total number of available IP addresses
	// belonging to the object versus the total number of all IP addresses in
	// object.
	DhcpUtilization uint32 `json:"dhcp_utilization,omitempty"`

	// A string describing the utilization level of the DHCP object.
	DhcpUtilizationStatus string `json:"dhcp_utilization_status,omitempty"`

	// The total number of DHCP leases issued for the DHCP object.
	DynamicHosts uint32 `json:"dynamic_hosts,omitempty"`

	// The number of static DHCP addresses configured in the DHCP object.
	StaticHosts uint32 `json:"static_hosts,omitempty"`

	// The total number of DHCP addresses configured in the DHCP object.
	TotalHosts uint32 `json:"total_hosts,omitempty"`
}

DhcpStatistics represents Infoblox object dhcp:statistics. DHCP Statistics object is used to display information about DHCP utilization status, number of static and dynamic hosts, overall DHCP utilization in percentage. DHCP Statistics object supports references on following objects: network, range, sharednetwork, msserver:dhcp, member:dhcpproperties.

func (DhcpStatistics) ObjectType added in v2.4.0

func (DhcpStatistics) ObjectType() string

func (DhcpStatistics) ReturnFields added in v2.4.0

func (obj DhcpStatistics) ReturnFields() []string

type Dhcpddns added in v2.4.0

type Dhcpddns struct {
	// Indicate matching type.
	ZoneMatch string `json:"zone_match,omitempty"`

	// The ref of a DNS zone.
	DnsGridZone string `json:"dns_grid_zone,omitempty"`

	// The name of a Grid member.
	DnsGridPrimary string `json:"dns_grid_primary,omitempty"`

	// The name of external zone in FQDN format.
	DnsExtZone string `json:"dns_ext_zone,omitempty"`

	// The IP address of the External server. Valid when zone_match is "EXTERNAL"
	// or "ANY_EXTERNAL".
	DnsExtPrimary string `json:"dns_ext_primary,omitempty"`
}

Dhcpddns represents Infoblox struct dhcpddns

type Dhcpfailover added in v2.4.0

type Dhcpfailover struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The value indicating whether the failover assoctaion is Microsoft or Grid
	// based. This is a read-only attribute.
	AssociationType string `json:"association_type,omitempty"`

	// A descriptive comment about a DHCP failover object.
	Comment *string `json:"comment,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// Determines the TCP port on which the server should listen for connections
	// from its failover peer. Valid values are between 1 and 63999.
	FailoverPort *uint32 `json:"failover_port,omitempty"`

	// A load balancing split value of a DHCP failover object. Specify the value of
	// the maximum load balancing delay in a 8-bit integer format (range from 0 to
	// 256).
	LoadBalanceSplit *uint32 `json:"load_balance_split,omitempty"`

	// The maximum client lead time value of a DHCP failover object. Specify the
	// value of the maximum client lead time in a 32-bit integer format (range from
	// 0 to 4294967295) that represents the duration in seconds. Valid values are
	// between 1 and 4294967295.
	MaxClientLeadTime *uint32 `json:"max_client_lead_time,omitempty"`

	// The maximum load balancing delay value of a DHCP failover object. Specify
	// the value of the maximum load balancing delay in a 32-bit integer format
	// (range from 0 to 4294967295) that represents the duration in seconds. Valid
	// values are between 1 and 4294967295.
	MaxLoadBalanceDelay *uint32 `json:"max_load_balance_delay,omitempty"`

	// The maximum response delay value of a DHCP failover object. Specify the
	// value of the maximum response delay in a 32-bit integer format (range from 0
	// to 4294967295) that represents the duration in seconds. Valid values are
	// between 1 and 4294967295.
	MaxResponseDelay *uint32 `json:"max_response_delay,omitempty"`

	// The maximum number of unacked updates value of a DHCP failover object.
	// Specify the value of the maximum number of unacked updates in a 32-bit
	// integer format (range from 0 to 4294967295) that represents the number of
	// messages. Valid values are between 1 and 4294967295.
	MaxUnackedUpdates *uint32 `json:"max_unacked_updates,omitempty"`

	// The value that indicates whether the failover association is read-write or
	// read-only. This is a read-only attribute.
	MsAssociationMode string `json:"ms_association_mode,omitempty"`

	// Determines if the authentication for the failover association is enabled or
	// not.
	MsEnableAuthentication *bool `json:"ms_enable_authentication,omitempty"`

	// Determines if the switchover interval is enabled or not.
	MsEnableSwitchoverInterval *bool `json:"ms_enable_switchover_interval,omitempty"`

	// The mode for the failover association.
	MsFailoverMode string `json:"ms_failover_mode,omitempty"`

	// Failover partner defined in the association with the Microsoft Server.
	MsFailoverPartner string `json:"ms_failover_partner,omitempty"`

	// The partner role in the case of HotStandby.
	MsHotstandbyPartnerRole string `json:"ms_hotstandby_partner_role,omitempty"`

	// Determines if the matching Microsfot failover association (if any) is in
	// synchronization (False) or not (True). If there is no matching failover
	// association the returned values is False. This is a read-only attribute.
	MsIsConflict bool `json:"ms_is_conflict,omitempty"`

	// The previous failover association state. This is a read-only attribute.
	MsPreviousState string `json:"ms_previous_state,omitempty"`

	// The primary Microsoft Server.
	MsServer string `json:"ms_server,omitempty"`

	// The failover association authentication. This is a write-only attribute.
	MsSharedSecret *string `json:"ms_shared_secret,omitempty"`

	// The failover association state. This is a read-only attribute.
	MsState string `json:"ms_state,omitempty"`

	// The time (in seconds) that DHCPv4 server will wait before transitioning the
	// server from the COMMUNICATION-INT state to PARTNER-DOWN state.
	MsSwitchoverInterval *uint32 `json:"ms_switchover_interval,omitempty"`

	// The name of a DHCP failover object.
	Name *string `json:"name,omitempty"`

	// The primary server of a DHCP failover object.
	Primary *string `json:"primary,omitempty"`

	// The type of the primary server of DHCP Failover association object.
	PrimaryServerType string `json:"primary_server_type,omitempty"`

	// The primary server status of a DHCP failover object.
	PrimaryState string `json:"primary_state,omitempty"`

	// Determines if the leases are kept in recycle bin until one week after
	// expiration or not.
	RecycleLeases *bool `json:"recycle_leases,omitempty"`

	// The secondary server of a DHCP failover object.
	Secondary *string `json:"secondary,omitempty"`

	// The type of the secondary server of DHCP Failover association object.
	SecondaryServerType string `json:"secondary_server_type,omitempty"`

	// The secondary server status of a DHCP failover object.
	SecondaryState string `json:"secondary_state,omitempty"`

	// Use flag for: failover_port
	UseFailoverPort *bool `json:"use_failover_port,omitempty"`

	// Use flag for: ms_switchover_interval
	UseMsSwitchoverInterval *bool `json:"use_ms_switchover_interval,omitempty"`

	// Use flag for: recycle_leases
	UseRecycleLeases *bool `json:"use_recycle_leases,omitempty"`
}

Dhcpfailover represents Infoblox object dhcpfailover. DHCP failover is a protocol designed to allow a backup DHCP server to take over for a main server if the main server is taken off the network for any reason. DHCP failover can be used to configure two DHCP servers to operate as a redundant pair.

func (Dhcpfailover) ObjectType added in v2.4.0

func (Dhcpfailover) ObjectType() string

func (Dhcpfailover) ReturnFields added in v2.4.0

func (obj Dhcpfailover) ReturnFields() []string

type Dhcpmember added in v2.4.0

type Dhcpmember struct {
	// The IPv4 Address of the Grid Member.
	Ipv4Addr string `json:"ipv4addr,omitempty"`

	// The IPv6 Address of the Grid Member.
	Ipv6Addr string `json:"ipv6addr,omitempty"`

	// The Grid member name
	Name string `json:"name,omitempty"`
}

Dhcpmember represents Infoblox struct dhcpmember

type Dhcpoption added in v2.4.0

type Dhcpoption struct {
	// Name of the DHCP option.
	Name string `json:"name,omitempty"`

	// The code of the DHCP option.
	Num uint32 `json:"num,omitempty"`

	// The name of the space this DHCP option is associated to.
	VendorClass string `json:"vendor_class,omitempty"`

	// Value of the DHCP option
	Value string `json:"value,omitempty"`

	// Only applies to special options that are displayed separately from other
	// options and have a use flag. These options are: * routers * router-templates
	// * domain-name-servers * domain-name * broadcast-address *
	// broadcast-address-offset * dhcp-lease-time * dhcp6.name-servers
	UseOption bool `json:"use_option,omitempty"`
}

Dhcpoption represents Infoblox struct dhcpoption

type Dhcpoptiondefinition added in v2.4.0

type Dhcpoptiondefinition struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The code of a DHCP option definition object. An option code number is used
	// to identify the DHCP option.
	Code *uint32 `json:"code,omitempty"`

	// The name of a DHCP option definition object.
	Name *string `json:"name,omitempty"`

	// The space of a DHCP option definition object.
	Space *string `json:"space,omitempty"`

	// The data type of the Grid DHCP option.
	Type string `json:"type,omitempty"`
}

Dhcpoptiondefinition represents Infoblox object dhcpoptiondefinition. An option definition defines a DHCP option within a specific option space. A custom option can be defined in the predefined DHCP option space or in the user-defined vendor option space. To define an option, add the option definition to the required option space.

func (Dhcpoptiondefinition) ObjectType added in v2.4.0

func (Dhcpoptiondefinition) ObjectType() string

func (Dhcpoptiondefinition) ReturnFields added in v2.4.0

func (obj Dhcpoptiondefinition) ReturnFields() []string

type Dhcpoptionspace added in v2.4.0

type Dhcpoptionspace struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// A descriptive comment of a DHCP option space object.
	Comment *string `json:"comment,omitempty"`

	// The name of a DHCP option space object.
	Name *string `json:"name,omitempty"`

	// The list of DHCP option definition objects.
	OptionDefinitions []string `json:"option_definitions,omitempty"`

	// The type of a DHCP option space object.
	SpaceType string `json:"space_type,omitempty"`
}

Dhcpoptionspace represents Infoblox object dhcpoptionspace. An Option Space defines a namespace in which vendor options can be defined. To define a specific vendor option space, add an option space to DHCP.

func (Dhcpoptionspace) ObjectType added in v2.4.0

func (Dhcpoptionspace) ObjectType() string

func (Dhcpoptionspace) ReturnFields added in v2.4.0

func (obj Dhcpoptionspace) ReturnFields() []string

type Dhcpserver added in v2.4.0

type Dhcpserver struct {
	// Flag to override login name and password from the MS Server
	UseLogin bool `json:"use_login,omitempty"`

	// Microsoft Server login name
	LoginName string `json:"login_name,omitempty"`

	// Microsoft Server login password
	LoginPassword string `json:"login_password,omitempty"`

	// flag indicating if the DNS service is managed
	Managed bool `json:"managed,omitempty"`

	// Defines what control to apply on the DNS server
	NextSyncControl string `json:"next_sync_control,omitempty"`

	// Status of the Microsoft DNS Service
	Status string `json:"status,omitempty"`

	// Timestamp of the last update
	StatusLastUpdated *UnixTime `json:"status_last_updated,omitempty"`

	// Override enable monitoring inherited from grid level
	UseEnableMonitoring bool `json:"use_enable_monitoring,omitempty"`

	// Flag indicating if the DNS service is monitored and controlled
	EnableMonitoring bool `json:"enable_monitoring,omitempty"`

	// Override setting for Enable Invalid Mac Address
	UseEnableInvalidMac bool `json:"use_enable_invalid_mac,omitempty"`

	// Enable Invalid Mac Address
	EnableInvalidMac bool `json:"enable_invalid_mac,omitempty"`

	// Flag indicating if the DHCP supports Failover
	SupportsFailover bool `json:"supports_failover,omitempty"`

	// Flag to override synchronization interval from the MS Server
	UseSynchronizationMinDelay bool `json:"use_synchronization_min_delay,omitempty"`

	// Minimum number of minutes between two synchronizations
	SynchronizationMinDelay uint32 `json:"synchronization_min_delay,omitempty"`
}

Dhcpserver represents Infoblox struct dhcpserver

type Discovery added in v2.4.0

type Discovery struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`
}

Discovery represents Infoblox object discovery. This object can be used to control the Network Insight functionality of the appliance.

func (Discovery) ObjectType added in v2.4.0

func (Discovery) ObjectType() string

func (Discovery) ReturnFields added in v2.4.0

func (obj Discovery) ReturnFields() []string

type DiscoveryAdvancedpollsetting added in v2.4.0

type DiscoveryAdvancedpollsetting struct {
	// The TCP scan method.
	TcpScanTechnique string `json:"tcp_scan_technique,omitempty"`

	// The ping timeout in seconds.
	PingTimeout uint32 `json:"ping_timeout,omitempty"`

	// The number of ping retries.
	PingRetries uint32 `json:"ping_retries,omitempty"`

	// The number of days a device remains in database after it is no longer found
	// in network.
	PurgeExpiredDeviceData uint32 `json:"purge_expired_device_data,omitempty"`

	// Determines if purge of expired end host data is enabled.
	EnablePurgeExpiredEndhostData bool `json:"enable_purge_expired_endhost_data,omitempty"`

	// The number of days a end host remains in database after it is no longer
	// found in network.
	PurgeExpiredEndhostData uint32 `json:"purge_expired_endhost_data,omitempty"`

	// The ARP aggregate limit.
	ArpAggregateLimit uint32 `json:"arp_aggregate_limit,omitempty"`

	// Route limit.
	RouteLimit uint32 `json:"route_limit,omitempty"`

	// The hourly wait interval between ping sweeps for individual discovery
	// ranges.
	PingSweepInterval uint32 `json:"ping_sweep_interval,omitempty"`

	// The refresh interval in seconds for ARP cache.
	ArpCacheRefreshInterval uint32 `json:"arp_cache_refresh_interval,omitempty"`

	// Determines if polling and authenticating using SNMPv2c or later is enabled.
	PollingAuthenticateSnmpv2cOrLaterOnly bool `json:"polling_authenticate_snmpv2c_or_later_only,omitempty"`

	// Determines if discovery of networks that are not in IPAM is disabled.
	DisableDiscoveryOutsideIpam bool `json:"disable_discovery_outside_ipam,omitempty"`

	// Determines if DHCP router is used as seed for discovery.
	DhcpRouterAsSeed bool `json:"dhcp_router_as_seed,omitempty"`

	// Determines if syslogging of IPAM sync events is enabled.
	SyslogIpamEvents bool `json:"syslog_ipam_events,omitempty"`

	// Determines if syslogging of Network sync events is enabled.
	SyslogNetworkEvents bool `json:"syslog_network_events,omitempty"`
}

DiscoveryAdvancedpollsetting represents Infoblox struct discovery:advancedpollsetting

type DiscoveryAdvancedsdnpollsettings added in v2.4.0

type DiscoveryAdvancedsdnpollsettings struct {
	// Policy of mapping SDN networks to network views. To obtain mapping table use
	// the object discovery:sdnnetwork
	NetworksMappingPolicy string `json:"networks_mapping_policy,omitempty"`

	// Disable discovery of SDN subnets that are not in IPAM.
	DisableSdnDiscoveryOutsideIpam bool `json:"disable_sdn_discovery_outside_ipam,omitempty"`
}

DiscoveryAdvancedsdnpollsettings represents Infoblox struct discovery:advancedsdnpollsettings

type DiscoveryAdvisorsetting added in v2.4.0

type DiscoveryAdvisorsetting struct {
	// Use proxy server if true.
	EnableProxy bool `json:"enable_proxy,omitempty"`

	// Host name or ip address of the proxy server.
	ProxyAddress string `json:"proxy_address,omitempty"`

	// Port number the proxy listens on.
	ProxyPort uint32 `json:"proxy_port,omitempty"`

	// Is proxy authorization required?
	UseProxyUsernamePasswd bool `json:"use_proxy_username_passwd,omitempty"`

	// Proxy username.
	ProxyUsername string `json:"proxy_username,omitempty"`

	// Proxy password.
	ProxyPassword string `json:"proxy_password,omitempty"`

	// Application execution interval in seconds. Must be greater than or equal to
	// 86400 seconds (1 day).
	ExecutionInterval uint32 `json:"execution_interval,omitempty"`

	// Application execution hour.
	ExecutionHour uint32 `json:"execution_hour,omitempty"`

	// The type of the network interface on consolidator member.
	NetworkInterfaceType string `json:"network_interface_type,omitempty"`

	// The interface for Advisor application on consolidator member.
	NetworkInterfaceVirtualIp string `json:"network_interface_virtual_ip,omitempty"`

	// Host name or ip address of the Advisor server
	Address string `json:"address,omitempty"`

	// Port number the Advisor server listens on
	Port uint32 `json:"port,omitempty"`

	// Authentication type used for Advisor server
	AuthType string `json:"auth_type,omitempty"`

	// Advisor AUTH token
	AuthToken string `json:"auth_token,omitempty"`

	// Username for Advisor server
	Username string `json:"username,omitempty"`

	// Password for Advisor server
	Password string `json:"password,omitempty"`

	// Advisor minimal severity
	MinSeverity string `json:"min_severity,omitempty"`

	// Timestamp of the Advisor last execution attempt'
	LastExecTime *UnixTime `json:"last_exec_time,omitempty"`

	// Result of the last execution attempt of Advisor
	LastExecStatus string `json:"last_exec_status,omitempty"`

	// Details of the last execution attempt of Advisor. Describes the error or
	// warning with a string
	LastExecDetails string `json:"last_exec_details,omitempty"`

	// Timestamp of the Advisor last Run Now attempt'
	LastRunNowTime *UnixTime `json:"last_run_now_time,omitempty"`

	// Result of the last Run Now attempt of Advisor
	LastRunNowStatus string `json:"last_run_now_status,omitempty"`

	// Details of the last Run Now attempt of Advisor. Describes the error or
	// warning with a string
	LastRunNowDetails string `json:"last_run_now_details,omitempty"`
}

DiscoveryAdvisorsetting represents Infoblox struct discovery:advisorsetting

type DiscoveryAutoconversionsetting added in v2.4.0

type DiscoveryAutoconversionsetting struct {
	// The network view name which contains discovered data for convert.
	NetworkView string `json:"network_view,omitempty"`

	// The object type used to define the converted object.
	Type string `json:"type,omitempty"`

	// Template string used to generate host names.
	Format string `json:"format,omitempty"`

	// The string that contains condition of use the auto conversion settings.
	Condition string `json:"condition,omitempty"`

	// The comment.
	Comment string `json:"comment,omitempty"`
}

DiscoveryAutoconversionsetting represents Infoblox struct discovery:autoconversionsetting

type DiscoveryBasicpollsettings added in v2.4.0

type DiscoveryBasicpollsettings struct {
	// Determines whether port scanning is enabled or not.
	PortScanning bool `json:"port_scanning,omitempty"`

	// Determines whether device profile is enabled or not.
	DeviceProfile bool `json:"device_profile,omitempty"`

	// Determines whether SNMP collection is enabled or not.
	SnmpCollection bool `json:"snmp_collection,omitempty"`

	// Determines whether CLI collection is enabled or not.
	CliCollection bool `json:"cli_collection,omitempty"`

	// Determines whether netbios scanning is enabled or not.
	NetbiosScanning bool `json:"netbios_scanning,omitempty"`

	// Determines whether complete ping sweep is enabled or not.
	CompletePingSweep bool `json:"complete_ping_sweep,omitempty"`

	// Determines whether smart subnet ping sweep is enabled or not.
	SmartSubnetPingSweep bool `json:"smart_subnet_ping_sweep,omitempty"`

	// Determines whether auto ARP refresh before switch port polling is enabled or
	// not.
	AutoArpRefreshBeforeSwitchPortPolling bool `json:"auto_arp_refresh_before_switch_port_polling,omitempty"`

	// A switch port data collection polling mode.
	SwitchPortDataCollectionPolling string `json:"switch_port_data_collection_polling,omitempty"`

	// A Schedule Setting struct that determines switch port data collection
	// polling schedule.
	SwitchPortDataCollectionPollingSchedule *SettingSchedule `json:"switch_port_data_collection_polling_schedule,omitempty"`

	// Indicates the interval for switch port data collection polling.
	SwitchPortDataCollectionPollingInterval uint32 `json:"switch_port_data_collection_polling_interval,omitempty"`

	// Credential group.
	CredentialGroup string `json:"credential_group,omitempty"`
}

DiscoveryBasicpollsettings represents Infoblox struct discovery:basicpollsettings

type DiscoveryBasicsdnpollsettings added in v2.4.0

type DiscoveryBasicsdnpollsettings struct {
	// Enable/disable SDN discovery.
	SdnDiscovery bool `json:"sdn_discovery,omitempty"`

	// Default network view to map collected SDN networks.
	DefaultNetworkView string `json:"default_network_view,omitempty"`

	// SDN end host polling mode.
	EndHostPolling string `json:"end_host_polling,omitempty"`

	// Valid SDN end host polling interval in seconds. Must be between 1800 and
	// 86400 seconds.
	EndHostPollingInterval uint32 `json:"end_host_polling_interval,omitempty"`

	// A Schedule Setting struct that determines SDN end host polling schedule.
	EndHostPollingSchedule *SettingSchedule `json:"end_host_polling_schedule,omitempty"`
}

DiscoveryBasicsdnpollsettings represents Infoblox struct discovery:basicsdnpollsettings

type DiscoveryClicredential added in v2.4.0

type DiscoveryClicredential struct {
	// The CLI user name.
	User string `json:"user,omitempty"`

	// The CLI password.
	Password string `json:"password,omitempty"`

	// The type of the credential.
	CredentialType string `json:"credential_type,omitempty"`

	// The commment for the credential.
	Comment string `json:"comment,omitempty"`

	// The Credentials ID.
	Id uint32 `json:"id,omitempty"`

	// Group for the CLI credential.
	CredentialGroup string `json:"credential_group,omitempty"`
}

DiscoveryClicredential represents Infoblox struct discovery:clicredential

type DiscoveryCredentialgroup added in v2.4.0

type DiscoveryCredentialgroup struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The name of the Credential group.
	Name *string `json:"name,omitempty"`
}

DiscoveryCredentialgroup represents Infoblox object discovery:credentialgroup. This object provides information about the Credential group.

func (DiscoveryCredentialgroup) ObjectType added in v2.4.0

func (DiscoveryCredentialgroup) ObjectType() string

func (DiscoveryCredentialgroup) ReturnFields added in v2.4.0

func (obj DiscoveryCredentialgroup) ReturnFields() []string

type DiscoveryDevice added in v2.4.0

type DiscoveryDevice struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The IPv4 Address or IPv6 Address of the device.
	Address string `json:"address,omitempty"`

	// The ref to management IP address of the device.
	AddressRef string `json:"address_ref,omitempty"`

	// The list of available management IPs for the device.
	AvailableMgmtIps []string `json:"available_mgmt_ips,omitempty"`

	// Determines whether to modify the admin status of an interface of the device.
	CapAdminStatusInd bool `json:"cap_admin_status_ind,omitempty"`

	// The reason that the edit admin status action is not available.
	CapAdminStatusNaReason string `json:"cap_admin_status_na_reason,omitempty"`

	// Determines whether to modify the description of an interface on the device.
	CapDescriptionInd bool `json:"cap_description_ind,omitempty"`

	// The reason that the edit description action is not available.
	CapDescriptionNaReason string `json:"cap_description_na_reason,omitempty"`

	// Determines whether to deprovision a network from interfaces of the device.
	CapNetDeprovisioningInd bool `json:"cap_net_deprovisioning_ind,omitempty"`

	// The reason that the deprovision a network from interfaces of this device is
	// not available.
	CapNetDeprovisioningNaReason string `json:"cap_net_deprovisioning_na_reason,omitempty"`

	// Determines whether to modify the network associated to an interface of the
	// device.
	CapNetProvisioningInd bool `json:"cap_net_provisioning_ind,omitempty"`

	// The reason that network provisioning is not available.
	CapNetProvisioningNaReason string `json:"cap_net_provisioning_na_reason,omitempty"`

	// Determines whether to create a VLAN and then provision a network to the
	// interface of the device.
	CapNetVlanProvisioningInd bool `json:"cap_net_vlan_provisioning_ind,omitempty"`

	// The reason that network provisioning on VLAN is not available.
	CapNetVlanProvisioningNaReason string `json:"cap_net_vlan_provisioning_na_reason,omitempty"`

	// Determines whether to modify the VLAN assignement of an interface of the
	// device.
	CapVlanAssignmentInd bool `json:"cap_vlan_assignment_ind,omitempty"`

	// The reason that VLAN assignment action is not available.
	CapVlanAssignmentNaReason string `json:"cap_vlan_assignment_na_reason,omitempty"`

	// Determines whether to modify the voice VLAN assignment of an interface of
	// the device.
	CapVoiceVlanInd bool `json:"cap_voice_vlan_ind,omitempty"`

	// The reason that voice VLAN assignment action is not available.
	CapVoiceVlanNaReason string `json:"cap_voice_vlan_na_reason,omitempty"`

	// The device chassis serial number.
	ChassisSerialNumber string `json:"chassis_serial_number,omitempty"`

	// The description of the device.
	Description string `json:"description,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// List of the device interfaces.
	Interfaces []*DiscoveryDeviceinterface `json:"interfaces,omitempty"`

	// The location of the device.
	Location string `json:"location,omitempty"`

	// The model name of the device.
	Model string `json:"model,omitempty"`

	// The Microsoft Active Directory user related information.
	MsAdUserData *MsserverAduserData `json:"ms_ad_user_data,omitempty"`

	// The name of the device.
	Name string `json:"name,omitempty"`

	// List of the device neighbors.
	Neighbors []*DiscoveryDeviceneighbor `json:"neighbors,omitempty"`

	// The ref to the network to which belongs the management IP address belongs.
	Network string `json:"network,omitempty"`

	// The list of networks to which the device interfaces belong.
	NetworkInfos []*DiscoveryNetworkinfo `json:"network_infos,omitempty"`

	// The name of the network view in which this device resides.
	NetworkView string `json:"network_view,omitempty"`

	// The list of networks to which the device interfaces belong.
	Networks []*Ipv4Network `json:"networks,omitempty"`

	// The Operating System version running on the device.
	OsVersion string `json:"os_version,omitempty"`

	// The port statistics of the device.
	PortStats *DiscoveryDevicePortstatistics `json:"port_stats,omitempty"`

	// A flag indicated that NI should send enable command when interacting with
	// device.
	PrivilegedPolling *bool `json:"privileged_polling,omitempty"`

	// The type of the device.
	Type string `json:"type,omitempty"`

	// User-defined management IP address of the device.
	UserDefinedMgmtIp *string `json:"user_defined_mgmt_ip,omitempty"`

	// The vendor name of the device.
	Vendor string `json:"vendor,omitempty"`

	// The list of VLAN information associated with the device.
	VlanInfos []*DiscoveryVlaninfo `json:"vlan_infos,omitempty"`
}

DiscoveryDevice represents Infoblox object discovery:device. The devices discovered by Network Automation

func (DiscoveryDevice) ObjectType added in v2.4.0

func (DiscoveryDevice) ObjectType() string

func (DiscoveryDevice) ReturnFields added in v2.4.0

func (obj DiscoveryDevice) ReturnFields() []string

type DiscoveryDevicePortstatistics added in v2.4.0

type DiscoveryDevicePortstatistics struct {
	// The total number of available interfaces on this device.
	InterfacesCount uint32 `json:"interfaces_count,omitempty"`

	// The total number of interfaces which have both administrative and operating
	// states as 'UP'.
	AdminUpOperUpCount uint32 `json:"admin_up_oper_up_count,omitempty"`

	// The total number of interfaces which have administrative state 'UP' and oper
	// state 'DOWN'.
	AdminUpOperDownCount uint32 `json:"admin_up_oper_down_count,omitempty"`

	// The total number of interfaces which have administrative state 'DOWN' and
	// operating state 'DOWN'.
	AdminDownOperDownCount uint32 `json:"admin_down_oper_down_count,omitempty"`
}

DiscoveryDevicePortstatistics represents Infoblox struct discovery:device:portstatistics

type DiscoveryDevicecomponent added in v2.4.0

type DiscoveryDevicecomponent struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The component name.
	ComponentName string `json:"component_name,omitempty"`

	// The description of the device component.
	Description string `json:"description,omitempty"`

	// A reference to a device, to which this component belongs to.
	Device string `json:"device,omitempty"`

	// The model of the device component.
	Model string `json:"model,omitempty"`

	// The serial number of the device component.
	Serial string `json:"serial,omitempty"`

	// The type of device component.
	Type string `json:"type,omitempty"`
}

DiscoveryDevicecomponent represents Infoblox object discovery:devicecomponent. The device components discovered by Network Automation.

func (DiscoveryDevicecomponent) ObjectType added in v2.4.0

func (DiscoveryDevicecomponent) ObjectType() string

func (DiscoveryDevicecomponent) ReturnFields added in v2.4.0

func (obj DiscoveryDevicecomponent) ReturnFields() []string

type DiscoveryDeviceinterface added in v2.4.0

type DiscoveryDeviceinterface struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Administrative state of the interface.
	AdminStatus string `json:"admin_status,omitempty"`

	// The configured admin status task info of the interface.
	AdminStatusTaskInfo *DiscoveryPortConfigAdminstatus `json:"admin_status_task_info,omitempty"`

	// Name of the port channel current interface belongs to.
	AggrInterfaceName string `json:"aggr_interface_name,omitempty"`

	// Determines whether to modify the admin status of the interface.
	CapIfAdminStatusInd bool `json:"cap_if_admin_status_ind,omitempty"`

	// The reason that the edit admin status action is not available.
	CapIfAdminStatusNaReason string `json:"cap_if_admin_status_na_reason,omitempty"`

	// Determines whether to modify the description of the interface.
	CapIfDescriptionInd bool `json:"cap_if_description_ind,omitempty"`

	// The reason that the edit description action is not available.
	CapIfDescriptionNaReason string `json:"cap_if_description_na_reason,omitempty"`

	// Determines whether to deprovision a IPv4 network from the interfaces.
	CapIfNetDeprovisioningIpv4Ind bool `json:"cap_if_net_deprovisioning_ipv4_ind,omitempty"`

	// The reason that the deprovision a IPv4 network from the interface.
	CapIfNetDeprovisioningIpv4NaReason string `json:"cap_if_net_deprovisioning_ipv4_na_reason,omitempty"`

	// Determines whether to deprovision a IPv6 network from the interfaces.
	CapIfNetDeprovisioningIpv6Ind bool `json:"cap_if_net_deprovisioning_ipv6_ind,omitempty"`

	// The reason that the deprovision a IPv6 network from the interface.
	CapIfNetDeprovisioningIpv6NaReason string `json:"cap_if_net_deprovisioning_ipv6_na_reason,omitempty"`

	// Determines whether to modify the IPv4 network associated to the interface.
	CapIfNetProvisioningIpv4Ind bool `json:"cap_if_net_provisioning_ipv4_ind,omitempty"`

	// The reason that IPv4 network provisioning is not available.
	CapIfNetProvisioningIpv4NaReason string `json:"cap_if_net_provisioning_ipv4_na_reason,omitempty"`

	// Determines whether to modify the IPv6 network associated to the interface.
	CapIfNetProvisioningIpv6Ind bool `json:"cap_if_net_provisioning_ipv6_ind,omitempty"`

	// The reason that IPv6 network provisioning is not available.
	CapIfNetProvisioningIpv6NaReason string `json:"cap_if_net_provisioning_ipv6_na_reason,omitempty"`

	// Determines whether to modify the VLAN assignement of the interface.
	CapIfVlanAssignmentInd bool `json:"cap_if_vlan_assignment_ind,omitempty"`

	// The reason that VLAN assignment action is not available.
	CapIfVlanAssignmentNaReason string `json:"cap_if_vlan_assignment_na_reason,omitempty"`

	// Determines whether to modify the voice VLAN assignement of the interface.
	CapIfVoiceVlanInd bool `json:"cap_if_voice_vlan_ind,omitempty"`

	// The reason that voice VLAN assignment action is not available.
	CapIfVoiceVlanNaReason string `json:"cap_if_voice_vlan_na_reason,omitempty"`

	// The description of the interface.
	Description string `json:"description,omitempty"`

	// The configured description task info of the interface.
	DescriptionTaskInfo *DiscoveryPortConfigDescription `json:"description_task_info,omitempty"`

	// The ref to the device to which the interface belongs.
	Device string `json:"device,omitempty"`

	// The duplex state of the interface.
	Duplex string `json:"duplex,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// List of IFaddr information associated with the interface.
	IfaddrInfos []*DiscoveryIfaddrinfo `json:"ifaddr_infos,omitempty"`

	// The interface index number, as reported by SNMP.
	Index int `json:"index,omitempty"`

	// Timestamp of the last interface property change detected.
	LastChange *UnixTime `json:"last_change,omitempty"`

	// This field indicates if this is a link aggregation interface.
	LinkAggregation bool `json:"link_aggregation,omitempty"`

	// The MAC address of the interface.
	Mac string `json:"mac,omitempty"`

	// The Microsoft Active Directory user related information.
	MsAdUserData *MsserverAduserData `json:"ms_ad_user_data,omitempty"`

	// The interface system name.
	Name string `json:"name,omitempty"`

	// Th name of the network view.
	NetworkView string `json:"network_view,omitempty"`

	// Operating state of the interface.
	OperStatus string `json:"oper_status,omitempty"`

	// The Port Fast status of the interface.
	PortFast string `json:"port_fast,omitempty"`

	// The reference to object(Host/FixedAddress/GridMember) to which this port is
	// reserved.
	ReservedObject string `json:"reserved_object,omitempty"`

	// The interface speed in bps.
	Speed uint32 `json:"speed,omitempty"`

	// Indicates if the interface is tagged as a VLAN trunk or not.
	TrunkStatus string `json:"trunk_status,omitempty"`

	// The type of interface.
	Type string `json:"type,omitempty"`

	// The configured VLAN status task info of the interface.
	VlanInfoTaskInfo *DiscoveryPortConfigVlaninfo `json:"vlan_info_task_info,omitempty"`

	// The list of VLAN information associated with the interface.
	VlanInfos []*DiscoveryVlaninfo `json:"vlan_infos,omitempty"`

	// Aggregated interface name of vPC peer device current port is connected to.
	VpcPeer string `json:"vpc_peer,omitempty"`

	// The reference to vPC peer device.
	VpcPeerDevice string `json:"vpc_peer_device,omitempty"`

	// The description of the Virtual Routing and Forwarding (VRF) associated with
	// the interface.
	VrfDescription string `json:"vrf_description,omitempty"`

	// The name of the Virtual Routing and Forwarding (VRF) associated with the
	// interface.
	VrfName string `json:"vrf_name,omitempty"`

	// The route distinguisher of the Virtual Routing and Forwarding (VRF)
	// associated with the interface.
	VrfRd string `json:"vrf_rd,omitempty"`
}

DiscoveryDeviceinterface represents Infoblox object discovery:deviceinterface. Interfaces on devices discovered by Network Automation

func (DiscoveryDeviceinterface) ObjectType added in v2.4.0

func (DiscoveryDeviceinterface) ObjectType() string

func (DiscoveryDeviceinterface) ReturnFields added in v2.4.0

func (obj DiscoveryDeviceinterface) ReturnFields() []string

type DiscoveryDeviceneighbor added in v2.4.0

type DiscoveryDeviceneighbor struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The IPv4 Address or IPv6 Address of the device neighbor.
	Address string `json:"address,omitempty"`

	// The ref to the management IP address of the device neighbor.
	AddressRef string `json:"address_ref,omitempty"`

	// The ref to the device to which the device neighbor belongs.
	Device string `json:"device,omitempty"`

	// The ref to the interface to which the device neighbor belongs.
	Interface string `json:"interface,omitempty"`

	// The MAC address of the device neighbor.
	Mac string `json:"mac,omitempty"`

	// The name of the device neighbor.
	Name string `json:"name,omitempty"`

	// The list of VLAN information associated with the device neighbor.
	VlanInfos []*DiscoveryVlaninfo `json:"vlan_infos,omitempty"`
}

DiscoveryDeviceneighbor represents Infoblox object discovery:deviceneighbor. The neighbor associated with the device discovered by Network Automation.

func (DiscoveryDeviceneighbor) ObjectType added in v2.4.0

func (DiscoveryDeviceneighbor) ObjectType() string

func (DiscoveryDeviceneighbor) ReturnFields added in v2.4.0

func (obj DiscoveryDeviceneighbor) ReturnFields() []string

type DiscoveryDevicesupportbundle added in v2.4.0

type DiscoveryDevicesupportbundle struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The developer of the device support bundle.
	Author string `json:"author,omitempty"`

	// Determines whether the device support bundle is integrated or imported. Note
	// that integrated support bundles cannot be removed.
	IntegratedInd bool `json:"integrated_ind,omitempty"`

	// The descriptive device name for the device support bundle.
	Name string `json:"name,omitempty"`

	// The version of the currently active device support bundle.
	Version string `json:"version,omitempty"`
}

DiscoveryDevicesupportbundle represents Infoblox object discovery:devicesupportbundle. Infoblox frequently provides support files for additional network devices that may not have previously been supported by discovery, and updates to support new operating system versions of existing devices.

func (DiscoveryDevicesupportbundle) ObjectType added in v2.4.0

func (DiscoveryDevicesupportbundle) ObjectType() string

func (DiscoveryDevicesupportbundle) ReturnFields added in v2.4.0

func (obj DiscoveryDevicesupportbundle) ReturnFields() []string

type DiscoveryDiagnostictask added in v2.4.0

type DiscoveryDiagnostictask struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The SNMP community string of the discovery diagnostic task.
	CommunityString *string `json:"community_string,omitempty"`

	// The SNMP debug flag of the discovery diagnostic task.
	DebugSnmp *bool `json:"debug_snmp,omitempty"`

	// The force test flag of the discovery diagnostic task.
	ForceTest *bool `json:"force_test,omitempty"`

	// The IP address of the discovery diagnostic task.
	IpAddress *string `json:"ip_address,omitempty"`

	// The network view name of the discovery diagnostic task.
	NetworkView *string `json:"network_view,omitempty"`

	// The time when the discovery diagnostic task was started.
	StartTime *UnixTime `json:"start_time,omitempty"`

	// The ID of the discovery diagnostic task.
	TaskId *string `json:"task_id,omitempty"`
}

DiscoveryDiagnostictask represents Infoblox object discovery:diagnostictask. The object provides information about the discovery diagnostic task.

func (DiscoveryDiagnostictask) ObjectType added in v2.4.0

func (DiscoveryDiagnostictask) ObjectType() string

func (DiscoveryDiagnostictask) ReturnFields added in v2.4.0

func (obj DiscoveryDiagnostictask) ReturnFields() []string

type DiscoveryGridproperties added in v2.4.0

type DiscoveryGridproperties struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Discovery advanced polling settings.
	AdvancedPollingSettings *DiscoveryAdvancedpollsetting `json:"advanced_polling_settings,omitempty"`

	// Discovery advanced polling settings.
	AdvancedSdnPollingSettings *DiscoveryAdvancedsdnpollsettings `json:"advanced_sdn_polling_settings,omitempty"`

	// Advisor settings.
	AdvisorSettings *DiscoveryAdvisorsetting `json:"advisor_settings,omitempty"`

	// Automatic conversion settings.
	AutoConversionSettings []*DiscoveryAutoconversionsetting `json:"auto_conversion_settings,omitempty"`

	// Discovery basic polling settings.
	BasicPollingSettings *DiscoveryBasicpollsettings `json:"basic_polling_settings,omitempty"`

	// Discovery basic polling settings.
	BasicSdnPollingSettings *DiscoveryBasicsdnpollsettings `json:"basic_sdn_polling_settings,omitempty"`

	// Discovery CLI credentials.
	CliCredentials []*DiscoveryClicredential `json:"cli_credentials,omitempty"`

	// Discovery blackout setting.
	DiscoveryBlackoutSetting *PropertiesBlackoutsetting `json:"discovery_blackout_setting,omitempty"`

	// The type of the devices the DNS processor operates on.
	DnsLookupOption string `json:"dns_lookup_option,omitempty"`

	// The percentage of available capacity the DNS processor operates at. Valid
	// values are unsigned integer between 1 and 100, inclusive.
	DnsLookupThrottle *uint32 `json:"dns_lookup_throttle,omitempty"`

	// Advisor application enabled/disabled.
	EnableAdvisor *bool `json:"enable_advisor,omitempty"`

	// The flag that enables automatic conversion of discovered data.
	EnableAutoConversion *bool `json:"enable_auto_conversion,omitempty"`

	// The flag that enables updating discovered data for managed objects.
	EnableAutoUpdates *bool `json:"enable_auto_updates,omitempty"`

	// The Grid name.
	GridName string `json:"grid_name,omitempty"`

	// Determines the timeout to ignore the discovery conflict duration (in
	// seconds).
	IgnoreConflictDuration *uint32 `json:"ignore_conflict_duration,omitempty"`

	// Port control blackout setting.
	PortControlBlackoutSetting *PropertiesBlackoutsetting `json:"port_control_blackout_setting,omitempty"`

	// Ports to scan.
	Ports []*DiscoveryPort `json:"ports,omitempty"`

	// Determines if the same port control is used for discovery blackout.
	SamePortControlDiscoveryBlackout *bool `json:"same_port_control_discovery_blackout,omitempty"`

	// Discovery SNMP v1 and v2 credentials.
	Snmpv1v2Credentials []*DiscoverySnmpcredential `json:"snmpv1v2_credentials,omitempty"`

	// Discovery SNMP v3 credentials.
	Snmpv3Credentials []*DiscoverySnmp3credential `json:"snmpv3_credentials,omitempty"`

	// Limit of discovered unmanaged IP address which determines how frequently the
	// user is notified about the new unmanaged IP address in a particular network.
	UnmanagedIpsLimit *uint32 `json:"unmanaged_ips_limit,omitempty"`

	// Determines the timeout between two notifications (in seconds) about the new
	// unmanaged IP address in a particular network. The value must be between 60
	// seconds and the number of seconds remaining to Jan 2038.
	UnmanagedIpsTimeout *uint32 `json:"unmanaged_ips_timeout,omitempty"`

	// The policy type used to define the behavior of the VRF mapping.
	VrfMappingPolicy string `json:"vrf_mapping_policy,omitempty"`

	// VRF mapping rules.
	VrfMappingRules []*DiscoveryVrfmappingrule `json:"vrf_mapping_rules,omitempty"`
}

DiscoveryGridproperties represents Infoblox object discovery:gridproperties. The object provides information about the Grid discovery properties.

func (DiscoveryGridproperties) ObjectType added in v2.4.0

func (DiscoveryGridproperties) ObjectType() string

func (DiscoveryGridproperties) ReturnFields added in v2.4.0

func (obj DiscoveryGridproperties) ReturnFields() []string

type DiscoveryIfaddrinfo added in v2.4.0

type DiscoveryIfaddrinfo struct {
	// The IPv4 Address or IPv6 Address of the device.
	Address string `json:"address,omitempty"`

	// The ref to IPv4/Ipv6 Address.
	AddressObject string `json:"address_object,omitempty"`

	// The network to which this device belongs, in IPv4 Address/CIDR format.
	Network string `json:"network,omitempty"`
}

DiscoveryIfaddrinfo represents Infoblox struct discovery:ifaddrinfo

type DiscoveryMemberproperties added in v2.4.0

type DiscoveryMemberproperties struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The Grid member address IP address.
	Address string `json:"address,omitempty"`

	// Discovery CLI credentials.
	CliCredentials []*DiscoveryClicredential `json:"cli_credentials,omitempty"`

	// Default seed routers.
	DefaultSeedRouters []*DiscoverySeedrouter `json:"default_seed_routers,omitempty"`

	// The name of the network discovery Grid member.
	DiscoveryMember string `json:"discovery_member,omitempty"`

	// Determines if the discovery service is enabled.
	EnableService *bool `json:"enable_service,omitempty"`

	// Gateway seed routers.
	GatewaySeedRouters []*DiscoverySeedrouter `json:"gateway_seed_routers,omitempty"`

	// Determines if the standalone mode for discovery network monitor is enabled
	// or not.
	IsSa *bool `json:"is_sa,omitempty"`

	// Discovery member role.
	Role string `json:"role,omitempty"`

	// Discovery networks to which the member is assigned.
	ScanInterfaces []*DiscoveryScaninterface `json:"scan_interfaces,omitempty"`

	// List of SDN/SDWAN controller configurations.
	SdnConfigs []*DiscoverySdnconfig `json:"sdn_configs,omitempty"`

	// Seed routers.
	SeedRouters []*DiscoverySeedrouter `json:"seed_routers,omitempty"`

	// Discovery SNMP v1 and v2 credentials.
	Snmpv1v2Credentials []*DiscoverySnmpcredential `json:"snmpv1v2_credentials,omitempty"`

	// Discovery SNMP v3 credentials.
	Snmpv3Credentials []*DiscoverySnmp3credential `json:"snmpv3_credentials,omitempty"`

	// Use flag for: cli_credentials
	UseCliCredentials *bool `json:"use_cli_credentials,omitempty"`

	// Use flag for: snmpv1v2_credentials
	UseSnmpv1v2Credentials *bool `json:"use_snmpv1v2_credentials,omitempty"`

	// Use flag for: snmpv3_credentials
	UseSnmpv3Credentials *bool `json:"use_snmpv3_credentials,omitempty"`
}

DiscoveryMemberproperties represents Infoblox object discovery:memberproperties. The object provides information about the Grid member discovery properties.

func (DiscoveryMemberproperties) ObjectType added in v2.4.0

func (DiscoveryMemberproperties) ObjectType() string

func (DiscoveryMemberproperties) ReturnFields added in v2.4.0

func (obj DiscoveryMemberproperties) ReturnFields() []string

type DiscoveryNetworkinfo added in v2.4.0

type DiscoveryNetworkinfo struct {
	// The ref to the network to which the management IP address belongs.
	Network string `json:"network,omitempty"`

	// The Network address in format address/cidr.
	NetworkStr string `json:"network_str,omitempty"`
}

DiscoveryNetworkinfo represents Infoblox struct discovery:networkinfo

type DiscoveryPort added in v2.4.0

type DiscoveryPort struct {
	// The discovery port number.
	Port uint32 `json:"port,omitempty"`

	// The discovery port type.
	Type string `json:"type,omitempty"`

	// The comment for this discovery port.
	Comment string `json:"comment,omitempty"`
}

DiscoveryPort represents Infoblox struct discovery:port

type DiscoveryPortConfigAdminstatus added in v2.4.0

type DiscoveryPortConfigAdminstatus struct {
	// The configured admin status value.
	Status string `json:"status,omitempty"`

	// The associated port control task details.
	Details *DiscoveryPortControlTaskdetails `json:"details,omitempty"`
}

DiscoveryPortConfigAdminstatus represents Infoblox struct discovery:port:config:adminstatus

type DiscoveryPortConfigDescription added in v2.4.0

type DiscoveryPortConfigDescription struct {
	// The configured description value.
	Description string `json:"description,omitempty"`

	// The associated port control task details.
	Details *DiscoveryPortControlTaskdetails `json:"details,omitempty"`
}

DiscoveryPortConfigDescription represents Infoblox struct discovery:port:config:description

type DiscoveryPortConfigVlaninfo added in v2.4.0

type DiscoveryPortConfigVlaninfo struct {
	// The configured data VLAN ID and the name of the interface.
	DataVlanInfo *DiscoveryVlaninfo `json:"data_vlan_info,omitempty"`

	// The configured voice VLAN id and name of interface.
	VoiceVlanInfo *DiscoveryVlaninfo `json:"voice_vlan_info,omitempty"`

	// The associated port control task details.
	Details *DiscoveryPortControlTaskdetails `json:"details,omitempty"`
}

DiscoveryPortConfigVlaninfo represents Infoblox struct discovery:port:config:vlaninfo

type DiscoveryPortControlTaskdetails added in v2.4.0

type DiscoveryPortControlTaskdetails struct {
	// The ID of the associated port control task.
	Id uint32 `json:"id,omitempty"`

	// The task status of the associated port control task.
	Status string `json:"status,omitempty"`

	// True if this port control task is completed and matched with current
	// discovered value.
	IsSynchronized bool `json:"is_synchronized,omitempty"`
}

DiscoveryPortControlTaskdetails represents Infoblox struct discovery:port:control:taskdetails

type DiscoveryScaninterface added in v2.4.0

type DiscoveryScaninterface struct {
	// The name of the network view associated with the network discovery probing
	// member.
	NetworkView string `json:"network_view,omitempty"`

	// The probing interface associated with the network discovery probing member.
	Type string `json:"type,omitempty"`

	// The virtual ip for discovery scan interface on network discovery probing
	// member.
	ScanVirtualIp string `json:"scan_virtual_ip,omitempty"`
}

DiscoveryScaninterface represents Infoblox struct discovery:scaninterface

type DiscoverySdnconfig added in v2.4.0

type DiscoverySdnconfig struct {
	// Type of SDN controller.
	SdnType string `json:"sdn_type,omitempty"`

	// SDN controller IP addresses or FQDNs.
	Addresses []string `json:"addresses,omitempty"`

	// The network view associated with SDN controller.
	NetworkView string `json:"network_view,omitempty"`

	// The connection protocol. Valid values are 'HTTP' and 'HTTPS'.
	Protocol string `json:"protocol,omitempty"`

	// Unique configuration handle.
	Handle string `json:"handle,omitempty"`

	// SDN controller login password.
	Password string `json:"password,omitempty"`

	// SDN controller login name.
	Username string `json:"username,omitempty"`

	// SDN controller API key.
	ApiKey string `json:"api_key,omitempty"`

	// True if controller is on-premises, otherwise we consider it is in cloud.
	OnPrem bool `json:"on_prem,omitempty"`

	// Use global proxy settings to access SDN controller.
	UseGlobalProxy bool `json:"use_global_proxy,omitempty"`

	// Additional information about the SDN configuration.
	Comment string `json:"comment,omitempty"`

	// The type of the network interface on discovery member used for SDN
	// controller discovery
	NetworkInterfaceType string `json:"network_interface_type,omitempty"`

	// Virtual IP of VLAN network interface on discovery member
	NetworkInterfaceVirtualIp string `json:"network_interface_virtual_ip,omitempty"`

	// Unique key of SDN controller structure. Must be specified for existing
	// sdn_config structures, otherwise they will be removed. If not specified, new
	// structure will be created.
	Uuid string `json:"uuid,omitempty"`
}

DiscoverySdnconfig represents Infoblox struct discovery:sdnconfig

type DiscoverySdnnetwork added in v2.4.0

type DiscoverySdnnetwork struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Timestamp when this SDN network was first discovered.
	FirstSeen *UnixTime `json:"first_seen,omitempty"`

	// The name of the SDN network.
	Name string `json:"name,omitempty"`

	// The name of the network view assigned to this SDN network.
	NetworkView string `json:"network_view,omitempty"`

	// Name of SDN configuration this network belongs to.
	SourceSdnConfig string `json:"source_sdn_config,omitempty"`
}

DiscoverySdnnetwork represents Infoblox object discovery:sdnnetwork. This object provides information about the SDN networks. They are the elements of address space hierarchy discovered on SDN/SDWAN controllers

func (DiscoverySdnnetwork) ObjectType added in v2.4.0

func (DiscoverySdnnetwork) ObjectType() string

func (DiscoverySdnnetwork) ReturnFields added in v2.4.0

func (obj DiscoverySdnnetwork) ReturnFields() []string

type DiscoverySeedrouter added in v2.4.0

type DiscoverySeedrouter struct {
	// Address of the seed router.
	Address string `json:"address,omitempty"`

	// The network view name.
	NetworkView string `json:"network_view,omitempty"`

	// Description of the seed router.
	Comment string `json:"comment,omitempty"`
}

DiscoverySeedrouter represents Infoblox struct discovery:seedrouter

type DiscoverySnmp3credential added in v2.4.0

type DiscoverySnmp3credential struct {
	// The SNMPv3 user name.
	User string `json:"user,omitempty"`

	// Authentication protocol for the SNMPv3 user.
	AuthenticationProtocol string `json:"authentication_protocol,omitempty"`

	// Authentication password for the SNMPv3 user.
	AuthenticationPassword string `json:"authentication_password,omitempty"`

	// Privacy protocol for the SNMPv3 user.
	PrivacyProtocol string `json:"privacy_protocol,omitempty"`

	// Privacy password for the SNMPv3 user.
	PrivacyPassword string `json:"privacy_password,omitempty"`

	// Comments for the SNMPv3 user.
	Comment string `json:"comment,omitempty"`

	// Group for the SNMPv3 credential.
	CredentialGroup string `json:"credential_group,omitempty"`
}

DiscoverySnmp3credential represents Infoblox struct discovery:snmp3credential

type DiscoverySnmpcredential added in v2.4.0

type DiscoverySnmpcredential struct {
	// The public community string.
	CommunityString string `json:"community_string,omitempty"`

	// Comments for the SNMPv1 and SNMPv2 users.
	Comment string `json:"comment,omitempty"`

	// Group for the SNMPv1 and SNMPv2 credential.
	CredentialGroup string `json:"credential_group,omitempty"`
}

DiscoverySnmpcredential represents Infoblox struct discovery:snmpcredential

type DiscoveryStatus added in v2.4.0

type DiscoveryStatus struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The IPv4 Address or IPv6 Address of the device.
	Address string `json:"address,omitempty"`

	// Indicates if CLI collection is enabled.
	CliCollectionEnabled bool `json:"cli_collection_enabled,omitempty"`

	// The CLI credential status information of the device.
	CliCredentialInfo *DiscoveryStatusinfo `json:"cli_credential_info,omitempty"`

	// The existence status information of the device.
	ExistenceInfo *DiscoveryStatusinfo `json:"existence_info,omitempty"`

	// Indicates if DHCP finterprinting is enabled.
	FingerprintEnabled bool `json:"fingerprint_enabled,omitempty"`

	// This DHCP finterprinting status information of the device.
	FingerprintInfo *DiscoveryStatusinfo `json:"fingerprint_info,omitempty"`

	// The timestamp when the device was first discovered.
	FirstSeen *UnixTime `json:"first_seen,omitempty"`

	// The timestamp of the last detected interface property change.
	LastAction string `json:"last_action,omitempty"`

	// The timestamp when the device was last discovered.
	LastSeen *UnixTime `json:"last_seen,omitempty"`

	// The timestamp of the last executed action for the device.
	LastTimestamp *UnixTime `json:"last_timestamp,omitempty"`

	// The name of the device.
	Name string `json:"name,omitempty"`

	// The name of the network view in which this device resides.
	NetworkView string `json:"network_view,omitempty"`

	// The reachable status information of the device.
	ReachableInfo *DiscoveryStatusinfo `json:"reachable_info,omitempty"`

	// Indicate whether SDN collection enabled for the device.
	SdnCollectionEnabled bool `json:"sdn_collection_enabled,omitempty"`

	// Device SDN collection status information.
	SdnCollectionInfo *DiscoveryStatusinfo `json:"sdn_collection_info,omitempty"`

	// Indicates if SNMP collection is enabled.
	SnmpCollectionEnabled bool `json:"snmp_collection_enabled,omitempty"`

	// The SNMP collection status information of the device.
	SnmpCollectionInfo *DiscoveryStatusinfo `json:"snmp_collection_info,omitempty"`

	// The SNMP credential status information of the device.
	SnmpCredentialInfo *DiscoveryStatusinfo `json:"snmp_credential_info,omitempty"`

	// The overall status of the device.
	Status string `json:"status,omitempty"`

	// The type of device.
	Type string `json:"type,omitempty"`
}

DiscoveryStatus represents Infoblox object discovery:status. The discovery status of discovered data

func (DiscoveryStatus) ObjectType added in v2.4.0

func (DiscoveryStatus) ObjectType() string

func (DiscoveryStatus) ReturnFields added in v2.4.0

func (obj DiscoveryStatus) ReturnFields() []string

type DiscoveryStatusinfo added in v2.4.0

type DiscoveryStatusinfo struct {
	// The overall status of the device.
	Status string `json:"status,omitempty"`

	// The detailed message.
	Message string `json:"message,omitempty"`

	// The timestamp when the status was generated.
	Timestamp *UnixTime `json:"timestamp,omitempty"`
}

DiscoveryStatusinfo represents Infoblox struct discovery:statusinfo

type DiscoveryVlaninfo added in v2.4.0

type DiscoveryVlaninfo struct {
	// The Vlan ID.
	Id uint32 `json:"id,omitempty"`

	// The Vlan name.
	Name string `json:"name,omitempty"`
}

DiscoveryVlaninfo represents Infoblox struct discovery:vlaninfo

type DiscoveryVrf added in v2.4.0

type DiscoveryVrf struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Additional information about the VRF.
	Description string `json:"description,omitempty"`

	// The device to which the VRF belongs.
	Device string `json:"device,omitempty"`

	// The name of the VRF.
	Name string `json:"name,omitempty"`

	// The name of the network view in which this VRF resides.
	NetworkView string `json:"network_view,omitempty"`

	// The route distinguisher associated with the VRF.
	RouteDistinguisher string `json:"route_distinguisher,omitempty"`
}

DiscoveryVrf represents Infoblox object discovery:vrf. This object provides information about the virtual network membership (VRF).

func (DiscoveryVrf) ObjectType added in v2.4.0

func (DiscoveryVrf) ObjectType() string

func (DiscoveryVrf) ReturnFields added in v2.4.0

func (obj DiscoveryVrf) ReturnFields() []string

type DiscoveryVrfmappingrule added in v2.4.0

type DiscoveryVrfmappingrule struct {
	// The name of the network view associated with the VRF mapping rule.
	NetworkView string `json:"network_view,omitempty"`

	// Extended POSIX regular expression matching the VRF name. The regular
	// expression string should contain the leading caret anchor ^ and the trailing
	// dollar anchor $ symbols.
	Criteria string `json:"criteria,omitempty"`

	// The comment.
	Comment string `json:"comment,omitempty"`
}

DiscoveryVrfmappingrule represents Infoblox struct discovery:vrfmappingrule

type Discoverydata added in v2.4.0

type Discoverydata struct {
	// The model name of the end device in the vendor terminology.
	DeviceModel string `json:"device_model,omitempty"`

	// The system name of the interface associated with the discovered IP address.
	DevicePortName string `json:"device_port_name,omitempty"`

	// The hardware type of the interface associated with the discovered IP
	// address.
	DevicePortType string `json:"device_port_type,omitempty"`

	// The type of end host in vendor terminology.
	DeviceType string `json:"device_type,omitempty"`

	// The vendor name of the end host.
	DeviceVendor string `json:"device_vendor,omitempty"`

	// The name of the network device associated with the discovered IP address.
	DiscoveredName string `json:"discovered_name,omitempty"`

	// Specifies whether the IP address was discovered by a NetMRI or NIOS
	// discovery process.
	Discoverer string `json:"discoverer,omitempty"`

	// For IPv6 address only. The DHCP unique identifier of the discovered host.
	// This is an optional field, and data might not be included.
	Duid string `json:"duid,omitempty"`

	// The date and time the IP address was first discovered in Epoch seconds
	// format.
	FirstDiscovered *UnixTime `json:"first_discovered,omitempty"`

	// The port redundant group number.
	IprgNo uint32 `json:"iprg_no,omitempty"`

	// The status for the IP address within port redundant group.
	IprgState string `json:"iprg_state,omitempty"`

	// The port redundant group type.
	IprgType string `json:"iprg_type,omitempty"`

	// The date and time the IP address was last discovered in Epoch seconds
	// format.
	LastDiscovered *UnixTime `json:"last_discovered,omitempty"`

	// The discovered MAC address for the host. This is the unique identifier of a
	// network device. The discovery acquires the MAC address for hosts that are
	// located on the same network as the Grid member that is running the
	// discovery. This can also be the MAC address of a virtual entity on a
	// specified vSphere server.
	MacAddress string `json:"mac_address,omitempty"`

	// The management IP address of the end host that has more than one IP.
	MgmtIpAddress string `json:"mgmt_ip_address,omitempty"`

	// The name returned in the NetBIOS reply or the name you manually register for
	// the discovered host.
	NetbiosName string `json:"netbios_name,omitempty"`

	// A textual description of the switch that is connected to the end device.
	NetworkComponentDescription string `json:"network_component_description,omitempty"`

	// The IPv4 Address or IPv6 Address of the switch that is connected to the end
	// device.
	NetworkComponentIp string `json:"network_component_ip,omitempty"`

	// Model name of the switch port connected to the end host in vendor
	// terminology.
	NetworkComponentModel string `json:"network_component_model,omitempty"`

	// If a reverse lookup was successful for the IP address associated with this
	// switch, the host name is displayed in this field.
	NetworkComponentName string `json:"network_component_name,omitempty"`

	// A textual description of the switch port that is connected to the end
	// device.
	NetworkComponentPortDescription string `json:"network_component_port_description,omitempty"`

	// The name of the switch port connected to the end device.
	NetworkComponentPortName string `json:"network_component_port_name,omitempty"`

	// The number of the switch port connected to the end device.
	NetworkComponentPortNumber string `json:"network_component_port_number,omitempty"`

	// Identifies the switch that is connected to the end device.
	NetworkComponentType string `json:"network_component_type,omitempty"`

	// The vendor name of the switch port connected to the end host.
	NetworkComponentVendor string `json:"network_component_vendor,omitempty"`

	// The list of opened ports on the IP address, represented as: "TCP: 21,22,23
	// UDP: 137,139". Limited to max total 1000 ports.
	OpenPorts string `json:"open_ports,omitempty"`

	// The operating system of the detected host or virtual entity. The OS can be
	// one of the following: * Microsoft for all discovered hosts that have a
	// non-null value in the MAC addresses using the NetBIOS discovery method. * A
	// value that a TCP discovery returns. * The OS of a virtual entity on a
	// vSphere server.
	Os string `json:"os,omitempty"`

	// The negotiated or operational duplex setting of the switch port connected to
	// the end device.
	PortDuplex string `json:"port_duplex,omitempty"`

	// The link status of the switch port connected to the end device. Indicates
	// whether it is connected.
	PortLinkStatus string `json:"port_link_status,omitempty"`

	// The interface speed, in Mbps, of the switch port.
	PortSpeed string `json:"port_speed,omitempty"`

	// The operational status of the switch port. Indicates whether the port is up
	// or down.
	PortStatus string `json:"port_status,omitempty"`

	// The type of switch port.
	PortType string `json:"port_type,omitempty"`

	// The description of the VLAN of the switch port that is connected to the end
	// device.
	PortVlanDescription string `json:"port_vlan_description,omitempty"`

	// The name of the VLAN of the switch port.
	PortVlanName string `json:"port_vlan_name,omitempty"`

	// The ID of the VLAN of the switch port.
	PortVlanNumber string `json:"port_vlan_number,omitempty"`

	// The name of the physical network adapter through which the virtual entity is
	// connected to the appliance.
	VAdapter string `json:"v_adapter,omitempty"`

	// The name of the VMware cluster to which the virtual entity belongs.
	VCluster string `json:"v_cluster,omitempty"`

	// The name of the vSphere datacenter or container to which the virtual entity
	// belongs.
	VDatacenter string `json:"v_datacenter,omitempty"`

	// The name of the virtual entity.
	VEntityName string `json:"v_entity_name,omitempty"`

	// The virtual entity type. This can be blank or one of the following: Virtual
	// Machine, Virtual Host, or Virtual Center. Virtual Center represents a VMware
	// vCenter server.
	VEntityType string `json:"v_entity_type,omitempty"`

	// The name of the VMware server on which the virtual entity was discovered.
	VHost string `json:"v_host,omitempty"`

	// The name of the switch to which the virtual entity is connected.
	VSwitch string `json:"v_switch,omitempty"`

	// Name of the virtual machine.
	VmiName string `json:"vmi_name,omitempty"`

	// ID of the virtual machine.
	VmiId string `json:"vmi_id,omitempty"`

	// Port group which the virtual machine belongs to.
	VlanPortGroup string `json:"vlan_port_group,omitempty"`

	// Name of the virtual switch.
	VswitchName string `json:"vswitch_name,omitempty"`

	// ID of the virtual switch.
	VswitchId string `json:"vswitch_id,omitempty"`

	// Type of the virtual switch: standard or distributed.
	VswitchType string `json:"vswitch_type,omitempty"`

	// Indicates the virtual switch has IPV6 enabled.
	VswitchIpv6Enabled bool `json:"vswitch_ipv6_enabled,omitempty"`

	// Name of the network adapter on the virtual switch connected with the virtual
	// machine.
	VportName string `json:"vport_name,omitempty"`

	// MAC address of the network adapter on the virtual switch where the virtual
	// machine connected to.
	VportMacAddress string `json:"vport_mac_address,omitempty"`

	// Link status of the network adapter on the virtual switch where the virtual
	// machine connected to.
	VportLinkStatus string `json:"vport_link_status,omitempty"`

	// Configured speed of the network adapter on the virtual switch where the
	// virtual machine connected to. Unit is kb.
	VportConfSpeed string `json:"vport_conf_speed,omitempty"`

	// Configured mode of the network adapter on the virtual switch where the
	// virtual machine connected to.
	VportConfMode string `json:"vport_conf_mode,omitempty"`

	// Actual speed of the network adapter on the virtual switch where the virtual
	// machine connected to. Unit is kb.
	VportSpeed string `json:"vport_speed,omitempty"`

	// Actual mode of the network adapter on the virtual switch where the virtual
	// machine connected to.
	VportMode string `json:"vport_mode,omitempty"`

	// Type of the network segment on which the current virtual machine/vport
	// connected to.
	VswitchSegmentType string `json:"vswitch_segment_type,omitempty"`

	// Name of the network segment on which the current virtual machine/vport
	// connected to.
	VswitchSegmentName string `json:"vswitch_segment_name,omitempty"`

	// ID of the network segment on which the current virtual machine/vport
	// connected to.
	VswitchSegmentId string `json:"vswitch_segment_id,omitempty"`

	// Port group of the network segment on which the current virtual machine/vport
	// connected to.
	VswitchSegmentPortGroup string `json:"vswitch_segment_port_group,omitempty"`

	// Numer of available ports reported by the virtual switch on which the virtual
	// machine/vport connected to.
	VswitchAvailablePortsCount uint32 `json:"vswitch_available_ports_count,omitempty"`

	// Type of virtual tunnel endpoint (VTEP) in the virtual switch.
	VswitchTepType string `json:"vswitch_tep_type,omitempty"`

	// IP address of the virtual tunnel endpoint (VTEP) in the virtual switch.
	VswitchTepIp string `json:"vswitch_tep_ip,omitempty"`

	// Port group of the virtual tunnel endpoint (VTEP) in the virtual switch.
	VswitchTepPortGroup string `json:"vswitch_tep_port_group,omitempty"`

	// VLAN of the virtual tunnel endpoint (VTEP) in the virtual switch.
	VswitchTepVlan string `json:"vswitch_tep_vlan,omitempty"`

	// DHCP server of the virtual tunnel endpoint (VTEP) in the virtual switch.
	VswitchTepDhcpServer string `json:"vswitch_tep_dhcp_server,omitempty"`

	// Muticast address of the virtual tunnel endpoint (VTEP) in the virtual
	// swtich.
	VswitchTepMulticast string `json:"vswitch_tep_multicast,omitempty"`

	// IP address of the physical node on which the virtual machine is hosted.
	VmhostIpAddress string `json:"vmhost_ip_address,omitempty"`

	// Name of the physical node on which the virtual machine is hosted.
	VmhostName string `json:"vmhost_name,omitempty"`

	// MAC address of the physical node on which the virtual machine is hosted.
	VmhostMacAddress string `json:"vmhost_mac_address,omitempty"`

	// CIDR subnet of the physical node on which the virtual machine is hosted.
	VmhostSubnetCidr uint32 `json:"vmhost_subnet_cidr,omitempty"`

	// List of all physical port names used by the virtual switch on the physical
	// node on which the virtual machine is hosted. Represented as:
	// "eth1,eth2,eth3".
	VmhostNicNames string `json:"vmhost_nic_names,omitempty"`

	// ID of the tenant which virtual machine belongs to.
	VmiTenantId string `json:"vmi_tenant_id,omitempty"`

	// If the IP is coming from a Cloud environment, the Cloud Management Platform
	// type.
	CmpType string `json:"cmp_type,omitempty"`

	// Discovered IP address type.
	VmiIpType string `json:"vmi_ip_type,omitempty"`

	// Private IP address of the virtual machine.
	VmiPrivateAddress string `json:"vmi_private_address,omitempty"`

	// Indicates whether the IP address is a public address.
	VmiIsPublicAddress bool `json:"vmi_is_public_address,omitempty"`

	// The Cisco ISE SSID.
	CiscoIseSsid string `json:"cisco_ise_ssid,omitempty"`

	// The Endpoint Profile created in Cisco ISE.
	CiscoIseEndpointProfile string `json:"cisco_ise_endpoint_profile,omitempty"`

	// The Cisco ISE connection session state.
	CiscoIseSessionState string `json:"cisco_ise_session_state,omitempty"`

	// The Cisco ISE security group name.
	CiscoIseSecurityGroup string `json:"cisco_ise_security_group,omitempty"`

	// The name of the discovery task.
	TaskName string `json:"task_name,omitempty"`

	// Location of the network component on which the IP address was discovered.
	NetworkComponentLocation string `json:"network_component_location,omitempty"`

	// Contact information from the network component on which the IP address was
	// discovered.
	NetworkComponentContact string `json:"network_component_contact,omitempty"`

	// Location of device on which the IP address was discovered.
	DeviceLocation string `json:"device_location,omitempty"`

	// Contact information from device on which the IP address was discovered.
	DeviceContact string `json:"device_contact,omitempty"`

	// Discovered name of Wireless Access Point.
	ApName string `json:"ap_name,omitempty"`

	// Discovered IP address of Wireless Access Point.
	ApIpAddress string `json:"ap_ip_address,omitempty"`

	// Service set identifier (SSID) associated with Wireless Access Point.
	ApSsid string `json:"ap_ssid,omitempty"`

	// Discovered bridge domain.
	BridgeDomain string `json:"bridge_domain,omitempty"`

	// A comma-separated list of the discovered endpoint groups.
	EndpointGroups string `json:"endpoint_groups,omitempty"`

	// Discovered tenant.
	Tenant string `json:"tenant,omitempty"`

	// The name of the VRF.
	VrfName string `json:"vrf_name,omitempty"`

	// Description of the VRF.
	VrfDescription string `json:"vrf_description,omitempty"`

	// Route distinguisher of the VRF.
	VrfRd string `json:"vrf_rd,omitempty"`

	// The BGP autonomous system number.
	BgpAs uint32 `json:"bgp_as,omitempty"`
}

Discoverydata represents Infoblox struct discoverydata

type Discoverytask added in v2.4.0

type Discoverytask struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The network discovery CSV file name.
	CsvFileName string `json:"csv_file_name,omitempty"`

	// Determines whether IP scanning is disabled.
	DisableIpScanning *bool `json:"disable_ip_scanning,omitempty"`

	// Determines whether VMWare scanning is disabled.
	DisableVmwareScanning *bool `json:"disable_vmware_scanning,omitempty"`

	// The discovery task identifier.
	DiscoveryTaskOid string `json:"discovery_task_oid,omitempty"`

	// The Grid member that runs the discovery.
	MemberName *string `json:"member_name,omitempty"`

	// Determines whether to replace or merge new data with existing data.
	MergeData *bool `json:"merge_data,omitempty"`

	// Network discovery scanning mode.
	Mode string `json:"mode,omitempty"`

	// Name of the network view in which target networks for network discovery
	// reside.
	NetworkView *string `json:"network_view,omitempty"`

	// The list of the networks on which the network discovery will be invoked.
	Networks []*Ipv4Network `json:"networks,omitempty"`

	// The number of times to perfrom ping for ICMP and FULL modes.
	PingRetries *uint32 `json:"ping_retries,omitempty"`

	// The ping timeout for ICMP and FULL modes.
	PingTimeout *uint32 `json:"ping_timeout,omitempty"`

	// The schedule setting for network discovery task.
	ScheduledRun *SettingSchedule `json:"scheduled_run,omitempty"`

	// The network discovery process state.
	State string `json:"state,omitempty"`

	// Time when the network discovery process state was last updated.
	StateTime *UnixTime `json:"state_time,omitempty"`

	// The network discovery process descriptive status.
	Status string `json:"status,omitempty"`

	// The time when the network discovery process status was last updated.
	StatusTime *UnixTime `json:"status_time,omitempty"`

	// The ports to scan for FULL and TCP modes.
	TcpPorts []*Discoverytaskport `json:"tcp_ports,omitempty"`

	// The TCP scan techinque for FULL and TCP modes.
	TcpScanTechnique string `json:"tcp_scan_technique,omitempty"`

	// Name of the network view in which target networks for VMWare scanning
	// reside.
	VNetworkView *string `json:"v_network_view,omitempty"`

	// The list of VMware vSphere servers for VM discovery.
	Vservers []*Discoverytaskvserver `json:"vservers,omitempty"`

	// The network discovery process warning.
	Warning string `json:"warning,omitempty"`
}

Discoverytask represents Infoblox object discoverytask. Represents the configuration of network discovery jobs. Configuration parameters have control over the behavior of network discovery jobs.

func (Discoverytask) ObjectType added in v2.4.0

func (Discoverytask) ObjectType() string

func (Discoverytask) ReturnFields added in v2.4.0

func (obj Discoverytask) ReturnFields() []string

type Discoverytaskport added in v2.4.0

type Discoverytaskport struct {
	// The TCP port number.
	Number uint32 `json:"number,omitempty"`

	// The TCP port descriptive comment.
	Comment string `json:"comment,omitempty"`
}

Discoverytaskport represents Infoblox struct discoverytaskport

type Discoverytaskvserver added in v2.4.0

type Discoverytaskvserver struct {
	// The disable flag of a vSphere server.
	Disable bool `json:"disable,omitempty"`

	// The connection protocol of a vSphere server.
	ConnectionProtocol string `json:"connection_protocol,omitempty"`

	// The FQDN (Fully Qualified Domain Name) or IP address of the vShpere server.
	FqdnOrIp string `json:"fqdn_or_ip,omitempty"`

	// The user password on the vSphere server.
	Password string `json:"password,omitempty"`

	// The connection port that the vSphere server uses.
	Port uint32 `json:"port,omitempty"`

	// The user name on the vSphere server.
	Username string `json:"username,omitempty"`
}

Discoverytaskvserver represents Infoblox struct discoverytaskvserver

type Distributionschedule added in v2.4.0

type Distributionschedule struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Determines whether the distribution schedule is active.
	Active *bool `json:"active,omitempty"`

	// The start time of the distribution.
	StartTime *UnixTime `json:"start_time,omitempty"`

	// Time zone of the distribution start time.
	TimeZone string `json:"time_zone,omitempty"`

	// The upgrade groups scheduling settings.
	UpgradeGroups []*UpgradegroupSchedule `json:"upgrade_groups,omitempty"`
}

Distributionschedule represents Infoblox object distributionschedule. Distributing the software upgrade files involves unpacking the software files and loading the new software. When you distribute the files, the NIOS appliance loads the new software code into an alternative disk partition that overwrites any previously saved version of existing code. Therefore, starting the distribution disables the appliance from reverting to a release prior to the current version. The Grid Master distributes the software upgrade to each member in the Grid including itself.

func (Distributionschedule) ObjectType added in v2.4.0

func (Distributionschedule) ObjectType() string

func (Distributionschedule) ReturnFields added in v2.4.0

func (obj Distributionschedule) ReturnFields() []string

type Dns added in v2.6.0

type Dns struct {
	IBBase `json:"-"`

	Ref         string `json:"_ref,omitempty"`
	Ea          EA     `json:"extattrs"`
	Comment     string `json:"comment,omitempty"`
	HostName    string `json:"host_name,omitempty"`
	IPv4Address string `json:"ipv4addr,omitempty"`
	EnableDns   bool   `json:"enable_dns"`
	// contains filtered or unexported fields
}

func NewDns added in v2.6.0

func NewDns(dns Dns) *Dns

func (Dns) ObjectType added in v2.6.0

func (d Dns) ObjectType() string

type Dns64group added in v2.4.0

type Dns64group struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Access Control settings that contain IPv4 and IPv6 DNS clients and networks
	// to which the DNS server is allowed to send synthesized AAAA records with the
	// specified IPv6 prefix.
	Clients []*Addressac `json:"clients,omitempty"`

	// The descriptive comment for the DNS64 synthesis group object.
	Comment *string `json:"comment,omitempty"`

	// Determines whether the DNS64 synthesis group is disabled.
	Disable *bool `json:"disable,omitempty"`

	// Determines whether the DNS64 synthesis of AAAA records is enabled for DNS64
	// synthesis groups that request DNSSEC data.
	EnableDnssecDns64 *bool `json:"enable_dnssec_dns64,omitempty"`

	// Access Control settings that contain IPv6 addresses or prefix ranges that
	// cannot be used by IPv6-only hosts, such as IP addresses in the ::ffff:0:0/96
	// network. When DNS server retrieves an AAAA record that contains an IPv6
	// address that matches an excluded address, it does not return the AAAA
	// record. Instead it synthesizes an AAAA record from the A record.
	Exclude []*Addressac `json:"exclude,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// Access Control settings that contain IPv4 addresses and networks for which
	// the DNS server can synthesize AAAA records with the specified prefix.
	Mapped []*Addressac `json:"mapped,omitempty"`

	// The name of the DNS64 synthesis group object.
	Name *string `json:"name,omitempty"`

	// The IPv6 prefix used for the synthesized AAAA records. The prefix length
	// must be /32, /40, /48, /56, /64 or /96, and all bits beyond the specified
	// length must be zero.
	Prefix *string `json:"prefix,omitempty"`
}

Dns64group represents Infoblox object dns64group. To support the increasing number of IPv6 and dual-stack networks, Infoblox DNS servers now support DNS64, a mechanism that synthesizes AAAA records from A records when no AAAA records exist.

func (Dns64group) ObjectType added in v2.4.0

func (Dns64group) ObjectType() string

func (Dns64group) ReturnFields added in v2.4.0

func (obj Dns64group) ReturnFields() []string

type Dnsseckey added in v2.4.0

type Dnsseckey struct {
	// The tag of the key for the zone.
	Tag uint32 `json:"tag,omitempty"`

	// The status of the key for the zone.
	Status string `json:"status,omitempty"`

	// The next event date for the key, the rollover date for an active key or the
	// removal date for an already rolled one.
	NextEventDate *UnixTime `json:"next_event_date,omitempty"`

	// The key type.
	Type string `json:"type,omitempty"`

	// The public-key encryption algorithm.
	Algorithm string `json:"algorithm,omitempty"`

	// The Base-64 encoding of the public key.
	PublicKey string `json:"public_key,omitempty"`
}

Dnsseckey represents Infoblox struct dnsseckey

type Dnsseckeyalgorithm added in v2.4.0

type Dnsseckeyalgorithm struct {
	// The signing key algorithm.
	Algorithm string `json:"algorithm,omitempty"`

	// The signing key size, in bits.
	Size uint32 `json:"size,omitempty"`
}

Dnsseckeyalgorithm represents Infoblox struct dnsseckeyalgorithm

type Dnsseckeyparams added in v2.4.0

type Dnsseckeyparams struct {
	// If set to True, automatic rollovers for the signing key is enabled.
	EnableKskAutoRollover bool `json:"enable_ksk_auto_rollover,omitempty"`

	// Key Signing Key algorithm. Deprecated.
	KskAlgorithm string `json:"ksk_algorithm,omitempty"`

	// A list of Key Signing Key Algorithms.
	KskAlgorithms []*Dnsseckeyalgorithm `json:"ksk_algorithms,omitempty"`

	// Key Signing Key rollover interval, in seconds.
	KskRollover uint32 `json:"ksk_rollover,omitempty"`

	// Key Signing Key size, in bits. Deprecated.
	KskSize uint32 `json:"ksk_size,omitempty"`

	// NSEC (next secure) types.
	NextSecureType string `json:"next_secure_type,omitempty"`

	// This field controls events for which users will be notified.
	KskRolloverNotificationConfig string `json:"ksk_rollover_notification_config,omitempty"`

	// Enable SNMP notifications for KSK related events.
	KskSnmpNotificationEnabled bool `json:"ksk_snmp_notification_enabled,omitempty"`

	// Enable email notifications for KSK related events.
	KskEmailNotificationEnabled bool `json:"ksk_email_notification_enabled,omitempty"`

	// The minimum length for NSEC3 salts.
	Nsec3SaltMinLength uint32 `json:"nsec3_salt_min_length,omitempty"`

	// The maximum length for NSEC3 salts.
	Nsec3SaltMaxLength uint32 `json:"nsec3_salt_max_length,omitempty"`

	// The number of iterations used for hashing NSEC3.
	Nsec3Iterations uint32 `json:"nsec3_iterations,omitempty"`

	// Signature expiration time, in seconds.
	SignatureExpiration uint32 `json:"signature_expiration,omitempty"`

	// Zone Signing Key algorithm. Deprecated.
	ZskAlgorithm string `json:"zsk_algorithm,omitempty"`

	// A list of Zone Signing Key Algorithms.
	ZskAlgorithms []*Dnsseckeyalgorithm `json:"zsk_algorithms,omitempty"`

	// Zone Signing Key rollover interval, in seconds.
	ZskRollover uint32 `json:"zsk_rollover,omitempty"`

	// Zone Signing Key rollover mechanism.
	ZskRolloverMechanism string `json:"zsk_rollover_mechanism,omitempty"`

	// Zone Signing Key size, in bits. Deprecated.
	ZskSize uint32 `json:"zsk_size,omitempty"`
}

Dnsseckeyparams represents Infoblox struct dnsseckeyparams

type Dnssectrustedkey added in v2.4.0

type Dnssectrustedkey struct {
	// The FQDN of the domain for which the member validates responses to recursive
	// queries.
	Fqdn string `json:"fqdn,omitempty"`

	// The DNSSEC algorithm used to generate the key.
	Algorithm string `json:"algorithm,omitempty"`

	// The DNSSEC key.
	Key string `json:"key,omitempty"`

	// The secure entry point flag, if set it means this is a KSK configuration.
	SecureEntryPoint bool `json:"secure_entry_point,omitempty"`

	// Responses must be DNSSEC secure for this hierarchy/domain.
	DnssecMustBeSecure bool `json:"dnssec_must_be_secure,omitempty"`
}

Dnssectrustedkey represents Infoblox struct dnssectrustedkey

type Dnsserver added in v2.4.0

type Dnsserver struct {
	// Flag to override login name and password from the MS Server
	UseLogin bool `json:"use_login,omitempty"`

	// Microsoft Server login name
	LoginName string `json:"login_name,omitempty"`

	// Microsoft Server login password
	LoginPassword string `json:"login_password,omitempty"`

	// flag indicating if the DNS service is managed
	Managed bool `json:"managed,omitempty"`

	// Defines what control to apply on the DNS server
	NextSyncControl string `json:"next_sync_control,omitempty"`

	// Status of the Microsoft DNS Service
	Status string `json:"status,omitempty"`

	// Detailed status of the DNS status
	StatusDetail string `json:"status_detail,omitempty"`

	// Timestamp of the last update
	StatusLastUpdated *UnixTime `json:"status_last_updated,omitempty"`

	// Timestamp of the last synchronization attempt
	LastSyncTs *UnixTime `json:"last_sync_ts,omitempty"`

	// Status of the last synchronization attempt
	LastSyncStatus string `json:"last_sync_status,omitempty"`

	// Detailled status of the last synchronization attempt
	LastSyncDetail string `json:"last_sync_detail,omitempty"`

	// Ordered list of IP addresses to forward queries to
	Forwarders string `json:"forwarders,omitempty"`

	// Flag indicating if the server supports IPv6
	SupportsIpv6 bool `json:"supports_ipv6,omitempty"`

	// Flag indicating if the server supports reverse IPv6 zones
	SupportsIpv6Reverse bool `json:"supports_ipv6_reverse,omitempty"`

	// Flag indicating if the server supports DNAME records
	SupportsRrDname bool `json:"supports_rr_dname,omitempty"`

	// Flag indicating if the server supports
	SupportsDnssec bool `json:"supports_dnssec,omitempty"`

	// Flag indicating if the server supports AD integrated zones
	SupportsActiveDirectory bool `json:"supports_active_directory,omitempty"`

	// MS Server ip address
	Address string `json:"address,omitempty"`

	// Flag indicating if the server supports NAPTR records
	SupportsRrNaptr bool `json:"supports_rr_naptr,omitempty"`

	// Override enable monitoring inherited from grid level
	UseEnableMonitoring bool `json:"use_enable_monitoring,omitempty"`

	// Flag indicating if the DNS service is monitored and controlled
	EnableMonitoring bool `json:"enable_monitoring,omitempty"`

	// Flag to override synchronization interval from the MS Server
	UseSynchronizationMinDelay bool `json:"use_synchronization_min_delay,omitempty"`

	// Minimum number of minutes between two synchronizations
	SynchronizationMinDelay uint32 `json:"synchronization_min_delay,omitempty"`

	// Override enable reports data inherited from grid level
	UseEnableDnsReportsSync bool `json:"use_enable_dns_reports_sync,omitempty"`

	// Enable or Disable MS DNS data for reports from this MS Server
	EnableDnsReportsSync bool `json:"enable_dns_reports_sync,omitempty"`
}

Dnsserver represents Infoblox struct dnsserver

type Dnstapsetting added in v2.4.0

type Dnstapsetting struct {
	// Address of DNSTAP receiver.
	DnstapReceiverAddress string `json:"dnstap_receiver_address,omitempty"`

	// DNSTAP receiver port number.
	DnstapReceiverPort uint32 `json:"dnstap_receiver_port,omitempty"`

	// DNSTAP id string.
	DnstapIdentity string `json:"dnstap_identity,omitempty"`

	// DNSTAP version.
	DnstapVersion string `json:"dnstap_version,omitempty"`
}

Dnstapsetting represents Infoblox struct dnstapsetting

type Dtc added in v2.4.0

type Dtc struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`
}

Dtc represents Infoblox object dtc. This object can be used to control the DTC functionality of the appliance.

func (Dtc) ObjectType added in v2.4.0

func (Dtc) ObjectType() string

func (Dtc) ReturnFields added in v2.4.0

func (obj Dtc) ReturnFields() []string

type DtcAllrecords added in v2.4.0

type DtcAllrecords struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The record comment.
	Comment string `json:"comment,omitempty"`

	// The disable value determines if the record is disabled or not. "False" means
	// the record is enabled.
	Disable bool `json:"disable,omitempty"`

	// The name of the DTC Server object with which the record is associated.
	DtcServer string `json:"dtc_server,omitempty"`

	// The record object, if supported by the WAPI. Otherwise, the value is "None".
	Record string `json:"record,omitempty"`

	// The TTL value of the record associated with the DTC AllRecords object.
	Ttl *uint32 `json:"ttl,omitempty"`

	// The record type. When searching for an unspecified record type, the search
	// is performed for all records. On retrieval, the appliance returns
	// "UNSUPPORTED" for unsupported records.
	Type string `json:"type,omitempty"`
}

DtcAllrecords represents Infoblox object dtc:allrecords. The DTC AllRecords object is a read-only synthetic object used to retrieve records that belong to a particular DTC server.

func (DtcAllrecords) ObjectType added in v2.4.0

func (DtcAllrecords) ObjectType() string

func (DtcAllrecords) ReturnFields added in v2.4.0

func (obj DtcAllrecords) ReturnFields() []string

type DtcCertificate added in v2.4.0

type DtcCertificate struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Reference to underlying X509Certificate.
	Certificate string `json:"certificate,omitempty"`

	// Determines whether the certificate is in use or not.
	InUse bool `json:"in_use,omitempty"`
}

DtcCertificate represents Infoblox object dtc:certificate. These are DTC health monitor certificates.

func (DtcCertificate) ObjectType added in v2.4.0

func (DtcCertificate) ObjectType() string

func (DtcCertificate) ReturnFields added in v2.4.0

func (obj DtcCertificate) ReturnFields() []string

type DtcHealth added in v2.4.0

type DtcHealth struct {
	// The availability color status.
	Availability string `json:"availability,omitempty"`

	// The enabled state of the object.
	EnabledState string `json:"enabled_state,omitempty"`

	// The textual description of the object's status.
	Description string `json:"description,omitempty"`
}

DtcHealth represents Infoblox struct dtc:health

type DtcLbdn added in v2.4.0

type DtcLbdn struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// List of linked auth zones.
	AuthZones []*ZoneAuth `json:"auth_zones,omitempty"`

	// Flag for enabling auto managing DTC Consolidated Monitors on related DTC
	// Pools.
	AutoConsolidatedMonitors *bool `json:"auto_consolidated_monitors,omitempty"`

	// Comment for the DTC LBDN; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// Determines whether the DTC LBDN is disabled or not. When this is set to
	// False, the fixed address is enabled.
	Disable *bool `json:"disable,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The LBDN health information.
	Health *DtcHealth `json:"health,omitempty"`

	// The load balancing method. Used to select pool.
	LbMethod string `json:"lb_method,omitempty"`

	// The display name of the DTC LBDN, not DNS related.
	Name *string `json:"name,omitempty"`

	// LBDN wildcards for pattern match.
	Patterns []string `json:"patterns,omitempty"`

	// Maximum time, in seconds, for which client specific LBDN responses will be
	// cached. Zero specifies no caching.
	Persistence *uint32 `json:"persistence,omitempty"`

	// The maximum time, in seconds, for which client specific LBDN responses will
	// be cached. Zero specifies no caching.
	Pools []*DtcPoolLink `json:"pools,omitempty"`

	// The LBDN pattern match priority for "overlapping" DTC LBDN objects. LBDNs
	// are "overlapping" if they are simultaneously assigned to a zone and have
	// patterns that can match the same FQDN. The matching LBDN with highest
	// priority (lowest ordinal) will be used.
	Priority *uint32 `json:"priority,omitempty"`

	// The topology rules for TOPOLOGY method.
	Topology *string `json:"topology,omitempty"`

	// The Time To Live (TTL) value for the DTC LBDN. A 32-bit unsigned integer
	// that represents the duration, in seconds, for which the record is valid
	// (cached). Zero indicates that the record should not be cached.
	Ttl *uint32 `json:"ttl,omitempty"`

	// The list of resource record types supported by LBDN.
	Types []string `json:"types,omitempty"`

	// Use flag for: ttl
	UseTtl *bool `json:"use_ttl,omitempty"`
}

DtcLbdn represents Infoblox object dtc:lbdn. Load Balanced Domain Name (LBDN) is a Load balanced domain name record type, which is served by Infoblox Name Servers. LBDN is a qualified domain name associated with a specific service such as ftp.abc.com or www.abc.com.

func (DtcLbdn) ObjectType added in v2.4.0

func (DtcLbdn) ObjectType() string

func (DtcLbdn) ReturnFields added in v2.4.0

func (obj DtcLbdn) ReturnFields() []string

type DtcMonitor added in v2.4.0

type DtcMonitor struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Comment for this DTC monitor; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The interval for a health check.
	Interval *uint32 `json:"interval,omitempty"`

	// The actual monitor object.
	Monitor *string `json:"monitor,omitempty"`

	// The display name for this DTC monitor.
	Name *string `json:"name,omitempty"`

	// The health monitor port value.
	Port *uint32 `json:"port,omitempty"`

	// The number of how many times the server should appear as "DOWN" to be
	// treated as dead after it was alive.
	RetryDown *uint32 `json:"retry_down,omitempty"`

	// The number of many times the server should appear as "UP" to be treated as
	// alive after it was dead.
	RetryUp *uint32 `json:"retry_up,omitempty"`

	// The timeout for a health check.
	Timeout *uint32 `json:"timeout,omitempty"`

	// The request transport type.
	Type string `json:"type,omitempty"`
}

DtcMonitor represents Infoblox object dtc:monitor. The DTC Monitor object is used to determine the health of a server by evaluating the response to a health request.

func (DtcMonitor) ObjectType added in v2.4.0

func (DtcMonitor) ObjectType() string

func (DtcMonitor) ReturnFields added in v2.4.0

func (obj DtcMonitor) ReturnFields() []string

type DtcMonitorHttp added in v2.4.0

type DtcMonitorHttp struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// An optional cipher list for a secure HTTP/S connection.
	Ciphers *string `json:"ciphers,omitempty"`

	// An optional client certificate, supplied in a secure HTTP/S mode if present.
	ClientCert *string `json:"client_cert,omitempty"`

	// Comment for this DTC monitor; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// The content check type.
	ContentCheck string `json:"content_check,omitempty"`

	// A portion of response to use as input for content check.
	ContentCheckInput string `json:"content_check_input,omitempty"`

	// A content check success criteria operator.
	ContentCheckOp string `json:"content_check_op,omitempty"`

	// A content check regular expression.
	ContentCheckRegex *string `json:"content_check_regex,omitempty"`

	// A content extraction sub-expression to extract.
	ContentExtractGroup *uint32 `json:"content_extract_group,omitempty"`

	// A content extraction expected type for the extracted data.
	ContentExtractType string `json:"content_extract_type,omitempty"`

	// A content extraction value to compare with extracted result.
	ContentExtractValue *string `json:"content_extract_value,omitempty"`

	// Determines whether the Server Name Indication (SNI) for HTTPS monitor is
	// enabled.
	EnableSni *bool `json:"enable_sni,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The interval for TCP health check.
	Interval *uint32 `json:"interval,omitempty"`

	// The display name for this DTC monitor.
	Name *string `json:"name,omitempty"`

	// Port for TCP requests.
	Port *uint32 `json:"port,omitempty"`

	// An HTTP request to send.
	Request *string `json:"request,omitempty"`

	// The type of an expected result.
	Result string `json:"result,omitempty"`

	// The expected return code.
	ResultCode *uint32 `json:"result_code,omitempty"`

	// The value of how many times the server should appear as down to be treated
	// as dead after it was alive.
	RetryDown *uint32 `json:"retry_down,omitempty"`

	// The value of how many times the server should appear as up to be treated as
	// alive after it was dead.
	RetryUp *uint32 `json:"retry_up,omitempty"`

	// The connection security status.
	Secure *bool `json:"secure,omitempty"`

	// The timeout for TCP health check in seconds.
	Timeout *uint32 `json:"timeout,omitempty"`

	// Determines whether the validation of the remote server's certificate is
	// enabled.
	ValidateCert *bool `json:"validate_cert,omitempty"`
}

DtcMonitorHttp represents Infoblox object dtc:monitor:http. The DTC HTTP monitor object is used to determine the health of a HTTP service by first sending a specific http message to a server and then examining the response received from the server. The validation is successful if the received response matches the expected message.

func (DtcMonitorHttp) ObjectType added in v2.4.0

func (DtcMonitorHttp) ObjectType() string

func (DtcMonitorHttp) ReturnFields added in v2.4.0

func (obj DtcMonitorHttp) ReturnFields() []string

type DtcMonitorIcmp added in v2.4.0

type DtcMonitorIcmp struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Comment for this DTC monitor; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The interval for TCP health check.
	Interval *uint32 `json:"interval,omitempty"`

	// The display name for this DTC monitor.
	Name *string `json:"name,omitempty"`

	// The value of how many times the server should appear as down to be treated
	// as dead after it was alive.
	RetryDown *uint32 `json:"retry_down,omitempty"`

	// The value of how many times the server should appear as up to be treated as
	// alive after it was dead.
	RetryUp *uint32 `json:"retry_up,omitempty"`

	// The timeout for TCP health check in seconds.
	Timeout *uint32 `json:"timeout,omitempty"`
}

DtcMonitorIcmp represents Infoblox object dtc:monitor:icmp. The DTC ICMP monitor object is used to determine the health of a server by monitoring the response to an ICMP ping.

func (DtcMonitorIcmp) ObjectType added in v2.4.0

func (DtcMonitorIcmp) ObjectType() string

func (DtcMonitorIcmp) ReturnFields added in v2.4.0

func (obj DtcMonitorIcmp) ReturnFields() []string

type DtcMonitorPdp added in v2.4.0

type DtcMonitorPdp struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Comment for this DTC monitor; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The interval for TCP health check.
	Interval *uint32 `json:"interval,omitempty"`

	// The display name for this DTC monitor.
	Name *string `json:"name,omitempty"`

	// The port value for PDP requests.
	Port *uint32 `json:"port,omitempty"`

	// The value of how many times the server should appear as down to be treated
	// as dead after it was alive.
	RetryDown *uint32 `json:"retry_down,omitempty"`

	// The value of how many times the server should appear as up to be treated as
	// alive after it was dead.
	RetryUp *uint32 `json:"retry_up,omitempty"`

	// The timeout for TCP health check in seconds.
	Timeout *uint32 `json:"timeout,omitempty"`
}

DtcMonitorPdp represents Infoblox object dtc:monitor:pdp. The DTC PDP monitor object is used to determine the health of a server by sending a PDP ECHO and considering a valid reply to mean that service is available.

func (DtcMonitorPdp) ObjectType added in v2.4.0

func (DtcMonitorPdp) ObjectType() string

func (DtcMonitorPdp) ReturnFields added in v2.4.0

func (obj DtcMonitorPdp) ReturnFields() []string

type DtcMonitorSip added in v2.4.0

type DtcMonitorSip struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// An optional cipher list for secure TLS/SIPS connection.
	Ciphers *string `json:"ciphers,omitempty"`

	// An optional client certificate, supplied in TLS and SIPS mode if present.
	ClientCert *string `json:"client_cert,omitempty"`

	// Comment for this DTC monitor; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The interval for TCP health check.
	Interval *uint32 `json:"interval,omitempty"`

	// The display name for this DTC monitor.
	Name *string `json:"name,omitempty"`

	// The port value for SIP requests.
	Port *uint32 `json:"port,omitempty"`

	// A SIP request to send
	Request *string `json:"request,omitempty"`

	// The type of an expected result.
	Result string `json:"result,omitempty"`

	// The expected return code value.
	ResultCode *uint32 `json:"result_code,omitempty"`

	// The value of how many times the server should appear as down to be treated
	// as dead after it was alive.
	RetryDown *uint32 `json:"retry_down,omitempty"`

	// The value of how many times the server should appear as up to be treated as
	// alive after it was dead.
	RetryUp *uint32 `json:"retry_up,omitempty"`

	// The timeout for TCP health check in seconds.
	Timeout *uint32 `json:"timeout,omitempty"`

	// The transport layer protocol to use for SIP check.
	Transport string `json:"transport,omitempty"`

	// Determines whether the validation of the remote server's certificate is
	// enabled.
	ValidateCert *bool `json:"validate_cert,omitempty"`
}

DtcMonitorSip represents Infoblox object dtc:monitor:sip. The DTC SIP monitor object is used to determine the health of a SIP server such as SIP Proxies and Session Border Controllers, and SIP gateways by issuing SIP options to a server and examining the response provided by the server. The service is considered available If the received response matches the expected response.

func (DtcMonitorSip) ObjectType added in v2.4.0

func (DtcMonitorSip) ObjectType() string

func (DtcMonitorSip) ReturnFields added in v2.4.0

func (obj DtcMonitorSip) ReturnFields() []string

type DtcMonitorSnmp added in v2.4.0

type DtcMonitorSnmp struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Comment for this DTC monitor; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// The SNMP community string for SNMP authentication.
	Community *string `json:"community,omitempty"`

	// The SNMPv3 context.
	Context *string `json:"context,omitempty"`

	// The SNMPv3 engine identifier.
	EngineId *string `json:"engine_id,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The interval for TCP health check.
	Interval *uint32 `json:"interval,omitempty"`

	// The display name for this DTC monitor.
	Name *string `json:"name,omitempty"`

	// A list of OIDs for SNMP monitoring.
	Oids []*DtcMonitorSnmpOid `json:"oids,omitempty"`

	// The port value for SNMP requests.
	Port *uint32 `json:"port,omitempty"`

	// The value of how many times the server should appear as down to be treated
	// as dead after it was alive.
	RetryDown *uint32 `json:"retry_down,omitempty"`

	// The value of how many times the server should appear as up to be treated as
	// alive after it was dead.
	RetryUp *uint32 `json:"retry_up,omitempty"`

	// The timeout for TCP health check in seconds.
	Timeout *uint32 `json:"timeout,omitempty"`

	// The SNMPv3 user setting.
	User *string `json:"user,omitempty"`

	// The SNMP protocol version for the SNMP health check.
	Version string `json:"version,omitempty"`
}

DtcMonitorSnmp represents Infoblox object dtc:monitor:snmp. The DTC SNMP Health Monitor determines the health of SNMP servers, such as SNMP Proxies and Session Border Controllers, and SNMP gateways by issuing SNMP options to a server and examining the response sent by the server. The service is considered available if the returned response matches the expected response.

func (DtcMonitorSnmp) ObjectType added in v2.4.0

func (DtcMonitorSnmp) ObjectType() string

func (DtcMonitorSnmp) ReturnFields added in v2.4.0

func (obj DtcMonitorSnmp) ReturnFields() []string

type DtcMonitorSnmpOid added in v2.4.0

type DtcMonitorSnmpOid struct {
	// The SNMP OID value for DTC SNMP Monitor health checks.
	Oid string `json:"oid,omitempty"`

	// The comment for a DTC SNMP Health Monitor OID object.
	Comment string `json:"comment,omitempty"`

	// The value of the condition type for DTC SNMP Monitor health check results.
	Type string `json:"type,omitempty"`

	// The condition of the validation result for an SNMP health check. The
	// following conditions can be applied to the health check results: 'ANY'
	// accepts any response; 'EXACT' accepts result equal to 'first'; 'LEQ' accepts
	// result which is less than 'first'; 'GEQ' accepts result which is greater
	// than 'first'; 'RANGE' accepts result value of which is between 'first' and
	// 'last'.
	Condition string `json:"condition,omitempty"`

	// The condition's first term to match against the SNMP health check result.
	First string `json:"first,omitempty"`

	// The condition's second term to match against the SNMP health check result
	// with 'RANGE' condition.
	Last string `json:"last,omitempty"`
}

DtcMonitorSnmpOid represents Infoblox struct dtc:monitor:snmp:oid

type DtcMonitorTcp added in v2.4.0

type DtcMonitorTcp struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Comment for this DTC monitor; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The interval for TCP health check.
	Interval *uint32 `json:"interval,omitempty"`

	// The display name for this DTC monitor.
	Name *string `json:"name,omitempty"`

	// The port value for TCP requests.
	Port *uint32 `json:"port,omitempty"`

	// The value of how many times the server should appear as down to be treated
	// as dead after it was alive.
	RetryDown *uint32 `json:"retry_down,omitempty"`

	// The value of how many times the server should appear as up to be treated as
	// alive after it was dead.
	RetryUp *uint32 `json:"retry_up,omitempty"`

	// The timeout for TCP health check in seconds.
	Timeout *uint32 `json:"timeout,omitempty"`
}

DtcMonitorTcp represents Infoblox object dtc:monitor:tcp. The DTC TCP monitor object is used to determine the health of a server by evaluating the response to a TCP request.

func (DtcMonitorTcp) ObjectType added in v2.4.0

func (DtcMonitorTcp) ObjectType() string

func (DtcMonitorTcp) ReturnFields added in v2.4.0

func (obj DtcMonitorTcp) ReturnFields() []string

type DtcObject added in v2.4.0

type DtcObject struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The abstract object type.
	AbstractType string `json:"abstract_type,omitempty"`

	// The comment for the DTC object; maximum 256 characters.
	Comment string `json:"comment,omitempty"`

	// The display object type.
	DisplayType string `json:"display_type,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The list of IPv4 addresses.
	Ipv4AddressList []string `json:"ipv4_address_list,omitempty"`

	// The list of IPv6 addresses.
	Ipv6AddressList []string `json:"ipv6_address_list,omitempty"`

	// The display name of the DTC object.
	Name string `json:"name,omitempty"`

	// The specific DTC object.
	Object string `json:"object,omitempty"`

	// The availability color status.
	Status string `json:"status,omitempty"`

	// The timestamp when status or health was last determined.
	StatusTime *UnixTime `json:"status_time,omitempty"`
}

DtcObject represents Infoblox object dtc:object. An object for all load balancer managed DTC objects.

func (DtcObject) ObjectType added in v2.4.0

func (DtcObject) ObjectType() string

func (DtcObject) ReturnFields added in v2.4.0

func (obj DtcObject) ReturnFields() []string

type DtcPool added in v2.4.0

type DtcPool struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Flag for enabling auto managing DTC Consolidated Monitors in DTC Pool.
	AutoConsolidatedMonitors *bool `json:"auto_consolidated_monitors,omitempty"`

	// A resource in the pool is available if ANY, at least QUORUM, or ALL monitors
	// for the pool say that it is up.
	Availability string `json:"availability,omitempty"`

	// The comment for the DTC Pool; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// List of monitors and associated members statuses of which are shared across
	// members and consolidated in server availability determination.
	ConsolidatedMonitors []*DtcPoolConsolidatedMonitorHealth `json:"consolidated_monitors,omitempty"`

	// Determines whether the DTC Pool is disabled or not. When this is set to
	// False, the fixed address is enabled.
	Disable *bool `json:"disable,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The health status.
	Health *DtcHealth `json:"health,omitempty"`

	// The alternate load balancing method. Use this to select a method type from
	// the pool if the preferred method does not return any results.
	LbAlternateMethod string `json:"lb_alternate_method,omitempty"`

	// The alternate topology for load balancing.
	LbAlternateTopology *string `json:"lb_alternate_topology,omitempty"`

	// The DTC Pool settings for dynamic ratio when it's selected as alternate
	// method.
	LbDynamicRatioAlternate *SettingDynamicratio `json:"lb_dynamic_ratio_alternate,omitempty"`

	// The DTC Pool settings for dynamic ratio when it's selected as preferred
	// method.
	LbDynamicRatioPreferred *SettingDynamicratio `json:"lb_dynamic_ratio_preferred,omitempty"`

	// The preferred load balancing method. Use this to select a method type from
	// the pool.
	LbPreferredMethod string `json:"lb_preferred_method,omitempty"`

	// The preferred topology for load balancing.
	LbPreferredTopology *string `json:"lb_preferred_topology,omitempty"`

	// The monitors related to pool.
	Monitors []*DtcMonitorHttp `json:"monitors,omitempty"`

	// The DTC Pool display name.
	Name *string `json:"name,omitempty"`

	// For availability mode QUORUM, at least this many monitors must report the
	// resource as up for it to be available
	Quorum *uint32 `json:"quorum,omitempty"`

	// The servers related to the pool.
	Servers []*DtcServerLink `json:"servers,omitempty"`

	// The Time To Live (TTL) value for the DTC Pool. A 32-bit unsigned integer
	// that represents the duration, in seconds, for which the record is valid
	// (cached). Zero indicates that the record should not be cached.
	Ttl *uint32 `json:"ttl,omitempty"`

	// Use flag for: ttl
	UseTtl *bool `json:"use_ttl,omitempty"`
}

DtcPool represents Infoblox object dtc:pool. The collection of IDNS resources (virtual servers).

func (DtcPool) ObjectType added in v2.4.0

func (DtcPool) ObjectType() string

func (DtcPool) ReturnFields added in v2.4.0

func (obj DtcPool) ReturnFields() []string

type DtcPoolConsolidatedMonitorHealth added in v2.4.0

type DtcPoolConsolidatedMonitorHealth struct {
	// Members whose monitor statuses are shared across other members in a pool.
	Members []string `json:"members,omitempty"`

	// Monitor whose statuses are shared across other members in a pool.
	Monitor string `json:"monitor,omitempty"`

	// Servers assigned to a pool with monitor defined are healthy if ANY or ALL
	// members report healthy status.
	Availability string `json:"availability,omitempty"`

	// Flag for switching health performing and sharing behavior to perform health
	// checks on each DTC grid member that serves related LBDN(s) and send them
	// across all DTC grid members from both selected and non-selected lists.
	FullHealthCommunication bool `json:"full_health_communication,omitempty"`
}

DtcPoolConsolidatedMonitorHealth represents Infoblox struct dtc:pool:consolidated_monitor_health

type DtcPoolLink struct {
	// The pool to link with.
	Pool string `json:"pool,omitempty"`

	// The weight of pool.
	Ratio uint32 `json:"ratio,omitempty"`
}

DtcPoolLink represents Infoblox struct dtc:pool:link

type DtcRecordA added in v2.4.0

type DtcRecordA struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Flag that indicates whether this record was automatically created by NIOS.
	AutoCreated string `json:"auto_created,omitempty"`

	// Comment for the record; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// Determines if the record is disabled or not. False means that the record is
	// enabled.
	Disable *bool `json:"disable,omitempty"`

	// The name of the DTC Server object with which the DTC record is associated.
	DtcServer string `json:"dtc_server,omitempty"`

	// The IPv4 Address of the domain name.
	Ipv4Addr *string `json:"ipv4addr,omitempty"`

	// The Time to Live (TTL) value.
	Ttl *uint32 `json:"ttl,omitempty"`

	// Use flag for: ttl
	UseTtl *bool `json:"use_ttl,omitempty"`
}

DtcRecordA represents Infoblox object dtc:record:a. A DTC A object represents a DNS Traffic Control Address (DTC A) resource record. This resource record specifies mapping from domain name to IPv4 address.

func (DtcRecordA) ObjectType added in v2.4.0

func (DtcRecordA) ObjectType() string

func (DtcRecordA) ReturnFields added in v2.4.0

func (obj DtcRecordA) ReturnFields() []string

type DtcRecordAaaa added in v2.4.0

type DtcRecordAaaa struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Flag that indicates whether this record was automatically created by NIOS.
	AutoCreated string `json:"auto_created,omitempty"`

	// Comment for the record; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// Determines if the record is disabled or not. False means that the record is
	// enabled.
	Disable *bool `json:"disable,omitempty"`

	// The name of the DTC Server object with which the DTC record is associated.
	DtcServer string `json:"dtc_server,omitempty"`

	// The IPv6 Address of the domain name.
	Ipv6Addr *string `json:"ipv6addr,omitempty"`

	// The Time to Live (TTL) value.
	Ttl *uint32 `json:"ttl,omitempty"`

	// Use flag for: ttl
	UseTtl *bool `json:"use_ttl,omitempty"`
}

DtcRecordAaaa represents Infoblox object dtc:record:aaaa. A DTC AAAA object represents a DNS Traffic Control IPv6 Address (DTC AAAA) resource record. This resource record specifies mapping from domain name to IPv6 address.

func (DtcRecordAaaa) ObjectType added in v2.4.0

func (DtcRecordAaaa) ObjectType() string

func (DtcRecordAaaa) ReturnFields added in v2.4.0

func (obj DtcRecordAaaa) ReturnFields() []string

type DtcRecordCname added in v2.4.0

type DtcRecordCname struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Flag that indicates whether this record was automatically created by NIOS.
	AutoCreated string `json:"auto_created,omitempty"`

	// The canonical name of the host.
	Canonical *string `json:"canonical,omitempty"`

	// Comment for the record; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// Determines if the record is disabled or not. False means that the record is
	// enabled.
	Disable *bool `json:"disable,omitempty"`

	// The canonical name as server by DNS protocol.
	DnsCanonical string `json:"dns_canonical,omitempty"`

	// The name of the DTC Server object with which the DTC record is associated.
	DtcServer string `json:"dtc_server,omitempty"`

	// The Time to Live (TTL) value.
	Ttl *uint32 `json:"ttl,omitempty"`

	// Use flag for: ttl
	UseTtl *bool `json:"use_ttl,omitempty"`
}

DtcRecordCname represents Infoblox object dtc:record:cname. A DTC CNAME object represents a DNS Traffic Control Canonical name (DTC CNAME) resource record. DTC CNAME record maps domain name alias to its canonical domain name.

func (DtcRecordCname) ObjectType added in v2.4.0

func (DtcRecordCname) ObjectType() string

func (DtcRecordCname) ReturnFields added in v2.4.0

func (obj DtcRecordCname) ReturnFields() []string

type DtcRecordNaptr added in v2.4.0

type DtcRecordNaptr struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Comment for the record; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// Determines if the record is disabled or not. False means that the record is
	// enabled.
	Disable *bool `json:"disable,omitempty"`

	// The name of the DTC Server object with which the DTC record is associated.
	DtcServer string `json:"dtc_server,omitempty"`

	// The flags used to control the interpretation of the fields for an NAPTR
	// record object. Supported values for the flags field are "U", "S", "P" and
	// "A".
	Flags *string `json:"flags,omitempty"`

	// The order parameter of the NAPTR records. This parameter specifies the order
	// in which the NAPTR rules are applied when multiple rules are present. Valid
	// values are from 0 to 65535 (inclusive), in 32-bit unsigned integer format.
	Order *uint32 `json:"order,omitempty"`

	// The preference of the NAPTR record. The preference field determines the
	// order the NAPTR records are processed when multiple records with the same
	// order parameter are present. Valid values are from 0 to 65535 (inclusive),
	// in 32-bit unsigned integer format.
	Preference *uint32 `json:"preference,omitempty"`

	// The regular expression-based rewriting rule of the NAPTR record. This should
	// be a POSIX compliant regular expression, including the substitution rule and
	// flags. Refer to RFC 2915 for the field syntax details.
	Regexp *string `json:"regexp,omitempty"`

	// The replacement field of the NAPTR record object. For nonterminal NAPTR
	// records, this field specifies the next domain name to look up. This value
	// can be in unicode format.
	Replacement *string `json:"replacement,omitempty"`

	// The services field of the NAPTR record object; maximum 128 characters. The
	// services field contains protocol and service identifiers, such as "http+E2U"
	// or "SIPS+D2T".
	Services *string `json:"services,omitempty"`

	// The Time to Live (TTL) value.
	Ttl *uint32 `json:"ttl,omitempty"`

	// Use flag for: ttl
	UseTtl *bool `json:"use_ttl,omitempty"`
}

DtcRecordNaptr represents Infoblox object dtc:record:naptr. A DTC NAPTR object represents a DNS Traffic Control Naming Authority Pointer (DTC NAPTR) resource record. This resource record specifies a regular expression-based rewrite rule that, when applied to an existing string, produces a new domain name or URI.

func (DtcRecordNaptr) ObjectType added in v2.4.0

func (DtcRecordNaptr) ObjectType() string

func (DtcRecordNaptr) ReturnFields added in v2.4.0

func (obj DtcRecordNaptr) ReturnFields() []string

type DtcRecordSrv added in v2.4.0

type DtcRecordSrv struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Comment for the record; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// Determines if the record is disabled or not. False means that the record is
	// enabled.
	Disable *bool `json:"disable,omitempty"`

	// The name of the DTC Server object with which the DTC record is associated.
	DtcServer string `json:"dtc_server,omitempty"`

	// The name for an SRV record in unicode format.
	Name *string `json:"name,omitempty"`

	// The port of the SRV record. Valid values are from 0 to 65535 (inclusive), in
	// 32-bit unsigned integer format.
	Port *uint32 `json:"port,omitempty"`

	// The priority of the SRV record. Valid values are from 0 to 65535
	// (inclusive), in 32-bit unsigned integer format.
	Priority *uint32 `json:"priority,omitempty"`

	// The target of the SRV record in FQDN format. This value can be in unicode
	// format.
	Target *string `json:"target,omitempty"`

	// The Time to Live (TTL) value.
	Ttl *uint32 `json:"ttl,omitempty"`

	// Use flag for: ttl
	UseTtl *bool `json:"use_ttl,omitempty"`

	// The weight of the SRV record. Valid values are from 0 to 65535 (inclusive),
	// in 32-bit unsigned integer format.
	Weight *uint32 `json:"weight,omitempty"`
}

DtcRecordSrv represents Infoblox object dtc:record:srv. A DTC SRV object represents a DNS Traffic Control (DTC SRV) resource record. This resource record provides information on available services.

func (DtcRecordSrv) ObjectType added in v2.4.0

func (DtcRecordSrv) ObjectType() string

func (DtcRecordSrv) ReturnFields added in v2.4.0

func (obj DtcRecordSrv) ReturnFields() []string

type DtcServer added in v2.4.0

type DtcServer struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Enabling this option will auto-create a single read-only A/AAAA/CNAME record
	// corresponding to the configured hostname and update it if the hostname
	// changes.
	AutoCreateHostRecord *bool `json:"auto_create_host_record,omitempty"`

	// Comment for the DTC Server; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// Determines whether the DTC Server is disabled or not. When this is set to
	// False, the fixed address is enabled.
	Disable *bool `json:"disable,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The health status.
	Health *DtcHealth `json:"health,omitempty"`

	// The address or FQDN of the server.
	Host *string `json:"host,omitempty"`

	// List of IP/FQDN and monitor pairs to be used for additional monitoring.
	Monitors []*DtcServerMonitor `json:"monitors,omitempty"`

	// The DTC Server display name.
	Name *string `json:"name,omitempty"`

	// The hostname for Server Name Indication (SNI) in FQDN format.
	SniHostname *string `json:"sni_hostname,omitempty"`

	// Use flag for: sni_hostname
	UseSniHostname *bool `json:"use_sni_hostname,omitempty"`
}

DtcServer represents Infoblox object dtc:server. This is a DTC Server. Aka resource, virtual server or pool member.

func (DtcServer) ObjectType added in v2.4.0

func (DtcServer) ObjectType() string

func (DtcServer) ReturnFields added in v2.4.0

func (obj DtcServer) ReturnFields() []string
type DtcServerLink struct {
	// The server to link with.
	Server string `json:"server,omitempty"`

	// The weight of server.
	Ratio uint32 `json:"ratio,omitempty"`
}

DtcServerLink represents Infoblox struct dtc:server:link

type DtcServerMonitor added in v2.4.0

type DtcServerMonitor struct {
	// The monitor related to server.
	Monitor string `json:"monitor,omitempty"`

	// IP address or FQDN of the server used for monitoring.
	Host string `json:"host,omitempty"`
}

DtcServerMonitor represents Infoblox struct dtc:server:monitor

type DtcTopology added in v2.4.0

type DtcTopology struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The comment for the DTC TOPOLOGY monitor object; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// Display name of the DTC Topology.
	Name *string `json:"name,omitempty"`

	// Topology rules.
	Rules []*DtcTopologyRule `json:"rules,omitempty"`
}

DtcTopology represents Infoblox object dtc:topology. A topology is a named list of ordered topology rules. Topology rules map client IPs to pools or resources. They require the Topology DB and named labels refer to it.

func (DtcTopology) ObjectType added in v2.4.0

func (DtcTopology) ObjectType() string

func (DtcTopology) ReturnFields added in v2.4.0

func (obj DtcTopology) ReturnFields() []string

type DtcTopologyLabel added in v2.4.0

type DtcTopologyLabel struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The name of the field in the Topology database the label was obtained from.
	Field string `json:"field,omitempty"`

	// The DTC Topology label name.
	Label string `json:"label,omitempty"`
}

DtcTopologyLabel represents Infoblox object dtc:topology:label. This is the label of the field in the Topology database.

func (DtcTopologyLabel) ObjectType added in v2.4.0

func (DtcTopologyLabel) ObjectType() string

func (DtcTopologyLabel) ReturnFields added in v2.4.0

func (obj DtcTopologyLabel) ReturnFields() []string

type DtcTopologyRule added in v2.4.0

type DtcTopologyRule struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The type of the destination for this DTC Topology rule.
	DestType string `json:"dest_type,omitempty"`

	// The reference to the destination DTC pool or DTC server.
	DestinationLink *string `json:"destination_link,omitempty"`

	// Type of the DNS response for rule.
	ReturnType string `json:"return_type,omitempty"`

	// The conditions for matching sources. Should be empty to set rule as default
	// destination.
	Sources []*DtcTopologyRuleSource `json:"sources,omitempty"`

	// The DTC Topology the rule belongs to.
	Topology string `json:"topology,omitempty"`

	// True if the label in the rule exists in the current Topology DB. Always true
	// for SUBNET rules. Rules with non-existent labels may be configured but will
	// never match.
	Valid bool `json:"valid,omitempty"`
}

DtcTopologyRule represents Infoblox object dtc:topology:rule. Topology rules map client IPs to pools or resources. They require the Topology DB and named labels refer to it. Can be created only as part of topology.

func (DtcTopologyRule) ObjectType added in v2.4.0

func (DtcTopologyRule) ObjectType() string

func (DtcTopologyRule) ReturnFields added in v2.4.0

func (obj DtcTopologyRule) ReturnFields() []string

type DtcTopologyRuleSource added in v2.4.0

type DtcTopologyRuleSource struct {
	// The source type.
	SourceType string `json:"source_type,omitempty"`

	// The operation used to match the value.
	SourceOp string `json:"source_op,omitempty"`

	// The source value.
	SourceValue string `json:"source_value,omitempty"`
}

DtcTopologyRuleSource represents Infoblox struct dtc:topology:rule:source

type DxlEndpoint added in v2.4.0

type DxlEndpoint struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The list of DXL endpoint brokers. Note that you cannot specify brokers and
	// brokers_import_token at the same time.
	Brokers []*DxlEndpointBroker `json:"brokers,omitempty"`

	// The token returned by the uploadinit function call in object fileop for a
	// DXL broker configuration file. Note that you cannot specify brokers and
	// brokers_import_token at the same time.
	BrokersImportToken *string `json:"brokers_import_token,omitempty"`

	// The client certificate subject of a DXL endpoint.
	ClientCertificateSubject string `json:"client_certificate_subject,omitempty"`

	// The token returned by the uploadinit function call in object fileop for a
	// DXL endpoint client certificate.
	ClientCertificateToken *string `json:"client_certificate_token,omitempty"`

	// The timestamp when client certificate for a DXL endpoint was created.
	ClientCertificateValidFrom *UnixTime `json:"client_certificate_valid_from,omitempty"`

	// The timestamp when the client certificate for a DXL endpoint expires.
	ClientCertificateValidTo *UnixTime `json:"client_certificate_valid_to,omitempty"`

	// The comment of a DXL endpoint.
	Comment *string `json:"comment,omitempty"`

	// Determines whether a DXL endpoint is disabled.
	Disable *bool `json:"disable,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The log level for a DXL endpoint.
	LogLevel string `json:"log_level,omitempty"`

	// The name of a DXL endpoint.
	Name *string `json:"name,omitempty"`

	// The outbound member that will generate events.
	OutboundMemberType string `json:"outbound_member_type,omitempty"`

	// The list of members for outbound events.
	OutboundMembers []string `json:"outbound_members,omitempty"`

	// The DXL template instance. You cannot change the parameters of the DXL
	// endpoint template instance.
	TemplateInstance *NotificationRestTemplateinstance `json:"template_instance,omitempty"`

	// The timeout of session management (in seconds).
	Timeout *uint32 `json:"timeout,omitempty"`

	// DXL topics
	Topics []string `json:"topics,omitempty"`

	// The vendor identifier.
	VendorIdentifier *string `json:"vendor_identifier,omitempty"`

	// The user name for WAPI integration.
	WapiUserName *string `json:"wapi_user_name,omitempty"`

	// The user password for WAPI integration.
	WapiUserPassword *string `json:"wapi_user_password,omitempty"`
}

DxlEndpoint represents Infoblox object dxl:endpoint. The DXL endpoint object represents the settings of a particular DXL endpoint.

func (DxlEndpoint) ObjectType added in v2.4.0

func (DxlEndpoint) ObjectType() string

func (DxlEndpoint) ReturnFields added in v2.4.0

func (obj DxlEndpoint) ReturnFields() []string

type DxlEndpointBroker added in v2.4.0

type DxlEndpointBroker struct {
	// The FQDN for the DXL endpoint broker.
	HostName string `json:"host_name,omitempty"`

	// The IPv4 Address or IPv6 Address for the DXL endpoint broker.
	Address string `json:"address,omitempty"`

	// The communication port for the DXL endpoint broker.
	Port uint32 `json:"port,omitempty"`

	// The unique identifier for the DXL endpoint.
	UniqueId string `json:"unique_id,omitempty"`
}

DxlEndpointBroker represents Infoblox struct dxl:endpoint:broker

type EA

type EA map[string]interface{}

func (EA) Count

func (ea EA) Count() int

func (EA) MarshalJSON

func (ea EA) MarshalJSON() ([]byte, error)

func (*EA) UnmarshalJSON

func (ea *EA) UnmarshalJSON(b []byte) (err error)

type EADefListValue

type EADefListValue struct {
	// Enum value
	Value string `json:"value,omitempty"`
}

EADefListValue represents Infoblox struct extensibleattributedef:listvalues

type EADefinition

type EADefinition struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The object types this extensible attribute is allowed to associate with.
	AllowedObjectTypes []string `json:"allowed_object_types,omitempty"`

	// Comment for the Extensible Attribute Definition; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// Default value used to pre-populate the attribute value in the GUI. For
	// email, URL, and string types, the value is a string with a maximum of 256
	// characters. For an integer, the value is an integer from -2147483648 through
	// 2147483647. For a date, the value is the number of seconds that have elapsed
	// since January 1st, 1970 UTC.
	DefaultValue *string `json:"default_value,omitempty"`

	// This option describes the action that must be taken on the extensible
	// attribute by its descendant in case the 'Inheritable' flag is set.
	DescendantsAction *ExtensibleattributedefDescendants `json:"descendants_action,omitempty"`

	// This field contains extensible attribute flags. Possible values: (A)udited,
	// (C)loud API, Cloud (G)master, (I)nheritable, (L)isted, (M)andatory value,
	// MGM (P)rivate, (R)ead Only, (S)ort enum values, Multiple (V)alues If there
	// are two or more flags in the field, you must list them according to the
	// order they are listed above. For example, 'CR' is a valid value for the
	// 'flags' field because C = Cloud API is listed before R = Read only. However,
	// the value 'RC' is invalid because the order for the 'flags' field is broken.
	Flags *string `json:"flags,omitempty"`

	// List of Values. Applicable if the extensible attribute type is ENUM.
	ListValues []*EADefListValue `json:"list_values,omitempty"`

	// Maximum allowed value of extensible attribute. Applicable if the extensible
	// attribute type is INTEGER.
	Max *uint32 `json:"max,omitempty"`

	// Minimum allowed value of extensible attribute. Applicable if the extensible
	// attribute type is INTEGER.
	Min *uint32 `json:"min,omitempty"`

	// The name of the Extensible Attribute Definition.
	Name *string `json:"name,omitempty"`

	// Namespace for the Extensible Attribute Definition.
	Namespace string `json:"namespace,omitempty"`

	// Type for the Extensible Attribute Definition.
	Type string `json:"type,omitempty"`
}

EADefinition represents Infoblox object extensibleattributedef. The Extensible Attribute Definition object is used to retrieve the definition of an extensible attribute.

func NewEADefinition

func NewEADefinition(eadef EADefinition) *EADefinition

func (EADefinition) ObjectType added in v2.4.0

func (EADefinition) ObjectType() string

func (EADefinition) ReturnFields added in v2.4.0

func (obj EADefinition) ReturnFields() []string

type EASearch

type EASearch map[string]interface{}

func (EASearch) MarshalJSON

func (eas EASearch) MarshalJSON() ([]byte, error)

type Eaexpressionop added in v2.4.0

type Eaexpressionop struct {
	// The operation name.
	Op string `json:"op,omitempty"`

	// The name of the Extensible Attribute Definition object which is used as the
	// first operand value.
	Op1 string `json:"op1,omitempty"`

	// The first operand type.
	Op1Type string `json:"op1_type,omitempty"`

	// The second operand value.
	Op2 string `json:"op2,omitempty"`

	// The second operand type.
	Op2Type string `json:"op2_type,omitempty"`
}

Eaexpressionop represents Infoblox struct eaexpressionop

type Exclusionrange added in v2.4.0

type Exclusionrange struct {
	// The IPv4 Address starting address of the exclusion range.
	StartAddress string `json:"start_address,omitempty"`

	// The IPv4 Address ending address of the exclusion range.
	EndAddress string `json:"end_address,omitempty"`

	// Comment for the exclusion range; maximum 256 characters.
	Comment string `json:"comment,omitempty"`
}

Exclusionrange represents Infoblox struct exclusionrange

type Exclusionrangetemplate added in v2.4.0

type Exclusionrangetemplate struct {
	// The address offset of the DHCP exclusion range template.
	Offset uint32 `json:"offset,omitempty"`

	// The number of addresses in the DHCP exclusion range template.
	NumberOfAddresses uint32 `json:"number_of_addresses,omitempty"`

	// A descriptive comment of a DHCP exclusion range template.
	Comment string `json:"comment,omitempty"`
}

Exclusionrangetemplate represents Infoblox struct exclusionrangetemplate

type Expressionop added in v2.4.0

type Expressionop struct {
	// The operation name.
	Op string `json:"op,omitempty"`

	// The first operand value.
	Op1 string `json:"op1,omitempty"`

	// The first operand type.
	Op1Type string `json:"op1_type,omitempty"`

	// The second operand value.
	Op2 string `json:"op2,omitempty"`

	// The second operand type.
	Op2Type string `json:"op2_type,omitempty"`
}

Expressionop represents Infoblox struct expressionop

type ExtensibleattributedefDescendants added in v2.4.0

type ExtensibleattributedefDescendants struct {
	// This option describes which action must be taken if the extensible attribute
	// exists for both the parent and descendant objects: * INHERIT: inherit the
	// extensible attribute from the parent object. * RETAIN: retain the value of
	// an extensible attribute that was set for the child object. * CONVERT: the
	// value of the extensible attribute must be copied from the parent object.
	OptionWithEa string `json:"option_with_ea,omitempty"`

	// This option describes which action must be taken if the extensible attribute
	// exists for the parent, but is absent from the descendant object: * INHERIT:
	// inherit the extensible attribute from the parent object. * NOT_INHERIT: do
	// nothing.
	OptionWithoutEa string `json:"option_without_ea,omitempty"`

	// This option describes which action must be taken if the extensible attribute
	// exists for the descendant, but is absent for the parent object: * RETAIN:
	// retain the extensible attribute value for the descendant object. * REMOVE:
	// remove this extensible attribute from the descendant object.
	OptionDeleteEa string `json:"option_delete_ea,omitempty"`
}

ExtensibleattributedefDescendants represents Infoblox struct extensibleattributedef:descendants

type Extsyslogbackupserver added in v2.4.0

type Extsyslogbackupserver struct {
	// The IPv4 or IPv6 address of the backup syslog server.
	Address string `json:"address,omitempty"`

	// The directory path for the replication of the rotated syslog files.
	DirectoryPath string `json:"directory_path,omitempty"`

	// If set to True, the syslog backup server is enabled.
	Enable bool `json:"enable,omitempty"`

	// The password of the backup syslog server.
	Password string `json:"password,omitempty"`

	// The port used to connect to the backup syslog server.
	Port uint32 `json:"port,omitempty"`

	// The transport protocol used to connect to the backup syslog server.
	Protocol string `json:"protocol,omitempty"`

	// The username of the backup syslog server.
	Username string `json:"username,omitempty"`
}

Extsyslogbackupserver represents Infoblox struct extsyslogbackupserver

type Fileop added in v2.4.0

type Fileop struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`
}

Fileop represents Infoblox object fileop. This object controls uploading and downloading data from the appliance.

func (Fileop) ObjectType added in v2.4.0

func (Fileop) ObjectType() string

func (Fileop) ReturnFields added in v2.4.0

func (obj Fileop) ReturnFields() []string

type Filetransfersetting added in v2.4.0

type Filetransfersetting struct {
	// The directory to save the captured DNS queries and responses.
	Directory string `json:"directory,omitempty"`

	// The host name of the destination server for DNS capture transfer.
	Host string `json:"host,omitempty"`

	// The password to access the destination server directory.
	Password string `json:"password,omitempty"`

	// The transfer protocol for the captured DNS queries and responses.
	Type string `json:"type,omitempty"`

	// The username to access the destination server directory.
	Username string `json:"username,omitempty"`

	// Transfer scp port.
	Port uint32 `json:"port,omitempty"`
}

Filetransfersetting represents Infoblox struct filetransfersetting

type Filterfingerprint added in v2.4.0

type Filterfingerprint struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The descriptive comment.
	Comment *string `json:"comment,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The list of DHCP Fingerprint objects.
	Fingerprint []string `json:"fingerprint,omitempty"`

	// The name of a DHCP Fingerprint Filter object.
	Name *string `json:"name,omitempty"`
}

Filterfingerprint represents Infoblox object filterfingerprint. The appliance can filter an address request by the DHCP fingerprint of a requesting client. Depending on how you apply DHCP fingerprint filters, the appliance can grant or deny the address request if the requesting client matches the filter criteria.

func (Filterfingerprint) ObjectType added in v2.4.0

func (Filterfingerprint) ObjectType() string

func (Filterfingerprint) ReturnFields added in v2.4.0

func (obj Filterfingerprint) ReturnFields() []string

type Filtermac added in v2.4.0

type Filtermac struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The descriptive comment of a DHCP MAC Filter object.
	Comment *string `json:"comment,omitempty"`

	// The default MAC expiration time of the DHCP MAC Address Filter object. By
	// default, the MAC address filter never expires; otherwise, it is the absolute
	// interval when the MAC address filter expires. The maximum value can extend
	// up to 4294967295 secs. The minimum value is 60 secs (1 min).
	DefaultMacAddressExpiration *uint32 `json:"default_mac_address_expiration,omitempty"`

	// Determines if the DHCP Fingerprint object is disabled or not.
	Disable *bool `json:"disable,omitempty"`

	// The flag to enforce MAC address expiration of the DHCP MAC Address Filter
	// object.
	EnforceExpirationTimes *bool `json:"enforce_expiration_times,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The length of time the DHCP server leases an IP address to a client. The
	// lease time applies to hosts that meet the filter criteria.
	LeaseTime *uint32 `json:"lease_time,omitempty"`

	// The name of a DHCP MAC Filter object.
	Name *string `json:"name,omitempty"`

	// Determines if DHCP MAC Filter never expires or automatically expires.
	NeverExpires *bool `json:"never_expires,omitempty"`

	// An array of DHCP option dhcpoption structs that lists the DHCP options
	// associated with the object.
	Options []*Dhcpoption `json:"options,omitempty"`

	// This is reserved for writing comments related to the particular MAC address
	// filter. The length of comment cannot exceed 1024 bytes.
	ReservedForInfoblox *string `json:"reserved_for_infoblox,omitempty"`
}

Filtermac represents Infoblox object filtermac. An Infoblox appliance can filter address requests by the MAC address and/or vendor prefix (i.e., the first 6 hexadecimal characters of the MAC address) of a requesting host. The filter instructs the appliance to either grant or deny an address request if the requesting host matches the filter.

func (Filtermac) ObjectType added in v2.4.0

func (Filtermac) ObjectType() string

func (Filtermac) ReturnFields added in v2.4.0

func (obj Filtermac) ReturnFields() []string

type Filternac added in v2.4.0

type Filternac struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The descriptive comment of a DHCP NAC Filter object.
	Comment *string `json:"comment,omitempty"`

	// The conditional expression of a DHCP NAC Filter object.
	Expression *string `json:"expression,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The length of time the DHCP server leases an IP address to a client. The
	// lease time applies to hosts that meet the filter criteria.
	LeaseTime *uint32 `json:"lease_time,omitempty"`

	// The name of a DHCP NAC Filter object.
	Name *string `json:"name,omitempty"`

	// An array of DHCP option dhcpoption structs that lists the DHCP options
	// associated with the object.
	Options []*Dhcpoption `json:"options,omitempty"`
}

Filternac represents Infoblox object filternac. If NAC authentication is configured, the appliance receives authentication responses from NAC authentication servers, and it grants or denies a lease request if the authentication response matches conditions defined by the NAC filters.

func (Filternac) ObjectType added in v2.4.0

func (Filternac) ObjectType() string

func (Filternac) ReturnFields added in v2.4.0

func (obj Filternac) ReturnFields() []string

type Filteroption added in v2.4.0

type Filteroption struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Determines if apply as class is enabled or not. If this flag is set to
	// "true" the filter is treated as global DHCP class, e.g it is written to
	// dhcpd config file even if it is not present in any DHCP range.
	ApplyAsClass *bool `json:"apply_as_class,omitempty"`

	// A name of boot file of a DHCP filter option object.
	Bootfile *string `json:"bootfile,omitempty"`

	// Determines the boot server of a DHCP filter option object. You can specify
	// the name and/or IP address of the boot server that host needs to boot.
	Bootserver *string `json:"bootserver,omitempty"`

	// The descriptive comment of a DHCP filter option object.
	Comment *string `json:"comment,omitempty"`

	// The conditional expression of a DHCP filter option object.
	Expression *string `json:"expression,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// Determines the lease time of a DHCP filter option object.
	LeaseTime *uint32 `json:"lease_time,omitempty"`

	// The name of a DHCP option filter object.
	Name *string `json:"name,omitempty"`

	// Determines the next server of a DHCP filter option object. You can specify
	// the name and/or IP address of the next server that the host needs to boot.
	NextServer *string `json:"next_server,omitempty"`

	// An array of DHCP option dhcpoption structs that lists the DHCP options
	// associated with the object.
	OptionList []*Dhcpoption `json:"option_list,omitempty"`

	// The option space of a DHCP filter option object.
	OptionSpace *string `json:"option_space,omitempty"`

	// Determines the PXE (Preboot Execution Environment) lease time of a DHCP
	// filter option object. To specify the duration of time it takes a host to
	// connect to a boot server, such as a TFTP server, and download the file it
	// needs to boot.
	PxeLeaseTime *uint32 `json:"pxe_lease_time,omitempty"`
}

Filteroption represents Infoblox object filteroption. In the ISC DHCP terms, it defines a class of clients that match a particular (option, value) pair. To define an option filter, add Option to the DHCP Filter object.

func (Filteroption) ObjectType added in v2.4.0

func (Filteroption) ObjectType() string

func (Filteroption) ReturnFields added in v2.4.0

func (obj Filteroption) ReturnFields() []string

type Filterrelayagent added in v2.4.0

type Filterrelayagent struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The circuit_id_name of a DHCP relay agent filter object. This filter
	// identifies the circuit between the remote host and the relay agent. For
	// example, the identifier can be the ingress interface number of the circuit
	// access unit, perhaps concatenated with the unit ID number and slot number.
	// Also, the circuit ID can be an ATM virtual circuit ID or cable data virtual
	// circuit ID.
	CircuitIdName *string `json:"circuit_id_name,omitempty"`

	// The circuit ID substring length.
	CircuitIdSubstringLength *uint32 `json:"circuit_id_substring_length,omitempty"`

	// The circuit ID substring offset.
	CircuitIdSubstringOffset *uint32 `json:"circuit_id_substring_offset,omitempty"`

	// A descriptive comment of a DHCP relay agent filter object.
	Comment *string `json:"comment,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The circuit ID matching rule of a DHCP relay agent filter object. The
	// circuit_id value takes effect only if the value is "MATCHES_VALUE".
	IsCircuitId string `json:"is_circuit_id,omitempty"`

	// Determines if the substring of circuit ID, instead of the full circuit ID,
	// is matched.
	IsCircuitIdSubstring *bool `json:"is_circuit_id_substring,omitempty"`

	// The remote ID matching rule of a DHCP relay agent filter object. The
	// remote_id value takes effect only if the value is Matches_Value.
	IsRemoteId string `json:"is_remote_id,omitempty"`

	// Determines if the substring of remote ID, instead of the full remote ID, is
	// matched.
	IsRemoteIdSubstring *bool `json:"is_remote_id_substring,omitempty"`

	// The name of a DHCP relay agent filter object.
	Name *string `json:"name,omitempty"`

	// The remote ID name attribute of a relay agent filter object. This filter
	// identifies the remote host. The remote ID name can represent many different
	// things such as the caller ID telephone number for a dial-up connection, a
	// user name for logging in to the ISP, a modem ID, etc. When the remote ID
	// name is defined on the relay agent, the DHCP server will have a trusted
	// relationship to identify the remote host. The remote ID name is considered
	// as a trusted identifier.
	RemoteIdName *string `json:"remote_id_name,omitempty"`

	// The remote ID substring length.
	RemoteIdSubstringLength *uint32 `json:"remote_id_substring_length,omitempty"`

	// The remote ID substring offset.
	RemoteIdSubstringOffset *uint32 `json:"remote_id_substring_offset,omitempty"`
}

Filterrelayagent represents Infoblox object filterrelayagent. The Infoblox appliance can screen address requests through relay agent filters (DHCP option 82) that assist the agents in forwarding address assignments across the proper circuit. When a relay agent receives the DHCPDISCOVER message, it can add one or two agent IDs in the DHCP option 82 suboption fields to the message. If the agent ID strings match those defined in a relay agent filter applied to a DHCP address range, the Infoblox appliance either assigns addresses from that range or denies the request (based on previously configured parameters; that is, the Grant lease and Deny lease parameters).

func (Filterrelayagent) ObjectType added in v2.4.0

func (Filterrelayagent) ObjectType() string

func (Filterrelayagent) ReturnFields added in v2.4.0

func (obj Filterrelayagent) ReturnFields() []string

type Filterrule added in v2.4.0

type Filterrule struct {
	// The name of the DHCP filter.
	Filter string `json:"filter,omitempty"`

	// The permission to be applied.
	Permission string `json:"permission,omitempty"`
}

Filterrule represents Infoblox struct filterrule

type Fingerprint added in v2.4.0

type Fingerprint struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Comment for the Fingerprint; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// A class of DHCP Fingerprint object; maximum 256 characters.
	DeviceClass *string `json:"device_class,omitempty"`

	// Determines if the DHCP Fingerprint object is disabled or not.
	Disable *bool `json:"disable,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// A list (comma separated list) of IPv6 option number sequences of the device
	// or operating system.
	Ipv6OptionSequence []string `json:"ipv6_option_sequence,omitempty"`

	// Name of the DHCP Fingerprint object.
	Name *string `json:"name,omitempty"`

	// A list (comma separated list) of IPv4 option number sequences of the device
	// or operating system.
	OptionSequence []string `json:"option_sequence,omitempty"`

	// The type of the DHCP Fingerprint object.
	Type string `json:"type,omitempty"`

	// A list of vendor IDs of the device or operating system.
	VendorId []string `json:"vendor_id,omitempty"`
}

Fingerprint represents Infoblox object fingerprint. The DHCP Fingerprint object is part of the Fingerprint filter.

func (Fingerprint) ObjectType added in v2.4.0

func (Fingerprint) ObjectType() string

func (Fingerprint) ReturnFields added in v2.4.0

func (obj Fingerprint) ReturnFields() []string

type FireeyeAlertmap added in v2.4.0

type FireeyeAlertmap struct {
	// The type of Fireeye Alert.
	AlertType string `json:"alert_type,omitempty"`

	// The RPZ rule for the alert.
	RpzRule string `json:"rpz_rule,omitempty"`

	// The expiration Lifetime of alert type. The 32-bit unsigned integer
	// represents the amount of seconds this alert type will live for. 0 means the
	// alert will never expire.
	Lifetime uint32 `json:"lifetime,omitempty"`
}

FireeyeAlertmap represents Infoblox struct fireeye:alertmap

type FireeyeRulemapping added in v2.4.0

type FireeyeRulemapping struct {
	// The override setting for APT alerts.
	AptOverride string `json:"apt_override,omitempty"`

	// The FireEye alert mapping.
	FireeyeAlertMapping []*FireeyeAlertmap `json:"fireeye_alert_mapping,omitempty"`

	// The domain name to be substituted, this is applicable only when apt_override
	// is set to "SUBSTITUTE".
	SubstitutedDomainName string `json:"substituted_domain_name,omitempty"`
}

FireeyeRulemapping represents Infoblox struct fireeye:rulemapping

type FixedAddress

type FixedAddress struct {
	IBBase `json:"-"`

	Ref         string `json:"_ref,omitempty"`
	NetviewName string `json:"network_view,omitempty"`
	Cidr        string `json:"network,omitempty"`
	Comment     string `json:"comment"`
	IPv4Address string `json:"ipv4addr,omitempty"`
	IPv6Address string `json:"ipv6addr,omitempty"`
	Duid        string `json:"duid,omitempty"`
	Mac         string `json:"mac,omitempty"`
	Name        string `json:"name,omitempty"`
	MatchClient string `json:"match_client,omitempty"`
	Ea          EA     `json:"extattrs"`
	// contains filtered or unexported fields
}

func NewEmptyFixedAddress

func NewEmptyFixedAddress(isIPv6 bool) *FixedAddress

func NewFixedAddress

func NewFixedAddress(
	netView string,
	name string,
	ipAddr string,
	cidr string,
	macOrDuid string,
	clients string,
	eas EA,
	ref string,
	isIPv6 bool,
	comment string) *FixedAddress

func (FixedAddress) ObjectType added in v2.4.0

func (fa FixedAddress) ObjectType() string

type Fixedaddresstemplate added in v2.4.0

type Fixedaddresstemplate struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The boot file name for the fixed address. You can configure the DHCP server
	// to support clients that use the boot file name option in their DHCPREQUEST
	// messages.
	Bootfile *string `json:"bootfile,omitempty"`

	// The boot server address for the fixed address. You can specify the name
	// and/or IP address of the boot server that the host needs to boot. The boot
	// server IPv4 Address or name in FQDN format.
	Bootserver *string `json:"bootserver,omitempty"`

	// A descriptive comment of a fixed address template object.
	Comment *string `json:"comment,omitempty"`

	// The dynamic DNS domain name the appliance uses specifically for DDNS updates
	// for this fixed address.
	DdnsDomainname *string `json:"ddns_domainname,omitempty"`

	// The DDNS host name for this fixed address.
	DdnsHostname *string `json:"ddns_hostname,omitempty"`

	// Determines if BOOTP settings are disabled and BOOTP requests will be denied.
	DenyBootp *bool `json:"deny_bootp,omitempty"`

	// Determines if the DHCP server sends DDNS updates to DNS servers in the same
	// Grid, and to external DNS servers.
	EnableDdns *bool `json:"enable_ddns,omitempty"`

	// Set this to True if you want the DHCP server to use a different lease time
	// for PXE clients.
	EnablePxeLeaseTime *bool `json:"enable_pxe_lease_time,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// If this field is set to False, the appliance returns all DHCP options the
	// client is eligible to receive, rather than only the list of options the
	// client has requested.
	IgnoreDhcpOptionListRequest *bool `json:"ignore_dhcp_option_list_request,omitempty"`

	// This field contains the logic filters to be applied on this fixed address.
	// This list corresponds to the match rules that are written to the dhcpd
	// configuration file.
	LogicFilterRules []*Logicfilterrule `json:"logic_filter_rules,omitempty"`

	// The name of a fixed address template object.
	Name *string `json:"name,omitempty"`

	// The name in FQDN and/or IPv4 Address format of the next server that the host
	// needs to boot.
	Nextserver *string `json:"nextserver,omitempty"`

	// The number of addresses for this fixed address.
	NumberOfAddresses *uint32 `json:"number_of_addresses,omitempty"`

	// The start address offset for this fixed address.
	Offset *uint32 `json:"offset,omitempty"`

	// An array of DHCP option dhcpoption structs that lists the DHCP options
	// associated with the object.
	Options []*Dhcpoption `json:"options,omitempty"`

	// The PXE lease time value for a DHCP Fixed Address object. Some hosts use PXE
	// (Preboot Execution Environment) to boot remotely from a server. To better
	// manage your IP resources, set a different lease time for PXE boot requests.
	// You can configure the DHCP server to allocate an IP address with a shorter
	// lease time to hosts that send PXE boot requests, so IP addresses are not
	// leased longer than necessary. A 32-bit unsigned integer that represents the
	// duration, in seconds, for which the update is cached. Zero indicates that
	// the update is not cached.
	PxeLeaseTime *uint32 `json:"pxe_lease_time,omitempty"`

	// Use flag for: bootfile
	UseBootfile *bool `json:"use_bootfile,omitempty"`

	// Use flag for: bootserver
	UseBootserver *bool `json:"use_bootserver,omitempty"`

	// Use flag for: ddns_domainname
	UseDdnsDomainname *bool `json:"use_ddns_domainname,omitempty"`

	// Use flag for: deny_bootp
	UseDenyBootp *bool `json:"use_deny_bootp,omitempty"`

	// Use flag for: enable_ddns
	UseEnableDdns *bool `json:"use_enable_ddns,omitempty"`

	// Use flag for: ignore_dhcp_option_list_request
	UseIgnoreDhcpOptionListRequest *bool `json:"use_ignore_dhcp_option_list_request,omitempty"`

	// Use flag for: logic_filter_rules
	UseLogicFilterRules *bool `json:"use_logic_filter_rules,omitempty"`

	// Use flag for: nextserver
	UseNextserver *bool `json:"use_nextserver,omitempty"`

	// Use flag for: options
	UseOptions *bool `json:"use_options,omitempty"`

	// Use flag for: pxe_lease_time
	UsePxeLeaseTime *bool `json:"use_pxe_lease_time,omitempty"`
}

Fixedaddresstemplate represents Infoblox object fixedaddresstemplate. The fixed address template used to create a fixed address objects in a quick and consistent way. Fixed address object created from a fixed address template will inherit most properties defined in fixed address template object so most of the fixed address template properties are the same as the fixed address object properties.

func (Fixedaddresstemplate) ObjectType added in v2.4.0

func (Fixedaddresstemplate) ObjectType() string

func (Fixedaddresstemplate) ReturnFields added in v2.4.0

func (obj Fixedaddresstemplate) ReturnFields() []string

type Forwardingmemberserver added in v2.4.0

type Forwardingmemberserver struct {
	// The name of this Grid member in FQDN format.
	Name string `json:"name,omitempty"`

	// Determines if the appliance sends queries to forwarders only, and not to
	// other internal or Internet root servers.
	ForwardersOnly bool `json:"forwarders_only,omitempty"`

	// The information for the remote name server to which you want the Infoblox
	// appliance to forward queries for a specified domain name.
	ForwardTo NullableNameServers `json:"forward_to,omitempty"`

	// Use flag for: forward_to
	UseOverrideForwarders bool `json:"use_override_forwarders"`
}

Forwardingmemberserver represents Infoblox struct forwardingmemberserver

type Ftpuser added in v2.4.0

type Ftpuser struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Determines whether to create the home directory with the user name or to use
	// the existing directory as the home directory.
	CreateHomeDir bool `json:"create_home_dir,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The absolute path of the FTP user's home directory.
	HomeDir string `json:"home_dir,omitempty"`

	// The FTP user password.
	Password *string `json:"password,omitempty"`

	// The FTP user permission.
	Permission string `json:"permission,omitempty"`

	// The FTP user name.
	Username string `json:"username,omitempty"`
}

Ftpuser represents Infoblox object ftpuser. The FTP user represents the user accounts to be used with the FTP client.

func (Ftpuser) ObjectType added in v2.4.0

func (Ftpuser) ObjectType() string

func (Ftpuser) ReturnFields added in v2.4.0

func (obj Ftpuser) ReturnFields() []string

type GenericObj added in v2.6.0

type GenericObj interface {
	ObjectType() string
	ReturnFields() []string
	EaSearch() EASearch
	SetReturnFields([]string)
}

type Grid

type Grid struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The property to allow recursive deletion. Determines the users who can
	// choose to perform recursive deletion on networks or zones from the GUI only.
	AllowRecursiveDeletion string `json:"allow_recursive_deletion,omitempty"`

	// Determines the audit log format.
	AuditLogFormat string `json:"audit_log_format,omitempty"`

	// If set to True, audit log messages are also copied to the syslog.
	AuditToSyslogEnable *bool `json:"audit_to_syslog_enable,omitempty"`

	// The grid level settings for automated traffic capture.
	AutomatedTrafficCaptureSetting *SettingAutomatedtrafficcapture `json:"automated_traffic_capture_setting,omitempty"`

	// The Grid consent banner settings.
	ConsentBannerSetting *GridConsentbannersetting `json:"consent_banner_setting,omitempty"`

	// The Grid csp api config settings.
	CspApiConfig *GridCspapiconfig `json:"csp_api_config,omitempty"`

	// CSP settings at grid level
	CspGridSetting *GridCspgridsetting `json:"csp_grid_setting,omitempty"`

	// If set to True, the managed Grid will not send snapshots to the Multi-Grid
	// Master.
	DenyMgmSnapshots *bool `json:"deny_mgm_snapshots,omitempty"`

	// The default actions for extensbile attributes that exist on descendants.
	DescendantsAction *ExtensibleattributedefDescendants `json:"descendants_action,omitempty"`

	// The DNS resolver setting.
	DnsResolverSetting *SettingDnsresolver `json:"dns_resolver_setting,omitempty"`

	// The DSCP value. Valid values are integers between 0 and 63 inclusive.
	Dscp *uint32 `json:"dscp,omitempty"`

	// The e-mail settings for the Grid.
	EmailSetting *SettingEmail `json:"email_setting,omitempty"`

	// If set to True, GUI and API access are enabled on the LAN/VIP port and MGMT
	// port (if configured).
	EnableGuiApiForLanVip *bool `json:"enable_gui_api_for_lan_vip,omitempty"`

	// Determines if the LOM functionality is enabled or not.
	EnableLom *bool `json:"enable_lom,omitempty"`

	// Determines redirections is enabled or not for members.
	EnableMemberRedirect *bool `json:"enable_member_redirect,omitempty"`

	// Determines if the Recycle Bin is enabled or not.
	EnableRecycleBin *bool `json:"enable_recycle_bin,omitempty"`

	// Determines if the RIR/SWIP support is enabled or not.
	EnableRirSwip *bool `json:"enable_rir_swip,omitempty"`

	// The list of external backup syslog servers.
	ExternalSyslogBackupServers []*Extsyslogbackupserver `json:"external_syslog_backup_servers,omitempty"`

	// If set to True, external syslog servers are enabled.
	ExternalSyslogServerEnable *bool `json:"external_syslog_server_enable,omitempty"`

	// The Grid HTTP proxy server settings.
	HttpProxyServerSetting *SettingHttpproxyserver `json:"http_proxy_server_setting,omitempty"`

	// The Grid informational level banner settings.
	InformationalBannerSetting *GridInformationalbannersetting `json:"informational_banner_setting,omitempty"`

	// If set to True, graphical visualization of the Grid is enabled.
	IsGridVisualizationVisible *bool `json:"is_grid_visualization_visible,omitempty"`

	// Security Setting for Account lockout.
	LockoutSetting *GridLockoutsetting `json:"lockout_setting,omitempty"`

	// The list of LOM users.
	LomUsers []*Lomuser `json:"lom_users,omitempty"`

	// Determines if strict delegate mode for the Grid managed by the Master Grid
	// is enabled or not.
	MgmStrictDelegateMode *bool `json:"mgm_strict_delegate_mode,omitempty"`

	// The settings for all Microsoft servers in the Grid.
	MsSetting *SettingMsserver `json:"ms_setting,omitempty"`

	// The grid name.
	Name *string `json:"name,omitempty"`

	// The list of all Network Address Translation (NAT) groups configured on the
	// Grid.
	NatGroups []string `json:"nat_groups,omitempty"`

	// The Grid Network Time Protocol (NTP) settings.
	NTPSetting *NTPSetting `json:"ntp_setting,omitempty"`

	// Determines the object changes tracking settings.
	ObjectsChangesTrackingSetting *Objectschangestrackingsetting `json:"objects_changes_tracking_setting,omitempty"`

	// The Grid password settings.
	PasswordSetting *SettingPassword `json:"password_setting,omitempty"`

	// The setting for the Restart Banner.
	RestartBannerSetting *GridRestartbannersetting `json:"restart_banner_setting,omitempty"`

	// The restart status for the Grid.
	RestartStatus string `json:"restart_status,omitempty"`

	// The time interval (in seconds) that determines how often the appliance
	// calculates the RPZ hit rate.
	RpzHitRateInterval *uint32 `json:"rpz_hit_rate_interval,omitempty"`

	// The maximum number of incoming queries between the RPZ hit rate checks.
	RpzHitRateMaxQuery *uint32 `json:"rpz_hit_rate_max_query,omitempty"`

	// The minimum number of incoming queries between the RPZ hit rate checks.
	RpzHitRateMinQuery *uint32 `json:"rpz_hit_rate_min_query,omitempty"`

	// The scheduled backup configuration.
	ScheduledBackup *Scheduledbackup `json:"scheduled_backup,omitempty"`

	// The shared secret of the Grid. This is a write-only attribute.
	Secret *string `json:"secret,omitempty"`

	// The Grid security banner settings.
	SecurityBannerSetting *SettingSecuritybanner `json:"security_banner_setting,omitempty"`

	// The Grid security settings.
	SecuritySetting *SettingSecurity `json:"security_setting,omitempty"`

	// Determines overall service status of the Grid.
	ServiceStatus string `json:"service_status,omitempty"`

	// The Grid SNMP settings.
	SnmpSetting *SettingSnmp `json:"snmp_setting,omitempty"`

	// Support bundle download timeout in seconds.
	SupportBundleDownloadTimeout *uint32 `json:"support_bundle_download_timeout,omitempty"`

	// If 'audit_to_syslog_enable' is set to True, the facility that determines the
	// processes and daemons from which the log messages are generated.
	SyslogFacility string `json:"syslog_facility,omitempty"`

	// The list of external syslog servers.
	SyslogServers []*Syslogserver `json:"syslog_servers,omitempty"`

	// The maximum size for the syslog file expressed in megabytes.
	SyslogSize *uint32 `json:"syslog_size,omitempty"`

	// Determines the list of threshold traps. The user can only change the values
	// for each trap or remove traps.
	ThresholdTraps []*Thresholdtrap `json:"threshold_traps,omitempty"`

	// The time zone of the Grid. The UTC string that represents the time zone,
	// such as "(UTC - 5:00) Eastern Time (US and Canada)".
	TimeZone *string `json:"time_zone,omitempty"`

	// The delayed usage (in minutes) of a permission token.
	TokenUsageDelay *uint32 `json:"token_usage_delay,omitempty"`

	// Grid level settings for enabling authoritative DNS latency thresholds for
	// automated traffic capture.
	TrafficCaptureAuthDnsSetting *SettingTriggeruthdnslatency `json:"traffic_capture_auth_dns_setting,omitempty"`

	// Grid level settings for enabling DNS cache hit ratio threshold for automated
	// traffic capture.
	TrafficCaptureChrSetting *SettingTrafficcapturechr `json:"traffic_capture_chr_setting,omitempty"`

	// Grid level settings for enabling DNS query per second threshold for
	// automated traffic capture.
	TrafficCaptureQpsSetting *SettingTrafficcaptureqps `json:"traffic_capture_qps_setting,omitempty"`

	// Grid level settings for enabling recursive DNS latency thresholds for
	// automated traffic capture.
	TrafficCaptureRecDnsSetting *SettingTriggerrecdnslatency `json:"traffic_capture_rec_dns_setting,omitempty"`

	// Grid level settings for enabling count for concurrent outgoing recursive
	// queries for automated traffic capture.
	TrafficCaptureRecQueriesSetting *SettingTriggerrecqueries `json:"traffic_capture_rec_queries_setting,omitempty"`

	// Determines configuration of the trap notifications.
	TrapNotifications []*Trapnotification `json:"trap_notifications,omitempty"`

	// The list of member configuration structures, which provides information and
	// settings for configuring the member that is responsible for downloading
	// updates.
	UpdatesDownloadMemberConfig []*Updatesdownloadmemberconfig `json:"updates_download_member_config,omitempty"`

	// The VPN port.
	VpnPort *uint32 `json:"vpn_port,omitempty"`
}

Grid represents Infoblox object grid. This object represents the Infoblox Grid.

func NewGrid

func NewGrid(grid Grid) *Grid

func (Grid) ObjectType added in v2.4.0

func (Grid) ObjectType() string

func (Grid) ReturnFields added in v2.4.0

func (obj Grid) ReturnFields() []string

type GridAttackdetect added in v2.4.0

type GridAttackdetect struct {
	// Determines if DNS attack detection is enabled or not.
	Enable bool `json:"enable,omitempty"`

	// The high threshold value (in percentage) for starting DNS attack detection.
	High uint32 `json:"high,omitempty"`

	// The maximum number of events that have occurred before processing DNS attack
	// detection.
	IntervalMax uint32 `json:"interval_max,omitempty"`

	// The minimum number of events that have occurred before processing DNS attack
	// detection.
	IntervalMin uint32 `json:"interval_min,omitempty"`

	// The time interval between detection processing.
	IntervalTime uint32 `json:"interval_time,omitempty"`

	// The low threshold value (in percentage) for starting DNS attack detection.
	Low uint32 `json:"low,omitempty"`
}

GridAttackdetect represents Infoblox struct grid:attackdetect

type GridAttackmitigation added in v2.4.0

type GridAttackmitigation struct {
	// Configuration for detecting changes for the Cache Hit Ratio (CHR) of
	// recursive queries.
	DetectChr *GridAttackdetect `json:"detect_chr,omitempty"`

	// The cache utilization (in percentage) when Cache Hit Ratio (CHR) starts.
	DetectChrGrace uint32 `json:"detect_chr_grace,omitempty"`

	// Configuration for detecting NXDOMAIN responses from up-stream servers to all
	// incoming recursive responses.
	DetectNxdomainResponses *GridAttackdetect `json:"detect_nxdomain_responses,omitempty"`

	// Configuration for detecting the UDP packet drop rate.
	DetectUdpDrop *GridAttackdetect `json:"detect_udp_drop,omitempty"`

	// The minimum time interval (in seconds) between changes in attack status.
	Interval uint32 `json:"interval,omitempty"`

	// Enable or disable the mitigation of possible NXDOMAIN attacks by splitting
	// the Lease Recently Used (LRU) list into NX (non-existent) RRsets and all
	// other RRsets, and by removing the least recently used items from the LRU
	// list for NX RRsets before removing items for other RRsets.
	MitigateNxdomainLru bool `json:"mitigate_nxdomain_lru,omitempty"`
}

GridAttackmitigation represents Infoblox struct grid:attackmitigation

type GridAutoblackhole added in v2.4.0

type GridAutoblackhole struct {
	// Enables or disables the configuration of the maximum number of concurrent
	// recursive queries the appliance sends to each upstream DNS server.
	EnableFetchesPerServer bool `json:"enable_fetches_per_server,omitempty"`

	// Enables or disables the configuration of the maximum number of concurrent
	// recursive queries the appliance sends to each DNS zone.
	EnableFetchesPerZone bool `json:"enable_fetches_per_zone,omitempty"`

	// Enables or disables the holddown configuration when the appliance stops
	// sending queries to non-responsive servers.
	EnableHolddown bool `json:"enable_holddown,omitempty"`

	// The maximum number of concurrent recursive queries the appliance sends to a
	// single upstream name server before blocking additional queries to that
	// server.
	FetchesPerServer uint32 `json:"fetches_per_server,omitempty"`

	// The maximum number of concurrent recursive queries that a server sends for
	// its domains.
	FetchesPerZone uint32 `json:"fetches_per_zone,omitempty"`

	// Determines how often (in number of recursive responses) the appliance
	// recalculates the average timeout ratio for each DNS server.
	FpsFreq uint32 `json:"fps_freq,omitempty"`

	// The holddown duration for non-responsive servers.
	Holddown uint32 `json:"holddown,omitempty"`

	// The number of consecutive timeouts before holding down a non-responsive
	// server.
	HolddownThreshold uint32 `json:"holddown_threshold,omitempty"`

	// The minimum time (in seconds) that needs to be passed before a timeout
	// occurs. Note that only these timeouts are counted towards the number of
	// consecutive timeouts.
	HolddownTimeout uint32 `json:"holddown_timeout,omitempty"`
}

GridAutoblackhole represents Infoblox struct grid:autoblackhole

type GridCloudapi added in v2.4.0

type GridCloudapi struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Defines administrators who can perform cloud API requests on the Grid
	// Master. The valid value is NONE (no administrator), ALL (all
	// administrators), or LIST (administrators on the ACL).
	AllowApiAdmins string `json:"allow_api_admins,omitempty"`

	// The list of administrators who can perform cloud API requests on the Cloud
	// Platform Appliance.
	AllowedApiAdmins []*GridCloudapiUser `json:"allowed_api_admins,omitempty"`

	// Determines whether the recycle bin for deleted cloud objects is enabled or
	// not on the Grid Master.
	EnableRecycleBin *bool `json:"enable_recycle_bin,omitempty"`

	// Structure containing all the information related to Gateway configuration
	// for the Grid Master
	GatewayConfig *GridCloudapiGatewayConfig `json:"gateway_config,omitempty"`
}

GridCloudapi represents Infoblox object grid:cloudapi. This object represents the Cloud Grid.

func (GridCloudapi) ObjectType added in v2.4.0

func (GridCloudapi) ObjectType() string

func (GridCloudapi) ReturnFields added in v2.4.0

func (obj GridCloudapi) ReturnFields() []string

type GridCloudapiCloudstatistics added in v2.4.0

type GridCloudapiCloudstatistics struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Ratio of allocated vs. available IPs
	AllocatedAvailableRatio uint32 `json:"allocated_available_ratio,omitempty"`

	// Total number of IPs allocated by tenants.
	AllocatedIpCount uint32 `json:"allocated_ip_count,omitempty"`

	// The total number of IP addresses available to tenants. Only IP addresses in
	// networks that are within a delegation scope are counted.
	AvailableIpCount string `json:"available_ip_count,omitempty"`

	// The total number of fixed IP addresses currently in use by all tenants in
	// the system.
	FixedIpCount uint32 `json:"fixed_ip_count,omitempty"`

	// The total number of floating IP addresses currently in use by all tenants in
	// the system.
	FloatingIpCount uint32 `json:"floating_ip_count,omitempty"`

	// Total number of tenant currently in the system.
	TenantCount uint32 `json:"tenant_count,omitempty"`

	// The total number of IP addresses currently in use by all tenants in the
	// system.
	TenantIpCount uint32 `json:"tenant_ip_count,omitempty"`

	// The total number of VMs currently in use by all tenants in the system.
	TenantVmCount uint32 `json:"tenant_vm_count,omitempty"`
}

GridCloudapiCloudstatistics represents Infoblox object grid:cloudapi:cloudstatistics. Represents the cloud statistics data.

func (GridCloudapiCloudstatistics) ObjectType added in v2.4.0

func (GridCloudapiCloudstatistics) ObjectType() string

func (GridCloudapiCloudstatistics) ReturnFields added in v2.4.0

func (obj GridCloudapiCloudstatistics) ReturnFields() []string

type GridCloudapiGatewayConfig added in v2.4.0

type GridCloudapiGatewayConfig struct {
	// Enable Gateway Service.
	EnableProxyService bool `json:"enable_proxy_service,omitempty"`

	// Gateway port
	Port uint32 `json:"port,omitempty"`

	// List of Gateway FQDN to AWS Endpoint Mapping.
	EndpointMapping []*GridCloudapiGatewayEndpointmapping `json:"endpoint_mapping,omitempty"`
}

GridCloudapiGatewayConfig represents Infoblox struct grid:cloudapi:gateway:config

type GridCloudapiGatewayEndpointmapping added in v2.4.0

type GridCloudapiGatewayEndpointmapping struct {
	// Gateway FQDN.
	GatewayFqdn string `json:"gateway_fqdn,omitempty"`

	// Endpoint FQDN.
	EndpointFqdn string `json:"endpoint_fqdn,omitempty"`
}

GridCloudapiGatewayEndpointmapping represents Infoblox struct grid:cloudapi:gateway:endpointmapping

type GridCloudapiInfo added in v2.4.0

type GridCloudapiInfo struct {
	// The Cloud Platform Appliance to which authority of the object is delegated.
	DelegatedMember *Dhcpmember `json:"delegated_member,omitempty"`

	// Indicates the scope of delegation for the object. This can be one of the
	// following: NONE (outside any delegation), ROOT (the delegation point),
	// SUBTREE (within the scope of a delegation), RECLAIMING (within the scope of
	// a delegation being reclaimed, either as the delegation point or in the
	// subtree).
	DelegatedScope string `json:"delegated_scope,omitempty"`

	// Indicates the root of the delegation if delegated_scope is SUBTREE or
	// RECLAIMING. This is not set otherwise.
	DelegatedRoot string `json:"delegated_root,omitempty"`

	// Determines whether the object was created by the cloud adapter or not.
	OwnedByAdaptor bool `json:"owned_by_adaptor,omitempty"`

	// Indicates the cloud origin of the object.
	Usage string `json:"usage,omitempty"`

	// Reference to the tenant object associated with the object, if any.
	Tenant string `json:"tenant,omitempty"`

	// Indicates the specified cloud management platform.
	MgmtPlatform string `json:"mgmt_platform,omitempty"`

	// Type of authority over the object.
	AuthorityType string `json:"authority_type,omitempty"`
}

GridCloudapiInfo represents Infoblox struct grid:cloudapi:info

type GridCloudapiTenant added in v2.4.0

type GridCloudapiTenant struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Structure containing all cloud API related information for this object.
	CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`

	// Comment for the Grid Cloud API Tenant object; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// The timestamp when the tenant was first created in the system.
	CreatedTs *UnixTime `json:"created_ts,omitempty"`

	// Unique ID associated with the tenant. This is set only when the tenant is
	// first created.
	Id string `json:"id,omitempty"`

	// The timestamp when the last event associated with the tenant happened.
	LastEventTs *UnixTime `json:"last_event_ts,omitempty"`

	// Name of the tenant.
	Name *string `json:"name,omitempty"`

	// Number of Networks associated with the tenant.
	NetworkCount uint32 `json:"network_count,omitempty"`

	// Number of VMs associated with the tenant.
	VmCount uint32 `json:"vm_count,omitempty"`
}

GridCloudapiTenant represents Infoblox object grid:cloudapi:tenant. A Tenant object represents an abstract administrative concept in Cloud Management Platforms, which encompasses all network elements such as networks, zones, VMs, IP addresses (fixed and floating), network views, default DNS view, and all related extensive attributes.

func (GridCloudapiTenant) ObjectType added in v2.4.0

func (GridCloudapiTenant) ObjectType() string

func (GridCloudapiTenant) ReturnFields added in v2.4.0

func (obj GridCloudapiTenant) ReturnFields() []string

type GridCloudapiUser added in v2.4.0

type GridCloudapiUser struct {
	// Determines whether this is a remote admin user.
	IsRemote bool `json:"is_remote,omitempty"`

	// Username that matches a remote administrator who can perform cloud API
	// requests on the Cloud Platform Appliance.
	RemoteAdmin string `json:"remote_admin,omitempty"`

	// Local administrator who can perform cloud API requests on the Cloud Platform
	// Appliance.
	LocalAdmin string `json:"local_admin,omitempty"`
}

GridCloudapiUser represents Infoblox struct grid:cloudapi:user

type GridCloudapiVm added in v2.4.0

type GridCloudapiVm struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Availability zone of the VM.
	AvailabilityZone string `json:"availability_zone,omitempty"`

	// Structure containing all the cloud API related information for this object.
	CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`

	// Comment for the vm object; maximum 1024 characters.
	Comment *string `json:"comment,omitempty"`

	// Elastic IP address associated with the VM's primary interface.
	ElasticIpAddress string `json:"elastic_ip_address,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The timestamp when the VM was first seen in the system.
	FirstSeen *UnixTime `json:"first_seen,omitempty"`

	// Hostname part of the FQDN for the address associated with the VM's primary
	// interface.
	Hostname string `json:"hostname,omitempty"`

	// Unique ID associated with the VM. This is set only when the VM is first
	// created.
	Id string `json:"id,omitempty"`

	// Identifier of the kernel that this VM is running; maximum 128 characters.
	KernelId *string `json:"kernel_id,omitempty"`

	// The timestamp when the last event associated with the VM happened.
	LastSeen *UnixTime `json:"last_seen,omitempty"`

	// Name of the VM.
	Name *string `json:"name,omitempty"`

	// Number of Networks containing any address associated with this VM.
	NetworkCount uint32 `json:"network_count,omitempty"`

	// Guest Operating system that this VM is running; maximum 128 characters.
	OperatingSystem *string `json:"operating_system,omitempty"`

	// MAC address associated with the VM's primary interface.
	PrimaryMacAddress string `json:"primary_mac_address,omitempty"`

	// Address of the network that is the container of the address associated with
	// the VM's primary interface.
	SubnetAddress string `json:"subnet_address,omitempty"`

	// CIDR of the network that is the container of the address associated with the
	// VM's primary interface.
	SubnetCidr uint32 `json:"subnet_cidr,omitempty"`

	// Subnet ID of the network that is the container of the address associated
	// with the VM's primary interface.
	SubnetId string `json:"subnet_id,omitempty"`

	// Name of the tenant associated with the VM.
	TenantName string `json:"tenant_name,omitempty"`

	// VM type; maximum 64 characters.
	VmType *string `json:"vm_type,omitempty"`

	// Network address of the parent VPC.
	VpcAddress string `json:"vpc_address,omitempty"`

	// Network CIDR of the parent VPC.
	VpcCidr uint32 `json:"vpc_cidr,omitempty"`

	// Identifier of the parent VPC.
	VpcId string `json:"vpc_id,omitempty"`

	// Name of the parent VPC.
	VpcName string `json:"vpc_name,omitempty"`
}

GridCloudapiVm represents Infoblox object grid:cloudapi:vm. A vm object represents a virtual machine which encompasses network elements such as IP addresses (fixed and floating, private and public), DNS names and all related extensive attributes.

func (GridCloudapiVm) ObjectType added in v2.4.0

func (GridCloudapiVm) ObjectType() string

func (GridCloudapiVm) ReturnFields added in v2.4.0

func (obj GridCloudapiVm) ReturnFields() []string

type GridCloudapiVmaddress added in v2.4.0

type GridCloudapiVmaddress struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The IP address of the interface.
	Address string `json:"address,omitempty"`

	// IP address type (Public, Private, Elastic, Floating, ...).
	AddressType string `json:"address_type,omitempty"`

	// Reference to associated IPv4 or IPv6 address.
	AssociatedIp string `json:"associated_ip,omitempty"`

	// Array of string denoting the types of underlying objects IPv4/IPv6 - "A",
	// "AAAA", "PTR", "HOST", "FA", "RESERVATION", "UNMANAGED" + ("BULKHOST",
	// "DHCP_RANGE", "RESERVED_RANGE", "LEASE", "NETWORK", "BROADCAST", "PENDING"),
	AssociatedObjectTypes []string `json:"associated_object_types,omitempty"`

	// The list of references to the object (Host, Fixed Address, RR, ...) that
	// defines this IP.
	AssociatedObjects []*Ipv4FixedAddress `json:"associated_objects,omitempty"`

	// Structure containing all the cloud API related information. Only management
	// platform "mgmt_platform" is updated for this object.
	CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`

	// The list of all FQDNs associated with the IP address.
	DnsNames []string `json:"dns_names,omitempty"`

	// Elastic IP address associated with this private address, if this address is
	// a private address; otherwise empty.
	ElasticAddress string `json:"elastic_address,omitempty"`

	// Name of the interface associated with this IP address.
	InterfaceName string `json:"interface_name,omitempty"`

	// Indicates whether the address is IPv4 or IPv6.
	IsIpv4 bool `json:"is_ipv4,omitempty"`

	// The MAC address of the interface.
	MacAddress string `json:"mac_address,omitempty"`

	// The Microsoft Active Directory user related information.
	MsAdUserData *MsserverAduserData `json:"ms_ad_user_data,omitempty"`

	// The network to which this address belongs, in IPv4 Address/CIDR format.
	Network string `json:"network,omitempty"`

	// Network view name of the delegated object.
	NetworkView string `json:"network_view,omitempty"`

	// Port identifier of the interface.
	PortId uint32 `json:"port_id,omitempty"`

	// Private IP address associated with this public (or elastic or floating)
	// address, if this address is a public address; otherwise empty.
	PrivateAddress string `json:"private_address,omitempty"`

	// Host part of the FQDN of this address if this address is a private address;
	// otherwise empty
	PrivateHostname string `json:"private_hostname,omitempty"`

	// Public IP address associated with this private address, if this address is a
	// private address; otherwise empty.
	PublicAddress string `json:"public_address,omitempty"`

	// Host part of the FQDN of this address if this address is a public (or
	// elastic or floating) address; otherwise empty
	PublicHostname string `json:"public_hostname,omitempty"`

	// Network address of the subnet that is the container of this address.
	SubnetAddress string `json:"subnet_address,omitempty"`

	// CIDR of the subnet that is the container of this address.
	SubnetCidr uint32 `json:"subnet_cidr,omitempty"`

	// Subnet ID that is the container of this address.
	SubnetId string `json:"subnet_id,omitempty"`

	// The Cloud API Tenant object.
	Tenant string `json:"tenant,omitempty"`

	// Availability zone of the VM.
	VmAvailabilityZone string `json:"vm_availability_zone,omitempty"`

	// VM comment.
	VmComment string `json:"vm_comment,omitempty"`

	// Date/time the VM was first created as NIOS object.
	VmCreationTime *UnixTime `json:"vm_creation_time,omitempty"`

	// Host part of the FQDN of the address attached to the primary interface.
	VmHostname string `json:"vm_hostname,omitempty"`

	// The UUID of the Virtual Machine.
	VmId string `json:"vm_id,omitempty"`

	// Kernel ID of the VM that this address is associated with.
	VmKernelId string `json:"vm_kernel_id,omitempty"`

	// Last time the VM was updated.
	VmLastUpdateTime *UnixTime `json:"vm_last_update_time,omitempty"`

	// The name of the Virtual Machine.
	VmName string `json:"vm_name,omitempty"`

	// Count of networks containing all the addresses of the VM.
	VmNetworkCount uint32 `json:"vm_network_count,omitempty"`

	// Operating system that the VM is running.
	VmOperatingSystem string `json:"vm_operating_system,omitempty"`

	// Type of the VM this address is associated with.
	VmType string `json:"vm_type,omitempty"`

	// Network address of the VPC of the VM that this address is associated with.
	VmVpcAddress string `json:"vm_vpc_address,omitempty"`

	// CIDR of the VPC of the VM that this address is associated with.
	VmVpcCidr uint32 `json:"vm_vpc_cidr,omitempty"`

	// Identifier of the VPC where the VM is defined.
	VmVpcId string `json:"vm_vpc_id,omitempty"`

	// Name of the VPC where the VM is defined.
	VmVpcName string `json:"vm_vpc_name,omitempty"`

	// Reference to the VPC where the VM is defined.
	VmVpcRef string `json:"vm_vpc_ref,omitempty"`
}

GridCloudapiVmaddress represents Infoblox object grid:cloudapi:vmaddress. VM address is an abstract object that represents a virtual machine running on the Cloud Management Platform.

func (GridCloudapiVmaddress) ObjectType added in v2.4.0

func (GridCloudapiVmaddress) ObjectType() string

func (GridCloudapiVmaddress) ReturnFields added in v2.4.0

func (obj GridCloudapiVmaddress) ReturnFields() []string

type GridConsentbannersetting added in v2.4.0

type GridConsentbannersetting struct {
	// Determines whether the consent banner is enabled.
	Enable bool `json:"enable,omitempty"`

	// The message included in the consent banner.
	Message string `json:"message,omitempty"`
}

GridConsentbannersetting represents Infoblox struct grid:consentbannersetting

type GridCspapiconfig added in v2.4.0

type GridCspapiconfig struct {
	// The url for the CspApiConfig.
	Url string `json:"url,omitempty"`

	// The user name for the CspApiConfig.
	Username string `json:"username,omitempty"`

	// The password for the CspApiConfig.
	Password string `json:"password,omitempty"`
}

GridCspapiconfig represents Infoblox struct grid:cspapiconfig

type GridCspgridsetting added in v2.4.0

type GridCspgridsetting struct {
	// Join token required to connect to a cluster
	CspJoinToken string `json:"csp_join_token,omitempty"`

	// IP address of DNS resolver in DFP
	CspDnsResolver string `json:"csp_dns_resolver,omitempty"`

	// HTTP Proxy IP address of CSP Portal
	CspHttpsProxy string `json:"csp_https_proxy,omitempty"`
}

GridCspgridsetting represents Infoblox struct grid:cspgridsetting

type GridDashboard added in v2.4.0

type GridDashboard struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The Grid Dashboard critical threshold for Analytics tunneling events.
	AnalyticsTunnelingEventCriticalThreshold *uint32 `json:"analytics_tunneling_event_critical_threshold,omitempty"`

	// The Grid Dashboard warning threshold for Analytics tunneling events.
	AnalyticsTunnelingEventWarningThreshold *uint32 `json:"analytics_tunneling_event_warning_threshold,omitempty"`

	// The Grid Dashboard critical threshold for ATP critical events.
	AtpCriticalEventCriticalThreshold *uint32 `json:"atp_critical_event_critical_threshold,omitempty"`

	// The Grid Dashboard warning threshold for ATP critical events.
	AtpCriticalEventWarningThreshold *uint32 `json:"atp_critical_event_warning_threshold,omitempty"`

	// The Grid Dashboard critical threshold for ATP major events.
	AtpMajorEventCriticalThreshold *uint32 `json:"atp_major_event_critical_threshold,omitempty"`

	// The Grid Dashboard warning threshold for ATP major events.
	AtpMajorEventWarningThreshold *uint32 `json:"atp_major_event_warning_threshold,omitempty"`

	// The Grid Dashboard critical threshold for ATP warning events.
	AtpWarningEventCriticalThreshold *uint32 `json:"atp_warning_event_critical_threshold,omitempty"`

	// The Grid Dashboard warning threshold for ATP warning events.
	AtpWarningEventWarningThreshold *uint32 `json:"atp_warning_event_warning_threshold,omitempty"`

	// The critical threshold value for blocked RPZ hits in the Grid dashboard.
	RpzBlockedHitCriticalThreshold *uint32 `json:"rpz_blocked_hit_critical_threshold,omitempty"`

	// The warning threshold value for blocked RPZ hits in the Grid dashboard.
	RpzBlockedHitWarningThreshold *uint32 `json:"rpz_blocked_hit_warning_threshold,omitempty"`

	// The Grid Dashboard critical threshold for RPZ passthru events.
	RpzPassthruEventCriticalThreshold *uint32 `json:"rpz_passthru_event_critical_threshold,omitempty"`

	// The Grid Dashboard warning threshold for RPZ passthru events.
	RpzPassthruEventWarningThreshold *uint32 `json:"rpz_passthru_event_warning_threshold,omitempty"`

	// The critical threshold value for substituted RPZ hits in the Grid dashboard.
	RpzSubstitutedHitCriticalThreshold *uint32 `json:"rpz_substituted_hit_critical_threshold,omitempty"`

	// The warning threshold value for substituted RPZ hits in the Grid dashboard.
	RpzSubstitutedHitWarningThreshold *uint32 `json:"rpz_substituted_hit_warning_threshold,omitempty"`
}

GridDashboard represents Infoblox object grid:dashboard. The Grid Dashboard object provides a configuration interface for threshold values that are used to warn about critical ATP, RPZ and Analytics events. These threshold values are used to calculate the security status for ATP, RPZ, and Analytics.

func (GridDashboard) ObjectType added in v2.4.0

func (GridDashboard) ObjectType() string

func (GridDashboard) ReturnFields added in v2.4.0

func (obj GridDashboard) ReturnFields() []string

type GridDhcpproperties added in v2.4.0

type GridDhcpproperties struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The Grid-level authority flag. This flag specifies whether a DHCP server is
	// authoritative for a domain.
	Authority *bool `json:"authority,omitempty"`

	// The name of a file that DHCP clients need to boot. Some DHCP clients use
	// BOOTP (bootstrap protocol) or include the boot file name option in their
	// DHCPREQUEST messages.
	Bootfile *string `json:"bootfile,omitempty"`

	// The name of the server on which a boot file is stored.
	Bootserver *string `json:"bootserver,omitempty"`

	// The Grid-level capture hostname flag. Set this flag to capture the hostname
	// and lease time when assigning a fixed address.
	CaptureHostname *bool `json:"capture_hostname,omitempty"`

	// The member DDNS domain name value.
	DdnsDomainname *string `json:"ddns_domainname,omitempty"`

	// Determines if the ability of a DHCP server to generate a host name and
	// update DNS with this host name when it receives a DHCP REQUEST message that
	// does not include a host name is enabled or not.
	DdnsGenerateHostname *bool `json:"ddns_generate_hostname,omitempty"`

	// Determines the retry interval when the DHCP server makes repeated attempts
	// to send DDNS updates to a DNS server.
	DdnsRetryInterval *uint32 `json:"ddns_retry_interval,omitempty"`

	// Determines that only the DHCP server is allowed to update DNS, regardless of
	// the requests from the DHCP clients.
	DdnsServerAlwaysUpdates *bool `json:"ddns_server_always_updates,omitempty"`

	// The DDNS TTL (Dynamic DNS Time To Live) value specifies the number of
	// seconds an IP address for the name is cached.
	DdnsTtl *uint32 `json:"ddns_ttl,omitempty"`

	// Determines if the Grid DHCP server's ability to update the A and PTR records
	// with a fixed address is enabled or not.
	DdnsUpdateFixedAddresses *bool `json:"ddns_update_fixed_addresses,omitempty"`

	// Determines if support for option 81 is enabled or not.
	DdnsUseOption81 *bool `json:"ddns_use_option81,omitempty"`

	// Determines if deny BOOTP is enabled or not.
	DenyBootp *bool `json:"deny_bootp,omitempty"`

	// If set to True, NAC filters will be disabled on the Infoblox Grid.
	DisableAllNacFilters *bool `json:"disable_all_nac_filters,omitempty"`

	// The update style for dynamic DNS updates.
	DnsUpdateStyle string `json:"dns_update_style,omitempty"`

	// The Grid-level email_list value. Specify an e-mail address to which you want
	// the Infoblox appliance to send e-mail notifications when the DHCP address
	// usage for the grid crosses a threshold. You can create a list of several
	// e-mail addresses.
	EmailList []string `json:"email_list,omitempty"`

	// Determines if the member DHCP server's ability to send DDNS updates is
	// enabled or not.
	EnableDdns *bool `json:"enable_ddns,omitempty"`

	// Represents the watermarks above or below which address usage in a network is
	// unexpected and might warrant your attention.
	EnableDhcpThresholds *bool `json:"enable_dhcp_thresholds,omitempty"`

	// Determines if e-mail warnings are enabled or disabled. When DHCP threshold
	// is enabled and DHCP address usage crosses a watermark threshold, the
	// appliance sends an e-mail notification to an administrator.
	EnableEmailWarnings *bool `json:"enable_email_warnings,omitempty"`

	// Determines if the fingerprint feature is enabled or not. If you enable this
	// feature, the server will match a fingerprint for incoming lease requests.
	EnableFingerprint *bool `json:"enable_fingerprint,omitempty"`

	// Determines whether all appliances are enabled to receive GSS-TSIG
	// authenticated updates from DHCP clients.
	EnableGssTsig *bool `json:"enable_gss_tsig,omitempty"`

	// Determines if the Grid-level host name rewrite feature is enabled or not.
	EnableHostnameRewrite *bool `json:"enable_hostname_rewrite,omitempty"`

	// Determines if lease query is allowed or not.
	EnableLeasequery *bool `json:"enable_leasequery,omitempty"`

	// Determines if DHCP servers in a Grid support roaming hosts or not.
	EnableRoamingHosts *bool `json:"enable_roaming_hosts,omitempty"`

	// Determined if the SNMP warnings on Grid-level are enabled or not. When DHCP
	// threshold is enabled and DHCP address usage crosses a watermark threshold,
	// the appliance sends an SNMP trap to the trap receiver that you defined you
	// defined at the Grid member level.
	EnableSnmpWarnings *bool `json:"enable_snmp_warnings,omitempty"`

	// The format option for Option 82 logging.
	FormatLogOption82 string `json:"format_log_option_82,omitempty"`

	// Determines the Grid that serves DHCP. This specifies a group of Infoblox
	// appliances that are connected together to provide a single point of device
	// administration and service configuration in a secure, highly available
	// environment.
	Grid string `json:"grid,omitempty"`

	// The list of GSS-TSIG keys for a Grid DHCP object.
	GssTsigKeys []*Kerberoskey `json:"gss_tsig_keys,omitempty"`

	// Determines the high watermark value of a Grid DHCP server. If the percentage
	// of allocated addresses exceeds this watermark, the appliance makes a syslog
	// entry and sends an e-mail notification (if enabled). Specifies the
	// percentage of allocated addresses. The range is from 1 to 100.
	HighWaterMark *uint32 `json:"high_water_mark,omitempty"`

	// Determines the high watermark reset value of a member DHCP server. If the
	// percentage of allocated addresses drops below this value, a corresponding
	// SNMP trap is reset. Specifies the percentage of allocated addresses. The
	// range is from 1 to 100. The high watermark reset value must be lower than
	// the high watermark value.
	HighWaterMarkReset *uint32 `json:"high_water_mark_reset,omitempty"`

	// The name of the default hostname rewrite policy, which is also in the
	// protocol_hostname_rewrite_policies array.
	HostnameRewritePolicy *string `json:"hostname_rewrite_policy,omitempty"`

	// Determines if the ignore DHCP option list request flag of a Grid DHCP is
	// enabled or not. If this flag is set to true all available DHCP options will
	// be returned to the client.
	IgnoreDhcpOptionListRequest *bool `json:"ignore_dhcp_option_list_request,omitempty"`

	// Indicates whether the appliance will ignore DHCP client IDs or MAC
	// addresses. Valid values are "NONE", "CLIENT", or "MACADDR". The default is
	// "NONE".
	IgnoreId string `json:"ignore_id,omitempty"`

	// A list of MAC addresses the appliance will ignore.
	IgnoreMacAddresses []string `json:"ignore_mac_addresses,omitempty"`

	// Determines if the fixed address configuration takes effect immediately
	// without DHCP service restart or not.
	ImmediateFaConfiguration *bool `json:"immediate_fa_configuration,omitempty"`

	// Determines if the IPv6 host name and lease time is captured or not while
	// assigning a fixed address.
	Ipv6CaptureHostname *bool `json:"ipv6_capture_hostname,omitempty"`

	// The Grid-level DDNS domain name value.
	Ipv6DdnsDomainname *string `json:"ipv6_ddns_domainname,omitempty"`

	// Controls whether the FQDN option sent by the client is to be used, or if the
	// server can automatically generate the FQDN.
	Ipv6DdnsEnableOptionFqdn *bool `json:"ipv6_ddns_enable_option_fqdn,omitempty"`

	// Determines if the server always updates DNS or updates only if requested by
	// the client.
	Ipv6DdnsServerAlwaysUpdates *bool `json:"ipv6_ddns_server_always_updates,omitempty"`

	// The Grid-level IPv6 DDNS TTL value.
	Ipv6DdnsTtl *uint32 `json:"ipv6_ddns_ttl,omitempty"`

	// The Grid-level IPv6 default prefix.
	Ipv6DefaultPrefix *string `json:"ipv6_default_prefix,omitempty"`

	// The update style for dynamic DHCPv6 DNS updates.
	Ipv6DnsUpdateStyle string `json:"ipv6_dns_update_style,omitempty"`

	// The IPv6 domain name.
	Ipv6DomainName *string `json:"ipv6_domain_name,omitempty"`

	// The comma separated list of domain name server addresses in IPv6 address
	// format.
	Ipv6DomainNameServers []string `json:"ipv6_domain_name_servers,omitempty"`

	// Determines if sending DDNS updates by the DHCPv6 server is enabled or not.
	Ipv6EnableDdns *bool `json:"ipv6_enable_ddns,omitempty"`

	// Determines whether the all appliances are enabled to receive GSS-TSIG
	// authenticated updates from DHCPv6 clients.
	Ipv6EnableGssTsig *bool `json:"ipv6_enable_gss_tsig,omitempty"`

	// Indicates whether DHCPv6 lease scavenging is enabled or disabled.
	Ipv6EnableLeaseScavenging *bool `json:"ipv6_enable_lease_scavenging,omitempty"`

	// Determines if the DHCPv6 server retries failed dynamic DNS updates or not.
	Ipv6EnableRetryUpdates *bool `json:"ipv6_enable_retry_updates,omitempty"`

	// Determines if the server generates the hostname if it is not sent by the
	// client.
	Ipv6GenerateHostname *bool `json:"ipv6_generate_hostname,omitempty"`

	// The list of GSS-TSIG keys for a Grid DHCPv6 object.
	Ipv6GssTsigKeys []*Kerberoskey `json:"ipv6_gss_tsig_keys,omitempty"`

	// The IPv6 address or FQDN of the Kerberos server for DHCPv6 GSS-TSIG
	// authentication.
	Ipv6KdcServer *string `json:"ipv6_kdc_server,omitempty"`

	// The Grid-level grace period (in seconds) to keep an expired lease before it
	// is deleted by the scavenging process.
	Ipv6LeaseScavengingTime *uint32 `json:"ipv6_lease_scavenging_time,omitempty"`

	// The Grid-level Microsoft client DHCP IPv6 code page value. This value is the
	// hostname translation code page for Microsoft DHCP IPv6 clients.
	Ipv6MicrosoftCodePage string `json:"ipv6_microsoft_code_page,omitempty"`

	// An array of DHCP option dhcpoption structs that lists the DHCPv6 options
	// associated with the object.
	Ipv6Options []*Dhcpoption `json:"ipv6_options,omitempty"`

	// The Grid-level list of IPv6 prefixes.
	Ipv6Prefixes []string `json:"ipv6_prefixes,omitempty"`

	// Determines if the IPv6 recycle leases feature is enabled or not. If the
	// feature is enabled, leases are kept in the Recycle Bin until one week after
	// expiration. When the feature is disabled, the leases are irrecoverably
	// deleted.
	Ipv6RecycleLeases *bool `json:"ipv6_recycle_leases,omitempty"`

	// Enable binding for expired DHCPv6 leases.
	Ipv6RememberExpiredClientAssociation *bool `json:"ipv6_remember_expired_client_association,omitempty"`

	// Determines the retry interval when the member DHCPv6 server makes repeated
	// attempts to send DDNS updates to a DNS server.
	Ipv6RetryUpdatesInterval *uint32 `json:"ipv6_retry_updates_interval,omitempty"`

	// The Grid-level TXT record handling value. This value specifies how DHCPv6
	// should treat the TXT records when performing DNS updates.
	Ipv6TxtRecordHandling string `json:"ipv6_txt_record_handling,omitempty"`

	// Controls whether the DHCPv6 server updates DNS when an IPv6 DHCP lease is
	// renewed.
	Ipv6UpdateDnsOnLeaseRenewal *bool `json:"ipv6_update_dns_on_lease_renewal,omitempty"`

	// The IPv4 address or FQDN of the Kerberos server for DHCPv4 GSS-TSIG
	// authentication.
	KdcServer *string `json:"kdc_server,omitempty"`

	// The Grid member on which you want to store the DHCP lease history log.
	// Infoblox recommends that you dedicate a member other than the master as a
	// logging member. If possible, use this member solely for storing the DHCP
	// lease history log. If you do not select a member, no logging can occur.
	LeaseLoggingMember *string `json:"lease_logging_member,omitempty"`

	// Defines how the appliance releases DHCP leases. Valid values are
	// "RELEASE_MACHING_ID", "NEVER_RELEASE", or "ONE_LEASE_PER_CLIENT". The
	// default is "RELEASE_MATCHING_ID".
	LeasePerClientSettings string `json:"lease_per_client_settings,omitempty"`

	// Determines the lease scavenging time value. When this field is set, the
	// appliance permanently deletes the free and backup leases, that remain in the
	// database beyond a specified period of time. To disable lease scavenging, set
	// the parameter to -1. The minimum positive value must be greater than 86400
	// seconds (1 day).
	LeaseScavengeTime int `json:"lease_scavenge_time,omitempty"`

	// This value specifies whether the Grid DHCP members log lease events is
	// enabled or not.
	LogLeaseEvents *bool `json:"log_lease_events,omitempty"`

	// This field contains the logic filters to be applied on the Infoblox Grid.
	// This list corresponds to the match rules that are written to the dhcpd
	// configuration file.
	LogicFilterRules []*Logicfilterrule `json:"logic_filter_rules,omitempty"`

	// Determines the low watermark value. If the percent of allocated addresses
	// drops below this watermark, the appliance makes a syslog entry and if
	// enabled, sends an e-mail notification.
	LowWaterMark *uint32 `json:"low_water_mark,omitempty"`

	// Determines the low watermark reset value.If the percentage of allocated
	// addresses exceeds this value, a corresponding SNMP trap is reset. A number
	// that specifies the percentage of allocated addresses. The range is from 1 to
	// 100. The low watermark reset value must be higher than the low watermark
	// value.
	LowWaterMarkReset *uint32 `json:"low_water_mark_reset,omitempty"`

	// The Microsoft client DHCP IPv4 code page value of a Grid. This value is the
	// hostname translation code page for Microsoft DHCP IPv4 clients.
	MicrosoftCodePage string `json:"microsoft_code_page,omitempty"`

	// The next server value of a DHCP server. This value is the IP address or name
	// of the boot file server on which the boot file is stored.
	Nextserver *string `json:"nextserver,omitempty"`

	// The list of option 60 match rules.
	Option60MatchRules []*Option60matchrule `json:"option60_match_rules,omitempty"`

	// An array of DHCP option dhcpoption structs that lists the DHCP options
	// associated with the object. Note that WAPI does not return special options
	// 'routers', 'domain-name-servers', 'domain-name' and 'broadcast-address' with
	// empty values for this object.
	Options []*Dhcpoption `json:"options,omitempty"`

	// Specifies the number of pings that the Infoblox appliance sends to an IP
	// address to verify that it is not in use. Values are range is from 0 to 10,
	// where 0 disables pings.
	PingCount *uint32 `json:"ping_count,omitempty"`

	// Indicates the number of milliseconds the appliance waits for a response to
	// its ping. Valid values are 100, 500, 1000, 2000, 3000, 4000 and 5000
	// milliseconds.
	PingTimeout *uint32 `json:"ping_timeout,omitempty"`

	// The preferred lifetime value.
	PreferredLifetime *uint32 `json:"preferred_lifetime,omitempty"`

	// The Prefix length mode for DHCPv6.
	PrefixLengthMode string `json:"prefix_length_mode,omitempty"`

	// The list of hostname rewrite policies.
	ProtocolHostnameRewritePolicies []*Hostnamerewritepolicy `json:"protocol_hostname_rewrite_policies,omitempty"`

	// Specifies the duration of time it takes a host to connect to a boot server,
	// such as a TFTP server, and download the file it needs to boot. A 32-bit
	// unsigned integer that represents the duration, in seconds, for which the
	// update is cached. Zero indicates that the update is not cached.
	PxeLeaseTime *uint32 `json:"pxe_lease_time,omitempty"`

	// Determines if the recycle leases feature is enabled or not. If you enabled
	// this feature, and then delete a DHCP range, the appliance stores active
	// leases from this range up to one week after the leases expires.
	RecycleLeases *bool `json:"recycle_leases,omitempty"`

	// The restart setting.
	RestartSetting *GridServicerestart `json:"restart_setting,omitempty"`

	// Indicates whether the DHCP server makes repeated attempts to send DDNS
	// updates to a DNS server.
	RetryDdnsUpdates *bool `json:"retry_ddns_updates,omitempty"`

	// The syslog facility is the location on the syslog server to which you want
	// to sort the syslog messages.
	SyslogFacility string `json:"syslog_facility,omitempty"`

	// The Grid-level TXT record handling value. This value specifies how DHCP
	// should treat the TXT records when performing DNS updates.
	TxtRecordHandling string `json:"txt_record_handling,omitempty"`

	// Controls whether the DHCP server updates DNS when a DHCP lease is renewed.
	UpdateDnsOnLeaseRenewal *bool `json:"update_dns_on_lease_renewal,omitempty"`

	// The valid lifetime for the Grid members.
	ValidLifetime *uint32 `json:"valid_lifetime,omitempty"`
}

GridDhcpproperties represents Infoblox object grid:dhcpproperties. This object represents a subset of the Infoblox Grid DHCP properties.

func (GridDhcpproperties) ObjectType added in v2.4.0

func (GridDhcpproperties) ObjectType() string

func (GridDhcpproperties) ReturnFields added in v2.4.0

func (obj GridDhcpproperties) ReturnFields() []string

type GridDns added in v2.4.0

type GridDns struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Add custom IP, MAC and DNS View name ENDS0 options to outgoing recursive
	// queries.
	AddClientIpMacOptions *bool `json:"add_client_ip_mac_options,omitempty"`

	// Determines if DDNS bulk host is allowed or not.
	AllowBulkhostDdns string `json:"allow_bulkhost_ddns,omitempty"`

	// Determines whether GSS-TSIG zone update is enabled for all Grid members.
	AllowGssTsigZoneUpdates *bool `json:"allow_gss_tsig_zone_updates,omitempty"`

	// Determines if queries from the specified IPv4 or IPv6 addresses and networks
	// are allowed or not. The appliance can also use Transaction Signature (TSIG)
	// keys to authenticate the queries.
	AllowQuery []*Addressac `json:"allow_query,omitempty"`

	// Determines if the responses to recursive queries are enabled or not.
	AllowRecursiveQuery *bool `json:"allow_recursive_query,omitempty"`

	// Determines if zone transfers from specified IPv4 or IPv6 addresses and
	// networks or transfers from hosts authenticated by Transaction signature
	// (TSIG) key are allowed or not.
	AllowTransfer []*Addressac `json:"allow_transfer,omitempty"`

	// Determines if dynamic updates from specified IPv4 or IPv6 addresses,
	// networks or from host authenticated by TSIG key are allowed or not.
	AllowUpdate []*Addressac `json:"allow_update,omitempty"`

	// Determines if the anonymization of captured DNS responses is enabled or
	// disabled.
	AnonymizeResponseLogging *bool `json:"anonymize_response_logging,omitempty"`

	// Mitigation settings for DNS attacks.
	AttackMitigation *GridAttackmitigation `json:"attack_mitigation,omitempty"`

	// The auto blackhole settings.
	AutoBlackhole *GridAutoblackhole `json:"auto_blackhole,omitempty"`

	// The BIND check names policy, which indicates the action the appliance takes
	// when it encounters host names that do not comply with the Strict Hostname
	// Checking policy. This method applies only if the host name restriction
	// policy is set to "Strict Hostname Checking".
	BindCheckNamesPolicy string `json:"bind_check_names_policy,omitempty"`

	// The value of the hostname directive for BIND.
	BindHostnameDirective string `json:"bind_hostname_directive,omitempty"`

	// The list of IPv4 or IPv6 addresses and networks from which DNS queries are
	// blocked.
	BlackholeList []*Addressac `json:"blackhole_list,omitempty"`

	// The action to perform when a domain name matches the pattern defined in a
	// rule that is specified by the blacklist ruleset.
	BlacklistAction string `json:"blacklist_action,omitempty"`

	// Determines if blacklist redirection queries are logged or not.
	BlacklistLogQuery *bool `json:"blacklist_log_query,omitempty"`

	// The IP addresses the appliance includes in the response it sends in place of
	// a blacklisted IP address.
	BlacklistRedirectAddresses []string `json:"blacklist_redirect_addresses,omitempty"`

	// The TTL value (in seconds) of the synthetic DNS responses that result from
	// blacklist redirection.
	BlacklistRedirectTtl *uint32 `json:"blacklist_redirect_ttl,omitempty"`

	// The DNS Ruleset object names assigned at the Grid level for blacklist
	// redirection.
	BlacklistRulesets []string `json:"blacklist_rulesets,omitempty"`

	// The list of bulk host name templates. There are four Infoblox predefined
	// bulk host name templates. Template Name Template Format "Four Octets"
	// -$1-$2-$3-$4 "Three Octets" -$2-$3-$4 "Two Octets" -$3-$4 "One Octet" -$4
	BulkHostNameTemplates []*Bulkhostnametemplate `json:"bulk_host_name_templates,omitempty"`

	// Determines if the capture of DNS queries for all domains is enabled or
	// disabled.
	CaptureDnsQueriesOnAllDomains *bool `json:"capture_dns_queries_on_all_domains,omitempty"`

	// Determines whether the application of BIND check-names for zone transfers
	// and DDNS updates are enabled.
	CheckNamesForDdnsAndZoneTransfer *bool `json:"check_names_for_ddns_and_zone_transfer,omitempty"`

	// The list of zone domain names that are allowed or forbidden for EDNS client
	// subnet (ECS) recursion.
	ClientSubnetDomains []*Clientsubnetdomain `json:"client_subnet_domains,omitempty"`

	// Default IPv4 Source Prefix-Length used when sending queries with EDNS client
	// subnet option.
	ClientSubnetIpv4PrefixLength *uint32 `json:"client_subnet_ipv4_prefix_length,omitempty"`

	// Default IPv6 Source Prefix-Length used when sending queries with EDNS client
	// subnet option.
	ClientSubnetIpv6PrefixLength *uint32 `json:"client_subnet_ipv6_prefix_length,omitempty"`

	// Copy custom IP, MAC and DNS View name ENDS0 options from incoming to
	// outgoing recursive queries.
	CopyClientIpMacOptions *bool `json:"copy_client_ip_mac_options,omitempty"`

	// The allowed IPs, from the zone transfer list, added to the also-notify
	// statement in the named.conf file.
	CopyXferToNotify *bool `json:"copy_xfer_to_notify,omitempty"`

	// The list of customized root nameserver(s). You can use Internet root name
	// servers or specify host names and IP addresses of custom root name servers.
	CustomRootNameServers []NameServer `json:"custom_root_name_servers,omitempty"`

	// Defines whether creation timestamp of RR should be updated ' when DDNS
	// update happens even if there is no change to ' the RR.
	DdnsForceCreationTimestampUpdate *bool `json:"ddns_force_creation_timestamp_update,omitempty"`

	// The DDNS Principal cluster group name.
	DdnsPrincipalGroup *string `json:"ddns_principal_group,omitempty"`

	// Determines if the DDNS principal track is enabled or disabled.
	DdnsPrincipalTracking *bool `json:"ddns_principal_tracking,omitempty"`

	// Determines if an option to restrict DDNS update request based on FQDN
	// patterns is enabled or disabled.
	DdnsRestrictPatterns *bool `json:"ddns_restrict_patterns,omitempty"`

	// The unordered list of restriction patterns for an option of to restrict DDNS
	// updates based on FQDN patterns.
	DdnsRestrictPatternsList []string `json:"ddns_restrict_patterns_list,omitempty"`

	// Determines if an option to restrict DDNS update request to protected
	// resource records is enabled or disabled.
	DdnsRestrictProtected *bool `json:"ddns_restrict_protected,omitempty"`

	// Determines if DDNS update request for principal other than target resource
	// record's principal is restricted.
	DdnsRestrictSecure *bool `json:"ddns_restrict_secure,omitempty"`

	// Determines if an option to restrict DDNS update request to resource records
	// which are marked as 'STATIC' is enabled or disabled.
	DdnsRestrictStatic *bool `json:"ddns_restrict_static,omitempty"`

	// Default bulk host name of a Grid DNS.
	DefaultBulkHostNameTemplate *string `json:"default_bulk_host_name_template,omitempty"`

	// The default TTL value of a Grid DNS object. This interval tells the
	// secondary how long the data can be cached.
	DefaultTtl *uint32 `json:"default_ttl,omitempty"`

	// Determines if the EDNS0 support for queries that require recursive
	// resolution on Grid members is enabled or not.
	DisableEdns *bool `json:"disable_edns,omitempty"`

	// The list of DNS64 synthesis groups associated with this Grid DNS object.
	Dns64Groups []string `json:"dns64_groups,omitempty"`

	// The minimum TTL value, in seconds, that a DNS record must have in order for
	// it to be cached by the DNS Cache Acceleration service. An integer from 1 to
	// 65000 that represents the TTL in seconds.
	DnsCacheAccelerationTtl *uint32 `json:"dns_cache_acceleration_ttl,omitempty"`

	// Determines if the anycast failure (BFD session down) is enabled on member
	// failure or not.
	DnsHealthCheckAnycastControl *bool `json:"dns_health_check_anycast_control,omitempty"`

	// The list of domain names for the DNS health check.
	DnsHealthCheckDomainList []string `json:"dns_health_check_domain_list,omitempty"`

	// The time interval (in seconds) for DNS health check.
	DnsHealthCheckInterval *uint32 `json:"dns_health_check_interval,omitempty"`

	// Determines if the recursive DNS health check is enabled or not.
	DnsHealthCheckRecursionFlag *bool `json:"dns_health_check_recursion_flag,omitempty"`

	// The number of DNS health check retries.
	DnsHealthCheckRetries *uint32 `json:"dns_health_check_retries,omitempty"`

	// The DNS health check timeout interval (in seconds).
	DnsHealthCheckTimeout *uint32 `json:"dns_health_check_timeout,omitempty"`

	// The time limit (in minutes) for the DNS query capture file.
	DnsQueryCaptureFileTimeLimit *uint32 `json:"dns_query_capture_file_time_limit,omitempty"`

	// Determines if the blacklist rules for DNSSEC-enabled clients are enabled or
	// not.
	DnssecBlacklistEnabled *bool `json:"dnssec_blacklist_enabled,omitempty"`

	// Determines if the DNS64 groups for DNSSEC-enabled clients are enabled or
	// not.
	DnssecDns64Enabled *bool `json:"dnssec_dns64_enabled,omitempty"`

	// Determines if the DNS security extension is enabled or not.
	DnssecEnabled *bool `json:"dnssec_enabled,omitempty"`

	// Determines when the DNS member accepts expired signatures.
	DnssecExpiredSignaturesEnabled *bool `json:"dnssec_expired_signatures_enabled,omitempty"`

	// This structure contains the DNSSEC key parameters for this zone.
	DnssecKeyParams *Dnsseckeyparams `json:"dnssec_key_params,omitempty"`

	// A list of zones for which the server does not perform DNSSEC validation.
	DnssecNegativeTrustAnchors []string `json:"dnssec_negative_trust_anchors,omitempty"`

	// Determines if the NXDOMAIN rules for DNSSEC-enabled clients are enabled or
	// not.
	DnssecNxdomainEnabled *bool `json:"dnssec_nxdomain_enabled,omitempty"`

	// Determines if the RPZ policies for DNSSEC-enabled clients are enabled or
	// not.
	DnssecRpzEnabled *bool `json:"dnssec_rpz_enabled,omitempty"`

	// The list of trusted keys for the DNSSEC feature.
	DnssecTrustedKeys []*Dnssectrustedkey `json:"dnssec_trusted_keys,omitempty"`

	// Determines if the DNS security validation is enabled or not.
	DnssecValidationEnabled *bool `json:"dnssec_validation_enabled,omitempty"`

	// The DNSTAP settings.
	DnstapSetting *Dnstapsetting `json:"dnstap_setting,omitempty"`

	// The list of domains for DNS query capture.
	DomainsToCaptureDnsQueries []string `json:"domains_to_capture_dns_queries,omitempty"`

	// Setting to control specific behavior for DTC DNS responses for incoming lbdn
	// matched queries.
	DtcDnsQueriesSpecificBehavior string `json:"dtc_dns_queries_specific_behavior,omitempty"`

	// DTC DNSSEC operation mode.
	DtcDnssecMode string `json:"dtc_dnssec_mode,omitempty"`

	// Determines whether to prefer the client address from the edns-client-subnet
	// option for DTC or not.
	DtcEdnsPreferClientSubnet *bool `json:"dtc_edns_prefer_client_subnet,omitempty"`

	// The scheduled backup configuration.
	DtcScheduledBackup *Scheduledbackup `json:"dtc_scheduled_backup,omitempty"`

	// The DTC topology extensible attribute definition list. When configuring a
	// DTC topology, users may configure classification as either "Geographic" or
	// "Extensible Attributes". Selecting extensible attributes will replace
	// supported Topology database labels (Continent, Country, Subdivision, City)
	// with the names of the selection EA types and provide values extracted from
	// DHCP Network Container, Network and Range objects with those extensible
	// attributes.
	DtcTopologyEaList []string `json:"dtc_topology_ea_list,omitempty"`

	// Advertises the EDNS0 buffer size to the upstream server. The value should be
	// between 512 and 4096 bytes. The recommended value is between 512 and 1220
	// bytes.
	EdnsUdpSize *uint32 `json:"edns_udp_size,omitempty"`

	// The email address of a Grid DNS object.
	Email *string `json:"email,omitempty"`

	// Determines if the blocking of DNS queries is enabled or not.
	EnableBlackhole *bool `json:"enable_blackhole,omitempty"`

	// Determines if a blacklist is enabled or not.
	EnableBlacklist *bool `json:"enable_blacklist,omitempty"`

	// Determines if the capture of DNS queries is enabled or disabled.
	EnableCaptureDnsQueries *bool `json:"enable_capture_dns_queries,omitempty"`

	// Determines if the capture of DNS responses is enabled or disabled.
	EnableCaptureDnsResponses *bool `json:"enable_capture_dns_responses,omitempty"`

	// Determines whether to enable forwarding EDNS client subnet options to
	// upstream servers.
	EnableClientSubnetForwarding *bool `json:"enable_client_subnet_forwarding,omitempty"`

	// Determines whether to enable adding EDNS client subnet options in recursive
	// resolution.
	EnableClientSubnetRecursive *bool `json:"enable_client_subnet_recursive,omitempty"`

	// Determines if the ability to automatically remove associated PTR records
	// while deleting A or AAAA records is enabled or not.
	EnableDeleteAssociatedPtr *bool `json:"enable_delete_associated_ptr,omitempty"`

	// Determines if the DNS64 support is enabled or not.
	EnableDns64 *bool `json:"enable_dns64,omitempty"`

	// Determines if the DNS health check is enabled or not.
	EnableDnsHealthCheck *bool `json:"enable_dns_health_check,omitempty"`

	// Determines whether the query messages need to be forwarded to DNSTAP or not.
	EnableDnstapQueries *bool `json:"enable_dnstap_queries,omitempty"`

	// Determines whether the response messages need to be forwarded to DNSTAP or
	// not.
	EnableDnstapResponses *bool `json:"enable_dnstap_responses,omitempty"`

	// Determines if excluding domain names from captured DNS queries and responses
	// is enabled or disabled.
	EnableExcludedDomainNames *bool `json:"enable_excluded_domain_names,omitempty"`

	// Determines if the fixed RRset order FQDN is enabled or not.
	EnableFixedRrsetOrderFqdns *bool `json:"enable_fixed_rrset_order_fqdns,omitempty"`

	// Determines whether Fault Tolerant Caching (FTC) is enabled.
	EnableFtc *bool `json:"enable_ftc,omitempty"`

	// Determines whether all appliances in the Grid are enabled to receive
	// GSS-TSIG authenticated updates from DNS clients.
	EnableGssTsig *bool `json:"enable_gss_tsig,omitempty"`

	// Determines if the host RRset order is enabled or not.
	EnableHostRrsetOrder *bool `json:"enable_host_rrset_order,omitempty"`

	// Determines whether Hardware Security Modules (HSMs) are enabled for key
	// generation and signing. Note, that you must configure the HSM group with at
	// least one enabled HSM.
	EnableHsmSigning *bool `json:"enable_hsm_signing,omitempty"`

	// Determines if the notify source port at the Grid Level is enabled or not.
	EnableNotifySourcePort *bool `json:"enable_notify_source_port,omitempty"`

	// Determines if the DNS query rewrite is enabled or not.
	EnableQueryRewrite *bool `json:"enable_query_rewrite,omitempty"`

	// Determines if the query source port at the Grid Level is enabled or not.
	EnableQuerySourcePort *bool `json:"enable_query_source_port,omitempty"`

	// The list of domains that are excluded from DNS query and response capture.
	ExcludedDomainNames []string `json:"excluded_domain_names,omitempty"`

	// The expiration time of a Grid DNS object. If the secondary DNS server fails
	// to contact the primary server for the specified interval, the secondary
	// server stops giving out answers about the zone because the zone data is too
	// old to be useful.
	ExpireAfter *uint32 `json:"expire_after,omitempty"`

	// The DNS capture file transfer settings.Include the specified parameter to
	// set the attribute value. Omit the parameter to retrieve the attribute value.
	FileTransferSetting *Filetransfersetting `json:"file_transfer_setting,omitempty"`

	// The type of AAAA filtering for this member DNS object.
	FilterAaaa string `json:"filter_aaaa,omitempty"`

	// The list of IPv4 addresses and networks from which queries are received.
	// AAAA filtering is applied to these addresses.
	FilterAaaaList []*Addressac `json:"filter_aaaa_list,omitempty"`

	// The fixed RRset order FQDN. If this field does not contain an empty value,
	// the appliance will automatically set the enable_fixed_rrset_order_fqdns
	// field to 'true', unless the same request sets the enable field to 'false'.
	FixedRrsetOrderFqdns []*GridDnsFixedrrsetorderfqdn `json:"fixed_rrset_order_fqdns,omitempty"`

	// Determines if member sends queries to forwarders only. When the value is
	// "true", the member sends queries to forwarders only, and not to other
	// internal or Internet root servers.
	ForwardOnly *bool `json:"forward_only,omitempty"`

	// Determines if secondary servers is allowed to forward updates to the DNS
	// server or not.
	ForwardUpdates *bool `json:"forward_updates,omitempty"`

	// The forwarders for the member. A forwarder is essentially a name server to
	// which other name servers first send all of their off-site queries. The
	// forwarder builds up a cache of information, avoiding the need for the other
	// name servers to send queries off-site.
	Forwarders []string `json:"forwarders,omitempty"`

	// The timeout interval (in seconds) after which the expired Fault Tolerant
	// Caching (FTC)record is stale and no longer valid.
	FtcExpiredRecordTimeout *uint32 `json:"ftc_expired_record_timeout,omitempty"`

	// The TTL value (in seconds) of the expired Fault Tolerant Caching (FTC)
	// record in DNS responses.
	FtcExpiredRecordTtl *uint32 `json:"ftc_expired_record_ttl,omitempty"`

	// Flag for taking EA values from IPAM Hosts into consideration for the DTC
	// topology EA database.
	GenEadbFromHosts *bool `json:"gen_eadb_from_hosts,omitempty"`

	// Flag for taking EA values from IPAM Network Containers into consideration
	// for the DTC topology EA database.
	GenEadbFromNetworkContainers *bool `json:"gen_eadb_from_network_containers,omitempty"`

	// Flag for taking EA values from IPAM Network into consideration for the DTC
	// topology EA database.
	GenEadbFromNetworks *bool `json:"gen_eadb_from_networks,omitempty"`

	// Flag for taking EA values from IPAM Ranges into consideration for the DTC
	// topology EA database.
	GenEadbFromRanges *bool `json:"gen_eadb_from_ranges,omitempty"`

	// The list of GSS-TSIG keys for a Grid DNS object.
	GssTsigKeys []*Kerberoskey `json:"gss_tsig_keys,omitempty"`

	// The number of seconds to cache lame delegations or lame servers.
	LameTtl *uint32 `json:"lame_ttl,omitempty"`

	// Determines last queried ACL for the specified IPv4 or IPv6 addresses and
	// networks in scavenging settings.
	LastQueriedAcl []*Addressac `json:"last_queried_acl,omitempty"`

	// The logging categories.
	LoggingCategories *GridLoggingcategories `json:"logging_categories,omitempty"`

	// The maximum time (in seconds) for which the server will cache positive
	// answers.
	MaxCacheTtl *uint32 `json:"max_cache_ttl,omitempty"`

	// The maximum time (in seconds) a DNS response can be stored in the hardware
	// acceleration cache. Valid values are unsigned integer between 60 and 86400,
	// inclusive.
	MaxCachedLifetime *uint32 `json:"max_cached_lifetime,omitempty"`

	// The maximum time (in seconds) for which the server will cache negative
	// (NXDOMAIN) responses. The maximum allowed value is 604800.
	MaxNcacheTtl *uint32 `json:"max_ncache_ttl,omitempty"`

	// The value is used by authoritative DNS servers to never send DNS responses
	// larger than the configured value. The value should be between 512 and 4096
	// bytes. The recommended value is between 512 and 1220 bytes.
	MaxUdpSize *uint32 `json:"max_udp_size,omitempty"`

	// Determines if Grid members that are authoritative secondary servers are
	// allowed to send notification messages to external name servers, if the Grid
	// member that is primary for a zone fails or loses connectivity.
	MemberSecondaryNotify *bool `json:"member_secondary_notify,omitempty"`

	// The negative TTL value of a Grid DNS object. This interval tells the
	// secondary how long data can be cached for "Does Not Respond" responses.
	NegativeTtl *uint32 `json:"negative_ttl,omitempty"`

	// Specifies with how many seconds of delay the notify messages are sent to
	// secondaries.
	NotifyDelay *uint32 `json:"notify_delay,omitempty"`

	// The source port for notify messages. When requesting zone transfers from the
	// primary server, some secondary DNS servers use the source port number (the
	// primary server used to send the notify message) as the destination port
	// number in the zone transfer request. Valid values are between 1 and 63999.
	// The default is picked by BIND.
	NotifySourcePort *uint32 `json:"notify_source_port,omitempty"`

	// The default nameserver group.
	NsgroupDefault *string `json:"nsgroup_default,omitempty"`

	// A name server group is a collection of one primary DNS server and one or
	// more secondary DNS servers.
	Nsgroups []string `json:"nsgroups,omitempty"`

	// Determines if NXDOMAIN redirection queries are logged or not.
	NxdomainLogQuery *bool `json:"nxdomain_log_query,omitempty"`

	// Determines if NXDOMAIN redirection is enabled or not.
	NxdomainRedirect *bool `json:"nxdomain_redirect,omitempty"`

	// The list of IPv4 NXDOMAIN redirection addresses.
	NxdomainRedirectAddresses []string `json:"nxdomain_redirect_addresses,omitempty"`

	// The list of IPv6 NXDOMAIN redirection addresses.
	NxdomainRedirectAddressesV6 []string `json:"nxdomain_redirect_addresses_v6,omitempty"`

	// The TTL value (in seconds) of synthetic DNS responses that result from
	// NXDOMAIN redirection.
	NxdomainRedirectTtl *uint32 `json:"nxdomain_redirect_ttl,omitempty"`

	// The Ruleset object names assigned at the Grid level for NXDOMAIN
	// redirection.
	NxdomainRulesets []string `json:"nxdomain_rulesets,omitempty"`

	// Determines if the host RRset order on secondaries is preserved or not.
	PreserveHostRrsetOrderOnSecondaries *bool `json:"preserve_host_rrset_order_on_secondaries,omitempty"`

	// The list of record name policies.
	ProtocolRecordNamePolicies []*Recordnamepolicy `json:"protocol_record_name_policies,omitempty"`

	// The list of domain names that trigger DNS query rewrite.
	QueryRewriteDomainNames []string `json:"query_rewrite_domain_names,omitempty"`

	// The domain name prefix for DNS query rewrite.
	QueryRewritePrefix *string `json:"query_rewrite_prefix,omitempty"`

	// The source port for queries. Specifying a source port number for recursive
	// queries ensures that a firewall will allow the response. Valid values are
	// between 1 and 63999. The default is picked by BIND.
	QuerySourcePort *uint32 `json:"query_source_port,omitempty"`

	// The list of IPv4 or IPv6 addresses, networks or hosts authenticated by
	// Transaction signature (TSIG) key from which recursive queries are allowed or
	// denied.
	RecursiveQueryList []*Addressac `json:"recursive_query_list,omitempty"`

	// The refresh time. This interval tells the secondary how often to send a
	// message to the primary for a zone to check that its data is current, and
	// retrieve fresh data if it is not.
	RefreshTimer *uint32 `json:"refresh_timer,omitempty"`

	// The recursive query timeout for the member.
	ResolverQueryTimeout *uint32 `json:"resolver_query_timeout,omitempty"`

	// The response rate limiting settings for the member.
	ResponseRateLimiting *GridResponseratelimiting `json:"response_rate_limiting,omitempty"`

	// The restart setting.
	RestartSetting *GridServicerestart `json:"restart_setting,omitempty"`

	// The retry time. This interval tells the secondary how long to wait before
	// attempting to recontact the primary after a connection failure occurs
	// between the two servers.
	RetryTimer *uint32 `json:"retry_timer,omitempty"`

	// Determines the type of root name servers.
	RootNameServerType string `json:"root_name_server_type,omitempty"`

	// Determines if NSDNAME and NSIP resource records from RPZ feeds are enabled
	// or not.
	RpzDisableNsdnameNsip *bool `json:"rpz_disable_nsdname_nsip,omitempty"`

	// Enables the appliance to ignore RPZ-IP triggers with prefix lengths less
	// than the specified minimum prefix length.
	RpzDropIpRuleEnabled *bool `json:"rpz_drop_ip_rule_enabled,omitempty"`

	// The minimum prefix length for IPv4 RPZ-IP triggers. The appliance ignores
	// RPZ-IP triggers with prefix lengths less than the specified minimum IPv4
	// prefix length.
	RpzDropIpRuleMinPrefixLengthIpv4 *uint32 `json:"rpz_drop_ip_rule_min_prefix_length_ipv4,omitempty"`

	// The minimum prefix length for IPv6 RPZ-IP triggers. The appliance ignores
	// RPZ-IP triggers with prefix lengths less than the specified minimum IPv6
	// prefix length.
	RpzDropIpRuleMinPrefixLengthIpv6 *uint32 `json:"rpz_drop_ip_rule_min_prefix_length_ipv6,omitempty"`

	// Determines if recursive RPZ lookups are enabled.
	RpzQnameWaitRecurse *bool `json:"rpz_qname_wait_recurse,omitempty"`

	// The Grid level scavenging settings.
	ScavengingSettings *SettingScavenging `json:"scavenging_settings,omitempty"`

	// The number of maximum concurrent SOA queries per second. Valid values are
	// unsigned integer between 20 and 1000, inclusive.
	SerialQueryRate *uint32 `json:"serial_query_rate,omitempty"`

	// The value of the server-id directive for BIND and Unbound DNS.
	ServerIdDirective string `json:"server_id_directive,omitempty"`

	// A sort list determines the order of addresses in responses made to DNS
	// queries.
	Sortlist []*Sortlist `json:"sortlist,omitempty"`

	// Determines if the storage of query capture reports on the appliance is
	// enabled or disabled.
	StoreLocally *bool `json:"store_locally,omitempty"`

	// The syslog facility. This is the location on the syslog server to which you
	// want to sort the DNS logging messages.
	SyslogFacility string `json:"syslog_facility,omitempty"`

	// The list of excluded DNS servers during zone transfers.
	TransferExcludedServers []string `json:"transfer_excluded_servers,omitempty"`

	// The BIND format for a zone transfer. This provides tracking capabilities for
	// single or multiple transfers and their associated servers.
	TransferFormat string `json:"transfer_format,omitempty"`

	// The number of maximum concurrent transfers for the Grid. Valid values are
	// unsigned integer between 10 and 10000, inclusive.
	TransfersIn *uint32 `json:"transfers_in,omitempty"`

	// The number of maximum outbound concurrent zone transfers. Valid values are
	// unsigned integer between 10 and 10000, inclusive.
	TransfersOut *uint32 `json:"transfers_out,omitempty"`

	// The number of maximum concurrent transfers per member. Valid values are
	// unsigned integer between 2 and 10000, inclusive.
	TransfersPerNs *uint32 `json:"transfers_per_ns,omitempty"`

	// Determines if the double confirmation during zone deletion is enabled or
	// not.
	ZoneDeletionDoubleConfirm *bool `json:"zone_deletion_double_confirm,omitempty"`
}

GridDns represents Infoblox object grid:dns. This object supports DNS service management and configuration such as time-to-live (TTL) settings, zone transfers, queries, root name servers, dynamic updates, sort lists, Transaction Signatures (TSIG) for DNS and others, all at the grid level. The service configurations of a grid are inherited by all members, zones, and networks unless you specifically override them for selected members, zones, and networks. For this reason, it is recommended that you configure services at the grid level before configuring member, zone and network services.

func (GridDns) ObjectType added in v2.4.0

func (GridDns) ObjectType() string

func (GridDns) ReturnFields added in v2.4.0

func (obj GridDns) ReturnFields() []string

type GridDnsFixedrrsetorderfqdn added in v2.4.0

type GridDnsFixedrrsetorderfqdn struct {
	// The FQDN of the fixed RRset configuration item.
	Fqdn string `json:"fqdn,omitempty"`

	// The record type for the specified FQDN in the fixed RRset configuration.
	RecordType string `json:"record_type,omitempty"`
}

GridDnsFixedrrsetorderfqdn represents Infoblox struct grid:dns:fixedrrsetorderfqdn

type GridFiledistribution added in v2.4.0

type GridFiledistribution struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Determines whether the uploads to Grid members are allowed.
	AllowUploads *bool `json:"allow_uploads,omitempty"`

	// Determines whether to include distributed files in the backup.
	BackupStorage *bool `json:"backup_storage,omitempty"`

	// The value is the percentage of the allocated TFTP storage space that is
	// used, expressed in tenth of a percent. Valid values are from 0 to 1000.
	CurrentUsage uint32 `json:"current_usage,omitempty"`

	// Determines whether the FTP anonymous login is enabled.
	EnableAnonymousFtp *bool `json:"enable_anonymous_ftp,omitempty"`

	// The Grid file distribution global status.
	GlobalStatus string `json:"global_status,omitempty"`

	// The Grid name.
	Name string `json:"name,omitempty"`

	// Maximum storage in megabytes allowed on the Grid. The maximum storage space
	// allowed for all file distribution services on a Grid is equal to the storage
	// space allowed to the Grid member with the smallest amount of space allowed.
	StorageLimit *uint32 `json:"storage_limit,omitempty"`
}

GridFiledistribution represents Infoblox object grid:filedistribution. The Grid file distribution object represents the file distribution storage limit configuration and global file distribution statistics.

func (GridFiledistribution) ObjectType added in v2.4.0

func (GridFiledistribution) ObjectType() string

func (GridFiledistribution) ReturnFields added in v2.4.0

func (obj GridFiledistribution) ReturnFields() []string

type GridInformationalbannersetting added in v2.4.0

type GridInformationalbannersetting struct {
	// Determines whether the display of the informational level banner is enabled.
	Enable bool `json:"enable,omitempty"`

	// The message included in the informational level banner.
	Message string `json:"message,omitempty"`

	// The color for the informational level banner.
	Color string `json:"color,omitempty"`
}

GridInformationalbannersetting represents Infoblox struct grid:informationalbannersetting

type GridLicensePool added in v2.4.0

type GridLicensePool struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The number of dynamic licenses allocated to vNIOS appliances.
	Assigned uint32 `json:"assigned,omitempty"`

	// The license expiration status.
	ExpirationStatus string `json:"expiration_status,omitempty"`

	// The expiration timestamp of the license.
	ExpiryDate *UnixTime `json:"expiry_date,omitempty"`

	// The total number of dynamic licenses allowed for this license pool.
	Installed uint32 `json:"installed,omitempty"`

	// The license string for the license pool.
	Key string `json:"key,omitempty"`

	// The limitation of dynamic license that can be allocated from the license
	// pool.
	Limit string `json:"limit,omitempty"`

	// The license limit context.
	LimitContext string `json:"limit_context,omitempty"`

	// The supported vNIOS virtual appliance model.
	Model string `json:"model,omitempty"`

	// The license pool subpools.
	Subpools []*GridLicensesubpool `json:"subpools,omitempty"`

	// The total number of temporary dynamic licenses allocated to vNIOS
	// appliances.
	TempAssigned uint32 `json:"temp_assigned,omitempty"`

	// The license type.
	Type string `json:"type,omitempty"`
}

GridLicensePool represents Infoblox object grid:license_pool. This object represents the Grid license pool.

func (GridLicensePool) ObjectType added in v2.4.0

func (GridLicensePool) ObjectType() string

func (GridLicensePool) ReturnFields added in v2.4.0

func (obj GridLicensePool) ReturnFields() []string

type GridLicensePoolContainer added in v2.4.0

type GridLicensePoolContainer struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The timestamp when the last pool licenses were updated.
	LastEntitlementUpdate *UnixTime `json:"last_entitlement_update,omitempty"`

	// The world-wide unique ID for the license pool container.
	LpcUid string `json:"lpc_uid,omitempty"`
}

GridLicensePoolContainer represents Infoblox object grid:license_pool_container. This object represents the Grid license pool container.

func (GridLicensePoolContainer) ObjectType added in v2.4.0

func (GridLicensePoolContainer) ObjectType() string

func (GridLicensePoolContainer) ReturnFields added in v2.4.0

func (obj GridLicensePoolContainer) ReturnFields() []string

type GridLicensesubpool added in v2.4.0

type GridLicensesubpool struct {
	// The license string for the license subpool.
	Key string `json:"key,omitempty"`

	// The total number of dynamic licenses allowed for this license subpool.
	Installed uint32 `json:"installed,omitempty"`

	// License expiration date.
	ExpiryDate *UnixTime `json:"expiry_date,omitempty"`
}

GridLicensesubpool represents Infoblox struct grid:licensesubpool

type GridLockoutsetting added in v2.4.0

type GridLockoutsetting struct {
	// Enable/disable sequential failed login attempts lockout for local users
	EnableSequentialFailedLoginAttemptsLockout bool `json:"enable_sequential_failed_login_attempts_lockout,omitempty"`

	// The number of failed login attempts
	SequentialAttempts uint32 `json:"sequential_attempts,omitempty"`

	// Time period the account remains locked after sequential failed login attempt
	// lockout.
	FailedLockoutDuration uint32 `json:"failed_lockout_duration,omitempty"`

	// Never unlock option is also provided and if set then user account is locked
	// forever and only super user can unlock this account
	NeverUnlockUser bool `json:"never_unlock_user,omitempty"`
}

GridLockoutsetting represents Infoblox struct grid:lockoutsetting

type GridLoggingcategories added in v2.4.0

type GridLoggingcategories struct {
	// Determines whether the DTC GSLB activity is captured or not.
	LogDtcGslb bool `json:"log_dtc_gslb,omitempty"`

	// Determines whether the DTC health monitoring information is captured or not.
	LogDtcHealth bool `json:"log_dtc_health,omitempty"`

	// Determines whether the BIND messages that are not specifically classified
	// are captured or not.
	LogGeneral bool `json:"log_general,omitempty"`

	// Determines whether the client requests are captured or not.
	LogClient bool `json:"log_client,omitempty"`

	// Determines whether the configuration file parsing is captured or not.
	LogConfig bool `json:"log_config,omitempty"`

	// Determines whether the BIND's internal database processes are captured or
	// not.
	LogDatabase bool `json:"log_database,omitempty"`

	// Determines whether the DNSSEC-signed responses are captured or not.
	LogDnssec bool `json:"log_dnssec,omitempty"`

	// Determines whether the bad delegation instances are captured or not.
	LogLameServers bool `json:"log_lame_servers,omitempty"`

	// Determines whether the network operation messages are captured or not.
	LogNetwork bool `json:"log_network,omitempty"`

	// Determines whether the asynchronous zone change notification messages are
	// captured or not.
	LogNotify bool `json:"log_notify,omitempty"`

	// Determines whether the query messages are captured or not.
	LogQueries bool `json:"log_queries,omitempty"`

	// Determines whether the query rewrite messages are captured or not.
	LogQueryRewrite bool `json:"log_query_rewrite,omitempty"`

	// Determines whether the response messages are captured or not.
	LogResponses bool `json:"log_responses,omitempty"`

	// Determines whether the DNS resolution instances, including recursive queries
	// from resolvers are captured or not.
	LogResolver bool `json:"log_resolver,omitempty"`

	// Determines whether the approved and denied requests are captured or not.
	LogSecurity bool `json:"log_security,omitempty"`

	// Determines whether the dynamic update instances are captured or not.
	LogUpdate bool `json:"log_update,omitempty"`

	// Determines whether the zone transfer messages from the remote name servers
	// to the appliance are captured or not.
	LogXferIn bool `json:"log_xfer_in,omitempty"`

	// Determines whether the zone transfer messages from the Infoblox appliance to
	// remote name servers are captured or not.
	LogXferOut bool `json:"log_xfer_out,omitempty"`

	// Determines whether the security update messages are captured or not.
	LogUpdateSecurity bool `json:"log_update_security,omitempty"`

	// Determines whether the rate limit messages are captured or not.
	LogRateLimit bool `json:"log_rate_limit,omitempty"`

	// Determines whether the Response Policy Zone messages are captured or not.
	LogRpz bool `json:"log_rpz,omitempty"`
}

GridLoggingcategories represents Infoblox struct grid:loggingcategories

type GridMaxminddbinfo added in v2.4.0

type GridMaxminddbinfo struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The major version of DB binary format.
	BinaryMajorVersion uint32 `json:"binary_major_version,omitempty"`

	// The minor version of DB binary format.
	BinaryMinorVersion uint32 `json:"binary_minor_version,omitempty"`

	// The time at which the DB was built.
	BuildTime *UnixTime `json:"build_time,omitempty"`

	// The structure of data records ("GeoLite2-Country", GeoLite2-City", etc.).
	DatabaseType string `json:"database_type,omitempty"`

	// The time at which the current Topology DB was deployed.
	DeploymentTime *UnixTime `json:"deployment_time,omitempty"`

	// The member for testing the connection.
	Member string `json:"member,omitempty"`

	// The topology type.
	TopologyType string `json:"topology_type,omitempty"`
}

GridMaxminddbinfo represents Infoblox object grid:maxminddbinfo. The information about Topology DB.

func (GridMaxminddbinfo) ObjectType added in v2.4.0

func (GridMaxminddbinfo) ObjectType() string

func (GridMaxminddbinfo) ReturnFields added in v2.4.0

func (obj GridMaxminddbinfo) ReturnFields() []string

type GridMemberCloudapi added in v2.4.0

type GridMemberCloudapi struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Defines which administrators are allowed to perform Cloud API request on the
	// Grid Member: no administrators (NONE), any administrators (ALL) or
	// administrators in the ACL list (LIST). Default is ALL.
	AllowApiAdmins string `json:"allow_api_admins,omitempty"`

	// List of administrators allowed to perform Cloud Platform API requests on
	// that member.
	AllowedApiAdmins []*GridCloudapiUser `json:"allowed_api_admins,omitempty"`

	// Controls whether the Cloud API service runs on the member or not.
	EnableService *bool `json:"enable_service,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// Structure containing all the information related to Gateway configuration
	// for the member
	GatewayConfig *GridCloudapiGatewayConfig `json:"gateway_config,omitempty"`

	// The related Grid Member.
	Member *Dhcpmember `json:"member,omitempty"`

	// Status of Cloud API service on the member.
	Status string `json:"status,omitempty"`
}

GridMemberCloudapi represents Infoblox object grid:member:cloudapi. Class that represents member Cloud configuration settings.

func (GridMemberCloudapi) ObjectType added in v2.4.0

func (GridMemberCloudapi) ObjectType() string

func (GridMemberCloudapi) ReturnFields added in v2.4.0

func (obj GridMemberCloudapi) ReturnFields() []string

type GridResponseratelimiting added in v2.4.0

type GridResponseratelimiting struct {
	// Determines if the response rate limiting is enabled or not.
	EnableRrl bool `json:"enable_rrl,omitempty"`

	// Determines if logging for response rate limiting without dropping any
	// requests is enabled or not.
	LogOnly bool `json:"log_only,omitempty"`

	// The number of responses per client per second.
	ResponsesPerSecond uint32 `json:"responses_per_second,omitempty"`

	// The time interval in seconds over which responses are tracked.
	Window uint32 `json:"window,omitempty"`

	// The response rate limiting slip. Note that if slip is not equal to 0 every
	// n-th rate-limited UDP request is sent a truncated response instead of being
	// dropped.
	Slip uint32 `json:"slip,omitempty"`
}

GridResponseratelimiting represents Infoblox struct grid:responseratelimiting

type GridRestartbannersetting added in v2.4.0

type GridRestartbannersetting struct {
	// If set to True, the restart banner is enabled.
	Enabled bool `json:"enabled,omitempty"`

	// If set to True, the user is required to input name before restarting the
	// services.
	EnableDoubleConfirmation bool `json:"enable_double_confirmation,omitempty"`
}

GridRestartbannersetting represents Infoblox struct grid:restartbannersetting

type GridServicerestart added in v2.4.0

type GridServicerestart struct {
	// The time duration to delay a restart for a restart group.
	Delay uint32 `json:"delay,omitempty"`

	// The duration of timeout for a restart group. The value "-1" means infinite.
	Timeout int `json:"timeout,omitempty"`

	// Determines whether the Grid should try to restart offline member.
	RestartOffline bool `json:"restart_offline,omitempty"`
}

GridServicerestart represents Infoblox struct grid:servicerestart

type GridServicerestartGroup added in v2.4.0

type GridServicerestartGroup struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Comment for the Restart Group; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// Determines if this Restart Group is the default group.
	IsDefault bool `json:"is_default,omitempty"`

	// The timestamp when the status of the latest request has changed.
	LastUpdatedTime *UnixTime `json:"last_updated_time,omitempty"`

	// The list of members belonging to the group.
	Members []string `json:"members,omitempty"`

	// The default restart method for this Restart Group.
	Mode string `json:"mode,omitempty"`

	// The name of this Restart Group.
	Name *string `json:"name,omitempty"`

	// The order to restart.
	Position uint32 `json:"position,omitempty"`

	// The recurring schedule for restart of a group.
	RecurringSchedule *GridServicerestartGroupSchedule `json:"recurring_schedule,omitempty"`

	// The list of requests associated with a restart group.
	Requests []*GridServicerestartRequest `json:"requests,omitempty"`

	// The applicable service for this Restart Group.
	Service string `json:"service,omitempty"`

	// The restart status for a restart group.
	Status string `json:"status,omitempty"`
}

GridServicerestartGroup represents Infoblox object grid:servicerestart:group. The Grid Service Restart Group object provides the following information about the restart: applicable services, members, restart order, and periodicity.

func (GridServicerestartGroup) ObjectType added in v2.4.0

func (GridServicerestartGroup) ObjectType() string

func (GridServicerestartGroup) ReturnFields added in v2.4.0

func (obj GridServicerestartGroup) ReturnFields() []string

type GridServicerestartGroupOrder added in v2.4.0

type GridServicerestartGroupOrder struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The ordered list of the Service Restart Group.
	Groups []string `json:"groups,omitempty"`
}

GridServicerestartGroupOrder represents Infoblox object grid:servicerestart:group:order. The Grid Service Restart Group Order Setting is used to set the restart order for particular services and members.

func (GridServicerestartGroupOrder) ObjectType added in v2.4.0

func (GridServicerestartGroupOrder) ObjectType() string

func (GridServicerestartGroupOrder) ReturnFields added in v2.4.0

func (obj GridServicerestartGroupOrder) ReturnFields() []string

type GridServicerestartGroupSchedule added in v2.4.0

type GridServicerestartGroupSchedule struct {
	// The list of applicable services for the restart.
	Services []string `json:"services,omitempty"`

	// The restart method for a Grid restart.
	Mode string `json:"mode,omitempty"`

	// The Schedule Setting struct that determines the schedule for the restart.
	Schedule *SettingSchedule `json:"schedule,omitempty"`

	// Determines if the Restart Group should have a force restart.
	Force bool `json:"force,omitempty"`
}

GridServicerestartGroupSchedule represents Infoblox struct grid:servicerestart:group:schedule

type GridServicerestartRequest added in v2.4.0

type GridServicerestartRequest struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The error message if restart has failed.
	Error string `json:"error,omitempty"`

	// Indicates if this is a force restart.
	Forced bool `json:"forced,omitempty"`

	// The name of the Restart Group associated with the request.
	Group string `json:"group,omitempty"`

	// The timestamp when the status of the request has changed.
	LastUpdatedTime *UnixTime `json:"last_updated_time,omitempty"`

	// The member to restart.
	Member string `json:"member,omitempty"`

	// Indicates if restart is needed.
	Needed string `json:"needed,omitempty"`

	// The order to restart.
	Order int `json:"order,omitempty"`

	// The result of the restart operation.
	Result string `json:"result,omitempty"`

	// The service to restart.
	Service string `json:"service,omitempty"`

	// The state of the request.
	State string `json:"state,omitempty"`
}

GridServicerestartRequest represents Infoblox object grid:servicerestart:request. The Restart Request object provides information and statistics about the service restart routine for the Service Restart Group.

func (GridServicerestartRequest) ObjectType added in v2.4.0

func (GridServicerestartRequest) ObjectType() string

func (GridServicerestartRequest) ReturnFields added in v2.4.0

func (obj GridServicerestartRequest) ReturnFields() []string

type GridServicerestartRequestChangedobject added in v2.4.0

type GridServicerestartRequestChangedobject struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The operation on the changed object.
	Action string `json:"action,omitempty"`

	// The list of changed properties in the object.
	ChangedProperties []string `json:"changed_properties,omitempty"`

	// The time when the object was changed.
	ChangedTime *UnixTime `json:"changed_time,omitempty"`

	// The name of the changed object.
	ObjectName string `json:"object_name,omitempty"`

	// The type of the changed object. This is undefined if the object is not
	// supported.
	ObjectTypeField string `json:"object_type,omitempty"`

	// The name of the user who changed the object properties.
	UserName string `json:"user_name,omitempty"`
}

GridServicerestartRequestChangedobject represents Infoblox object grid:servicerestart:request:changedobject. The Grid service restart request changed object provides information about changes that are waiting for the restart.

func (GridServicerestartRequestChangedobject) ObjectType added in v2.4.0

func (GridServicerestartRequestChangedobject) ReturnFields added in v2.4.0

func (obj GridServicerestartRequestChangedobject) ReturnFields() []string

type GridServicerestartStatus added in v2.4.0

type GridServicerestartStatus struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The number of failed requests.
	Failures uint32 `json:"failures,omitempty"`

	// The number of finished requests.
	Finished uint32 `json:"finished,omitempty"`

	// The type of grouping.
	Grouped string `json:"grouped,omitempty"`

	// The number of created yet unprocessed requests for restart.
	NeededRestart uint32 `json:"needed_restart,omitempty"`

	// The number of requests that did not require a restart.
	NoRestart uint32 `json:"no_restart,omitempty"`

	// A reference to the grid or grid:servicerestart:group object associated with
	// the request.
	Parent string `json:"parent,omitempty"`

	// The number of requests that are pending a restart.
	Pending uint32 `json:"pending,omitempty"`

	// The number of forced or needed requests pending for restart.
	PendingRestart uint32 `json:"pending_restart,omitempty"`

	// The number of not forced and not needed requests pending for restart.
	Processing uint32 `json:"processing,omitempty"`

	// The number of service restarts for corresponding members.
	Restarting uint32 `json:"restarting,omitempty"`

	// The number of requests associated with successful restarts.
	Success uint32 `json:"success,omitempty"`

	// The number of timeout requests.
	Timeouts uint32 `json:"timeouts,omitempty"`
}

GridServicerestartStatus represents Infoblox object grid:servicerestart:status. The Restart Status object provides information and statistics about service restart routine for the Grid or Service Restart Group.

func (GridServicerestartStatus) ObjectType added in v2.4.0

func (GridServicerestartStatus) ObjectType() string

func (GridServicerestartStatus) ReturnFields added in v2.4.0

func (obj GridServicerestartStatus) ReturnFields() []string

type GridThreatanalytics added in v2.4.0

type GridThreatanalytics struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Disable domain collapsing at grid level
	ConfigureDomainCollapsing *bool `json:"configure_domain_collapsing,omitempty"`

	// The current threat analytics module set.
	CurrentModuleset string `json:"current_moduleset,omitempty"`

	// The Grid whitelist.
	CurrentWhitelist string `json:"current_whitelist,omitempty"`

	// The list of response policy zones for DNS tunnelling requests.
	DnsTunnelBlackListRpzZones []*ZoneRp `json:"dns_tunnel_black_list_rpz_zones,omitempty"`

	// Level of domain collapsing
	DomainCollapsingLevel *uint32 `json:"domain_collapsing_level,omitempty"`

	// Determines whether the automatic threat analytics module set download is
	// enabled.
	EnableAutoDownload *bool `json:"enable_auto_download,omitempty"`

	// Determines whether the scheduled download of the threat analytics module set
	// is enabled.
	EnableScheduledDownload *bool `json:"enable_scheduled_download,omitempty"`

	// Indicates whether auto download service is enabled
	EnableWhitelistAutoDownload *bool `json:"enable_whitelist_auto_download,omitempty"`

	// Indicates whether the custom scheduled settings for auto download is
	// enabled. If false then default frequency is once per 24 hours
	EnableWhitelistScheduledDownload *bool `json:"enable_whitelist_scheduled_download,omitempty"`

	// The last time when the threat analytics module set was checked for the
	// update.
	LastCheckedForUpdate *UnixTime `json:"last_checked_for_update,omitempty"`

	// Timestamp of last checked whitelist
	LastCheckedForWhitelistUpdate *UnixTime `json:"last_checked_for_whitelist_update,omitempty"`

	// The last update time for the threat analytics module set.
	LastModuleUpdateTime *UnixTime `json:"last_module_update_time,omitempty"`

	// The version number of the last updated threat analytics module set.
	LastModuleUpdateVersion string `json:"last_module_update_version,omitempty"`

	// The last update time for the threat analytics whitelist.
	LastWhitelistUpdateTime *UnixTime `json:"last_whitelist_update_time,omitempty"`

	// The version number of the last updated threat analytics whitelist.
	LastWhitelistUpdateVersion string `json:"last_whitelist_update_version,omitempty"`

	// The update policy for the threat analytics module set.
	ModuleUpdatePolicy string `json:"module_update_policy,omitempty"`

	// The Grid name.
	Name string `json:"name,omitempty"`

	// The schedule settings for the threat analytics module set download.
	ScheduledDownload *SettingSchedule `json:"scheduled_download,omitempty"`

	// Schedule setting for automatic whitelist update run
	ScheduledWhitelistDownload *SettingSchedule `json:"scheduled_whitelist_download,omitempty"`

	// whitelist update policy (manual or automatic)
	WhitelistUpdatePolicy string `json:"whitelist_update_policy,omitempty"`
}

GridThreatanalytics represents Infoblox object grid:threatanalytics. To mitigate DNS data exfiltration, Infoblox DNS threat analytics employs analytics algorithms that analyze incoming DNS queries and responses to detect DNS tunneling traffic.

func (GridThreatanalytics) ObjectType added in v2.4.0

func (GridThreatanalytics) ObjectType() string

func (GridThreatanalytics) ReturnFields added in v2.4.0

func (obj GridThreatanalytics) ReturnFields() []string

type GridThreatprotection added in v2.4.0

type GridThreatprotection struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The current Grid ruleset.
	CurrentRuleset *string `json:"current_ruleset,omitempty"`

	// Determines if multiple BIND responses via TCP connection are disabled.
	DisableMultipleDnsTcpRequest *bool `json:"disable_multiple_dns_tcp_request,omitempty"`

	// Determines if DNS responses are sent from acceleration cache before applying
	// Threat Protection rules. Recommended for better performance when using DNS
	// Cache Acceleration.
	EnableAccelRespBeforeThreatProtection *bool `json:"enable_accel_resp_before_threat_protection,omitempty"`

	// Determines if auto download service is enabled.
	EnableAutoDownload *bool `json:"enable_auto_download,omitempty"`

	// Determines if NAT (Network Address Translation) mapping for threat
	// protection is enabled or not.
	EnableNatRules *bool `json:"enable_nat_rules,omitempty"`

	// Determines if scheduled download is enabled. The default frequency is once
	// in every 24 hours if it is disabled.
	EnableScheduledDownload *bool `json:"enable_scheduled_download,omitempty"`

	// The number of events logged per second per rule.
	EventsPerSecondPerRule *uint32 `json:"events_per_second_per_rule,omitempty"`

	// The Grid name.
	GridName string `json:"grid_name,omitempty"`

	// The time when the Grid last checked for updates.
	LastCheckedForUpdate *UnixTime `json:"last_checked_for_update,omitempty"`

	// The last rule update timestamp.
	LastRuleUpdateTimestamp *UnixTime `json:"last_rule_update_timestamp,omitempty"`

	// The version of last rule update.
	LastRuleUpdateVersion string `json:"last_rule_update_version,omitempty"`

	// The list of NAT mapping rules for threat protection.
	NatRules []*ThreatprotectionNatrule `json:"nat_rules,omitempty"`

	// Outbound settings for ATP events.
	OutboundSettings *SettingAtpoutbound `json:"outbound_settings,omitempty"`

	// The update rule policy.
	RuleUpdatePolicy string `json:"rule_update_policy,omitempty"`

	// The schedule setting for automatic rule update.
	ScheduledDownload *SettingSchedule `json:"scheduled_download,omitempty"`
}

GridThreatprotection represents Infoblox object grid:threatprotection. The Grid threat protection settings.

func (GridThreatprotection) ObjectType added in v2.4.0

func (GridThreatprotection) ObjectType() string

func (GridThreatprotection) ReturnFields added in v2.4.0

func (obj GridThreatprotection) ReturnFields() []string

type GridX509certificate added in v2.4.0

type GridX509certificate struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Certificate issuer.
	Issuer string `json:"issuer,omitempty"`

	// X509Certificate serial number.
	Serial string `json:"serial,omitempty"`

	// A Distinguished Name that is made of multiple relative distinguished names
	// (RDNs).
	Subject string `json:"subject,omitempty"`

	// Certificate expiry date.
	ValidNotAfter *UnixTime `json:"valid_not_after,omitempty"`

	// Certificate validity start date.
	ValidNotBefore *UnixTime `json:"valid_not_before,omitempty"`
}

GridX509certificate represents Infoblox object grid:x509certificate. In the X.509 system, a certification authority issues a certificate binding a public key to a particular distinguished name in the X.500 tradition, or to an alternative name such as an e-mail address or a DNS entry.

func (GridX509certificate) ObjectType added in v2.4.0

func (GridX509certificate) ObjectType() string

func (GridX509certificate) ReturnFields added in v2.4.0

func (obj GridX509certificate) ReturnFields() []string

type GridmemberSoamname added in v2.4.0

type GridmemberSoamname struct {
	// The grid primary server for the zone. Only one of "grid_primary" or
	// "ms_server_primary" should be set when modifying or creating the object.
	GridPrimary string `json:"grid_primary,omitempty"`

	// The primary MS server for the zone. Only one of "grid_primary" or
	// "ms_server_primary" should be set when modifying or creating the object.
	MsServerPrimary string `json:"ms_server_primary,omitempty"`

	// Master's SOA MNAME. This value can be in unicode format.
	Mname string `json:"mname,omitempty"`

	// Master's SOA MNAME in punycode format.
	DnsMname string `json:"dns_mname,omitempty"`
}

GridmemberSoamname represents Infoblox struct gridmember_soamname

type GridmemberSoaserial added in v2.4.0

type GridmemberSoaserial struct {
	// The grid primary server for the zone. Only one of "grid_primary" or
	// "ms_server_primary" will be set when the object is retrieved from the
	// server.
	GridPrimary string `json:"grid_primary,omitempty"`

	// The primary MS server for the zone. Only one of "grid_primary" or
	// "ms_server_primary" will be set when the object is retrieved from the
	// server.
	MsServerPrimary string `json:"ms_server_primary,omitempty"`

	// The SOA serial number.
	Serial uint32 `json:"serial,omitempty"`
}

GridmemberSoaserial represents Infoblox struct gridmember_soaserial

type HostConfig

type HostConfig struct {
	Scheme  string
	Host    string
	Version string
	Port    string
}

type HostRecord

type HostRecord struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// This is a list of aliases for the host. The aliases must be in FQDN format.
	// This value can be in unicode format.
	Aliases []string `json:"aliases"`

	// This field controls whether the credential is used for both the Telnet and
	// SSH credentials. If set to False, the credential is used only for SSH.
	AllowTelnet *bool `json:"allow_telnet,omitempty"`

	// The CLI credentials for the host record.
	CliCredentials []*DiscoveryClicredential `json:"cli_credentials,omitempty"`

	// Structure containing all cloud API related information for this object.
	CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`

	// Comment for the record; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// When configure_for_dns is false, the host does not have parent zone
	// information.
	EnableDns *bool `json:"configure_for_dns,omitempty"`

	// The time of the record creation in Epoch seconds format.
	CreationTime *UnixTime `json:"creation_time,omitempty"`

	// Determines if the DDNS updates for this record are allowed or not.
	DdnsProtected *bool `json:"ddns_protected,omitempty"`

	// The description of the device.
	DeviceDescription *string `json:"device_description,omitempty"`

	// The location of the device.
	DeviceLocation *string `json:"device_location,omitempty"`

	// The type of the device.
	DeviceType *string `json:"device_type,omitempty"`

	// The vendor of the device.
	DeviceVendor *string `json:"device_vendor,omitempty"`

	// Determines if the record is disabled or not. False means that the record is
	// enabled.
	Disable *bool `json:"disable,omitempty"`

	// Determines if the discovery for the record is disabled or not. False means
	// that the discovery is enabled.
	DisableDiscovery *bool `json:"disable_discovery,omitempty"`

	// The list of aliases for the host in punycode format.
	DnsAliases []string `json:"dns_aliases,omitempty"`

	// The name for a host record in punycode format.
	DnsName string `json:"dns_name,omitempty"`

	// Determines if the discovery for the record should be immediately enabled.
	EnableImmediateDiscovery *bool `json:"enable_immediate_discovery,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// This is a list of IPv4 Addresses for the host.
	Ipv4Addrs []HostRecordIpv4Addr `json:"ipv4addrs"`

	// This is a list of IPv6 Addresses for the host.
	Ipv6Addrs []HostRecordIpv6Addr `json:"ipv6addrs"`

	// The time of the last DNS query in Epoch seconds format.
	LastQueried *UnixTime `json:"last_queried,omitempty"`

	// The Microsoft Active Directory user related information.
	MsAdUserData *MsserverAduserData `json:"ms_ad_user_data,omitempty"`

	// The host name in FQDN format This value can be in unicode format. Regular
	// expression search is not supported for unicode values.
	Name *string `json:"name,omitempty"`

	// The name of the network view in which the host record resides.
	NetworkView string `json:"network_view,omitempty"`

	// Restarts the member service.
	RestartIfNeeded *bool `json:"restart_if_needed,omitempty"`

	// The value of this field specifies the order in which resource record sets
	// are returned. The possible values are "cyclic", "random" and "fixed".
	RrsetOrder *string `json:"rrset_order,omitempty"`

	// The SNMPv3 credential for a host record.
	Snmp3Credential *DiscoverySnmp3credential `json:"snmp3_credential,omitempty"`

	// The SNMPv1 or SNMPv2 credential for a host record.
	SnmpCredential *DiscoverySnmpcredential `json:"snmp_credential,omitempty"`

	// The Time To Live (TTL) value for record. A 32-bit unsigned integer that
	// represents the duration, in seconds, for which the record is valid (cached).
	// Zero indicates that the record should not be cached.
	Ttl *uint32 `json:"ttl,omitempty"`

	// If set to true, the CLI credential will override member-level settings.
	UseCliCredentials *bool `json:"use_cli_credentials,omitempty"`

	// Determines if the SNMPv3 credential should be used for the record.
	UseSnmp3Credential *bool `json:"use_snmp3_credential,omitempty"`

	// If set to true, the SNMP credential will override member-level settings.
	UseSnmpCredential *bool `json:"use_snmp_credential,omitempty"`

	// Use flag for: ttl
	UseTtl *bool `json:"use_ttl,omitempty"`

	// The name of the DNS view in which the record resides. Example: "external".
	View *string `json:"view,omitempty"`

	// The name of the zone in which the record resides. Example: "zone.com". If a
	// view is not specified when searching by zone, the default view is used.
	Zone string `json:"zone,omitempty"`
}

HostRecord represents Infoblox object record:host. A host record defines attributes for a node, such as the name-to-address and address-to-name mapping. This alleviates having to specify an A record and a PTR record separately for the same node. A host can also define aliases and DHCP fixed address nodes. The zone must be created first before adding a host record for the zone.

func NewEmptyHostRecord

func NewEmptyHostRecord() *HostRecord

func NewHostRecord

func NewHostRecord(
	netView string,
	name string,
	ipv4Addr string,
	ipv6Addr string,
	ipv4AddrList []HostRecordIpv4Addr,
	ipv6AddrList []HostRecordIpv6Addr,
	eas EA,
	enableDNS bool,
	dnsView string,
	zone string,
	ref string,
	useTtl bool,
	ttl uint32,
	comment string,
	aliases []string,
	disable bool) *HostRecord

func (HostRecord) ObjectType added in v2.4.0

func (HostRecord) ObjectType() string

func (HostRecord) ReturnFields added in v2.4.0

func (obj HostRecord) ReturnFields() []string

type HostRecordIpv4Addr

type HostRecordIpv4Addr struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The name of the boot file the client must download.
	Bootfile *string `json:"bootfile,omitempty"`

	// The IP address or hostname of the boot file server where the boot file is
	// stored.
	Bootserver *string `json:"bootserver,omitempty"`

	// Set this to True to enable the DHCP configuration for this host address.
	EnableDhcp *bool `json:"configure_for_dhcp,omitempty"`

	// Set this to True to disable the BOOTP settings and deny BOOTP boot requests.
	DenyBootp *bool `json:"deny_bootp,omitempty"`

	// The discovery status of this Host Address.
	DiscoverNowStatus string `json:"discover_now_status,omitempty"`

	// The discovered data for this Host Address.
	DiscoveredData *Discoverydata `json:"discovered_data,omitempty"`

	// Set this to True if you want the DHCP server to use a different lease time
	// for PXE clients. You can specify the duration of time it takes a host to
	// connect to a boot server, such as a TFTP server, and download the file it
	// needs to boot. For example, set a longer lease time if the client downloads
	// an OS (operating system) or configuration file, or set a shorter lease time
	// if the client downloads only configuration changes. Enter the lease time for
	// the preboot execution environment for hosts to boot remotely from a server.
	EnablePxeLeaseTime *bool `json:"enable_pxe_lease_time,omitempty"`

	// The host to which the host address belongs, in FQDN format. It is only
	// present when the host address object is not returned as part of a host.
	Host string `json:"host,omitempty"`

	// If this field is set to false, the appliance returns all DHCP options the
	// client is eligible to receive, rather than only the list of options the
	// client has requested.
	IgnoreClientRequestedOptions *bool `json:"ignore_client_requested_options,omitempty"`

	// The IPv4 Address of the host.
	Ipv4Addr *string `json:"ipv4addr,omitempty"`

	// This flag reflects whether the MAC address for this host address is invalid.
	IsInvalidMac bool `json:"is_invalid_mac,omitempty"`

	// The time of the last DNS query in Epoch seconds format.
	LastQueried *UnixTime `json:"last_queried,omitempty"`

	// This field contains the logic filters to be applied on the this host
	// address. This list corresponds to the match rules that are written to the
	// dhcpd configuration file.
	LogicFilterRules []*Logicfilterrule `json:"logic_filter_rules,omitempty"`

	// The MAC address for this host address.
	Mac *string `json:"mac,omitempty"`

	// Set this to 'MAC_ADDRESS' to assign the IP address to the selected host,
	// provided that the MAC address of the requesting host matches the MAC address
	// that you specify in the field. Set this to 'RESERVED' to reserve this
	// particular IP address for future use, or if the IP address is statically
	// configured on a system (the Infoblox server does not assign the address from
	// a DHCP request).
	MatchClient *string `json:"match_client,omitempty"`

	// The Microsoft Active Directory user related information.
	MsAdUserData *MsserverAduserData `json:"ms_ad_user_data,omitempty"`

	// The network of the host address, in FQDN/CIDR format.
	Network string `json:"network,omitempty"`

	// The name of the network view in which the host address resides.
	NetworkView string `json:"network_view,omitempty"`

	// The name in FQDN format and/or IPv4 Address of the next server that the host
	// needs to boot.
	Nextserver *string `json:"nextserver,omitempty"`

	// An array of DHCP option dhcpoption structs that lists the DHCP options
	// associated with the object.
	Options []*Dhcpoption `json:"options,omitempty"`

	// The lease time for PXE clients, see *enable_pxe_lease_time* for more
	// information.
	PxeLeaseTime *uint32 `json:"pxe_lease_time,omitempty"`

	// The reference to the reserved interface to which the device belongs.
	ReservedInterface *string `json:"reserved_interface,omitempty"`

	// Use flag for: bootfile
	UseBootfile *bool `json:"use_bootfile,omitempty"`

	// Use flag for: bootserver
	UseBootserver *bool `json:"use_bootserver,omitempty"`

	// Use flag for: deny_bootp
	UseDenyBootp *bool `json:"use_deny_bootp,omitempty"`

	// Set this to True when using this host address for EA inheritance.
	UseForEaInheritance *bool `json:"use_for_ea_inheritance,omitempty"`

	// Use flag for: ignore_client_requested_options
	UseIgnoreClientRequestedOptions *bool `json:"use_ignore_client_requested_options,omitempty"`

	// Use flag for: logic_filter_rules
	UseLogicFilterRules *bool `json:"use_logic_filter_rules,omitempty"`

	// Use flag for: nextserver
	UseNextserver *bool `json:"use_nextserver,omitempty"`

	// Use flag for: options
	UseOptions *bool `json:"use_options,omitempty"`

	// Use flag for: pxe_lease_time
	UsePxeLeaseTime *bool `json:"use_pxe_lease_time,omitempty"`
}

HostRecordIpv4Addr represents Infoblox object record:host_ipv4addr. A Host Address is an object used to specify addresses in the record.host object.

func NewEmptyHostRecordIpv4Addr

func NewEmptyHostRecordIpv4Addr() *HostRecordIpv4Addr

func NewHostRecordIpv4Addr

func NewHostRecordIpv4Addr(
	ipAddr string,
	macAddr string,
	enableDhcp bool,
	ref string) *HostRecordIpv4Addr

func (HostRecordIpv4Addr) ObjectType added in v2.4.0

func (HostRecordIpv4Addr) ObjectType() string

func (HostRecordIpv4Addr) ReturnFields added in v2.4.0

func (obj HostRecordIpv4Addr) ReturnFields() []string

type HostRecordIpv6Addr

type HostRecordIpv6Addr struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Type of the DHCP IPv6 Host Address object.
	AddressType string `json:"address_type,omitempty"`

	// Set this to True to enable the DHCP configuration for this IPv6 host
	// address.
	EnableDhcp *bool `json:"configure_for_dhcp,omitempty"`

	// The discovery status of this IPv6 Host Address.
	DiscoverNowStatus string `json:"discover_now_status,omitempty"`

	// The discovered data for this host address.
	DiscoveredData *Discoverydata `json:"discovered_data,omitempty"`

	// Use this method to set or retrieve the domain_name value of the DHCP IPv6
	// Host Address object.
	DomainName *string `json:"domain_name,omitempty"`

	// The IPv6 addresses of DNS recursive name servers to which the DHCP client
	// can send name resolution requests. The DHCP server includes this information
	// in the DNS Recursive Name Server option in Advertise, Rebind,
	// Information-Request, and Reply messages.
	DomainNameServers []string `json:"domain_name_servers,omitempty"`

	// DHCPv6 Unique Identifier (DUID) of the address object.
	Duid *string `json:"duid,omitempty"`

	// The host to which the IPv6 host address belongs, in FQDN format. It is only
	// present when the host address object is not returned as part of a host.
	Host string `json:"host,omitempty"`

	// The IPv6 Address prefix of the DHCP IPv6 Host Address object.
	Ipv6Addr *string `json:"ipv6addr,omitempty"`

	// The IPv6 Address prefix of the DHCP IPv6 Host Address object.
	Ipv6prefix *string `json:"ipv6prefix,omitempty"`

	// Prefix bits of the DHCP IPv6 Host Address object.
	Ipv6prefixBits *uint32 `json:"ipv6prefix_bits,omitempty"`

	// The time of the last DNS query in Epoch seconds format.
	LastQueried *UnixTime `json:"last_queried,omitempty"`

	// This field contains the logic filters to be applied on the this host
	// address. This list corresponds to the match rules that are written to the
	// dhcpd configuration file.
	LogicFilterRules []*Logicfilterrule `json:"logic_filter_rules,omitempty"`

	// Set this to 'DUID' to assign the IP address to the selected host, provided
	// that the DUID of the requesting host matches the DUID that you specify in
	// the field. Set this to 'RESERVED' to reserve this particular IP address for
	// future use, or if the IP address is statically configured on a system (the
	// Infoblox server does not assign the address from a DHCP request).
	MatchClient *string `json:"match_client,omitempty"`

	// The Microsoft Active Directory user related information.
	MsAdUserData *MsserverAduserData `json:"ms_ad_user_data,omitempty"`

	// The network of the host address, in FQDN/CIDR format.
	Network string `json:"network,omitempty"`

	// The name of the network view in which the host address resides.
	NetworkView string `json:"network_view,omitempty"`

	// An array of DHCP option dhcpoption structs that lists the DHCP options
	// associated with the object.
	Options []*Dhcpoption `json:"options,omitempty"`

	// Use this method to set or retrieve the preferred lifetime value of the DHCP
	// IPv6 Host Address object.
	PreferredLifetime *uint32 `json:"preferred_lifetime,omitempty"`

	// The reference to the reserved interface to which the device belongs.
	ReservedInterface *string `json:"reserved_interface,omitempty"`

	// Use flag for: domain_name
	UseDomainName *bool `json:"use_domain_name,omitempty"`

	// Use flag for: domain_name_servers
	UseDomainNameServers *bool `json:"use_domain_name_servers,omitempty"`

	// Set this to True when using this host address for EA inheritance.
	UseForEaInheritance *bool `json:"use_for_ea_inheritance,omitempty"`

	// Use flag for: logic_filter_rules
	UseLogicFilterRules *bool `json:"use_logic_filter_rules,omitempty"`

	// Use flag for: options
	UseOptions *bool `json:"use_options,omitempty"`

	// Use flag for: preferred_lifetime
	UsePreferredLifetime *bool `json:"use_preferred_lifetime,omitempty"`

	// Use flag for: valid_lifetime
	UseValidLifetime *bool `json:"use_valid_lifetime,omitempty"`

	// Use this method to set or retrieve the valid lifetime value of the DHCP IPv6
	// Host Address object.
	ValidLifetime *uint32 `json:"valid_lifetime,omitempty"`
}

HostRecordIpv6Addr represents Infoblox object record:host_ipv6addr. An IPv6 host address is an object used to specify addresses in the record.host object.

func NewEmptyHostRecordIpv6Addr

func NewEmptyHostRecordIpv6Addr() *HostRecordIpv6Addr

func NewHostRecordIpv6Addr

func NewHostRecordIpv6Addr(
	ipAddr string,
	duid string,
	enableDhcp bool,
	ref string) *HostRecordIpv6Addr

func (HostRecordIpv6Addr) ObjectType added in v2.4.0

func (HostRecordIpv6Addr) ObjectType() string

func (HostRecordIpv6Addr) ReturnFields added in v2.4.0

func (obj HostRecordIpv6Addr) ReturnFields() []string

type Hostnamerewritepolicy added in v2.4.0

type Hostnamerewritepolicy struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// True if the policy is the Grid default.
	IsDefault bool `json:"is_default,omitempty"`

	// The name of a hostname rewrite policy object.
	Name *string `json:"name,omitempty"`

	// Determines whether the policy is a predefined one.
	PreDefined bool `json:"pre_defined,omitempty"`

	// The replacement character for symbols in hostnames that do not conform to
	// the hostname policy.
	ReplacementCharacter *string `json:"replacement_character,omitempty"`

	// The set of valid characters represented in string format.
	ValidCharacters *string `json:"valid_characters,omitempty"`
}

Hostnamerewritepolicy represents Infoblox object hostnamerewritepolicy. A hostname rewrite policy object represents the set of valid characters as well as replacement characters for names that do not conform to the policy.

func (Hostnamerewritepolicy) ObjectType added in v2.4.0

func (Hostnamerewritepolicy) ObjectType() string

func (Hostnamerewritepolicy) ReturnFields added in v2.4.0

func (obj Hostnamerewritepolicy) ReturnFields() []string

type Hotfix added in v2.4.0

type Hotfix struct {
	// The status text of the hotfix.
	StatusText string `json:"status_text,omitempty"`

	// Unique ID of the hotfix.
	UniqueId string `json:"unique_id,omitempty"`
}

Hotfix represents Infoblox struct hotfix

type HsmAllgroups added in v2.4.0

type HsmAllgroups struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The list of HSM groups configured on the appliance.
	Groups []*HsmSafenetgroup `json:"groups,omitempty"`
}

HsmAllgroups represents Infoblox object hsm:allgroups. The All Hardware Security Module (HSM) groups object is used to retrieve all HSM groups configured on the appliance.

func (HsmAllgroups) ObjectType added in v2.4.0

func (HsmAllgroups) ObjectType() string

func (HsmAllgroups) ReturnFields added in v2.4.0

func (obj HsmAllgroups) ReturnFields() []string

type HsmSafenet added in v2.4.0

type HsmSafenet struct {
	// The HSM SafeNet device IPv4 Address or FQDN.
	Name string `json:"name,omitempty"`

	// The HSM SafeNet device partition serial number (PSN).
	PartitionSerialNumber string `json:"partition_serial_number,omitempty"`

	// Determines whether the HSM SafeNet device is disabled.
	Disable bool `json:"disable,omitempty"`

	// Partition ID that is displayed after the appliance has successfully
	// connected to the HSM SafeNet device.
	PartitionId string `json:"partition_id,omitempty"`

	// Determines whether the HSM SafeNet device is FIPS compliant.
	IsFipsCompliant bool `json:"is_fips_compliant,omitempty"`

	// The token returned by the uploadinit function call in object fileop for a
	// SafeNet HSM device certificate.
	ServerCert string `json:"server_cert,omitempty"`

	// The HSM SafeNet device partition capacity percentage used.
	PartitionCapacity uint32 `json:"partition_capacity,omitempty"`

	// The HSM SafeNet device status.
	Status string `json:"status,omitempty"`
}

HsmSafenet represents Infoblox struct hsm:safenet

type HsmSafenetgroup added in v2.4.0

type HsmSafenetgroup struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The HSM SafeNet group comment.
	Comment *string `json:"comment,omitempty"`

	// The HSM SafeNet group serial number.
	GroupSn string `json:"group_sn,omitempty"`

	// The list of HSM SafeNet devices.
	HsmSafenet []*HsmSafenet `json:"hsm_safenet,omitempty"`

	// The HSM SafeNet version.
	HsmVersion string `json:"hsm_version,omitempty"`

	// The HSM SafeNet group name.
	Name *string `json:"name,omitempty"`

	// The pass phrase used to unlock the HSM SafeNet keystore.
	PassPhrase *string `json:"pass_phrase,omitempty"`

	// The status of all HSM SafeNet devices in the group.
	Status string `json:"status,omitempty"`
}

HsmSafenetgroup represents Infoblox object hsm:safenetgroup. You can integrate a Grid with a third-party, network-attached Hardware Security Modules (HSMs) for secure private key storage and generation, and zone-signing offloading. Infoblox appliances support integration with either SafeNet HSMs or Thales HSMs. When using a network-attached HSM, you can provide tight physical access control, allowing only selected security personnel to physically access the HSM that stores the DNSSEC keys.

func (HsmSafenetgroup) ObjectType added in v2.4.0

func (HsmSafenetgroup) ObjectType() string

func (HsmSafenetgroup) ReturnFields added in v2.4.0

func (obj HsmSafenetgroup) ReturnFields() []string

type HsmThales added in v2.4.0

type HsmThales struct {
	// The IPv4 Address of the Thales HSM device.
	RemoteIp string `json:"remote_ip,omitempty"`

	// The Thales HSM device destination port.
	RemotePort uint32 `json:"remote_port,omitempty"`

	// The Thales HSM device status.
	Status string `json:"status,omitempty"`

	// The Thales HSM device electronic serial number.
	RemoteEsn string `json:"remote_esn,omitempty"`

	// The Thales HSM device public key digest.
	Keyhash string `json:"keyhash,omitempty"`

	// Determines whether the Thales HSM device is disabled.
	Disable bool `json:"disable,omitempty"`
}

HsmThales represents Infoblox struct hsm:thales

type HsmThalesgroup added in v2.4.0

type HsmThalesgroup struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The Thales HSM softcard name.
	CardName *string `json:"card_name,omitempty"`

	// The Thales HSM group comment.
	Comment *string `json:"comment,omitempty"`

	// The remote file server (RFS) IPv4 Address.
	KeyServerIp *string `json:"key_server_ip,omitempty"`

	// The remote file server (RFS) port.
	KeyServerPort *uint32 `json:"key_server_port,omitempty"`

	// The Thales HSM group name.
	Name *string `json:"name,omitempty"`

	// The password phrase used to unlock the Thales HSM keystore.
	PassPhrase *string `json:"pass_phrase,omitempty"`

	// The level of protection that the HSM group uses for the DNSSEC key data.
	Protection string `json:"protection,omitempty"`

	// The status of all Thales HSM devices in the group.
	Status string `json:"status,omitempty"`

	// The list of Thales HSM devices.
	ThalesHsm []*HsmThales `json:"thales_hsm,omitempty"`
}

HsmThalesgroup represents Infoblox object hsm:thalesgroup. You can integrate a Grid with a third-party, network-attached Hardware Security Modules (HSMs) for secure private key storage and generation, and zone-signing offloading. Infoblox appliances support integration with either SafeNet HSMs or Thales HSMs. When using a network-attached HSM, you can provide tight physical access control, allowing only selected security personnel to physically access the HSM that stores the DNSSEC keys.

func (HsmThalesgroup) ObjectType added in v2.4.0

func (HsmThalesgroup) ObjectType() string

func (HsmThalesgroup) ReturnFields added in v2.4.0

func (obj HsmThalesgroup) ReturnFields() []string

type HttpRequestBuilder

type HttpRequestBuilder interface {
	Init(HostConfig, AuthConfig)
	BuildUrl(r RequestType, objType string, ref string, returnFields []string, queryParams *QueryParams) (urlStr string)
	BuildBody(r RequestType, obj IBObject) (jsonStr []byte)
	BuildRequest(r RequestType, obj IBObject, ref string, queryParams *QueryParams) (req *http.Request, err error)
}

type HttpRequestor

type HttpRequestor interface {
	Init(AuthConfig, TransportConfig)
	SendRequest(*http.Request) ([]byte, error)
}

type IBBase

type IBBase struct {
	// contains filtered or unexported fields
}

func (*IBBase) EaSearch

func (obj *IBBase) EaSearch() EASearch

func (*IBBase) ReturnFields

func (obj *IBBase) ReturnFields() []string

func (*IBBase) SetReturnFields added in v2.4.0

func (obj *IBBase) SetReturnFields(rf []string)

type IBConnector

type IBConnector interface {
	CreateObject(obj IBObject) (ref string, err error)
	GetObject(obj IBObject, ref string, queryParams *QueryParams, res interface{}) error
	DeleteObject(ref string) (refRes string, err error)
	UpdateObject(obj IBObject, ref string) (refRes string, err error)
}

type IBObject

type IBObject interface {
	ObjectType() string
	ReturnFields() []string
	EaSearch() EASearch
	SetReturnFields([]string)
}

type IBObjectManager

type IBObjectManager interface {
	GetDNSView(name string) (*View, error)
	AllocateIP(netview string, cidr string, ipAddr string, isIPv6 bool, macOrDuid string, name string, comment string, eas EA) (*FixedAddress, error)
	AllocateNextAvailableIp(name string, objectType string, objectParams map[string]string, params map[string][]string, useEaInheritance bool, ea EA, comment string, disable bool, n *int, ipAddrType string,
		enableDns bool, enableDhcp bool, macAddr string, duid string, networkView string, dnsView string, useTtl bool, ttl uint32, aliases []string) (interface{}, error)
	AllocateNetwork(netview string, cidr string, isIPv6 bool, prefixLen uint, comment string, eas EA) (network *Network, err error)
	AllocateNetworkByEA(netview string, isIPv6 bool, comment string, eas EA, eaMap map[string]string, prefixLen uint, object string) (network *Network, err error)
	AllocateNetworkContainer(netview string, cidr string, isIPv6 bool, prefixLen uint, comment string, eas EA) (netContainer *NetworkContainer, err error)
	AllocateNetworkContainerByEA(netview string, isIPv6 bool, comment string, eas EA, eaMap map[string]string, prefixLen uint) (*NetworkContainer, error)
	CreateARecord(netView string, dnsView string, name string, cidr string, ipAddr string, ttl uint32, useTTL bool, comment string, ea EA) (*RecordA, error)
	CreateAAAARecord(netView string, dnsView string, recordName string, cidr string, ipAddr string, useTtl bool, ttl uint32, comment string, eas EA) (*RecordAAAA, error)
	CreateZoneAuth(fqdn string, ea EA) (*ZoneAuth, error)
	CreateCNAMERecord(dnsview string, canonical string, recordname string, useTtl bool, ttl uint32, comment string, eas EA) (*RecordCNAME, error)
	CreateDefaultNetviews(globalNetview string, localNetview string) (globalNetviewRef string, localNetviewRef string, err error)
	CreateZoneForward(comment string, disable bool, eas EA, forwardTo NullableNameServers, forwardersOnly bool, forwardingServers *NullableForwardingServers, fqdn string, nsGroup string, view string, zoneFormat string, externalNsGroup string) (*ZoneForward, error)
	CreateEADefinition(eadef EADefinition) (*EADefinition, error)
	CreateHostRecord(enabledns bool, enabledhcp bool, recordName string, netview string, dnsview string, ipv4cidr string, ipv6cidr string, ipv4Addr string, ipv6Addr string, macAddr string, duid string, useTtl bool, ttl uint32, comment string, eas EA, aliases []string, disable bool) (*HostRecord, error)
	CreateMXRecord(dnsView string, fqdn string, mx string, preference uint32, ttl uint32, useTtl bool, comment string, eas EA) (*RecordMX, error)
	CreateNetwork(netview string, cidr string, isIPv6 bool, comment string, eas EA) (*Network, error)
	CreateNetworkContainer(netview string, cidr string, isIPv6 bool, comment string, eas EA) (*NetworkContainer, error)
	CreateNetworkView(name string, comment string, setEas EA) (*NetworkView, error)
	CreatePTRRecord(networkView string, dnsView string, ptrdname string, recordName string, cidr string, ipAddr string, useTtl bool, ttl uint32, comment string, eas EA) (*RecordPTR, error)
	CreateSRVRecord(dnsView string, name string, priority uint32, weight uint32, port uint32, target string, ttl uint32, useTtl bool, comment string, eas EA) (*RecordSRV, error)
	CreateTXTRecord(dnsView string, recordName string, text string, ttl uint32, useTtl bool, comment string, eas EA) (*RecordTXT, error)
	CreateZoneDelegated(fqdn string, delegateTo NullableNameServers, comment string, disable bool, locked bool, nsGroup string, delegatedTtl uint32, useDelegatedTtl bool, ea EA, view string, zoneFormat string) (*ZoneDelegated, error)
	DeleteARecord(ref string) (string, error)
	DeleteAAAARecord(ref string) (string, error)
	DeleteZoneAuth(ref string) (string, error)
	DeleteZoneForward(ref string) (string, error)
	DeleteCNAMERecord(ref string) (string, error)
	DeleteFixedAddress(ref string) (string, error)
	DeleteHostRecord(ref string) (string, error)
	DeleteMXRecord(ref string) (string, error)
	DeleteNetwork(ref string) (string, error)
	DeleteNetworkContainer(ref string) (string, error)
	DeleteNetworkView(ref string) (string, error)
	DeletePTRRecord(ref string) (string, error)
	DeleteSRVRecord(ref string) (string, error)
	DeleteTXTRecord(ref string) (string, error)
	DeleteZoneDelegated(ref string) (string, error)
	GetARecordByRef(ref string) (*RecordA, error)
	GetARecord(dnsview string, recordName string, ipAddr string) (*RecordA, error)
	GetAAAARecord(dnsview string, recordName string, ipAddr string) (*RecordAAAA, error)
	GetAAAARecordByRef(ref string) (*RecordAAAA, error)
	GetCNAMERecord(dnsview string, canonical string, recordName string) (*RecordCNAME, error)
	GetCNAMERecordByRef(ref string) (*RecordCNAME, error)
	GetEADefinition(name string) (*EADefinition, error)
	GetFixedAddress(netview string, cidr string, ipAddr string, isIPv6 bool, macOrDuid string) (*FixedAddress, error)
	GetFixedAddressByRef(ref string) (*FixedAddress, error)
	GetHostRecord(netview string, dnsview string, recordName string, ipv4addr string, ipv6addr string) (*HostRecord, error)
	SearchHostRecordByAltId(internalId string, ref string, eaNameForInternalId string) (*HostRecord, error)
	GetHostRecordByRef(ref string) (*HostRecord, error)
	GetIpAddressFromHostRecord(host HostRecord) (string, error)
	GetMXRecord(dnsView string, fqdn string, mx string, preference uint32) (*RecordMX, error)
	GetMXRecordByRef(ref string) (*RecordMX, error)
	GetNetwork(netview string, cidr string, isIPv6 bool, ea EA) (*Network, error)
	GetNetworkByRef(ref string) (*Network, error)
	GetNetworkContainer(netview string, cidr string, isIPv6 bool, eaSearch EA) (*NetworkContainer, error)
	GetNetworkContainerByRef(ref string) (*NetworkContainer, error)
	GetNetworkView(name string) (*NetworkView, error)
	GetNetworkViewByRef(ref string) (*NetworkView, error)
	GetPTRRecord(dnsview string, ptrdname string, recordName string, ipAddr string) (*RecordPTR, error)
	GetPTRRecordByRef(ref string) (*RecordPTR, error)
	GetSRVRecord(dnsView string, name string, target string, port uint32) (*RecordSRV, error)
	GetSRVRecordByRef(ref string) (*RecordSRV, error)
	GetTXTRecord(dnsview string, name string) (*RecordTXT, error)
	GetTXTRecordByRef(ref string) (*RecordTXT, error)
	GetZoneAuthByRef(ref string) (*ZoneAuth, error)
	GetZoneDelegated(fqdn string) (*ZoneDelegated, error)
	GetZoneDelegatedByFilters(queryParams *QueryParams) ([]ZoneDelegated, error)
	GetZoneDelegatedByRef(ref string) (*ZoneDelegated, error)
	GetZoneForwardByRef(ref string) (*ZoneForward, error)
	GetZoneForwardFilters(queryParams *QueryParams) ([]ZoneForward, error)
	GetCapacityReport(name string) ([]CapacityReport, error)
	GetUpgradeStatus(statusType string) ([]UpgradeStatus, error)
	GetAllMembers() ([]Member, error)
	GetGridInfo() ([]Grid, error)
	GetGridLicense() ([]License, error)
	SearchObjectByAltId(objType string, internalId string, ref string, eaNameForInternalId string) (interface{}, error)
	ReleaseIP(netview string, cidr string, ipAddr string, isIPv6 bool, macAddr string) (string, error)
	UpdateAAAARecord(ref string, netView string, recordName string, cidr string, ipAddr string, useTtl bool, ttl uint32, comment string, setEas EA) (*RecordAAAA, error)
	UpdateCNAMERecord(ref string, canonical string, recordName string, useTtl bool, ttl uint32, comment string, setEas EA) (*RecordCNAME, error)
	UpdateFixedAddress(fixedAddrRef string, netview string, name string, cidr string, ipAddr string, matchclient string, macOrDuid string, comment string, eas EA) (*FixedAddress, error)
	UpdateHostRecord(hostRref string, enabledns bool, enabledhcp bool, name string, netview string, dnsView string, ipv4cidr string, ipv6cidr string, ipv4Addr string, ipv6Addr string, macAddress string, duid string, useTtl bool, ttl uint32, comment string, eas EA, aliases []string, disable bool) (*HostRecord, error)
	UpdateMXRecord(ref string, dnsView string, fqdn string, mx string, preference uint32, ttl uint32, useTtl bool, comment string, eas EA) (*RecordMX, error)
	UpdateNetwork(ref string, setEas EA, comment string) (*Network, error)
	UpdateNetworkContainer(ref string, setEas EA, comment string) (*NetworkContainer, error)
	UpdateNetworkView(ref string, name string, comment string, setEas EA) (*NetworkView, error)
	UpdatePTRRecord(ref string, netview string, ptrdname string, name string, cidr string, ipAddr string, useTtl bool, ttl uint32, comment string, setEas EA) (*RecordPTR, error)
	UpdateSRVRecord(ref string, name string, priority uint32, weight uint32, port uint32, target string, ttl uint32, useTtl bool, comment string, eas EA) (*RecordSRV, error)
	UpdateTXTRecord(ref string, recordName string, text string, ttl uint32, useTtl bool, comment string, eas EA) (*RecordTXT, error)
	UpdateARecord(ref string, name string, ipAddr string, cidr string, netview string, ttl uint32, useTTL bool, comment string, eas EA) (*RecordA, error)
	UpdateZoneDelegated(ref string, delegateTo NullableNameServers, comment string, disable bool, locked bool, nsGroup string, delegatedTtl uint32, useDelegatedTtl bool, ea EA) (*ZoneDelegated, error)
	UpdateZoneForward(ref string, comment string, disable bool, eas EA, forwardTo NullableNameServers, forwardersOnly bool, forwardingServers *NullableForwardingServers, nsGroup string, externalNsGroup string) (*ZoneForward, error)
	GetDnsMember(ref string) ([]Dns, error)
	UpdateDnsStatus(ref string, status bool) (Dns, error)
	GetDhcpMember(ref string) ([]Dhcp, error)
	UpdateDhcpStatus(ref string, status bool) (Dhcp, error)
}

func NewObjectManager

func NewObjectManager(connector IBConnector, cmpType string, tenantID string) IBObjectManager

type IPv4Address added in v2.4.0

type IPv4Address struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Comment for the address; maximum 256 characters.
	Comment string `json:"comment,omitempty"`

	// Types of the conflict.
	ConflictTypes []string `json:"conflict_types,omitempty"`

	// The client unique identifier.
	DhcpClientIdentifier string `json:"dhcp_client_identifier,omitempty"`

	// Discover now status for this address.
	DiscoverNowStatus string `json:"discover_now_status,omitempty"`

	// The discovered data for this address.
	DiscoveredData *Discoverydata `json:"discovered_data,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// DHCP fingerprint for the address.
	Fingerprint string `json:"fingerprint,omitempty"`

	// The IP address.
	IpAddress string `json:"ip_address,omitempty"`

	// If set to True, the IP address has either a MAC address conflict or a DHCP
	// lease conflict detected through a network discovery.
	IsConflict bool `json:"is_conflict,omitempty"`

	// This flag reflects whether the MAC address for this address is invalid.
	IsInvalidMac bool `json:"is_invalid_mac,omitempty"`

	// The lease state of the address.
	LeaseState string `json:"lease_state,omitempty"`

	// The MAC address.
	MacAddress string `json:"mac_address,omitempty"`

	// The Microsoft Active Directory user related information.
	MsAdUserData *MsserverAduserData `json:"ms_ad_user_data,omitempty"`

	// The DNS names. For example, if the IP address belongs to a host record, this
	// field contains the hostname. This field supports both single and array
	// search.
	Names []string `json:"names,omitempty"`

	// The network to which this address belongs, in FQDN/CIDR format.
	Network string `json:"network,omitempty"`

	// The name of the network view.
	NetworkView string `json:"network_view,omitempty"`

	// The objects associated with the IP address.
	Objects []string `json:"objects,omitempty"`

	// The reserved port for the address.
	ReservedPort string `json:"reserved_port,omitempty"`

	// The current status of the address.
	Status string `json:"status,omitempty"`

	// The types of associated objects. This field supports both single and array
	// search.
	Types []string `json:"types,omitempty"`

	// Indicates whether the IP address is configured for DNS or DHCP. This field
	// supports both single and array search.
	Usage []string `json:"usage,omitempty"`

	// The name of the user who created or modified the record.
	Username string `json:"username,omitempty"`
}

IPv4Address represents Infoblox object ipv4address. This object is created only as part of the record.host object, it cannot be created directly.

func (IPv4Address) ObjectType added in v2.4.0

func (IPv4Address) ObjectType() string

func (IPv4Address) ReturnFields added in v2.4.0

func (obj IPv4Address) ReturnFields() []string

type IPv6Address added in v2.4.0

type IPv6Address struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Comment for the address; maximum 256 characters.
	Comment string `json:"comment,omitempty"`

	// Types of the conflict.
	ConflictTypes []string `json:"conflict_types,omitempty"`

	// Discover now status for this address.
	DiscoverNowStatus string `json:"discover_now_status,omitempty"`

	// The discovered data for this address.
	DiscoveredData *Discoverydata `json:"discovered_data,omitempty"`

	// DHCPv6 Unique Identifier (DUID) of the address object.
	Duid string `json:"duid,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// DHCP fingerprint for the address.
	Fingerprint string `json:"fingerprint,omitempty"`

	// IPv6 addresses of the address object.
	IpAddress string `json:"ip_address,omitempty"`

	// IP address has either a duid conflict or a DHCP lease conflict detected
	// through a network discovery.
	IsConflict bool `json:"is_conflict,omitempty"`

	// The lease state of the address.
	LeaseState string `json:"lease_state,omitempty"`

	// The Microsoft Active Directory user related information.
	MsAdUserData *MsserverAduserData `json:"ms_ad_user_data,omitempty"`

	// The DNS names. For example, if the IP address belongs to a host record, this
	// field contains the hostname. This field supports both single and array
	// search.
	Names []string `json:"names,omitempty"`

	// The network to which this address belongs, in FQDN/CIDR format.
	Network string `json:"network,omitempty"`

	// The name of the network view.
	NetworkView string `json:"network_view,omitempty"`

	// The objects associated with the IP address.
	Objects []string `json:"objects,omitempty"`

	// The reserved port for the address.
	ReservedPort string `json:"reserved_port,omitempty"`

	// The current status of the address.
	Status string `json:"status,omitempty"`

	// The types of associated objects. This field supports both single and array
	// search.
	Types []string `json:"types,omitempty"`

	// Indicates whether the IP address is configured for DNS or DHCP. This field
	// supports both single and array search.
	Usage []string `json:"usage,omitempty"`
}

IPv6Address represents Infoblox object ipv6address. This object is created only as part of the record.host object, it cannot be created directly.

func (IPv6Address) ObjectType added in v2.4.0

func (IPv6Address) ObjectType() string

func (IPv6Address) ReturnFields added in v2.4.0

func (obj IPv6Address) ReturnFields() []string

type IPv6NetworkTemplate added in v2.4.0

type IPv6NetworkTemplate struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// This flag controls whether the template allows any netmask. You must specify
	// a netmask when creating a network using this template. If you set this
	// parameter to False, you must specify the "cidr" field for the network
	// template object.
	AllowAnyNetmask *bool `json:"allow_any_netmask,omitempty"`

	// This flag controls whether reverse zones are automatically created when the
	// network is added.
	AutoCreateReversezone *bool `json:"auto_create_reversezone,omitempty"`

	// The CIDR of the network in CIDR format.
	Cidr *uint32 `json:"cidr,omitempty"`

	// This flag controls whether this template can be used to create network
	// objects in a cloud-computing deployment.
	CloudApiCompatible *bool `json:"cloud_api_compatible,omitempty"`

	// Comment for the network; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// The dynamic DNS domain name the appliance uses specifically for DDNS updates
	// for this network.
	DdnsDomainname *string `json:"ddns_domainname,omitempty"`

	// Use this method to set or retrieve the ddns_enable_option_fqdn flag of a
	// DHCP IPv6 Network object. This method controls whether the FQDN option sent
	// by the client is to be used, or if the server can automatically generate the
	// FQDN. This setting overrides the upper-level settings.
	DdnsEnableOptionFqdn *bool `json:"ddns_enable_option_fqdn,omitempty"`

	// If this field is set to True, the DHCP server generates a hostname and
	// updates DNS with it when the DHCP client request does not contain a
	// hostname.
	DdnsGenerateHostname *bool `json:"ddns_generate_hostname,omitempty"`

	// This field controls whether the DHCP server is allowed to update DNS,
	// regardless of the DHCP client requests. Note that changes for this field
	// take effect only if ddns_enable_option_fqdn is True.
	DdnsServerAlwaysUpdates *bool `json:"ddns_server_always_updates,omitempty"`

	// The DNS update Time to Live (TTL) value of a DHCP network object. The TTL is
	// a 32-bit unsigned integer that represents the duration, in seconds, for
	// which the update is cached. Zero indicates that the update is not cached.
	DdnsTtl *uint32 `json:"ddns_ttl,omitempty"`

	// Reference the Cloud Platform Appliance to which authority of the object
	// should be delegated when the object is created using the template.
	DelegatedMember *Dhcpmember `json:"delegated_member,omitempty"`

	// Use this method to set or retrieve the domain_name value of a DHCP IPv6
	// Network object.
	DomainName *string `json:"domain_name,omitempty"`

	// Use this method to set or retrieve the dynamic DNS updates flag of a DHCP
	// IPv6 Network object. The DHCP server can send DDNS updates to DNS servers in
	// the same Grid and to external DNS servers. This setting overrides the member
	// level settings.
	DomainNameServers []string `json:"domain_name_servers,omitempty"`

	// The dynamic DNS updates flag of a DHCP IPv6 network object. If set to True,
	// the DHCP server sends DDNS updates to DNS servers in the same Grid, and to
	// external DNS servers.
	EnableDdns *bool `json:"enable_ddns,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The list of IPv6 fixed address templates assigned to this IPv6 network
	// template object. When you create an IPv6 network based on an IPv6 network
	// template object that contains IPv6 fixed address templates, the IPv6 fixed
	// addresses are created based on the associated IPv6 fixed address templates.
	FixedAddressTemplates []string `json:"fixed_address_templates,omitempty"`

	// The IPv6 Address prefix of the DHCP IPv6 network.
	Ipv6prefix *string `json:"ipv6prefix,omitempty"`

	// This field contains the logic filters to be applied on this IPv6 network
	// template. This list corresponds to the match rules that are written to the
	// DHCPv6 configuration file.
	LogicFilterRules []*Logicfilterrule `json:"logic_filter_rules,omitempty"`

	// A list of members that serve DHCP for the network. All members in the array
	// must be of the same type. The struct type must be indicated in each element,
	// by setting the "_struct" member to the struct type.
	Members []*Dhcpmember `json:"members,omitempty"`

	// The name of this IPv6 network template.
	Name *string `json:"name,omitempty"`

	// An array of DHCP option dhcpoption structs that lists the DHCP options
	// associated with the object.
	Options []*Dhcpoption `json:"options,omitempty"`

	// Use this method to set or retrieve the preferred lifetime value of a DHCP
	// IPv6 Network object.
	PreferredLifetime *uint32 `json:"preferred_lifetime,omitempty"`

	// The list of IPv6 address range templates assigned to this IPv6 network
	// template object. When you create an IPv6 network based on an IPv6 network
	// template object that contains IPv6 range templates, the IPv6 address ranges
	// are created based on the associated IPv6 address range templates.
	RangeTemplates []string `json:"range_templates,omitempty"`

	// If the field is set to True, the leases are kept in the Recycle Bin until
	// one week after expiration. Otherwise, the leases are permanently deleted.
	RecycleLeases *bool `json:"recycle_leases,omitempty"`

	// The registry (RIR) that allocated the IPv6 network address space.
	Rir string `json:"rir,omitempty"`

	// The RIR organization associated with the IPv6 network.
	RirOrganization *string `json:"rir_organization,omitempty"`

	// The action for the RIR registration.
	RirRegistrationAction string `json:"rir_registration_action,omitempty"`

	// The registration status of the IPv6 network in RIR.
	RirRegistrationStatus string `json:"rir_registration_status,omitempty"`

	// Determines whether to send the RIR registration request.
	SendRirRequest *bool `json:"send_rir_request,omitempty"`

	// This field controls whether the DHCP server updates DNS when a DHCP lease is
	// renewed.
	UpdateDnsOnLeaseRenewal *bool `json:"update_dns_on_lease_renewal,omitempty"`

	// Use flag for: ddns_domainname
	UseDdnsDomainname *bool `json:"use_ddns_domainname,omitempty"`

	// Use flag for: ddns_enable_option_fqdn
	UseDdnsEnableOptionFqdn *bool `json:"use_ddns_enable_option_fqdn,omitempty"`

	// Use flag for: ddns_generate_hostname
	UseDdnsGenerateHostname *bool `json:"use_ddns_generate_hostname,omitempty"`

	// Use flag for: ddns_ttl
	UseDdnsTtl *bool `json:"use_ddns_ttl,omitempty"`

	// Use flag for: domain_name
	UseDomainName *bool `json:"use_domain_name,omitempty"`

	// Use flag for: domain_name_servers
	UseDomainNameServers *bool `json:"use_domain_name_servers,omitempty"`

	// Use flag for: enable_ddns
	UseEnableDdns *bool `json:"use_enable_ddns,omitempty"`

	// Use flag for: logic_filter_rules
	UseLogicFilterRules *bool `json:"use_logic_filter_rules,omitempty"`

	// Use flag for: options
	UseOptions *bool `json:"use_options,omitempty"`

	// Use flag for: preferred_lifetime
	UsePreferredLifetime *bool `json:"use_preferred_lifetime,omitempty"`

	// Use flag for: recycle_leases
	UseRecycleLeases *bool `json:"use_recycle_leases,omitempty"`

	// Use flag for: update_dns_on_lease_renewal
	UseUpdateDnsOnLeaseRenewal *bool `json:"use_update_dns_on_lease_renewal,omitempty"`

	// Use flag for: valid_lifetime
	UseValidLifetime *bool `json:"use_valid_lifetime,omitempty"`

	// Use this method to set or retrieve the valid lifetime value of a DHCP IPv6
	// Network object.
	ValidLifetime *uint32 `json:"valid_lifetime,omitempty"`
}

IPv6NetworkTemplate represents Infoblox object ipv6networktemplate. The IPv6 network template used to create IPv6 networks in a quick and consistent way. IPv6 networks created from an IPv6 network template inherit all the properties defined in the IPv6 network template, except for the comment and CIDR that can be defined in the IPv6 network.

func (IPv6NetworkTemplate) ObjectType added in v2.4.0

func (IPv6NetworkTemplate) ObjectType() string

func (IPv6NetworkTemplate) ReturnFields added in v2.4.0

func (obj IPv6NetworkTemplate) ReturnFields() []string

type IPv6Range added in v2.4.0

type IPv6Range struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Type of a DHCP IPv6 Range object. Valid values are "ADDRESS", "PREFIX", or
	// "BOTH". When the address type is "ADDRESS", values for the 'start_addr' and
	// 'end_addr' members are required. When the address type is "PREFIX", values
	// for 'ipv6_start_prefix', 'ipv6_end_prefix', and 'ipv6_prefix_bits' are
	// required. When the address type is "BOTH", values for 'start_addr',
	// 'end_addr', 'ipv6_start_prefix', 'ipv6_end_prefix', and 'ipv6_prefix_bits'
	// are all required.
	AddressType *string `json:"address_type,omitempty"`

	// Structure containing all cloud API related information for this object.
	CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`

	// Comment for the range; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// Determines whether a range is disabled or not. When this is set to False,
	// the range is enabled.
	Disable *bool `json:"disable,omitempty"`

	// Discover now status for this range.
	DiscoverNowStatus string `json:"discover_now_status,omitempty"`

	// The discovery basic poll settings for this range.
	DiscoveryBasicPollSettings *DiscoveryBasicpollsettings `json:"discovery_basic_poll_settings,omitempty"`

	// The discovery blackout setting for this range.
	DiscoveryBlackoutSetting *PropertiesBlackoutsetting `json:"discovery_blackout_setting,omitempty"`

	// The member that will run discovery for this range.
	DiscoveryMember *string `json:"discovery_member,omitempty"`

	// Determines whether a discovery is enabled or not for this range. When this
	// is set to False, the discovery for this range is disabled.
	EnableDiscovery *bool `json:"enable_discovery,omitempty"`

	// Determines if the discovery for the range should be immediately enabled.
	EnableImmediateDiscovery *bool `json:"enable_immediate_discovery,omitempty"`

	// The IPv6 Address end address of the DHCP IPv6 range.
	EndAddr *string `json:"end_addr,omitempty"`

	// The endpoints that provides data for the DHCP IPv6 Range object.
	EndpointSources []*CiscoiseEndpoint `json:"endpoint_sources,omitempty"`

	// These are ranges of IP addresses that the appliance does not use to assign
	// to clients. You can use these exclusion addresses as static IP addresses.
	// They contain the start and end addresses of the exclusion range, and
	// optionally,information about this exclusion range.
	Exclude []*Exclusionrange `json:"exclude,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The IPv6 Address end prefix of the DHCP IPv6 range.
	Ipv6EndPrefix *string `json:"ipv6_end_prefix,omitempty"`

	// Prefix bits of the DHCP IPv6 range.
	Ipv6PrefixBits *uint32 `json:"ipv6_prefix_bits,omitempty"`

	// The IPv6 Address starting prefix of the DHCP IPv6 range.
	Ipv6StartPrefix *string `json:"ipv6_start_prefix,omitempty"`

	// This field contains the logic filters to be applied to this IPv6 range. This
	// list corresponds to the match rules that are written to the DHCPv6
	// configuration file.
	LogicFilterRules []*Logicfilterrule `json:"logic_filter_rules,omitempty"`

	// The member that will provide service for this range. {ipv6range:ipv6range}
	// needs to be set to 'MEMBER' if you want the server specified here to serve
	// the range. For searching by this field you should use a HTTP method that
	// contains a body (POST or PUT) with Dhcp Member structure dhcpmember and the
	// request should have option _method=GET.
	Member *Dhcpmember `json:"member,omitempty"`

	// This field contains the name of the Microsoft scope.
	Name *string `json:"name,omitempty"`

	// The network this range belongs to, in IPv6 Address/CIDR format.
	Network *string `json:"network,omitempty"`

	// The name of the network view in which this range resides.
	NetworkView *string `json:"network_view,omitempty"`

	// This field contains the Option filters to be applied to this IPv6 range. The
	// appliance uses the matching rules of these filters to select the address
	// range from which it assigns a lease.
	OptionFilterRules []*Filterrule `json:"option_filter_rules,omitempty"`

	// The port control blackout setting for this range.
	PortControlBlackoutSetting *PropertiesBlackoutsetting `json:"port_control_blackout_setting,omitempty"`

	// If the field is set to True, the leases are kept in the Recycle Bin until
	// one week after expiration. Otherwise, the leases are permanently deleted.
	RecycleLeases *bool `json:"recycle_leases,omitempty"`

	// Restarts the member service.
	RestartIfNeeded *bool `json:"restart_if_needed,omitempty"`

	// If the field is set to True, the discovery blackout setting will be used for
	// port control blackout setting.
	SamePortControlDiscoveryBlackout *bool `json:"same_port_control_discovery_blackout,omitempty"`

	// The type of server that is going to serve the range. Valid values are: *
	// MEMBER * NONE
	ServerAssociationType *string `json:"server_association_type,omitempty"`

	// The IPv6 Address starting address of the DHCP IPv6 range.
	StartAddr *string `json:"start_addr,omitempty"`

	// The DHCP IPv6 Range Cisco ISE subscribe settings.
	SubscribeSettings *CiscoiseSubscribesetting `json:"subscribe_settings,omitempty"`

	// If set on creation, the range will be created according to the values
	// specified in the named template.
	Template string `json:"template,omitempty"`

	// Use flag for: discovery_blackout_setting , port_control_blackout_setting,
	// same_port_control_discovery_blackout
	UseBlackoutSetting *bool `json:"use_blackout_setting,omitempty"`

	// Use flag for: discovery_basic_poll_settings
	UseDiscoveryBasicPollingSettings *bool `json:"use_discovery_basic_polling_settings,omitempty"`

	// Use flag for: discovery_member , enable_discovery
	UseEnableDiscovery *bool `json:"use_enable_discovery,omitempty"`

	// Use flag for: logic_filter_rules
	UseLogicFilterRules *bool `json:"use_logic_filter_rules,omitempty"`

	// Use flag for: recycle_leases
	UseRecycleLeases *bool `json:"use_recycle_leases,omitempty"`

	// Use flag for: subscribe_settings
	UseSubscribeSettings *bool `json:"use_subscribe_settings,omitempty"`
}

IPv6Range represents Infoblox object ipv6range. A DHCP IPv6 range defines the specified range of IP addresses in an IPv6 network. A DHCP IPv6 range should be added for an IPv6 network so the Infoblox appliance can assign IP addresses within that specified range to DHCP clients. If the client is on an IPv6 network that is assigned a DHCP IPv6 range, the device distributes an available IP address from that range to the DHCP client, or to a DHCP relay agent if the request came through an agent. The DHCP IPv6 range should also be assigned with a device. If devices are in a grid, the particular member serving DHCP for the DHCP IPv6 range must be specified. If the server is an independent device, this device must be specified as the member that serves the DHCP IPv6 range.

func (IPv6Range) ObjectType added in v2.4.0

func (IPv6Range) ObjectType() string

func (IPv6Range) ReturnFields added in v2.4.0

func (obj IPv6Range) ReturnFields() []string

type IPv6SharedNetwork added in v2.4.0

type IPv6SharedNetwork struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Comment for the IPv6 shared network, maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// The dynamic DNS domain name the appliance uses specifically for DDNS updates
	// for this network.
	DdnsDomainname *string `json:"ddns_domainname,omitempty"`

	// If this field is set to True, the DHCP server generates a hostname and
	// updates DNS with it when the DHCP client request does not contain a
	// hostname.
	DdnsGenerateHostname *bool `json:"ddns_generate_hostname,omitempty"`

	// This field controls whether only the DHCP server is allowed to update DNS,
	// regardless of the DHCP clients requests. Note that changes for this field
	// take effect only if ddns_use_option81 is True.
	DdnsServerAlwaysUpdates *bool `json:"ddns_server_always_updates,omitempty"`

	// The DNS update Time to Live (TTL) value of an IPv6 shared network object.
	// The TTL is a 32-bit unsigned integer that represents the duration, in
	// seconds, for which the update is cached. Zero indicates that the update is
	// not cached.
	DdnsTtl *uint32 `json:"ddns_ttl,omitempty"`

	// The support for DHCP Option 81 at the IPv6 shared network level.
	DdnsUseOption81 *bool `json:"ddns_use_option81,omitempty"`

	// Determines whether an IPv6 shared network is disabled or not. When this is
	// set to False, the IPv6 shared network is enabled.
	Disable *bool `json:"disable,omitempty"`

	// Use this method to set or retrieve the domain_name value of a DHCP IPv6
	// Shared Network object.
	DomainName *string `json:"domain_name,omitempty"`

	// Use this method to set or retrieve the dynamic DNS updates flag of a DHCP
	// IPv6 Shared Network object. The DHCP server can send DDNS updates to DNS
	// servers in the same Grid and to external DNS servers. This setting overrides
	// the member level settings.
	DomainNameServers []string `json:"domain_name_servers,omitempty"`

	// The dynamic DNS updates flag of an IPv6 shared network object. If set to
	// True, the DHCP server sends DDNS updates to DNS servers in the same Grid,
	// and to external DNS servers.
	EnableDdns *bool `json:"enable_ddns,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// This field contains the logic filters to be applied on the this IPv6 shared
	// network. This list corresponds to the match rules that are written to the
	// DHCPv6 configuration file.
	LogicFilterRules []*Logicfilterrule `json:"logic_filter_rules,omitempty"`

	// The name of the IPv6 Shared Network.
	Name *string `json:"name,omitempty"`

	// The name of the network view in which this IPv6 shared network resides.
	NetworkView string `json:"network_view,omitempty"`

	// A list of IPv6 networks belonging to the shared network Each individual list
	// item must be specified as an object containing a '_ref' parameter to a
	// network reference, for example:: [{ "_ref":
	// "ipv6network/ZG5zdHdvcmskMTAuAvMTYvMA", }] if the reference of the wanted
	// network is not known, it is possible to specify search parameters for the
	// network instead in the following way:: [{ "_ref": { 'network': 'aabb::/64',
	// } }] note that in this case the search must match exactly one network for
	// the assignment to be successful.
	Networks []*Ipv6Network `json:"networks,omitempty"`

	// An array of DHCP option dhcpoption structs that lists the DHCP options
	// associated with the object.
	Options []*Dhcpoption `json:"options,omitempty"`

	// Use this method to set or retrieve the preferred lifetime value of a DHCP
	// IPv6 Shared Network object.
	PreferredLifetime *uint32 `json:"preferred_lifetime,omitempty"`

	// This field controls whether the DHCP server updates DNS when a DHCP lease is
	// renewed.
	UpdateDnsOnLeaseRenewal *bool `json:"update_dns_on_lease_renewal,omitempty"`

	// Use flag for: ddns_domainname
	UseDdnsDomainname *bool `json:"use_ddns_domainname,omitempty"`

	// Use flag for: ddns_generate_hostname
	UseDdnsGenerateHostname *bool `json:"use_ddns_generate_hostname,omitempty"`

	// Use flag for: ddns_ttl
	UseDdnsTtl *bool `json:"use_ddns_ttl,omitempty"`

	// Use flag for: ddns_use_option81
	UseDdnsUseOption81 *bool `json:"use_ddns_use_option81,omitempty"`

	// Use flag for: domain_name
	UseDomainName *bool `json:"use_domain_name,omitempty"`

	// Use flag for: domain_name_servers
	UseDomainNameServers *bool `json:"use_domain_name_servers,omitempty"`

	// Use flag for: enable_ddns
	UseEnableDdns *bool `json:"use_enable_ddns,omitempty"`

	// Use flag for: logic_filter_rules
	UseLogicFilterRules *bool `json:"use_logic_filter_rules,omitempty"`

	// Use flag for: options
	UseOptions *bool `json:"use_options,omitempty"`

	// Use flag for: preferred_lifetime
	UsePreferredLifetime *bool `json:"use_preferred_lifetime,omitempty"`

	// Use flag for: update_dns_on_lease_renewal
	UseUpdateDnsOnLeaseRenewal *bool `json:"use_update_dns_on_lease_renewal,omitempty"`

	// Use flag for: valid_lifetime
	UseValidLifetime *bool `json:"use_valid_lifetime,omitempty"`

	// Use this method to set or retrieve the valid lifetime value of a DHCP IPv6
	// Shared Network object.
	ValidLifetime *uint32 `json:"valid_lifetime,omitempty"`
}

IPv6SharedNetwork represents Infoblox object ipv6sharednetwork. A shared network is a network segment to which you assign two or more subnets. When subnets in a shared network contain IP addresses that are available for dynamic allocation, the addresses are put into a common pool for allocation when client requests arise. When you create a shared network, the DHCP server can assign IP addresses to client requests from any subnet (that resides on the same network interface) in the shared network.

func (IPv6SharedNetwork) ObjectType added in v2.4.0

func (IPv6SharedNetwork) ObjectType() string

func (IPv6SharedNetwork) ReturnFields added in v2.4.0

func (obj IPv6SharedNetwork) ReturnFields() []string

type Interface added in v2.4.0

type Interface struct {
	// Determines if anycast for the Interface object is enabled or not.
	Anycast bool `json:"anycast,omitempty"`

	// The IPv4 network settings of the Grid Member.
	Ipv4NetworkSetting *SettingNetwork `json:"ipv4_network_setting,omitempty"`

	// The IPv6 network settings of the Grid Member.
	Ipv6NetworkSetting *Ipv6setting `json:"ipv6_network_setting,omitempty"`

	// A descriptive comment of this structure.
	Comment string `json:"comment,omitempty"`

	// Determines if the BGP advertisement setting is enabled for this interface or
	// not.
	EnableBgp bool `json:"enable_bgp,omitempty"`

	// Determines if the OSPF advertisement setting is enabled for this interface
	// or not.
	EnableOspf bool `json:"enable_ospf,omitempty"`

	// The interface type for the Interface object.
	Interface string `json:"interface,omitempty"`
}

Interface represents Infoblox struct interface

type IpNextAvailable added in v2.8.0

type IpNextAvailable struct {
	IBBase `json:"-"`

	Name                   string                   `json:"name"`
	NextAvailableIPv4Addr  *IpNextAvailableInfo     `json:"ipv4addr,omitempty"`
	NextAvailableIPv6Addr  *IpNextAvailableInfo     `json:"ipv6addr,omitempty"`
	NextAvailableIPv4Addrs []NextavailableIPv4Addrs `json:"ipv4addrs,omitempty"`
	NextAvailableIPv6Addrs []NextavailableIPv6Addrs `json:"ipv6addrs,omitempty"`
	Comment                string                   `json:"comment"`
	Ea                     EA                       `json:"extattrs"`
	Disable                bool                     `json:"disable,omitempty"`
	EnableDns              *bool                    `json:"configure_for_dns,omitempty"`
	EnableDhcp             bool                     `json:"configure_for_dhcp,omitempty"`
	MacAddr                string                   `json:"mac,omitempty"`
	Duid                   string                   `json:"duid,omitempty"`
	NetworkView            string                   `json:"network_view,omitempty"`
	DnsView                string                   `json:"view,omitempty"`
	UseTtl                 bool                     `json:"use_ttl,omitempty"`
	Ttl                    uint32                   `json:"ttl,omitempty"`
	Aliases                []string                 `json:"aliases,omitempty"`
	// contains filtered or unexported fields
}

func NewIpNextAvailable added in v2.8.0

func NewIpNextAvailable(name string, objectType string, objectParams map[string]string, params map[string][]string,
	useEaInheritance bool, ea EA, comment string, disable bool, n *int, ipAddrType string,
	enableDns bool, enableDhcp bool, macAddr string, duid string, networkView string, dnsView string, useTtl bool, ttl uint32, aliases []string) *IpNextAvailable

func (*IpNextAvailable) ObjectType added in v2.8.0

func (ni *IpNextAvailable) ObjectType() string

func (*IpNextAvailable) SetObjectType added in v2.8.0

func (ni *IpNextAvailable) SetObjectType(objectType string)

type IpNextAvailableInfo added in v2.8.0

type IpNextAvailableInfo struct {
	Function         string              `json:"_object_function"`
	ResultField      string              `json:"_result_field"`
	Object           string              `json:"_object"`
	ObjectParams     map[string]string   `json:"_object_parameters"`
	Params           map[string][]string `json:"_parameters"`
	NetviewName      string              `json:"network_view,omitempty"`
	UseEaInheritance bool                `json:"use_for_ea_inheritance"`
	EnableDhcp       bool                `json:"configure_for_dhcp,omitempty"`
	MacAddr          string              `json:"mac,omitempty"`
	Duid             string              `json:"duid,omitempty"`
}

func NewIpNextAvailableInfo added in v2.8.0

func NewIpNextAvailableInfo(objectParams map[string]string, params map[string][]string, useEaInheritance bool, ipAddrType string) *IpNextAvailableInfo

type IpamStatistics added in v2.4.0

type IpamStatistics struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The network CIDR.
	Cidr uint32 `json:"cidr,omitempty"`

	// The number of conflicts discovered via network discovery. This attribute is
	// only valid for a Network object.
	ConflictCount uint32 `json:"conflict_count,omitempty"`

	// The Microsoft Active Directory user related information.
	MsAdUserData *MsserverAduserData `json:"ms_ad_user_data,omitempty"`

	// The network address.
	Network string `json:"network,omitempty"`

	// The network view.
	NetworkView string `json:"network_view,omitempty"`

	// The number of unmanaged IP addresses as discovered by network discovery.
	// This attribute is only valid for a Network object.
	UnmanagedCount uint32 `json:"unmanaged_count,omitempty"`

	// The network utilization in percentage.
	Utilization uint32 `json:"utilization,omitempty"`

	// The time that the utilization statistics were updated last. This attribute
	// is only valid for a Network object. For a Network Container object, the
	// return value is undefined.
	UtilizationUpdate *UnixTime `json:"utilization_update,omitempty"`
}

IpamStatistics represents Infoblox object ipam:statistics. A synthetic object used to view the IPAM statistics of the network or network container in an Infoblox appliance

func (IpamStatistics) ObjectType added in v2.4.0

func (IpamStatistics) ObjectType() string

func (IpamStatistics) ReturnFields added in v2.4.0

func (obj IpamStatistics) ReturnFields() []string

type Ipv4FixedAddress added in v2.4.0

type Ipv4FixedAddress struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The agent circuit ID for the fixed address.
	AgentCircuitId *string `json:"agent_circuit_id,omitempty"`

	// The agent remote ID for the fixed address.
	AgentRemoteId *string `json:"agent_remote_id,omitempty"`

	// This field controls whether the credential is used for both the Telnet and
	// SSH credentials. If set to False, the credential is used only for SSH.
	AllowTelnet *bool `json:"allow_telnet,omitempty"`

	// This field controls whether only the DHCP server is allowed to update DNS,
	// regardless of the DHCP client requests.
	AlwaysUpdateDns *bool `json:"always_update_dns,omitempty"`

	// The bootfile name for the fixed address. You can configure the DHCP server
	// to support clients that use the boot file name option in their DHCPREQUEST
	// messages.
	Bootfile *string `json:"bootfile,omitempty"`

	// The bootserver address for the fixed address. You can specify the name
	// and/or IP address of the boot server that the host needs to boot. The boot
	// server IPv4 Address or name in FQDN format.
	Bootserver *string `json:"bootserver,omitempty"`

	// The CLI credentials for the fixed address.
	CliCredentials []*DiscoveryClicredential `json:"cli_credentials,omitempty"`

	// This field controls whether there is a prepend for the
	// dhcp-client-identifier of a fixed address.
	ClientIdentifierPrependZero *bool `json:"client_identifier_prepend_zero,omitempty"`

	// Structure containing all cloud API related information for this object.
	CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`

	// Comment for the fixed address; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// The dynamic DNS domain name the appliance uses specifically for DDNS updates
	// for this fixed address.
	DdnsDomainname *string `json:"ddns_domainname,omitempty"`

	// The DDNS host name for this fixed address.
	DdnsHostname *string `json:"ddns_hostname,omitempty"`

	// If set to true, BOOTP settings are disabled and BOOTP requests will be
	// denied.
	DenyBootp *bool `json:"deny_bootp,omitempty"`

	// The description of the device.
	DeviceDescription *string `json:"device_description,omitempty"`

	// The location of the device.
	DeviceLocation *string `json:"device_location,omitempty"`

	// The type of the device.
	DeviceType *string `json:"device_type,omitempty"`

	// The vendor of the device.
	DeviceVendor *string `json:"device_vendor,omitempty"`

	// The DHCP client ID for the fixed address.
	DhcpClientIdentifier *string `json:"dhcp_client_identifier,omitempty"`

	// Determines whether a fixed address is disabled or not. When this is set to
	// False, the fixed address is enabled.
	Disable *bool `json:"disable,omitempty"`

	// Determines if the discovery for this fixed address is disabled or not. False
	// means that the discovery is enabled.
	DisableDiscovery *bool `json:"disable_discovery,omitempty"`

	// The discovery status of this fixed address.
	DiscoverNowStatus string `json:"discover_now_status,omitempty"`

	// The discovered data for this fixed address.
	DiscoveredData *Discoverydata `json:"discovered_data,omitempty"`

	// The dynamic DNS updates flag of a DHCP Fixed Address object. If set to True,
	// the DHCP server sends DDNS updates to DNS servers in the same Grid, and to
	// external DNS servers.
	EnableDdns *bool `json:"enable_ddns,omitempty"`

	// Determines if the discovery for the fixed address should be immediately
	// enabled.
	EnableImmediateDiscovery *bool `json:"enable_immediate_discovery,omitempty"`

	// Set this to True if you want the DHCP server to use a different lease time
	// for PXE clients.
	EnablePxeLeaseTime *bool `json:"enable_pxe_lease_time,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// If this field is set to False, the appliance returns all DHCP options the
	// client is eligible to receive, rather than only the list of options the
	// client has requested.
	IgnoreDhcpOptionListRequest *bool `json:"ignore_dhcp_option_list_request,omitempty"`

	// The IPv4 Address of the fixed address.
	Ipv4Addr *string `json:"ipv4addr,omitempty"`

	// This flag reflects whether the MAC address for this fixed address is
	// invalid.
	IsInvalidMac bool `json:"is_invalid_mac,omitempty"`

	// This field contains the logic filters to be applied on the this fixed
	// address. This list corresponds to the match rules that are written to the
	// dhcpd configuration file.
	LogicFilterRules []*Logicfilterrule `json:"logic_filter_rules,omitempty"`

	// The MAC address value for this fixed address.
	Mac *string `json:"mac,omitempty"`

	// The match_client value for this fixed address. Valid values are:
	// "MAC_ADDRESS": The fixed IP address is leased to the matching MAC address.
	// "CLIENT_ID": The fixed IP address is leased to the matching DHCP client
	// identifier. "RESERVED": The fixed IP address is reserved for later use with
	// a MAC address that only has zeros. "CIRCUIT_ID": The fixed IP address is
	// leased to the DHCP client with a matching circuit ID. Note that the
	// "agent_circuit_id" field must be set in this case. "REMOTE_ID": The fixed IP
	// address is leased to the DHCP client with a matching remote ID. Note that
	// the "agent_remote_id" field must be set in this case.
	MatchClient string `json:"match_client,omitempty"`

	// The Microsoft Active Directory user related information.
	MsAdUserData *MsserverAduserData `json:"ms_ad_user_data,omitempty"`

	// This field contains the Microsoft DHCP options for this fixed address.
	MsOptions []*Msdhcpoption `json:"ms_options,omitempty"`

	// The Microsoft server associated with this fixed address.
	MsServer *Msdhcpserver `json:"ms_server,omitempty"`

	// This field contains the name of this fixed address.
	Name *string `json:"name,omitempty"`

	// The network to which this fixed address belongs, in IPv4 Address/CIDR
	// format.
	Network *string `json:"network,omitempty"`

	// The name of the network view in which this fixed address resides.
	NetworkView *string `json:"network_view,omitempty"`

	// The name in FQDN and/or IPv4 Address format of the next server that the host
	// needs to boot.
	Nextserver *string `json:"nextserver,omitempty"`

	// An array of DHCP option dhcpoption structs that lists the DHCP options
	// associated with the object.
	Options []*Dhcpoption `json:"options,omitempty"`

	// The PXE lease time value for a DHCP Fixed Address object. Some hosts use PXE
	// (Preboot Execution Environment) to boot remotely from a server. To better
	// manage your IP resources, set a different lease time for PXE boot requests.
	// You can configure the DHCP server to allocate an IP address with a shorter
	// lease time to hosts that send PXE boot requests, so IP addresses are not
	// leased longer than necessary. A 32-bit unsigned integer that represents the
	// duration, in seconds, for which the update is cached. Zero indicates that
	// the update is not cached.
	PxeLeaseTime *uint32 `json:"pxe_lease_time,omitempty"`

	// The ref to the reserved interface to which the device belongs.
	ReservedInterface *string `json:"reserved_interface,omitempty"`

	// Restarts the member service. The restart_if_needed flag can trigger a
	// restart on DHCP services only when it is enabled on CP member.
	RestartIfNeeded *bool `json:"restart_if_needed,omitempty"`

	// The SNMPv3 credential for this fixed address.
	Snmp3Credential *DiscoverySnmp3credential `json:"snmp3_credential,omitempty"`

	// The SNMPv1 or SNMPv2 credential for this fixed address.
	SnmpCredential *DiscoverySnmpcredential `json:"snmp_credential,omitempty"`

	// If set on creation, the fixed address will be created according to the
	// values specified in the named template.
	Template string `json:"template,omitempty"`

	// Use flag for: bootfile
	UseBootfile *bool `json:"use_bootfile,omitempty"`

	// Use flag for: bootserver
	UseBootserver *bool `json:"use_bootserver,omitempty"`

	// If set to true, the CLI credential will override member-level settings.
	UseCliCredentials *bool `json:"use_cli_credentials,omitempty"`

	// Use flag for: ddns_domainname
	UseDdnsDomainname *bool `json:"use_ddns_domainname,omitempty"`

	// Use flag for: deny_bootp
	UseDenyBootp *bool `json:"use_deny_bootp,omitempty"`

	// Use flag for: enable_ddns
	UseEnableDdns *bool `json:"use_enable_ddns,omitempty"`

	// Use flag for: ignore_dhcp_option_list_request
	UseIgnoreDhcpOptionListRequest *bool `json:"use_ignore_dhcp_option_list_request,omitempty"`

	// Use flag for: logic_filter_rules
	UseLogicFilterRules *bool `json:"use_logic_filter_rules,omitempty"`

	// Use flag for: ms_options
	UseMsOptions *bool `json:"use_ms_options,omitempty"`

	// Use flag for: nextserver
	UseNextserver *bool `json:"use_nextserver,omitempty"`

	// Use flag for: options
	UseOptions *bool `json:"use_options,omitempty"`

	// Use flag for: pxe_lease_time
	UsePxeLeaseTime *bool `json:"use_pxe_lease_time,omitempty"`

	// Determines if the SNMPv3 credential should be used for the fixed address.
	UseSnmp3Credential *bool `json:"use_snmp3_credential,omitempty"`

	// If set to true, the SNMP credential will override member-level settings.
	UseSnmpCredential *bool `json:"use_snmp_credential,omitempty"`
}

Ipv4FixedAddress represents Infoblox object fixedaddress. A fixed address is a specific IP address that a DHCP server always assigns when a lease request comes from a particular MAC address of the client.

func (Ipv4FixedAddress) ObjectType added in v2.4.0

func (Ipv4FixedAddress) ObjectType() string

func (Ipv4FixedAddress) ReturnFields added in v2.4.0

func (obj Ipv4FixedAddress) ReturnFields() []string

type Ipv4Network added in v2.4.0

type Ipv4Network struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Authority for the DHCP network.
	Authority *bool `json:"authority,omitempty"`

	// This flag controls whether reverse zones are automatically created when the
	// network is added.
	AutoCreateReversezone bool `json:"auto_create_reversezone,omitempty"`

	// The bootfile name for the network. You can configure the DHCP server to
	// support clients that use the boot file name option in their DHCPREQUEST
	// messages.
	Bootfile *string `json:"bootfile,omitempty"`

	// The bootserver address for the network. You can specify the name and/or IP
	// address of the boot server that the host needs to boot. The boot server IPv4
	// Address or name in FQDN format.
	Bootserver *string `json:"bootserver,omitempty"`

	// Structure containing all cloud API related information for this object.
	CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`

	// Comment for the network, maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// The number of conflicts discovered via network discovery.
	ConflictCount uint32 `json:"conflict_count,omitempty"`

	// The dynamic DNS domain name the appliance uses specifically for DDNS updates
	// for this network.
	DdnsDomainname *string `json:"ddns_domainname,omitempty"`

	// If this field is set to True, the DHCP server generates a hostname and
	// updates DNS with it when the DHCP client request does not contain a
	// hostname.
	DdnsGenerateHostname *bool `json:"ddns_generate_hostname,omitempty"`

	// This field controls whether only the DHCP server is allowed to update DNS,
	// regardless of the DHCP clients requests. Note that changes for this field
	// take effect only if ddns_use_option81 is True.
	DdnsServerAlwaysUpdates *bool `json:"ddns_server_always_updates,omitempty"`

	// The DNS update Time to Live (TTL) value of a DHCP network object. The TTL is
	// a 32-bit unsigned integer that represents the duration, in seconds, for
	// which the update is cached. Zero indicates that the update is not cached.
	DdnsTtl *uint32 `json:"ddns_ttl,omitempty"`

	// By default, the DHCP server does not update DNS when it allocates a fixed
	// address to a client. You can configure the DHCP server to update the A and
	// PTR records of a client with a fixed address. When this feature is enabled
	// and the DHCP server adds A and PTR records for a fixed address, the DHCP
	// server never discards the records.
	DdnsUpdateFixedAddresses *bool `json:"ddns_update_fixed_addresses,omitempty"`

	// The support for DHCP Option 81 at the network level.
	DdnsUseOption81 *bool `json:"ddns_use_option81,omitempty"`

	// The reason for deleting the RIR registration request.
	DeleteReason *string `json:"delete_reason,omitempty"`

	// If set to true, BOOTP settings are disabled and BOOTP requests will be
	// denied.
	DenyBootp *bool `json:"deny_bootp,omitempty"`

	// The percentage of the total DHCP utilization of the network multiplied by
	// 1000. This is the percentage of the total number of available IP addresses
	// belonging to the network versus the total number of all IP addresses in
	// network.
	DhcpUtilization uint32 `json:"dhcp_utilization,omitempty"`

	// A string describing the utilization level of the network.
	DhcpUtilizationStatus string `json:"dhcp_utilization_status,omitempty"`

	// Determines whether a network is disabled or not. When this is set to False,
	// the network is enabled.
	Disable *bool `json:"disable,omitempty"`

	// Discover now status for this network.
	DiscoverNowStatus string `json:"discover_now_status,omitempty"`

	// Number of the discovered BGP AS. When multiple BGP autonomous systems are
	// discovered in the network, this field displays "Multiple".
	DiscoveredBgpAs string `json:"discovered_bgp_as,omitempty"`

	// Discovered bridge domain.
	DiscoveredBridgeDomain *string `json:"discovered_bridge_domain,omitempty"`

	// Discovered tenant.
	DiscoveredTenant *string `json:"discovered_tenant,omitempty"`

	// The identifier of the discovered VLAN. When multiple VLANs are discovered in
	// the network, this field displays "Multiple".
	DiscoveredVlanId string `json:"discovered_vlan_id,omitempty"`

	// The name of the discovered VLAN. When multiple VLANs are discovered in the
	// network, this field displays "Multiple".
	DiscoveredVlanName string `json:"discovered_vlan_name,omitempty"`

	// Description of the discovered VRF. When multiple VRFs are discovered in the
	// network, this field displays "Multiple".
	DiscoveredVrfDescription string `json:"discovered_vrf_description,omitempty"`

	// The name of the discovered VRF. When multiple VRFs are discovered in the
	// network, this field displays "Multiple".
	DiscoveredVrfName string `json:"discovered_vrf_name,omitempty"`

	// Route distinguisher of the discovered VRF. When multiple VRFs are discovered
	// in the network, this field displays "Multiple".
	DiscoveredVrfRd string `json:"discovered_vrf_rd,omitempty"`

	// The discovery basic poll settings for this network.
	DiscoveryBasicPollSettings *DiscoveryBasicpollsettings `json:"discovery_basic_poll_settings,omitempty"`

	// The discovery blackout setting for this network.
	DiscoveryBlackoutSetting *PropertiesBlackoutsetting `json:"discovery_blackout_setting,omitempty"`

	// The network discovery engine type.
	DiscoveryEngineType string `json:"discovery_engine_type,omitempty"`

	// The member that will run discovery for this network.
	DiscoveryMember *string `json:"discovery_member,omitempty"`

	// The total number of DHCP leases issued for the network.
	DynamicHosts uint32 `json:"dynamic_hosts,omitempty"`

	// The e-mail lists to which the appliance sends DHCP threshold alarm e-mail
	// messages.
	EmailList []string `json:"email_list,omitempty"`

	// The dynamic DNS updates flag of a DHCP network object. If set to True, the
	// DHCP server sends DDNS updates to DNS servers in the same Grid, and to
	// external DNS servers.
	EnableDdns *bool `json:"enable_ddns,omitempty"`

	// Determines if DHCP thresholds are enabled for the network.
	EnableDhcpThresholds *bool `json:"enable_dhcp_thresholds,omitempty"`

	// Determines whether a discovery is enabled or not for this network. When this
	// is set to False, the network discovery is disabled.
	EnableDiscovery *bool `json:"enable_discovery,omitempty"`

	// Determines if DHCP threshold warnings are sent through email.
	EnableEmailWarnings *bool `json:"enable_email_warnings,omitempty"`

	// Determines if IFMAP publishing is enabled for the network.
	EnableIfmapPublishing *bool `json:"enable_ifmap_publishing,omitempty"`

	// Determines if the discovery for the network should be immediately enabled.
	EnableImmediateDiscovery *bool `json:"enable_immediate_discovery,omitempty"`

	// Set this to True if you want the DHCP server to use a different lease time
	// for PXE clients.
	EnablePxeLeaseTime *bool `json:"enable_pxe_lease_time,omitempty"`

	// Determines if DHCP threshold warnings are send through SNMP.
	EnableSnmpWarnings *bool `json:"enable_snmp_warnings,omitempty"`

	// The endpoints that provides data for the DHCP Network object.
	EndpointSources []*CiscoiseEndpoint `json:"endpoint_sources,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The percentage of DHCP network usage threshold above which network usage is
	// not expected and may warrant your attention. When the high watermark is
	// reached, the Infoblox appliance generates a syslog message and sends a
	// warning (if enabled). A number that specifies the percentage of allocated
	// addresses. The range is from 1 to 100.
	HighWaterMark *uint32 `json:"high_water_mark,omitempty"`

	// The percentage of DHCP network usage below which the corresponding SNMP trap
	// is reset. A number that specifies the percentage of allocated addresses. The
	// range is from 1 to 100. The high watermark reset value must be lower than
	// the high watermark value.
	HighWaterMarkReset *uint32 `json:"high_water_mark_reset,omitempty"`

	// If this field is set to False, the appliance returns all DHCP options the
	// client is eligible to receive, rather than only the list of options the
	// client has requested.
	IgnoreDhcpOptionListRequest *bool `json:"ignore_dhcp_option_list_request,omitempty"`

	// Indicates whether the appliance will ignore DHCP client IDs or MAC
	// addresses. Valid values are "NONE", "CLIENT", or "MACADDR". The default is
	// "NONE".
	IgnoreId string `json:"ignore_id,omitempty"`

	// A list of MAC addresses the appliance will ignore.
	IgnoreMacAddresses []string `json:"ignore_mac_addresses,omitempty"`

	// The e-mail lists to which the appliance sends IPAM threshold alarm e-mail
	// messages.
	IpamEmailAddresses []string `json:"ipam_email_addresses,omitempty"`

	// The IPAM Threshold settings for this network.
	IpamThresholdSettings *SettingIpamThreshold `json:"ipam_threshold_settings,omitempty"`

	// The IPAM Trap settings for this network.
	IpamTrapSettings *SettingIpamTrap `json:"ipam_trap_settings,omitempty"`

	// The IPv4 Address of the network.
	Ipv4Addr *string `json:"ipv4addr,omitempty"`

	// The timestamp when the last RIR registration update was sent.
	LastRirRegistrationUpdateSent *UnixTime `json:"last_rir_registration_update_sent,omitempty"`

	// Last RIR registration update status.
	LastRirRegistrationUpdateStatus string `json:"last_rir_registration_update_status,omitempty"`

	// An integer that specifies the period of time (in seconds) that frees and
	// backs up leases remained in the database before they are automatically
	// deleted. To disable lease scavenging, set the parameter to -1. The minimum
	// positive value must be greater than 86400 seconds (1 day).
	LeaseScavengeTime int `json:"lease_scavenge_time,omitempty"`

	// This field contains the logic filters to be applied on the this network.
	// This list corresponds to the match rules that are written to the dhcpd
	// configuration file.
	LogicFilterRules []*Logicfilterrule `json:"logic_filter_rules,omitempty"`

	// The percentage of DHCP network usage below which the Infoblox appliance
	// generates a syslog message and sends a warning (if enabled). A number that
	// specifies the percentage of allocated addresses. The range is from 1 to 100.
	LowWaterMark *uint32 `json:"low_water_mark,omitempty"`

	// The percentage of DHCP network usage threshold below which network usage is
	// not expected and may warrant your attention. When the low watermark is
	// crossed, the Infoblox appliance generates a syslog message and sends a
	// warning (if enabled). A number that specifies the percentage of allocated
	// addresses. The range is from 1 to 100. The low watermark reset value must be
	// higher than the low watermark value.
	LowWaterMarkReset *uint32 `json:"low_water_mark_reset,omitempty"`

	// A list of members or Microsoft (r) servers that serve DHCP for this network.
	// All members in the array must be of the same type. The struct type must be
	// indicated in each element, by setting the "_struct" member to the struct
	// type.
	Members []*Msdhcpserver `json:"members,omitempty"`

	// This field controls whether this object is synchronized with the Multi-Grid
	// Master. If this field is set to True, objects are not synchronized.
	MgmPrivate *bool `json:"mgm_private,omitempty"`

	// This field is assumed to be True unless filled by any conforming objects,
	// such as Network, IPv6 Network, Network Container, IPv6 Network Container,
	// and Network View. This value is set to False if mgm_private is set to True
	// in the parent object.
	MgmPrivateOverridable bool `json:"mgm_private_overridable,omitempty"`

	// The Microsoft Active Directory user related information.
	MsAdUserData *MsserverAduserData `json:"ms_ad_user_data,omitempty"`

	// The netmask of the network in CIDR format.
	Netmask *uint32 `json:"netmask,omitempty"`

	// The network address in IPv4 Address/CIDR format. For regular expression
	// searches, only the IPv4 Address portion is supported. Searches for the CIDR
	// portion is always an exact match. For example, both network containers
	// 10.0.0.0/8 and 20.1.0.0/16 are matched by expression '.0' and only
	// 20.1.0.0/16 is matched by '.0/16'.
	Network *string `json:"network,omitempty"`

	// The network container to which this network belongs (if any).
	NetworkContainer string `json:"network_container,omitempty"`

	// The name of the network view in which this network resides.
	NetworkView string `json:"network_view,omitempty"`

	// The name in FQDN and/or IPv4 Address of the next server that the host needs
	// to boot.
	Nextserver *string `json:"nextserver,omitempty"`

	// An array of DHCP option dhcpoption structs that lists the DHCP options
	// associated with the object.
	Options []*Dhcpoption `json:"options,omitempty"`

	// The port control blackout setting for this network.
	PortControlBlackoutSetting *PropertiesBlackoutsetting `json:"port_control_blackout_setting,omitempty"`

	// The PXE lease time value of a DHCP Network object. Some hosts use PXE
	// (Preboot Execution Environment) to boot remotely from a server. To better
	// manage your IP resources, set a different lease time for PXE boot requests.
	// You can configure the DHCP server to allocate an IP address with a shorter
	// lease time to hosts that send PXE boot requests, so IP addresses are not
	// leased longer than necessary. A 32-bit unsigned integer that represents the
	// duration, in seconds, for which the update is cached. Zero indicates that
	// the update is not cached.
	PxeLeaseTime *uint32 `json:"pxe_lease_time,omitempty"`

	// If the field is set to True, the leases are kept in the Recycle Bin until
	// one week after expiration. Otherwise, the leases are permanently deleted.
	RecycleLeases *bool `json:"recycle_leases,omitempty"`

	// Restarts the member service.
	RestartIfNeeded *bool `json:"restart_if_needed,omitempty"`

	// The registry (RIR) that allocated the network address space.
	Rir string `json:"rir,omitempty"`

	// The RIR organization assoicated with the network.
	RirOrganization *string `json:"rir_organization,omitempty"`

	// The RIR registration action.
	RirRegistrationAction string `json:"rir_registration_action,omitempty"`

	// The registration status of the network in RIR.
	RirRegistrationStatus string `json:"rir_registration_status,omitempty"`

	// If the field is set to True, the discovery blackout setting will be used for
	// port control blackout setting.
	SamePortControlDiscoveryBlackout *bool `json:"same_port_control_discovery_blackout,omitempty"`

	// Determines whether to send the RIR registration request.
	SendRirRequest *bool `json:"send_rir_request,omitempty"`

	// The number of static DHCP addresses configured in the network.
	StaticHosts uint32 `json:"static_hosts,omitempty"`

	// The DHCP Network Cisco ISE subscribe settings.
	SubscribeSettings *CiscoiseSubscribesetting `json:"subscribe_settings,omitempty"`

	// If set on creation, the network is created according to the values specified
	// in the selected template.
	Template string `json:"template,omitempty"`

	// The total number of DHCP addresses configured in the network.
	TotalHosts uint32 `json:"total_hosts,omitempty"`

	// Determines whether the DHCP IPv4 Network is unmanaged or not.
	Unmanaged *bool `json:"unmanaged,omitempty"`

	// The number of unmanaged IP addresses as discovered by network discovery.
	UnmanagedCount uint32 `json:"unmanaged_count,omitempty"`

	// This field controls whether the DHCP server updates DNS when a DHCP lease is
	// renewed.
	UpdateDnsOnLeaseRenewal *bool `json:"update_dns_on_lease_renewal,omitempty"`

	// Use flag for: authority
	UseAuthority *bool `json:"use_authority,omitempty"`

	// Use flag for: discovery_blackout_setting , port_control_blackout_setting,
	// same_port_control_discovery_blackout
	UseBlackoutSetting *bool `json:"use_blackout_setting,omitempty"`

	// Use flag for: bootfile
	UseBootfile *bool `json:"use_bootfile,omitempty"`

	// Use flag for: bootserver
	UseBootserver *bool `json:"use_bootserver,omitempty"`

	// Use flag for: ddns_domainname
	UseDdnsDomainname *bool `json:"use_ddns_domainname,omitempty"`

	// Use flag for: ddns_generate_hostname
	UseDdnsGenerateHostname *bool `json:"use_ddns_generate_hostname,omitempty"`

	// Use flag for: ddns_ttl
	UseDdnsTtl *bool `json:"use_ddns_ttl,omitempty"`

	// Use flag for: ddns_update_fixed_addresses
	UseDdnsUpdateFixedAddresses *bool `json:"use_ddns_update_fixed_addresses,omitempty"`

	// Use flag for: ddns_use_option81
	UseDdnsUseOption81 *bool `json:"use_ddns_use_option81,omitempty"`

	// Use flag for: deny_bootp
	UseDenyBootp *bool `json:"use_deny_bootp,omitempty"`

	// Use flag for: discovery_basic_poll_settings
	UseDiscoveryBasicPollingSettings *bool `json:"use_discovery_basic_polling_settings,omitempty"`

	// Use flag for: email_list
	UseEmailList *bool `json:"use_email_list,omitempty"`

	// Use flag for: enable_ddns
	UseEnableDdns *bool `json:"use_enable_ddns,omitempty"`

	// Use flag for: enable_dhcp_thresholds
	UseEnableDhcpThresholds *bool `json:"use_enable_dhcp_thresholds,omitempty"`

	// Use flag for: discovery_member , enable_discovery
	UseEnableDiscovery *bool `json:"use_enable_discovery,omitempty"`

	// Use flag for: enable_ifmap_publishing
	UseEnableIfmapPublishing *bool `json:"use_enable_ifmap_publishing,omitempty"`

	// Use flag for: ignore_dhcp_option_list_request
	UseIgnoreDhcpOptionListRequest *bool `json:"use_ignore_dhcp_option_list_request,omitempty"`

	// Use flag for: ignore_id
	UseIgnoreId *bool `json:"use_ignore_id,omitempty"`

	// Use flag for: ipam_email_addresses
	UseIpamEmailAddresses *bool `json:"use_ipam_email_addresses,omitempty"`

	// Use flag for: ipam_threshold_settings
	UseIpamThresholdSettings *bool `json:"use_ipam_threshold_settings,omitempty"`

	// Use flag for: ipam_trap_settings
	UseIpamTrapSettings *bool `json:"use_ipam_trap_settings,omitempty"`

	// Use flag for: lease_scavenge_time
	UseLeaseScavengeTime *bool `json:"use_lease_scavenge_time,omitempty"`

	// Use flag for: logic_filter_rules
	UseLogicFilterRules *bool `json:"use_logic_filter_rules,omitempty"`

	// Use flag for: mgm_private
	UseMgmPrivate *bool `json:"use_mgm_private,omitempty"`

	// Use flag for: nextserver
	UseNextserver *bool `json:"use_nextserver,omitempty"`

	// Use flag for: options
	UseOptions *bool `json:"use_options,omitempty"`

	// Use flag for: pxe_lease_time
	UsePxeLeaseTime *bool `json:"use_pxe_lease_time,omitempty"`

	// Use flag for: recycle_leases
	UseRecycleLeases *bool `json:"use_recycle_leases,omitempty"`

	// Use flag for: subscribe_settings
	UseSubscribeSettings *bool `json:"use_subscribe_settings,omitempty"`

	// Use flag for: update_dns_on_lease_renewal
	UseUpdateDnsOnLeaseRenewal *bool `json:"use_update_dns_on_lease_renewal,omitempty"`

	// Use flag for: zone_associations
	UseZoneAssociations *bool `json:"use_zone_associations,omitempty"`

	// The network utilization in percentage.
	Utilization uint32 `json:"utilization,omitempty"`

	// The timestamp when the utilization statistics were last updated.
	UtilizationUpdate *UnixTime `json:"utilization_update,omitempty"`

	// List of VLANs assigned to Network.
	Vlans []*Vlanlink `json:"vlans,omitempty"`

	// The list of zones associated with this network.
	ZoneAssociations []*Zoneassociation `json:"zone_associations,omitempty"`
}

Ipv4Network represents Infoblox object network. When DHCP services are configured on an appliance, the network that it serves must be defined. After a network is created, you can either create all the subnets individually, or create a parent network that encompasses the subnets.

func (Ipv4Network) ObjectType added in v2.4.0

func (Ipv4Network) ObjectType() string

func (Ipv4Network) ReturnFields added in v2.4.0

func (obj Ipv4Network) ReturnFields() []string

type Ipv4NetworkContainer added in v2.4.0

type Ipv4NetworkContainer struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Authority for the DHCP network container.
	Authority *bool `json:"authority,omitempty"`

	// This flag controls whether reverse zones are automatically created when the
	// network is added.
	AutoCreateReversezone bool `json:"auto_create_reversezone,omitempty"`

	// The boot server IPv4 Address or name in FQDN format for the network
	// container. You can specify the name and/or IP address of the boot server
	// that the host needs to boot.
	Bootfile *string `json:"bootfile,omitempty"`

	// The bootserver address for the network container. You can specify the name
	// and/or IP address of the boot server that the host needs to boot. The boot
	// server IPv4 Address or name in FQDN format.
	Bootserver *string `json:"bootserver,omitempty"`

	// Structure containing all cloud API related information for this object.
	CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`

	// Comment for the network container; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// The dynamic DNS domain name the appliance uses specifically for DDNS updates
	// for this network container.
	DdnsDomainname *string `json:"ddns_domainname,omitempty"`

	// If this field is set to True, the DHCP server generates a hostname and
	// updates DNS with it when the DHCP client request does not contain a
	// hostname.
	DdnsGenerateHostname *bool `json:"ddns_generate_hostname,omitempty"`

	// This field controls whether the DHCP server is allowed to update DNS,
	// regardless of the DHCP client requests. Note that changes for this field
	// take effect only if ddns_use_option81 is True.
	DdnsServerAlwaysUpdates *bool `json:"ddns_server_always_updates,omitempty"`

	// The DNS update Time to Live (TTL) value of a DHCP network container object.
	// The TTL is a 32-bit unsigned integer that represents the duration, in
	// seconds, for which the update is cached. Zero indicates that the update is
	// not cached.
	DdnsTtl *uint32 `json:"ddns_ttl,omitempty"`

	// By default, the DHCP server does not update DNS when it allocates a fixed
	// address to a client. You can configure the DHCP server to update the A and
	// PTR records of a client with a fixed address. When this feature is enabled
	// and the DHCP server adds A and PTR records for a fixed address, the DHCP
	// server never discards the records.
	DdnsUpdateFixedAddresses *bool `json:"ddns_update_fixed_addresses,omitempty"`

	// The support for DHCP Option 81 at the network container level.
	DdnsUseOption81 *bool `json:"ddns_use_option81,omitempty"`

	// The reason for deleting the RIR registration request.
	DeleteReason *string `json:"delete_reason,omitempty"`

	// If set to True, BOOTP settings are disabled and BOOTP requests will be
	// denied.
	DenyBootp *bool `json:"deny_bootp,omitempty"`

	// Discover now status for this network container.
	DiscoverNowStatus string `json:"discover_now_status,omitempty"`

	// The discovery basic poll settings for this network container.
	DiscoveryBasicPollSettings *DiscoveryBasicpollsettings `json:"discovery_basic_poll_settings,omitempty"`

	// The discovery blackout setting for this network container.
	DiscoveryBlackoutSetting *PropertiesBlackoutsetting `json:"discovery_blackout_setting,omitempty"`

	// The network discovery engine type.
	DiscoveryEngineType string `json:"discovery_engine_type,omitempty"`

	// The member that will run discovery for this network container.
	DiscoveryMember *string `json:"discovery_member,omitempty"`

	// The e-mail lists to which the appliance sends DHCP threshold alarm e-mail
	// messages.
	EmailList []string `json:"email_list,omitempty"`

	// The dynamic DNS updates flag of a DHCP network container object. If set to
	// True, the DHCP server sends DDNS updates to DNS servers in the same Grid,
	// and to external DNS servers.
	EnableDdns *bool `json:"enable_ddns,omitempty"`

	// Determines if DHCP thresholds are enabled for the network container.
	EnableDhcpThresholds *bool `json:"enable_dhcp_thresholds,omitempty"`

	// Determines whether a discovery is enabled or not for this network container.
	// When this is set to False, the network container discovery is disabled.
	EnableDiscovery *bool `json:"enable_discovery,omitempty"`

	// Determines if DHCP threshold warnings are sent through email.
	EnableEmailWarnings *bool `json:"enable_email_warnings,omitempty"`

	// Determines if the discovery for the network container should be immediately
	// enabled.
	EnableImmediateDiscovery *bool `json:"enable_immediate_discovery,omitempty"`

	// Set this to True if you want the DHCP server to use a different lease time
	// for PXE clients.
	EnablePxeLeaseTime *bool `json:"enable_pxe_lease_time,omitempty"`

	// Determines if DHCP threshold warnings are send through SNMP.
	EnableSnmpWarnings *bool `json:"enable_snmp_warnings,omitempty"`

	// The endpoints that provides data for the DHCP Network Container object.
	EndpointSources []*CiscoiseEndpoint `json:"endpoint_sources,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The percentage of DHCP network container usage threshold above which network
	// container usage is not expected and may warrant your attention. When the
	// high watermark is reached, the Infoblox appliance generates a syslog message
	// and sends a warning (if enabled). A number that specifies the percentage of
	// allocated addresses. The range is from 1 to 100.
	HighWaterMark *uint32 `json:"high_water_mark,omitempty"`

	// The percentage of DHCP network container usage below which the corresponding
	// SNMP trap is reset. A number that specifies the percentage of allocated
	// addresses. The range is from 1 to 100. The high watermark reset value must
	// be lower than the high watermark value.
	HighWaterMarkReset *uint32 `json:"high_water_mark_reset,omitempty"`

	// If this field is set to False, the appliance returns all DHCP options the
	// client is eligible to receive, rather than only the list of options the
	// client has requested.
	IgnoreDhcpOptionListRequest *bool `json:"ignore_dhcp_option_list_request,omitempty"`

	// Indicates whether the appliance will ignore DHCP client IDs or MAC
	// addresses.
	IgnoreId string `json:"ignore_id,omitempty"`

	// A list of MAC addresses the appliance will ignore.
	IgnoreMacAddresses []string `json:"ignore_mac_addresses,omitempty"`

	// The e-mail lists to which the appliance sends IPAM threshold alarm e-mail
	// messages.
	IpamEmailAddresses []string `json:"ipam_email_addresses,omitempty"`

	// The IPAM Threshold settings for this network container.
	IpamThresholdSettings *SettingIpamThreshold `json:"ipam_threshold_settings,omitempty"`

	// The IPAM Trap settings for this network container.
	IpamTrapSettings *SettingIpamTrap `json:"ipam_trap_settings,omitempty"`

	// The timestamp when the last RIR registration update was sent.
	LastRirRegistrationUpdateSent *UnixTime `json:"last_rir_registration_update_sent,omitempty"`

	// Last RIR registration update status.
	LastRirRegistrationUpdateStatus string `json:"last_rir_registration_update_status,omitempty"`

	// An integer that specifies the period of time (in seconds) that frees and
	// backs up leases remained in the database before they are automatically
	// deleted. To disable lease scavenging, set the parameter to -1. The minimum
	// positive value must be greater than 86400 seconds (1 day).
	LeaseScavengeTime int `json:"lease_scavenge_time,omitempty"`

	// This field contains the logic filters to be applied on the this network
	// container. This list corresponds to the match rules that are written to the
	// dhcpd configuration file.
	LogicFilterRules []*Logicfilterrule `json:"logic_filter_rules,omitempty"`

	// The percentage of DHCP network container usage below which the Infoblox
	// appliance generates a syslog message and sends a warning (if enabled). A
	// number that specifies the percentage of allocated addresses. The range is
	// from 1 to 100.
	LowWaterMark *uint32 `json:"low_water_mark,omitempty"`

	// The percentage of DHCP network container usage threshold below which network
	// container usage is not expected and may warrant your attention. When the low
	// watermark is crossed, the Infoblox appliance generates a syslog message and
	// sends a warning (if enabled). A number that specifies the percentage of
	// allocated addresses. The range is from 1 to 100. The low watermark reset
	// value must be higher than the low watermark value.
	LowWaterMarkReset *uint32 `json:"low_water_mark_reset,omitempty"`

	// This field controls whether this object is synchronized with the Multi-Grid
	// Master. If this field is set to True, objects are not synchronized.
	MgmPrivate *bool `json:"mgm_private,omitempty"`

	// This field is assumed to be True unless filled by any conforming objects,
	// such as Network, IPv6 Network, Network Container, IPv6 Network Container,
	// and Network View. This value is set to False if mgm_private is set to True
	// in the parent object.
	MgmPrivateOverridable bool `json:"mgm_private_overridable,omitempty"`

	// The Microsoft Active Directory user related information.
	MsAdUserData *MsserverAduserData `json:"ms_ad_user_data,omitempty"`

	// The network address in IPv4 Address/CIDR format. For regular expression
	// searches, only the IPv4 Address portion is supported. Searches for the CIDR
	// portion is always an exact match. For example, both network containers
	// 10.0.0.0/8 and 20.1.0.0/16 are matched by expression '.0' and only
	// 20.1.0.0/16 is matched by '.0/16'.
	Network string `json:"network,omitempty"`

	// The network container to which this network belongs, if any.
	NetworkContainer string `json:"network_container,omitempty"`

	// The name of the network view in which this network resides.
	NetworkView string `json:"network_view,omitempty"`

	// The name in FQDN and/or IPv4 Address of the next server that the host needs
	// to boot.
	Nextserver *string `json:"nextserver,omitempty"`

	// An array of DHCP option dhcpoption structs that lists the DHCP options
	// associated with the object.
	Options []*Dhcpoption `json:"options,omitempty"`

	// The port control blackout setting for this network container.
	PortControlBlackoutSetting *PropertiesBlackoutsetting `json:"port_control_blackout_setting,omitempty"`

	// The PXE lease time value of a DHCP Network container object. Some hosts use
	// PXE (Preboot Execution Environment) to boot remotely from a server. To
	// better manage your IP resources, set a different lease time for PXE boot
	// requests. You can configure the DHCP server to allocate an IP address with a
	// shorter lease time to hosts that send PXE boot requests, so IP addresses are
	// not leased longer than necessary. A 32-bit unsigned integer that represents
	// the duration, in seconds, for which the update is cached. Zero indicates
	// that the update is not cached.
	PxeLeaseTime *uint32 `json:"pxe_lease_time,omitempty"`

	// If the field is set to True, the leases are kept in the Recycle Bin until
	// one week after expiration. Otherwise, the leases are permanently deleted.
	RecycleLeases *bool `json:"recycle_leases,omitempty"`

	// Remove subnets delete option. Determines whether all child objects should be
	// removed alongside with the network container or child objects should be
	// assigned to another parental container. By default child objects are deleted
	// with the network container.
	RemoveSubnets bool `json:"remove_subnets,omitempty"`

	// Restarts the member service.
	RestartIfNeeded *bool `json:"restart_if_needed,omitempty"`

	// The registry (RIR) that allocated the network container address space.
	Rir string `json:"rir,omitempty"`

	// The RIR organization assoicated with the network container.
	RirOrganization *string `json:"rir_organization,omitempty"`

	// The RIR registration action.
	RirRegistrationAction string `json:"rir_registration_action,omitempty"`

	// The registration status of the network container in RIR.
	RirRegistrationStatus string `json:"rir_registration_status,omitempty"`

	// If the field is set to True, the discovery blackout setting will be used for
	// port control blackout setting.
	SamePortControlDiscoveryBlackout *bool `json:"same_port_control_discovery_blackout,omitempty"`

	// Determines whether to send the RIR registration request.
	SendRirRequest *bool `json:"send_rir_request,omitempty"`

	// The DHCP Network Container Cisco ISE subscribe settings.
	SubscribeSettings *CiscoiseSubscribesetting `json:"subscribe_settings,omitempty"`

	// Determines whether the network container is unmanaged or not.
	Unmanaged *bool `json:"unmanaged,omitempty"`

	// This field controls whether the DHCP server updates DNS when a DHCP lease is
	// renewed.
	UpdateDnsOnLeaseRenewal *bool `json:"update_dns_on_lease_renewal,omitempty"`

	// Use flag for: authority
	UseAuthority *bool `json:"use_authority,omitempty"`

	// Use flag for: discovery_blackout_setting , port_control_blackout_setting,
	// same_port_control_discovery_blackout
	UseBlackoutSetting *bool `json:"use_blackout_setting,omitempty"`

	// Use flag for: bootfile
	UseBootfile *bool `json:"use_bootfile,omitempty"`

	// Use flag for: bootserver
	UseBootserver *bool `json:"use_bootserver,omitempty"`

	// Use flag for: ddns_domainname
	UseDdnsDomainname *bool `json:"use_ddns_domainname,omitempty"`

	// Use flag for: ddns_generate_hostname
	UseDdnsGenerateHostname *bool `json:"use_ddns_generate_hostname,omitempty"`

	// Use flag for: ddns_ttl
	UseDdnsTtl *bool `json:"use_ddns_ttl,omitempty"`

	// Use flag for: ddns_update_fixed_addresses
	UseDdnsUpdateFixedAddresses *bool `json:"use_ddns_update_fixed_addresses,omitempty"`

	// Use flag for: ddns_use_option81
	UseDdnsUseOption81 *bool `json:"use_ddns_use_option81,omitempty"`

	// Use flag for: deny_bootp
	UseDenyBootp *bool `json:"use_deny_bootp,omitempty"`

	// Use flag for: discovery_basic_poll_settings
	UseDiscoveryBasicPollingSettings *bool `json:"use_discovery_basic_polling_settings,omitempty"`

	// Use flag for: email_list
	UseEmailList *bool `json:"use_email_list,omitempty"`

	// Use flag for: enable_ddns
	UseEnableDdns *bool `json:"use_enable_ddns,omitempty"`

	// Use flag for: enable_dhcp_thresholds
	UseEnableDhcpThresholds *bool `json:"use_enable_dhcp_thresholds,omitempty"`

	// Use flag for: discovery_member , enable_discovery
	UseEnableDiscovery *bool `json:"use_enable_discovery,omitempty"`

	// Use flag for: ignore_dhcp_option_list_request
	UseIgnoreDhcpOptionListRequest *bool `json:"use_ignore_dhcp_option_list_request,omitempty"`

	// Use flag for: ignore_id
	UseIgnoreId *bool `json:"use_ignore_id,omitempty"`

	// Use flag for: ipam_email_addresses
	UseIpamEmailAddresses *bool `json:"use_ipam_email_addresses,omitempty"`

	// Use flag for: ipam_threshold_settings
	UseIpamThresholdSettings *bool `json:"use_ipam_threshold_settings,omitempty"`

	// Use flag for: ipam_trap_settings
	UseIpamTrapSettings *bool `json:"use_ipam_trap_settings,omitempty"`

	// Use flag for: lease_scavenge_time
	UseLeaseScavengeTime *bool `json:"use_lease_scavenge_time,omitempty"`

	// Use flag for: logic_filter_rules
	UseLogicFilterRules *bool `json:"use_logic_filter_rules,omitempty"`

	// Use flag for: mgm_private
	UseMgmPrivate *bool `json:"use_mgm_private,omitempty"`

	// Use flag for: nextserver
	UseNextserver *bool `json:"use_nextserver,omitempty"`

	// Use flag for: options
	UseOptions *bool `json:"use_options,omitempty"`

	// Use flag for: pxe_lease_time
	UsePxeLeaseTime *bool `json:"use_pxe_lease_time,omitempty"`

	// Use flag for: recycle_leases
	UseRecycleLeases *bool `json:"use_recycle_leases,omitempty"`

	// Use flag for: subscribe_settings
	UseSubscribeSettings *bool `json:"use_subscribe_settings,omitempty"`

	// Use flag for: update_dns_on_lease_renewal
	UseUpdateDnsOnLeaseRenewal *bool `json:"use_update_dns_on_lease_renewal,omitempty"`

	// Use flag for: zone_associations
	UseZoneAssociations *bool `json:"use_zone_associations,omitempty"`

	// The network container utilization in percentage.
	Utilization uint32 `json:"utilization,omitempty"`

	// The list of zones associated with this network.
	ZoneAssociations []*Zoneassociation `json:"zone_associations,omitempty"`
}

Ipv4NetworkContainer represents Infoblox object networkcontainer. A network can contain child networks. The network that contains child networks is called a network container. This object encapsulates an IPv4 network container object.

func (Ipv4NetworkContainer) ObjectType added in v2.4.0

func (Ipv4NetworkContainer) ObjectType() string

func (Ipv4NetworkContainer) ReturnFields added in v2.4.0

func (obj Ipv4NetworkContainer) ReturnFields() []string

type Ipv6FixedAddress added in v2.4.0

type Ipv6FixedAddress struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The address type value for this IPv6 fixed address. When the address type is
	// "ADDRESS", a value for the 'ipv6addr' member is required. When the address
	// type is "PREFIX", values for 'ipv6prefix' and 'ipv6prefix_bits' are
	// required. When the address type is "BOTH", values for 'ipv6addr',
	// 'ipv6prefix', and 'ipv6prefix_bits' are all required.
	AddressType string `json:"address_type,omitempty"`

	// This field controls whether the credential is used for both the Telnet and
	// SSH credentials. If set to False, the credential is used only for SSH.
	AllowTelnet *bool `json:"allow_telnet,omitempty"`

	// The CLI credentials for the IPv6 fixed address.
	CliCredentials []*DiscoveryClicredential `json:"cli_credentials,omitempty"`

	// Structure containing all cloud API related information for this object.
	CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`

	// Comment for the fixed address; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// The description of the device.
	DeviceDescription *string `json:"device_description,omitempty"`

	// The location of the device.
	DeviceLocation *string `json:"device_location,omitempty"`

	// The type of the device.
	DeviceType *string `json:"device_type,omitempty"`

	// The vendor of the device.
	DeviceVendor *string `json:"device_vendor,omitempty"`

	// Determines whether a fixed address is disabled or not. When this is set to
	// False, the IPv6 fixed address is enabled.
	Disable *bool `json:"disable,omitempty"`

	// Determines if the discovery for this IPv6 fixed address is disabled or not.
	// False means that the discovery is enabled.
	DisableDiscovery *bool `json:"disable_discovery,omitempty"`

	// The discovery status of this IPv6 fixed address.
	DiscoverNowStatus string `json:"discover_now_status,omitempty"`

	// The discovered data for this IPv6 fixed address.
	DiscoveredData *Discoverydata `json:"discovered_data,omitempty"`

	// The domain name for this IPv6 fixed address.
	DomainName *string `json:"domain_name,omitempty"`

	// The IPv6 addresses of DNS recursive name servers to which the DHCP client
	// can send name resolution requests. The DHCP server includes this information
	// in the DNS Recursive Name Server option in Advertise, Rebind,
	// Information-Request, and Reply messages.
	DomainNameServers []string `json:"domain_name_servers,omitempty"`

	// The DUID value for this IPv6 fixed address.
	Duid *string `json:"duid,omitempty"`

	// Determines if the discovery for the IPv6 fixed address should be immediately
	// enabled.
	EnableImmediateDiscovery *bool `json:"enable_immediate_discovery,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The IPv6 Address of the DHCP IPv6 fixed address.
	Ipv6Addr *string `json:"ipv6addr,omitempty"`

	// The IPv6 Address prefix of the DHCP IPv6 fixed address.
	Ipv6prefix *string `json:"ipv6prefix,omitempty"`

	// Prefix bits of the DHCP IPv6 fixed address.
	Ipv6prefixBits *uint32 `json:"ipv6prefix_bits,omitempty"`

	// This field contains the logic filters to be applied to this IPv6 fixed
	// address. This list corresponds to the match rules that are written to the
	// DHCPv6 configuration file.
	LogicFilterRules []*Logicfilterrule `json:"logic_filter_rules,omitempty"`

	// The Microsoft Active Directory user related information.
	MsAdUserData *MsserverAduserData `json:"ms_ad_user_data,omitempty"`

	// This field contains the name of this IPv6 fixed address.
	Name *string `json:"name,omitempty"`

	// The network to which this IPv6 fixed address belongs, in IPv6 Address/CIDR
	// format.
	Network *string `json:"network,omitempty"`

	// The name of the network view in which this IPv6 fixed address resides.
	NetworkView *string `json:"network_view,omitempty"`

	// An array of DHCP option dhcpoption structs that lists the DHCP options
	// associated with the object.
	Options []*Dhcpoption `json:"options,omitempty"`

	// The preferred lifetime value for this DHCP IPv6 fixed address object.
	PreferredLifetime *uint32 `json:"preferred_lifetime,omitempty"`

	// The reference to the reserved interface to which the device belongs.
	ReservedInterface *string `json:"reserved_interface,omitempty"`

	// Restarts the member service. The restart_if_needed flag can trigger a
	// restart on DHCP services only when it is enabled on CP member.
	RestartIfNeeded *bool `json:"restart_if_needed,omitempty"`

	// The SNMPv3 credential for this IPv6 fixed address.
	Snmp3Credential *DiscoverySnmp3credential `json:"snmp3_credential,omitempty"`

	// The SNMPv1 or SNMPv2 credential for this IPv6 fixed address.
	SnmpCredential *DiscoverySnmpcredential `json:"snmp_credential,omitempty"`

	// If set on creation, the IPv6 fixed address will be created according to the
	// values specified in the named template.
	Template string `json:"template,omitempty"`

	// If set to true, the CLI credential will override member-level settings.
	UseCliCredentials *bool `json:"use_cli_credentials,omitempty"`

	// Use flag for: domain_name
	UseDomainName *bool `json:"use_domain_name,omitempty"`

	// Use flag for: domain_name_servers
	UseDomainNameServers *bool `json:"use_domain_name_servers,omitempty"`

	// Use flag for: logic_filter_rules
	UseLogicFilterRules *bool `json:"use_logic_filter_rules,omitempty"`

	// Use flag for: options
	UseOptions *bool `json:"use_options,omitempty"`

	// Use flag for: preferred_lifetime
	UsePreferredLifetime *bool `json:"use_preferred_lifetime,omitempty"`

	// Determines if the SNMPv3 credential should be used for the IPv6 fixed
	// address.
	UseSnmp3Credential *bool `json:"use_snmp3_credential,omitempty"`

	// If set to true, SNMP credential will override member level settings.
	UseSnmpCredential *bool `json:"use_snmp_credential,omitempty"`

	// Use flag for: valid_lifetime
	UseValidLifetime *bool `json:"use_valid_lifetime,omitempty"`

	// The valid lifetime value for this DHCP IPv6 Fixed Address object.
	ValidLifetime *uint32 `json:"valid_lifetime,omitempty"`
}

Ipv6FixedAddress represents Infoblox object ipv6fixedaddress. A IPv6 fixed address is a specific IP address that a DHCP server always assigns when a lease request comes from a particular DUID of the client.

func (Ipv6FixedAddress) ObjectType added in v2.4.0

func (Ipv6FixedAddress) ObjectType() string

func (Ipv6FixedAddress) ReturnFields added in v2.4.0

func (obj Ipv6FixedAddress) ReturnFields() []string

type Ipv6Network added in v2.4.0

type Ipv6Network struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// This flag controls whether reverse zones are automatically created when the
	// network is added.
	AutoCreateReversezone bool `json:"auto_create_reversezone,omitempty"`

	// Structure containing all cloud API related information for this object.
	CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`

	// Comment for the network; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// The dynamic DNS domain name the appliance uses specifically for DDNS updates
	// for this network.
	DdnsDomainname *string `json:"ddns_domainname,omitempty"`

	// Use this method to set or retrieve the ddns_enable_option_fqdn flag of a
	// DHCP IPv6 Network object. This method controls whether the FQDN option sent
	// by the client is to be used, or if the server can automatically generate the
	// FQDN. This setting overrides the upper-level settings.
	DdnsEnableOptionFqdn *bool `json:"ddns_enable_option_fqdn,omitempty"`

	// If this field is set to True, the DHCP server generates a hostname and
	// updates DNS with it when the DHCP client request does not contain a
	// hostname.
	DdnsGenerateHostname *bool `json:"ddns_generate_hostname,omitempty"`

	// This field controls whether only the DHCP server is allowed to update DNS,
	// regardless of the DHCP clients requests. Note that changes for this field
	// take effect only if ddns_enable_option_fqdn is True.
	DdnsServerAlwaysUpdates *bool `json:"ddns_server_always_updates,omitempty"`

	// The DNS update Time to Live (TTL) value of a DHCP network object. The TTL is
	// a 32-bit unsigned integer that represents the duration, in seconds, for
	// which the update is cached. Zero indicates that the update is not cached.
	DdnsTtl *uint32 `json:"ddns_ttl,omitempty"`

	// The reason for deleting the RIR registration request.
	DeleteReason *string `json:"delete_reason,omitempty"`

	// Determines whether a network is disabled or not. When this is set to False,
	// the network is enabled.
	Disable *bool `json:"disable,omitempty"`

	// Discover now status for this network.
	DiscoverNowStatus string `json:"discover_now_status,omitempty"`

	// Number of the discovered BGP AS. When multiple BGP autonomous systems are
	// discovered in the network, this field displays "Multiple".
	DiscoveredBgpAs string `json:"discovered_bgp_as,omitempty"`

	// Discovered bridge domain.
	DiscoveredBridgeDomain *string `json:"discovered_bridge_domain,omitempty"`

	// Discovered tenant.
	DiscoveredTenant *string `json:"discovered_tenant,omitempty"`

	// The identifier of the discovered VLAN. When multiple VLANs are discovered in
	// the network, this field displays "Multiple".
	DiscoveredVlanId string `json:"discovered_vlan_id,omitempty"`

	// The name of the discovered VLAN. When multiple VLANs are discovered in the
	// network, this field displays "Multiple".
	DiscoveredVlanName string `json:"discovered_vlan_name,omitempty"`

	// Description of the discovered VRF. When multiple VRFs are discovered in the
	// network, this field displays "Multiple".
	DiscoveredVrfDescription string `json:"discovered_vrf_description,omitempty"`

	// The name of the discovered VRF. When multiple VRFs are discovered in the
	// network, this field displays "Multiple".
	DiscoveredVrfName string `json:"discovered_vrf_name,omitempty"`

	// Route distinguisher of the discovered VRF. When multiple VRFs are discovered
	// in the network, this field displays "Multiple".
	DiscoveredVrfRd string `json:"discovered_vrf_rd,omitempty"`

	// The discovery basic poll settings for this network.
	DiscoveryBasicPollSettings *DiscoveryBasicpollsettings `json:"discovery_basic_poll_settings,omitempty"`

	// The discovery blackout setting for this network.
	DiscoveryBlackoutSetting *PropertiesBlackoutsetting `json:"discovery_blackout_setting,omitempty"`

	// The network discovery engine type.
	DiscoveryEngineType string `json:"discovery_engine_type,omitempty"`

	// The member that will run discovery for this network.
	DiscoveryMember *string `json:"discovery_member,omitempty"`

	// Use this method to set or retrieve the domain_name value of a DHCP IPv6
	// Network object.
	DomainName *string `json:"domain_name,omitempty"`

	// Use this method to set or retrieve the dynamic DNS updates flag of a DHCP
	// IPv6 Network object. The DHCP server can send DDNS updates to DNS servers in
	// the same Grid and to external DNS servers. This setting overrides the member
	// level settings.
	DomainNameServers []string `json:"domain_name_servers,omitempty"`

	// The dynamic DNS updates flag of a DHCP IPv6 network object. If set to True,
	// the DHCP server sends DDNS updates to DNS servers in the same Grid, and to
	// external DNS servers.
	EnableDdns *bool `json:"enable_ddns,omitempty"`

	// Determines whether a discovery is enabled or not for this network. When this
	// is set to False, the network discovery is disabled.
	EnableDiscovery *bool `json:"enable_discovery,omitempty"`

	// Determines if IFMAP publishing is enabled for the network.
	EnableIfmapPublishing *bool `json:"enable_ifmap_publishing,omitempty"`

	// Determines if the discovery for the network should be immediately enabled.
	EnableImmediateDiscovery *bool `json:"enable_immediate_discovery,omitempty"`

	// The endpoints that provides data for the DHCP IPv6 Network object.
	EndpointSources []*CiscoiseEndpoint `json:"endpoint_sources,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The timestamp when the last RIR registration update was sent.
	LastRirRegistrationUpdateSent *UnixTime `json:"last_rir_registration_update_sent,omitempty"`

	// Last RIR registration update status.
	LastRirRegistrationUpdateStatus string `json:"last_rir_registration_update_status,omitempty"`

	// This field contains the logic filters to be applied on this IPv6 network.
	// This list corresponds to the match rules that are written to the DHCPv6
	// configuration file.
	LogicFilterRules []*Logicfilterrule `json:"logic_filter_rules,omitempty"`

	// A list of members servers that serve DHCP for the network. All members in
	// the array must be of the same type. The struct type must be indicated in
	// each element, by setting the "_struct" member to the struct type.
	Members []*Dhcpmember `json:"members,omitempty"`

	// This field controls whether this object is synchronized with the Multi-Grid
	// Master. If this field is set to True, objects are not synchronized.
	MgmPrivate *bool `json:"mgm_private,omitempty"`

	// This field is assumed to be True unless filled by any conforming objects,
	// such as Network, IPv6 Network, Network Container, IPv6 Network Container,
	// and Network View. This value is set to False if mgm_private is set to True
	// in the parent object.
	MgmPrivateOverridable bool `json:"mgm_private_overridable,omitempty"`

	// The Microsoft Active Directory user related information.
	MsAdUserData *MsserverAduserData `json:"ms_ad_user_data,omitempty"`

	// The network address in IPv6 Address/CIDR format. For regular expression
	// searches, only the IPv6 Address portion is supported. Searches for the CIDR
	// portion is always an exact match. For example, both network containers
	// 16::0/28 and 26::0/24 are matched by expression '.6' and only 26::0/24 is
	// matched by '.6/24'.
	Network *string `json:"network,omitempty"`

	// The network container to which this network belongs, if any.
	NetworkContainer string `json:"network_container,omitempty"`

	// The name of the network view in which this network resides.
	NetworkView *string `json:"network_view,omitempty"`

	// An array of DHCP option dhcpoption structs that lists the DHCP options
	// associated with the object.
	Options []*Dhcpoption `json:"options,omitempty"`

	// The port control blackout setting for this network.
	PortControlBlackoutSetting *PropertiesBlackoutsetting `json:"port_control_blackout_setting,omitempty"`

	// Use this method to set or retrieve the preferred lifetime value of a DHCP
	// IPv6 Network object.
	PreferredLifetime *uint32 `json:"preferred_lifetime,omitempty"`

	// If the field is set to True, the leases are kept in the Recycle Bin until
	// one week after expiration. Otherwise, the leases are permanently deleted.
	RecycleLeases *bool `json:"recycle_leases,omitempty"`

	// Restarts the member service.
	RestartIfNeeded *bool `json:"restart_if_needed,omitempty"`

	// The registry (RIR) that allocated the IPv6 network address space.
	Rir string `json:"rir,omitempty"`

	// The RIR organization associated with the IPv6 network.
	RirOrganization *string `json:"rir_organization,omitempty"`

	// The RIR registration action.
	RirRegistrationAction string `json:"rir_registration_action,omitempty"`

	// The registration status of the IPv6 network in RIR.
	RirRegistrationStatus string `json:"rir_registration_status,omitempty"`

	// If the field is set to True, the discovery blackout setting will be used for
	// port control blackout setting.
	SamePortControlDiscoveryBlackout *bool `json:"same_port_control_discovery_blackout,omitempty"`

	// Determines whether to send the RIR registration request.
	SendRirRequest *bool `json:"send_rir_request,omitempty"`

	// The DHCP IPv6 Network Cisco ISE subscribe settings.
	SubscribeSettings *CiscoiseSubscribesetting `json:"subscribe_settings,omitempty"`

	// If set on creation, the network is created according to the values specified
	// in the selected template.
	Template string `json:"template,omitempty"`

	// Determines whether the DHCP IPv6 Network is unmanaged or not.
	Unmanaged *bool `json:"unmanaged,omitempty"`

	// The number of unmanaged IP addresses as discovered by network discovery.
	UnmanagedCount uint32 `json:"unmanaged_count,omitempty"`

	// This field controls whether the DHCP server updates DNS when a DHCP lease is
	// renewed.
	UpdateDnsOnLeaseRenewal *bool `json:"update_dns_on_lease_renewal,omitempty"`

	// Use flag for: discovery_blackout_setting , port_control_blackout_setting,
	// same_port_control_discovery_blackout
	UseBlackoutSetting *bool `json:"use_blackout_setting,omitempty"`

	// Use flag for: ddns_domainname
	UseDdnsDomainname *bool `json:"use_ddns_domainname,omitempty"`

	// Use flag for: ddns_enable_option_fqdn
	UseDdnsEnableOptionFqdn *bool `json:"use_ddns_enable_option_fqdn,omitempty"`

	// Use flag for: ddns_generate_hostname
	UseDdnsGenerateHostname *bool `json:"use_ddns_generate_hostname,omitempty"`

	// Use flag for: ddns_ttl
	UseDdnsTtl *bool `json:"use_ddns_ttl,omitempty"`

	// Use flag for: discovery_basic_poll_settings
	UseDiscoveryBasicPollingSettings *bool `json:"use_discovery_basic_polling_settings,omitempty"`

	// Use flag for: domain_name
	UseDomainName *bool `json:"use_domain_name,omitempty"`

	// Use flag for: domain_name_servers
	UseDomainNameServers *bool `json:"use_domain_name_servers,omitempty"`

	// Use flag for: enable_ddns
	UseEnableDdns *bool `json:"use_enable_ddns,omitempty"`

	// Use flag for: discovery_member , enable_discovery
	UseEnableDiscovery *bool `json:"use_enable_discovery,omitempty"`

	// Use flag for: enable_ifmap_publishing
	UseEnableIfmapPublishing *bool `json:"use_enable_ifmap_publishing,omitempty"`

	// Use flag for: logic_filter_rules
	UseLogicFilterRules *bool `json:"use_logic_filter_rules,omitempty"`

	// Use flag for: mgm_private
	UseMgmPrivate *bool `json:"use_mgm_private,omitempty"`

	// Use flag for: options
	UseOptions *bool `json:"use_options,omitempty"`

	// Use flag for: preferred_lifetime
	UsePreferredLifetime *bool `json:"use_preferred_lifetime,omitempty"`

	// Use flag for: recycle_leases
	UseRecycleLeases *bool `json:"use_recycle_leases,omitempty"`

	// Use flag for: subscribe_settings
	UseSubscribeSettings *bool `json:"use_subscribe_settings,omitempty"`

	// Use flag for: update_dns_on_lease_renewal
	UseUpdateDnsOnLeaseRenewal *bool `json:"use_update_dns_on_lease_renewal,omitempty"`

	// Use flag for: valid_lifetime
	UseValidLifetime *bool `json:"use_valid_lifetime,omitempty"`

	// Use flag for: zone_associations
	UseZoneAssociations *bool `json:"use_zone_associations,omitempty"`

	// Use this method to set or retrieve the valid lifetime value of a DHCP IPv6
	// Network object.
	ValidLifetime *uint32 `json:"valid_lifetime,omitempty"`

	// List of VLANs assigned to Network.
	Vlans []*Vlanlink `json:"vlans,omitempty"`

	// The list of zones associated with this network.
	ZoneAssociations []*Zoneassociation `json:"zone_associations,omitempty"`
}

Ipv6Network represents Infoblox object ipv6network. When DHCP services are configured on an appliance, the network that it serves must be defined. After a network is created, you can either create all the subnets individually, or create a parent network that encompasses the subnets.

func (Ipv6Network) ObjectType added in v2.4.0

func (Ipv6Network) ObjectType() string

func (Ipv6Network) ReturnFields added in v2.4.0

func (obj Ipv6Network) ReturnFields() []string

type Ipv6NetworkContainer added in v2.4.0

type Ipv6NetworkContainer struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// This flag controls whether reverse zones are automatically created when the
	// network is added.
	AutoCreateReversezone bool `json:"auto_create_reversezone,omitempty"`

	// Structure containing all cloud API related information for this object.
	CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`

	// Comment for the network; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// The dynamic DNS domain name the appliance uses specifically for DDNS updates
	// for this network container.
	DdnsDomainname *string `json:"ddns_domainname,omitempty"`

	// Use this method to set or retrieve the ddns_enable_option_fqdn flag of a
	// DHCP IPv6 Network Container object. This method controls whether the FQDN
	// option sent by the client is to be used, or if the server can automatically
	// generate the FQDN. This setting overrides the upper-level settings.
	DdnsEnableOptionFqdn *bool `json:"ddns_enable_option_fqdn,omitempty"`

	// If this field is set to True, the DHCP server generates a hostname and
	// updates DNS with it when the DHCP client request does not contain a
	// hostname.
	DdnsGenerateHostname *bool `json:"ddns_generate_hostname,omitempty"`

	// This field controls whether the DHCP server is allowed to update DNS,
	// regardless of the DHCP client requests. Note that changes for this field
	// take effect only if ddns_enable_option_fqdn is True.
	DdnsServerAlwaysUpdates *bool `json:"ddns_server_always_updates,omitempty"`

	// The DNS update Time to Live (TTL) value of a DHCP network container object.
	// The TTL is a 32-bit unsigned integer that represents the duration, in
	// seconds, for which the update is cached. Zero indicates that the update is
	// not cached.
	DdnsTtl *uint32 `json:"ddns_ttl,omitempty"`

	// The reason for deleting the RIR registration request.
	DeleteReason *string `json:"delete_reason,omitempty"`

	// Discover now status for this network container.
	DiscoverNowStatus string `json:"discover_now_status,omitempty"`

	// The discovery basic poll settings for this network container.
	DiscoveryBasicPollSettings *DiscoveryBasicpollsettings `json:"discovery_basic_poll_settings,omitempty"`

	// The discovery blackout setting for this network container.
	DiscoveryBlackoutSetting *PropertiesBlackoutsetting `json:"discovery_blackout_setting,omitempty"`

	// The network discovery engine type.
	DiscoveryEngineType string `json:"discovery_engine_type,omitempty"`

	// The member that will run discovery for this network container.
	DiscoveryMember *string `json:"discovery_member,omitempty"`

	// Use this method to set or retrieve the dynamic DNS updates flag of a DHCP
	// IPv6 Network Container object. The DHCP server can send DDNS updates to DNS
	// servers in the same Grid and to external DNS servers. This setting overrides
	// the member level settings.
	DomainNameServers []string `json:"domain_name_servers,omitempty"`

	// The dynamic DNS updates flag of a DHCP IPv6 network container object. If set
	// to True, the DHCP server sends DDNS updates to DNS servers in the same Grid,
	// and to external DNS servers.
	EnableDdns *bool `json:"enable_ddns,omitempty"`

	// Determines whether a discovery is enabled or not for this network container.
	// When this is set to False, the network container discovery is disabled.
	EnableDiscovery *bool `json:"enable_discovery,omitempty"`

	// Determines if the discovery for the network container should be immediately
	// enabled.
	EnableImmediateDiscovery *bool `json:"enable_immediate_discovery,omitempty"`

	// The endpoints that provides data for the DHCP IPv6 Network Container.
	EndpointSources []*CiscoiseEndpoint `json:"endpoint_sources,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The timestamp when the last RIR registration update was sent.
	LastRirRegistrationUpdateSent *UnixTime `json:"last_rir_registration_update_sent,omitempty"`

	// Last RIR registration update status.
	LastRirRegistrationUpdateStatus string `json:"last_rir_registration_update_status,omitempty"`

	// This field contains the logic filters to be applied on the this network
	// container. This list corresponds to the match rules that are written to the
	// dhcpd configuration file.
	LogicFilterRules []*Logicfilterrule `json:"logic_filter_rules,omitempty"`

	// This field controls whether this object is synchronized with the Multi-Grid
	// Master. If this field is set to True, objects are not synchronized.
	MgmPrivate *bool `json:"mgm_private,omitempty"`

	// This field is assumed to be True unless filled by any conforming objects,
	// such as Network, IPv6 Network, Network Container, IPv6 Network Container,
	// and Network View. This value is set to False if mgm_private is set to True
	// in the parent object.
	MgmPrivateOverridable bool `json:"mgm_private_overridable,omitempty"`

	// The Microsoft Active Directory user related information.
	MsAdUserData *MsserverAduserData `json:"ms_ad_user_data,omitempty"`

	// The network address in IPv6 Address/CIDR format. For regular expression
	// searches, only the IPv6 Address portion is supported. Searches for the CIDR
	// portion is always an exact match. For example, both network containers
	// 16::0/28 and 26::0/24 are matched by expression '.6' and only 26::0/24 is
	// matched by '.6/24'.
	Network string `json:"network,omitempty"`

	// The network container to which this network belongs, if any.
	NetworkContainer string `json:"network_container,omitempty"`

	// The name of the network view in which this network resides.
	NetworkView *string `json:"network_view,omitempty"`

	// An array of DHCP option dhcpoption structs that lists the DHCP options
	// associated with the object.
	Options []*Dhcpoption `json:"options,omitempty"`

	// The port control blackout setting for this network container.
	PortControlBlackoutSetting *PropertiesBlackoutsetting `json:"port_control_blackout_setting,omitempty"`

	// Use this method to set or retrieve the preferred lifetime value of a DHCP
	// IPv6 Network Container object.
	PreferredLifetime *uint32 `json:"preferred_lifetime,omitempty"`

	// Remove subnets delete option. Determines whether all child objects should be
	// removed alongside with the IPv6 network container or child objects should be
	// assigned to another parental container. By default child objects are deleted
	// with this network container.
	RemoveSubnets bool `json:"remove_subnets,omitempty"`

	// Restarts the member service.
	RestartIfNeeded *bool `json:"restart_if_needed,omitempty"`

	// The registry (RIR) that allocated the IPv6 network container address space.
	Rir string `json:"rir,omitempty"`

	// The RIR organization associated with the IPv6 network container.
	RirOrganization *string `json:"rir_organization,omitempty"`

	// The RIR registration action.
	RirRegistrationAction string `json:"rir_registration_action,omitempty"`

	// The registration status of the IPv6 network container in RIR.
	RirRegistrationStatus string `json:"rir_registration_status,omitempty"`

	// If the field is set to True, the discovery blackout setting will be used for
	// port control blackout setting.
	SamePortControlDiscoveryBlackout *bool `json:"same_port_control_discovery_blackout,omitempty"`

	// Determines whether to send the RIR registration request.
	SendRirRequest *bool `json:"send_rir_request,omitempty"`

	// The DHCP IPv6 Network Container Cisco ISE subscribe settings.
	SubscribeSettings *CiscoiseSubscribesetting `json:"subscribe_settings,omitempty"`

	// Determines whether the network container is unmanaged or not.
	Unmanaged *bool `json:"unmanaged,omitempty"`

	// This field controls whether the DHCP server updates DNS when a DHCP lease is
	// renewed.
	UpdateDnsOnLeaseRenewal *bool `json:"update_dns_on_lease_renewal,omitempty"`

	// Use flag for: discovery_blackout_setting , port_control_blackout_setting,
	// same_port_control_discovery_blackout
	UseBlackoutSetting *bool `json:"use_blackout_setting,omitempty"`

	// Use flag for: ddns_domainname
	UseDdnsDomainname *bool `json:"use_ddns_domainname,omitempty"`

	// Use flag for: ddns_enable_option_fqdn
	UseDdnsEnableOptionFqdn *bool `json:"use_ddns_enable_option_fqdn,omitempty"`

	// Use flag for: ddns_generate_hostname
	UseDdnsGenerateHostname *bool `json:"use_ddns_generate_hostname,omitempty"`

	// Use flag for: ddns_ttl
	UseDdnsTtl *bool `json:"use_ddns_ttl,omitempty"`

	// Use flag for: discovery_basic_poll_settings
	UseDiscoveryBasicPollingSettings *bool `json:"use_discovery_basic_polling_settings,omitempty"`

	// Use flag for: domain_name_servers
	UseDomainNameServers *bool `json:"use_domain_name_servers,omitempty"`

	// Use flag for: enable_ddns
	UseEnableDdns *bool `json:"use_enable_ddns,omitempty"`

	// Use flag for: discovery_member , enable_discovery
	UseEnableDiscovery *bool `json:"use_enable_discovery,omitempty"`

	// Use flag for: logic_filter_rules
	UseLogicFilterRules *bool `json:"use_logic_filter_rules,omitempty"`

	// Use flag for: mgm_private
	UseMgmPrivate *bool `json:"use_mgm_private,omitempty"`

	// Use flag for: options
	UseOptions *bool `json:"use_options,omitempty"`

	// Use flag for: preferred_lifetime
	UsePreferredLifetime *bool `json:"use_preferred_lifetime,omitempty"`

	// Use flag for: subscribe_settings
	UseSubscribeSettings *bool `json:"use_subscribe_settings,omitempty"`

	// Use flag for: update_dns_on_lease_renewal
	UseUpdateDnsOnLeaseRenewal *bool `json:"use_update_dns_on_lease_renewal,omitempty"`

	// Use flag for: valid_lifetime
	UseValidLifetime *bool `json:"use_valid_lifetime,omitempty"`

	// Use flag for: zone_associations
	UseZoneAssociations *bool `json:"use_zone_associations,omitempty"`

	// The network container utilization in percentage.
	Utilization uint32 `json:"utilization,omitempty"`

	// Use this method to set or retrieve the valid lifetime value of a DHCP IPv6
	// Network Container object.
	ValidLifetime *uint32 `json:"valid_lifetime,omitempty"`

	// The list of zones associated with this network container.
	ZoneAssociations []*Zoneassociation `json:"zone_associations,omitempty"`
}

Ipv6NetworkContainer represents Infoblox object ipv6networkcontainer. A network can contain child networks. The network that contains child networks is called a network container. This object encapsulates an IPv6 network container object.

func (Ipv6NetworkContainer) ObjectType added in v2.4.0

func (Ipv6NetworkContainer) ObjectType() string

func (Ipv6NetworkContainer) ReturnFields added in v2.4.0

func (obj Ipv6NetworkContainer) ReturnFields() []string

type Ipv6dhcpoptiondefinition added in v2.4.0

type Ipv6dhcpoptiondefinition struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The code of a DHCP IPv6 option definition object. An option code number is
	// used to identify the DHCP option.
	Code *uint32 `json:"code,omitempty"`

	// The name of a DHCP IPv6 option definition object.
	Name *string `json:"name,omitempty"`

	// The space of a DHCP option definition object.
	Space *string `json:"space,omitempty"`

	// The data type of the Grid DHCP IPv6 option.
	Type string `json:"type,omitempty"`
}

Ipv6dhcpoptiondefinition represents Infoblox object ipv6dhcpoptiondefinition. An IPv6 option definition defines a DHCP IPv6 option within a specific IPv6 option space. A custom IPv6 option can be defined in the predefined DHCP IPv6 option space or in the user-defined vendor IPv6 option space. To define an IPv6 option, add the IPv6 option definition to the required IPv6 option space.

func (Ipv6dhcpoptiondefinition) ObjectType added in v2.4.0

func (Ipv6dhcpoptiondefinition) ObjectType() string

func (Ipv6dhcpoptiondefinition) ReturnFields added in v2.4.0

func (obj Ipv6dhcpoptiondefinition) ReturnFields() []string

type Ipv6dhcpoptionspace added in v2.4.0

type Ipv6dhcpoptionspace struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// A descriptive comment of a DHCP IPv6 option space object.
	Comment *string `json:"comment,omitempty"`

	// The enterprise number of a DHCP IPv6 option space object.
	EnterpriseNumber *uint32 `json:"enterprise_number,omitempty"`

	// The name of a DHCP IPv6 option space object.
	Name *string `json:"name,omitempty"`

	// The list of DHCP IPv6 option definition objects.
	OptionDefinitions []string `json:"option_definitions,omitempty"`
}

Ipv6dhcpoptionspace represents Infoblox object ipv6dhcpoptionspace. An IPv6 option space defines a namespace in which vendor IPv6 options can be defined. To define a specific vendor IPv6 option space, add an IPv6 option space to DHCP.

func (Ipv6dhcpoptionspace) ObjectType added in v2.4.0

func (Ipv6dhcpoptionspace) ObjectType() string

func (Ipv6dhcpoptionspace) ReturnFields added in v2.4.0

func (obj Ipv6dhcpoptionspace) ReturnFields() []string

type Ipv6filteroption added in v2.4.0

type Ipv6filteroption struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Determines if apply as class is enabled or not. If this flag is set to
	// "true" the filter is treated as global DHCP class, e.g it is written to
	// DHCPv6 configuration file even if it is not present in any DHCP range.
	ApplyAsClass *bool `json:"apply_as_class,omitempty"`

	// The descriptive comment of a DHCP IPv6 filter option object.
	Comment *string `json:"comment,omitempty"`

	// The conditional expression of a DHCP IPv6 filter option object.
	Expression *string `json:"expression,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// Determines the lease time of a DHCP IPv6 filter option object.
	LeaseTime *uint32 `json:"lease_time,omitempty"`

	// The name of a DHCP IPv6 option filter object.
	Name *string `json:"name,omitempty"`

	// An array of DHCP option dhcpoption structs that lists the DHCP options
	// associated with the object.
	OptionList []*Dhcpoption `json:"option_list,omitempty"`

	// The option space of a DHCP IPv6 filter option object.
	OptionSpace *string `json:"option_space,omitempty"`
}

Ipv6filteroption represents Infoblox object ipv6filteroption. In the ISC DHCP terms, it defines a class of clients that match a particular (option, value) pair. To define an option filter, add an Option to the IPv6 DHCP Filter object.

func (Ipv6filteroption) ObjectType added in v2.4.0

func (Ipv6filteroption) ObjectType() string

func (Ipv6filteroption) ReturnFields added in v2.4.0

func (obj Ipv6filteroption) ReturnFields() []string

type Ipv6fixedaddresstemplate added in v2.4.0

type Ipv6fixedaddresstemplate struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// A descriptive comment of an IPv6 fixed address template object.
	Comment *string `json:"comment,omitempty"`

	// Domain name of the IPv6 fixed address template object.
	DomainName *string `json:"domain_name,omitempty"`

	// The IPv6 addresses of DNS recursive name servers to which the DHCP client
	// can send name resolution requests. The DHCP server includes this information
	// in the DNS Recursive Name Server option in Advertise, Rebind,
	// Information-Request, and Reply messages.
	DomainNameServers []string `json:"domain_name_servers,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// This field contains the logic filters to be applied to this IPv6 fixed
	// address. This list corresponds to the match rules that are written to the
	// DHCPv6 configuration file.
	LogicFilterRules []*Logicfilterrule `json:"logic_filter_rules,omitempty"`

	// Name of an IPv6 fixed address template object.
	Name *string `json:"name,omitempty"`

	// The number of IPv6 addresses for this fixed address.
	NumberOfAddresses *uint32 `json:"number_of_addresses,omitempty"`

	// The start address offset for this IPv6 fixed address.
	Offset *uint32 `json:"offset,omitempty"`

	// An array of DHCP option dhcpoption structs that lists the DHCP options
	// associated with the object.
	Options []*Dhcpoption `json:"options,omitempty"`

	// The preferred lifetime value for this DHCP IPv6 fixed address template
	// object.
	PreferredLifetime *uint32 `json:"preferred_lifetime,omitempty"`

	// Use flag for: domain_name
	UseDomainName *bool `json:"use_domain_name,omitempty"`

	// Use flag for: domain_name_servers
	UseDomainNameServers *bool `json:"use_domain_name_servers,omitempty"`

	// Use flag for: logic_filter_rules
	UseLogicFilterRules *bool `json:"use_logic_filter_rules,omitempty"`

	// Use flag for: options
	UseOptions *bool `json:"use_options,omitempty"`

	// Use flag for: preferred_lifetime
	UsePreferredLifetime *bool `json:"use_preferred_lifetime,omitempty"`

	// Use flag for: valid_lifetime
	UseValidLifetime *bool `json:"use_valid_lifetime,omitempty"`

	// The valid lifetime value for this DHCP IPv6 fixed address template object.
	ValidLifetime *uint32 `json:"valid_lifetime,omitempty"`
}

Ipv6fixedaddresstemplate represents Infoblox object ipv6fixedaddresstemplate. The IPv6 fixed address template used to create IPv6 fixed address objects in a quick and consistent way. An IPv6 fixed address object created from an IPv6 fixed address template will inherit most properties defined in the IPv6 fixed address template object; therefor, most of the IPv6 fixed address template properties are the same as the fixed address object properties.

func (Ipv6fixedaddresstemplate) ObjectType added in v2.4.0

func (Ipv6fixedaddresstemplate) ObjectType() string

func (Ipv6fixedaddresstemplate) ReturnFields added in v2.4.0

func (obj Ipv6fixedaddresstemplate) ReturnFields() []string

type Ipv6networksetting added in v2.4.0

type Ipv6networksetting struct {
	// IPv6 address.
	Address string `json:"address,omitempty"`

	// IPv6 CIDR
	Cidr uint32 `json:"cidr,omitempty"`

	// Gateway address.
	Gateway string `json:"gateway,omitempty"`
}

Ipv6networksetting represents Infoblox struct ipv6networksetting

type Ipv6rangetemplate added in v2.4.0

type Ipv6rangetemplate struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Determines whether the IPv6 DHCP range template can be used to create
	// network objects in a cloud-computing deployment.
	CloudApiCompatible *bool `json:"cloud_api_compatible,omitempty"`

	// The IPv6 DHCP range template descriptive comment.
	Comment *string `json:"comment,omitempty"`

	// The vConnector member that the object should be delegated to when created
	// from the IPv6 DHCP range template. I assume that vConnector refers to VMware
	// vConnector.
	DelegatedMember *Dhcpmember `json:"delegated_member,omitempty"`

	// These are ranges of IPv6 addresses that the appliance does not use to assign
	// to clients. You can use these excluded addresses as static IPv6 addresses.
	// They contain the start and end addresses of the excluded range, and
	// optionally, information about this excluded range.
	Exclude []*Exclusionrangetemplate `json:"exclude,omitempty"`

	// This field contains the logic filters to be applied on this IPv6 range. This
	// list corresponds to the match rules that are written to the DHCPv6
	// configuration file.
	LogicFilterRules []*Logicfilterrule `json:"logic_filter_rules,omitempty"`

	// The member that will provide service for the IPv6 DHCP range. Set
	// {ipv6rangetemplate:ipv6rangetemplate} to 'MEMBER' if you want the server
	// specified here to serve the range. For searching by this field, use an HTTP
	// method that contains a body (POST or PUT) with MS DHCP server structure
	// msdhcpserver and the request should have option _method=GET.
	Member *Dhcpmember `json:"member,omitempty"`

	// Name of the IPv6 DHCP range template.
	Name *string `json:"name,omitempty"`

	// The number of addresses for the IPv6 DHCP range.
	NumberOfAddresses *uint32 `json:"number_of_addresses,omitempty"`

	// The start address offset for the IPv6 DHCP range.
	Offset *uint32 `json:"offset,omitempty"`

	// This field contains the Option filters to be applied to this IPv6 range. The
	// appliance uses the matching rules of these filters to select the address
	// range from which it assigns a lease.
	OptionFilterRules []*Filterrule `json:"option_filter_rules,omitempty"`

	// Determines whether the leases are kept in Recycle Bin until one week after
	// expiry. If this is set to False, the leases are permanently deleted.
	RecycleLeases *bool `json:"recycle_leases,omitempty"`

	// The type of server that is going to serve the IPv6 DHCP range.
	ServerAssociationType string `json:"server_association_type,omitempty"`

	// Use flag for: logic_filter_rules
	UseLogicFilterRules *bool `json:"use_logic_filter_rules,omitempty"`

	// Use flag for: recycle_leases
	UseRecycleLeases *bool `json:"use_recycle_leases,omitempty"`
}

Ipv6rangetemplate represents Infoblox object ipv6rangetemplate. The IPv6 range template used to create an IPv6 range object in a quick and consistent way. The DHCP IPv6 range created from the DHCP IPv6 range template will inherit the properties defined in this template.

func (Ipv6rangetemplate) ObjectType added in v2.4.0

func (Ipv6rangetemplate) ObjectType() string

func (Ipv6rangetemplate) ReturnFields added in v2.4.0

func (obj Ipv6rangetemplate) ReturnFields() []string

type Ipv6setting added in v2.4.0

type Ipv6setting struct {
	// Determines if IPv6 networking should be enabled.
	Enabled bool `json:"enabled,omitempty"`

	// IPv6 address.
	VirtualIp string `json:"virtual_ip,omitempty"`

	// IPv6 cidr prefix
	CidrPrefix uint32 `json:"cidr_prefix,omitempty"`

	// Gateway address.
	Gateway string `json:"gateway,omitempty"`

	// Determines if automatic router configuration should be enabled.
	AutoRouterConfigEnabled bool `json:"auto_router_config_enabled,omitempty"`

	// The identifier for the VLAN. Valid values are from 1 to 4096.
	VlanId uint32 `json:"vlan_id,omitempty"`

	// Determines if the current address is the primary VLAN address or not.
	Primary bool `json:"primary,omitempty"`

	// The DSCP (Differentiated Services Code Point) value determines relative
	// priorities for the type of services on your network. The appliance
	// implements QoS (Quality of Service) rules based on this configuration. Valid
	// values are from 0 to 63.
	Dscp uint32 `json:"dscp,omitempty"`

	// Use flag for: dscp
	UseDscp bool `json:"use_dscp,omitempty"`
}

Ipv6setting represents Infoblox struct ipv6setting

type Kerberoskey added in v2.4.0

type Kerberoskey struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The Kerberos domain name.
	Domain string `json:"domain,omitempty"`

	// The Kerberos key encryption type.
	Enctype string `json:"enctype,omitempty"`

	// Determines whether the Kerberos key is assigned to the Grid or Grid member.
	InUse bool `json:"in_use,omitempty"`

	// The list of hostnames and services of Grid members where the key is assigned
	// or Grid/DHCP4 or Grid/DHCP6 or Grid/DNS.
	Members []string `json:"members,omitempty"`

	// The principal of the Kerberos key object.
	Principal string `json:"principal,omitempty"`

	// The timestamp of the Kerberos key upload operation.
	UploadTimestamp *UnixTime `json:"upload_timestamp,omitempty"`

	// The Kerberos key version number (KVNO).
	Version uint32 `json:"version,omitempty"`
}

Kerberoskey represents Infoblox object kerberoskey. GSS-TSIG (Generic Security Service Algorithm for Secret Key Transaction) is used to authenticate DDNS updates. It is a modified form of TSIG authentication that uses Kerberos v5 authentication system.

func (Kerberoskey) ObjectType added in v2.4.0

func (Kerberoskey) ObjectType() string

func (Kerberoskey) ReturnFields added in v2.4.0

func (obj Kerberoskey) ReturnFields() []string

type Lan2portsetting added in v2.4.0

type Lan2portsetting struct {
	// If the 'enabled' field is set to True, this defines the virtual router ID
	// for the LAN2 port.
	VirtualRouterId uint32 `json:"virtual_router_id,omitempty"`

	// If this field is set to True, then it has its own IP settings. Otherwise,
	// port redundancy mechanism is used, in which the LAN1 and LAN2 ports share
	// the same IP settings for failover purposes.
	Enabled bool `json:"enabled,omitempty"`

	// If the 'enable' field is set to True, this defines IPv4 network settings for
	// LAN2.
	NetworkSetting *SettingNetwork `json:"network_setting,omitempty"`

	// If the 'enable' field is set to True, this defines IPv6 network settings for
	// the LAN2 port.
	V6NetworkSetting *Ipv6setting `json:"v6_network_setting,omitempty"`

	// Determines if NIC failover is enabled or not.
	NicFailoverEnabled bool `json:"nic_failover_enabled,omitempty"`

	// Prefer LAN1 when available.
	NicFailoverEnablePrimary bool `json:"nic_failover_enable_primary,omitempty"`

	// Default route failover for LAN1 and LAN2.
	DefaultRouteFailoverEnabled bool `json:"default_route_failover_enabled,omitempty"`
}

Lan2portsetting represents Infoblox struct lan2portsetting

type Lanhaportsetting added in v2.4.0

type Lanhaportsetting struct {
	// Public IPv4 address for the LAN1 interface.
	MgmtLan string `json:"mgmt_lan,omitempty"`

	// Public IPv6 address for the LAN1 interface.
	MgmtIpv6addr string `json:"mgmt_ipv6addr,omitempty"`

	// HA IP address.
	HaIpAddress string `json:"ha_ip_address,omitempty"`

	// Physical port settings for the LAN interface.
	LanPortSetting *Physicalportsetting `json:"lan_port_setting,omitempty"`

	// Physical port settings for the HA interface.
	HaPortSetting *Physicalportsetting `json:"ha_port_setting,omitempty"`
}

Lanhaportsetting represents Infoblox struct lanhaportsetting

type LdapAuthService added in v2.4.0

type LdapAuthService struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The LDAP descriptive comment.
	Comment *string `json:"comment,omitempty"`

	// Determines if the LDAP authentication service is disabled.
	Disable *bool `json:"disable,omitempty"`

	// The mapping LDAP fields to extensible attributes.
	EaMapping []*LdapEamapping `json:"ea_mapping,omitempty"`

	// The name of the LDAP attribute that defines group membership.
	LdapGroupAttribute *string `json:"ldap_group_attribute,omitempty"`

	// The LDAP group authentication type.
	LdapGroupAuthenticationType string `json:"ldap_group_authentication_type,omitempty"`

	// The LDAP userid attribute that is used for search.
	LdapUserAttribute *string `json:"ldap_user_attribute,omitempty"`

	// The LDAP authentication mode.
	Mode string `json:"mode,omitempty"`

	// The LDAP authentication service name.
	Name *string `json:"name,omitempty"`

	// The period of time in seconds to wait before trying to contact a LDAP server
	// that has been marked as 'DOWN'.
	RecoveryInterval *uint32 `json:"recovery_interval,omitempty"`

	// The maximum number of LDAP authentication attempts.
	Retries *uint32 `json:"retries,omitempty"`

	// The starting point of the LDAP search.
	SearchScope string `json:"search_scope,omitempty"`

	// The list of LDAP servers used for authentication.
	Servers []*LdapServer `json:"servers,omitempty"`

	// The LDAP authentication timeout in seconds.
	Timeout *uint32 `json:"timeout,omitempty"`
}

LdapAuthService represents Infoblox object ldap_auth_service. LDAP (Lightweight Directory Access Protocol) is an internet protocol for accessing distributed directory services. The appliance can authenticate admin accounts by verifying user names and passwords against LDAP. This object is used to configure the LDAP authentication service.

func (LdapAuthService) ObjectType added in v2.4.0

func (LdapAuthService) ObjectType() string

func (LdapAuthService) ReturnFields added in v2.4.0

func (obj LdapAuthService) ReturnFields() []string

type LdapEamapping added in v2.4.0

type LdapEamapping struct {
	// The LDAP attribute name.
	Name string `json:"name,omitempty"`

	// The name of the extensible attribute definition object to which the LDAP
	// attribute is mapped.
	MappedEa string `json:"mapped_ea,omitempty"`
}

LdapEamapping represents Infoblox struct ldap_eamapping

type LdapServer added in v2.4.0

type LdapServer struct {
	// The IP address or FQDN of the LDAP server.
	Address string `json:"address,omitempty"`

	// The authentication type for the LDAP server.
	AuthenticationType string `json:"authentication_type,omitempty"`

	// The base DN for the LDAP server.
	BaseDn string `json:"base_dn,omitempty"`

	// The user password for authentication.
	BindPassword string `json:"bind_password,omitempty"`

	// The user DN for authentication.
	BindUserDn string `json:"bind_user_dn,omitempty"`

	// The LDAP descriptive comment.
	Comment string `json:"comment,omitempty"`

	// Determines if the LDAP server is disabled.
	Disable bool `json:"disable,omitempty"`

	// The LDAP server encryption type.
	Encryption string `json:"encryption,omitempty"`

	// The LDAP server port.
	Port uint32 `json:"port,omitempty"`

	// Determines if the connection via the MGMT interface is allowed.
	UseMgmtPort bool `json:"use_mgmt_port,omitempty"`

	// The LDAP server version.
	Version string `json:"version,omitempty"`
}

LdapServer represents Infoblox struct ldap_server

type Lease added in v2.4.0

type Lease struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The IPv4 Address or IPv6 Address of the lease.
	Address string `json:"address,omitempty"`

	// The billing_class value of a DHCP Lease object. This field specifies the
	// class to which this lease is currently billed. This field is for IPv4 leases
	// only.
	BillingClass string `json:"billing_class,omitempty"`

	// The binding state for the current lease. Following are some of the values
	// this field can be set to: * ABANDONED: The Infoblox appliance cannot lease
	// this IP address because the appliance received a response when it pinged the
	// address. * ACTIVE: The lease is currently in use by a DHCP client. *
	// EXPIRED: The lease was in use, but the DHCP client never renewed it, so it
	// is no longer valid. * FREE: The lease is available for clients to use. *
	// RELEASED: The DHCP client returned the lease to the appliance.
	BindingState string `json:"binding_state,omitempty"`

	// The client_hostname of a DHCP Lease object. This field specifies the host
	// name that the DHCP client sends to the Infoblox appliance using DHCP option
	// 12.
	ClientHostname string `json:"client_hostname,omitempty"`

	// The CLTT (Client Last Transaction Time) value of a DHCP Lease object. This
	// field specifies the time of the last transaction with the DHCP client for
	// this lease.
	Cltt *UnixTime `json:"cltt,omitempty"`

	// The discovered data for this lease.
	DiscoveredData *Discoverydata `json:"discovered_data,omitempty"`

	// The end time value of a DHCP Lease object. This field specifies the time
	// when a lease ended.
	Ends *UnixTime `json:"ends,omitempty"`

	// DHCP fingerprint for the lease.
	Fingerprint string `json:"fingerprint,omitempty"`

	// The hardware type of a DHCP Lease object. This field specifies the MAC
	// address of the network interface on which the lease will be used. This field
	// is for IPv4 leases only.
	Hardware string `json:"hardware,omitempty"`

	// The DUID value for this lease. This field is only applicable for IPv6
	// leases.
	Ipv6Duid string `json:"ipv6_duid,omitempty"`

	// The interface ID of an IPv6 address that the Infoblox appliance leased to
	// the DHCP client. This field is for IPv6 leases only.
	Ipv6Iaid string `json:"ipv6_iaid,omitempty"`

	// The preferred lifetime value of an IPv6 address that the Infoblox appliance
	// leased to the DHCP client. This field is for IPv6 leases only.
	Ipv6PreferredLifetime uint32 `json:"ipv6_preferred_lifetime,omitempty"`

	// Prefix bits for this lease. This field is for IPv6 leases only.
	Ipv6PrefixBits uint32 `json:"ipv6_prefix_bits,omitempty"`

	// This flag reflects whether the MAC address for this lease is invalid.
	IsInvalidMac bool `json:"is_invalid_mac,omitempty"`

	// The Microsoft Active Directory user related information.
	MsAdUserData *MsserverAduserData `json:"ms_ad_user_data,omitempty"`

	// The network, in "network/netmask" format, with which this lease is
	// associated.
	Network string `json:"network,omitempty"`

	// The name of the network view in which this lease resides.
	NetworkView string `json:"network_view,omitempty"`

	// If this field is set to True, the lease does not have an end time.
	NeverEnds bool `json:"never_ends,omitempty"`

	// If this field is set to True, the lease does not have a start time.
	NeverStarts bool `json:"never_starts,omitempty"`

	// The subsequent binding state when the current lease expires. This field is
	// for IPv4 leases only. Following are some of the values this field can be set
	// to: * ABANDONED: The Infoblox appliance cannot lease this IP address because
	// the appliance received a response when it pinged the address. * ACTIVE: The
	// lease is currently in use by a DHCP client. * EXPIRED: The lease was in use,
	// but the DHCP client never renewed it, so it is no longer valid. * FREE: The
	// lease is available for clients to use. * RELEASED: The DHCP client returned
	// the lease to the appliance.
	NextBindingState string `json:"next_binding_state,omitempty"`

	// The list of commands to be executed when the lease is granted.
	OnCommit string `json:"on_commit,omitempty"`

	// The list of commands to be executed when the lease expires.
	OnExpiry string `json:"on_expiry,omitempty"`

	// The list of commands to be executed when the lease is released.
	OnRelease string `json:"on_release,omitempty"`

	// The option value of a DHCP Lease object. This field specifies the agent
	// circuit ID and remote ID sent by a DHCP relay agent in DHCP option 82. This
	// field is for IPv4 leases only.
	Option string `json:"option,omitempty"`

	// This field determines whether the lease is an IPv4 or IPv6 address.
	Protocol string `json:"protocol,omitempty"`

	// This field represents the "Remote ID" sub-option of DHCP option 82. Remote
	// ID can be in ASCII form (e.g. “"abcd"“) or in colon-separated HEX form
	// (e.g. “1:2:ab:cd“). HEX representation is used only when the sub-option
	// value contains unprintable characters. If a remote ID sub-option value is in
	// ASCII form, it is always enclosed in quotes to prevent ambiguous values
	// (e.g. “"10:20"“ - ASCII 5-byte string; “10:20“ - HEX 2-byte value). *
	// ASCII representation is used if the remote ID sub-option contains only
	// printable ASCII characters (ASCII characters in range “x20-0x7E“). * The
	// backslash symbol (“\“) is used as an escape symbol to escape the quote
	// symbol (“"“) in an ASCII string. * Double backslashes (“\\“) are used to
	// represent the backslash symbol (“\“) in an ASCII string. * HEX
	// representation is used only when the remote ID sub-option value contains
	// unprintable characters and is normalized as follows: * starting zero is
	// removed from digits: “1“, “a“ - Valid; “01“, “0a“ - Invalid; *
	// lowercase characters are used for symbols: “fa“ - Valid; “FA“ - Invalid.
	// NIOS does not support the convertion between HEX and ASCII formats. Searches
	// are performed using the exact same format and value as the sub-option is
	// represented. Query examples assume the following leases are stored in the
	// database: .. tabularcolumns:: |p{1in}|p{3in}|p{2in}| =========
	// ========================== ============================ Number Option field
	// Extracted remote ID field ========= ==========================
	// ============================ Lease01 agent.remote-id= "00152654358700"
	// "00152654358700" agent.circuit-id= "BX1-PORT-003" Lease02
	// agent.remote-id="Dhcp "Dhcp Relay 10" Relay 10" agent.circuit-id="Port008"
	// Lease03 agent.remote-id="00:01:02" "00:01:02" Lease04 agent.remote-id=0:1:2
	// 0:1:2 Lease05 agent.remote-id=02:03 2:3 Lease06 agent.remote-id=10:20 10:20
	// Lease07 agent.circuit-id= "no-remote-id" =========
	// ========================== ============================ Expected results: ..
	// tabularcolumns:: |p{1.5in}|p{1.5in}|p{3in}| =========================
	// ==================== ============================= Query Returned leases
	// Comments ========================= ====================
	// ============================= remote_id=01:02 None EXACT query. No results
	// are expected. remote_id="Dhcp Relay 10" Lease02 EXACT query for an ASCII
	// value. remote_id=0:1:2 Lease04 EXACT query for a HEX value.
	// remote_id=00:01:02 None EXACT query for a HEX value. No results are expected
	// as the search value is not normalized to the same format used in the
	// database. remote_id~=10 Lease02, Lease06 REGEX query. remote_id~=^".*1
	// Lease01, Lease02, REGEX query. Only ASCII Lease03 values are expected due to
	// the starting quote (“"“) in the search value. remote_id~=^[^"]*2 Lease04,
	// Lease05, REGEX query. Only HEX values Lease06 are expected as the starting
	// quote (“"“) is excluded from the search value. remote_id="" None EXACT
	// query. No results are expected as no leases that contain an empty remote ID
	// value exist in the database. ID value in the database. remote_id~=""
	// Lease01, Lease02, REGEX query. This query is Lease03, Lease04, expected to
	// match any Lease05, Lease06 lease that contain remote ID set to any value.
	// ========================= ==================== =============================
	// **NOTE:** Lease07 is not expected to be returned when searching for the
	// remote ID sub-option.
	RemoteId string `json:"remote_id,omitempty"`

	// The IP address of the server that sends an active lease to a client.
	ServedBy string `json:"served_by,omitempty"`

	// The host name of the Grid member or Microsoft DHCP server that issues the
	// lease.
	ServerHostName string `json:"server_host_name,omitempty"`

	// The start time of a DHCP Lease object. This field specifies the time when
	// the lease starts.
	Starts *UnixTime `json:"starts,omitempty"`

	// The TSFP (Time Sent From Partner) value of a DHCP Lease object. This field
	// specifies the time that the current lease state ends, from the point of view
	// of a remote DHCP failover peer. This field is for IPv4 leases only.
	Tsfp *UnixTime `json:"tsfp,omitempty"`

	// The TSTP (Time Sent To Partner) value of a DHCP Lease object. This field
	// specifies the time that the current lease state ends, from the point of view
	// of a local DHCP failover peer. This field is for IPv4 leases only.
	Tstp *UnixTime `json:"tstp,omitempty"`

	// The UID (User ID) value of a DHCP Lease object. This field specifies the
	// client identifier that the DHCP client sends the Infoblox appliance (in DHCP
	// option 61) when it acquires the lease. Not all DHCP clients send a UID. This
	// field is for IPv4 leases only.
	Uid string `json:"uid,omitempty"`

	// The user name that the server has associated with a DHCP Lease object.
	Username string `json:"username,omitempty"`

	// The variable value of a DHCP Lease object. This field keeps all variables
	// related to the DDNS update of the DHCP lease. The variables related to the
	// DDNS updates of the DHCP lease. The variables can be one of the following:
	// ddns-text: The ddns-text variable is used to record the value of the
	// client's TXT identification record when the interim DDNS update style has
	// been used to update the DNS service for a particular lease. ddns-fwd-name:
	// When a DDNS update was successfully completed, the ddns-fwd-name variable
	// records the value of the name used when the client's A record was updated.
	// The server may have used this name when it updated the client's PTR record.
	// ddns-client-fqdn: If the server is configured to use the interim DDNS update
	// style and is also configured to allow clients to update their own FQDNs, the
	// ddns-client-fqdn variable records the name that the client used when it
	// updated its own FQDN. This is also the name that the server used to update
	// the client's PTR record. ddns-rev-name: If the server successfully updates
	// the client's PTR record, this variable will record the name that the DHCP
	// server used for the PTR record. The name to which the PTR record points will
	// be either the ddns-fwd-name or the ddns-client-fqdn.
	Variable string `json:"variable,omitempty"`
}

Lease represents Infoblox object lease. A DHCP lease is an IP address that the Infoblox appliance assigns to a DHCP client for a certain amount of time. When the appliance assigns a lease, it also assignes other information, such as the time when the appliance issued or freed an IP address, the MAC address and host name of the client that received the IP address, and the Grid member that supplied the lease. The DHCP Lease object allows the appliance to store and correlate DHCP lease information over the lifetime of a lease.

func (Lease) ObjectType added in v2.4.0

func (Lease) ObjectType() string

func (Lease) ReturnFields added in v2.4.0

func (obj Lease) ReturnFields() []string

type License

type License struct {
	IBBase `json:"-"`

	Ref              string `json:"_ref,omitempty"`
	ExpirationStatus string `json:"expiration_status,omitempty"`
	ExpiryDate       int    `json:"expiry_date,omitempty"`
	HwID             string `json:"hwid,omitempty"`
	Key              string `json:"key,omitempty"`
	Kind             string `json:"kind,omitempty"`
	Limit            string `json:"limit,omitempty"`
	LimitContext     string `json:"limit_context,omitempty"`
	Licensetype      string `json:"type,omitempty"`
	// contains filtered or unexported fields
}

License represents license wapi object

func NewGridLicense

func NewGridLicense(license License) *License

func NewLicense

func NewLicense(license License) *License

func (License) ObjectType added in v2.4.0

func (l License) ObjectType() string

type LicenseGridwide added in v2.4.0

type LicenseGridwide struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The license expiration status.
	ExpirationStatus string `json:"expiration_status,omitempty"`

	// The expiration timestamp of the license.
	ExpiryDate *UnixTime `json:"expiry_date,omitempty"`

	// The license string.
	Key string `json:"key,omitempty"`

	// The license limit value.
	Limit string `json:"limit,omitempty"`

	// The license limit context.
	LimitContext string `json:"limit_context,omitempty"`

	// The license type.
	Type string `json:"type,omitempty"`
}

LicenseGridwide represents Infoblox object license:gridwide. This object represents the Grid-wide license.

func (LicenseGridwide) ObjectType added in v2.4.0

func (LicenseGridwide) ObjectType() string

func (LicenseGridwide) ReturnFields added in v2.4.0

func (obj LicenseGridwide) ReturnFields() []string

type LocaluserAuthservice added in v2.4.0

type LocaluserAuthservice struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The local user authentication service comment.
	Comment string `json:"comment,omitempty"`

	// Flag that indicates whether the local user authentication service is enabled
	// or not.
	Disabled bool `json:"disabled,omitempty"`

	// The name of the local user authentication service.
	Name string `json:"name,omitempty"`
}

LocaluserAuthservice represents Infoblox object localuser:authservice. The object represents a local authentication service for authenticating users against the local database.

func (LocaluserAuthservice) ObjectType added in v2.4.0

func (LocaluserAuthservice) ObjectType() string

func (LocaluserAuthservice) ReturnFields added in v2.4.0

func (obj LocaluserAuthservice) ReturnFields() []string

type Lock

type Lock interface {
	Lock() error
	UnLock(force bool) error
}

type Logicfilterrule added in v2.4.0

type Logicfilterrule struct {
	// The filter name.
	Filter string `json:"filter,omitempty"`

	// The filter type. Valid values are: * MAC * NAC * Option
	Type string `json:"type,omitempty"`
}

Logicfilterrule represents Infoblox struct logicfilterrule

type Lomnetworkconfig added in v2.4.0

type Lomnetworkconfig struct {
	// The IPv4 Address of the Grid member.
	Address string `json:"address,omitempty"`

	// The default gateway for the Grid member.
	Gateway string `json:"gateway,omitempty"`

	// The subnet mask for the Grid member.
	SubnetMask string `json:"subnet_mask,omitempty"`

	// Determines if the physical node supports LOM or not.
	IsLomCapable bool `json:"is_lom_capable,omitempty"`
}

Lomnetworkconfig represents Infoblox struct lomnetworkconfig

type Lomuser added in v2.4.0

type Lomuser struct {
	// The LOM user name.
	Name string `json:"name,omitempty"`

	// The LOM user password.
	Password string `json:"password,omitempty"`

	// The LOM user role which specifies the list of actions that are allowed for
	// the user.
	Role string `json:"role,omitempty"`

	// Determines whether the LOM user is disabled.
	Disable bool `json:"disable,omitempty"`

	// The descriptive comment for the LOM user.
	Comment string `json:"comment,omitempty"`
}

Lomuser represents Infoblox struct lomuser

type MACFilterAddress added in v2.4.0

type MACFilterAddress struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The absolute UNIX time (in seconds) since the address was last
	// authenticated.
	AuthenticationTime *UnixTime `json:"authentication_time,omitempty"`

	// Comment for the MAC filter address; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// The absolute UNIX time (in seconds) until the address expires.
	ExpirationTime *UnixTime `json:"expiration_time,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// Name of the MAC filter to which this address belongs.
	Filter *string `json:"filter,omitempty"`

	// DHCP fingerprint for the address.
	Fingerprint string `json:"fingerprint,omitempty"`

	// Guest custom field 1.
	GuestCustomField1 *string `json:"guest_custom_field1,omitempty"`

	// Guest custom field 2.
	GuestCustomField2 *string `json:"guest_custom_field2,omitempty"`

	// Guest custom field 3.
	GuestCustomField3 *string `json:"guest_custom_field3,omitempty"`

	// Guest custom field 4.
	GuestCustomField4 *string `json:"guest_custom_field4,omitempty"`

	// Guest e-mail.
	GuestEmail *string `json:"guest_email,omitempty"`

	// Guest first name.
	GuestFirstName *string `json:"guest_first_name,omitempty"`

	// Guest last name.
	GuestLastName *string `json:"guest_last_name,omitempty"`

	// Guest middle name.
	GuestMiddleName *string `json:"guest_middle_name,omitempty"`

	// Guest phone number.
	GuestPhone *string `json:"guest_phone,omitempty"`

	// Determines if the user has been authenticated or not.
	IsRegisteredUser bool `json:"is_registered_user,omitempty"`

	// MAC Address.
	Mac *string `json:"mac,omitempty"`

	// Determines if MAC address expiration is enabled or disabled.
	NeverExpires *bool `json:"never_expires,omitempty"`

	// Reserved for future use.
	ReservedForInfoblox *string `json:"reserved_for_infoblox,omitempty"`

	// Username for authenticated DHCP purposes.
	Username *string `json:"username,omitempty"`
}

MACFilterAddress represents Infoblox object macfilteraddress. MAC filter address is part of the MAC filter.

func (MACFilterAddress) ObjectType added in v2.4.0

func (MACFilterAddress) ObjectType() string

func (MACFilterAddress) ReturnFields added in v2.4.0

func (obj MACFilterAddress) ReturnFields() []string

type Mastergrid added in v2.4.0

type Mastergrid struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The domain name or IP address for the Master Grid.
	Address *string `json:"address,omitempty"`

	// Determines if the sub-grid is currently disabled.
	ConnectionDisabled bool `json:"connection_disabled,omitempty"`

	// The timestamp that indicates when the connection to the Master Grid was
	// established.
	ConnectionTimestamp *UnixTime `json:"connection_timestamp,omitempty"`

	// The detached flag for the Master Grid.
	Detached bool `json:"detached,omitempty"`

	// Determines if the Master Grid is enabled.
	Enable *bool `json:"enable,omitempty"`

	// The flag shows if the Grid has joined the Master Grid.
	Joined bool `json:"joined,omitempty"`

	// The Master Grid's last event.
	LastEvent string `json:"last_event,omitempty"`

	// The details of the Master Grid's last event.
	LastEventDetails string `json:"last_event_details,omitempty"`

	// The timestamp or the last synchronization operation with the Master Grid.
	LastSyncTimestamp *UnixTime `json:"last_sync_timestamp,omitempty"`

	// The Master Grid port to which the Grid connects.
	Port *uint32 `json:"port,omitempty"`

	// The Master Grid's status.
	Status string `json:"status,omitempty"`

	// The flag shows if the MGMT port was used to join the Grid.
	UseMgmtPort bool `json:"use_mgmt_port,omitempty"`
}

Mastergrid represents Infoblox object mastergrid. This object represents the Master Grid. The Master Grid object is automatically generated when a Grid successfully joins the Master Grid.

func (Mastergrid) ObjectType added in v2.4.0

func (Mastergrid) ObjectType() string

func (Mastergrid) ReturnFields added in v2.4.0

func (obj Mastergrid) ReturnFields() []string

type Member

type Member struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The active server of a Grid member.
	ActivePosition string `json:"active_position,omitempty"`

	// The additional IP list of a Grid member. This list contains additional
	// interface information that can be used at the member level. Note that
	// interface structure(s) with interface type set to 'MGMT' are not supported.
	AdditionalIpList []*Interface `json:"additional_ip_list,omitempty"`

	// Member level settings for automated traffic capture.
	AutomatedTrafficCaptureSetting *SettingAutomatedtrafficcapture `json:"automated_traffic_capture_setting,omitempty"`

	// The BGP configuration for anycast for a Grid member.
	BgpAs []*Bgpas `json:"bgp_as,omitempty"`

	// A descriptive comment of the Grid member.
	Comment *string `json:"comment,omitempty"`

	// Address configuration type.
	ConfigAddrType string `json:"config_addr_type,omitempty"`

	// CSP portal on-prem host access key
	CspAccessKey []string `json:"csp_access_key,omitempty"`

	// csp setting at member level
	CspMemberSetting *MemberCspmembersetting `json:"csp_member_setting,omitempty"`

	// DNS resolver setting for member.
	DnsResolverSetting *SettingDnsresolver `json:"dns_resolver_setting,omitempty"`

	// The DSCP (Differentiated Services Code Point) value.
	Dscp *uint32 `json:"dscp,omitempty"`

	// The email setting for member.
	EmailSetting *SettingEmail `json:"email_setting,omitempty"`

	// If set to True, the member has two physical nodes (HA pair).
	EnableHa *bool `json:"enable_ha,omitempty"`

	// Determines if the LOM functionality is enabled or not.
	EnableLom *bool `json:"enable_lom,omitempty"`

	// Determines if the member will redirect GUI connections to the Grid Master or
	// not.
	EnableMemberRedirect *bool `json:"enable_member_redirect,omitempty"`

	// If set to True and the member object is a Grid Master Candidate, then
	// read-only API access is enabled.
	EnableRoApiAccess *bool `json:"enable_ro_api_access,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The list of external syslog backup servers.
	ExternalSyslogBackupServers []*Extsyslogbackupserver `json:"external_syslog_backup_servers,omitempty"`

	// Determines if external syslog servers should be enabled.
	ExternalSyslogServerEnable *bool `json:"external_syslog_server_enable,omitempty"`

	// The host name of the Grid member.
	HostName *string `json:"host_name,omitempty"`

	// IPV6 setting for member.
	Ipv6Setting *Ipv6setting `json:"ipv6_setting,omitempty"`

	// List of IPv6 static routes.
	Ipv6StaticRoutes []*Ipv6networksetting `json:"ipv6_static_routes,omitempty"`

	// Determines if a Grid member supports DSCP (Differentiated Services Code
	// Point).
	IsDscpCapable bool `json:"is_dscp_capable,omitempty"`

	// If this is set to "true", the LAN2 port is enabled as an independent port or
	// as a port for failover purposes.
	Lan2Enabled *bool `json:"lan2_enabled,omitempty"`

	// Settings for the Grid member LAN2 port if 'lan2_enabled' is set to "true".
	Lan2PortSetting *Lan2portsetting `json:"lan2_port_setting,omitempty"`

	// Determines if the Liquid Crystal Display (LCD) input buttons on the front
	// panel of the appliance are enabled or not.
	LcdInput *bool `json:"lcd_input,omitempty"`

	// The Network configurations for LOM.
	LomNetworkConfig []*Lomnetworkconfig `json:"lom_network_config,omitempty"`

	// The list of LOM users.
	LomUsers []*Lomuser `json:"lom_users,omitempty"`

	// Determines if a Grid member is a Grid Master Candidate or not. This flag
	// enables the Grid member to assume the role of the Grid Master as a disaster
	// recovery measure.
	MasterCandidate *bool `json:"master_candidate,omitempty"`

	// Configure communication type for various services.
	MemberServiceCommunication []*Memberservicecommunication `json:"member_service_communication,omitempty"`

	// Settings for the member MGMT port.
	MgmtPortSetting *Mgmtportsetting `json:"mgmt_port_setting,omitempty"`

	// Extensible attributes Topology database build time.
	MmdbEaBuildTime *UnixTime `json:"mmdb_ea_build_time,omitempty"`

	// GeoIP Topology database build time.
	MmdbGeoipBuildTime *UnixTime `json:"mmdb_geoip_build_time,omitempty"`

	// NAT settings for the member.
	NatSetting *Natsetting `json:"nat_setting,omitempty"`

	// The node information list with detailed status report on the operations of
	// the Grid Member.
	NodeInfo []*Nodeinfo `json:"node_info,omitempty"`

	// The member Network Time Protocol (NTP) settings.
	NTPSetting *MemberNtp `json:"ntp_setting,omitempty"`

	// The OSPF area configuration (for anycast) list for a Grid member.
	OspfList []*Ospf `json:"ospf_list,omitempty"`

	// The ARP protocol setting on the passive node of an HA pair. If you do not
	// specify a value, the default value is "false". You can only set this value
	// to "true" if the member is an HA pair.
	PassiveHaArpEnabled *bool `json:"passive_ha_arp_enabled,omitempty"`

	// Hardware Platform.
	Platform string `json:"platform,omitempty"`

	// Pre-provisioning information.
	PreProvisioning *Preprovision `json:"pre_provisioning,omitempty"`

	// Set this flag to "true" to prevent the deletion of the member if any
	// delegated object remains attached to it.
	PreserveIfOwnsDelegation *bool `json:"preserve_if_owns_delegation,omitempty"`

	// If set to True, superuser admins can access the Infoblox CLI from a remote
	// location using an SSH (Secure Shell) v2 client.
	RemoteConsoleAccessEnable *bool `json:"remote_console_access_enable,omitempty"`

	// Virutal router identifier. Provide this ID if "ha_enabled" is set to "true".
	// This is a unique VRID number (from 1 to 255) for the local subnet.
	RouterId *uint32 `json:"router_id,omitempty"`

	// The service status list of a grid member.
	ServiceStatus []*Memberservicestatus `json:"service_status,omitempty"`

	// Configure all services to the given type.
	ServiceTypeConfiguration string `json:"service_type_configuration,omitempty"`

	// The Grid Member SNMP settings.
	SnmpSetting *SettingSnmp `json:"snmp_setting,omitempty"`

	// List of static routes.
	StaticRoutes []*SettingNetwork `json:"static_routes,omitempty"`

	// Determines if support access for the Grid member should be enabled.
	SupportAccessEnable *bool `json:"support_access_enable,omitempty"`

	// The information string for support access.
	SupportAccessInfo string `json:"support_access_info,omitempty"`

	// The Grid Member syslog proxy settings.
	SyslogProxySetting *SettingSyslogproxy `json:"syslog_proxy_setting,omitempty"`

	// The list of external syslog servers.
	SyslogServers []*Syslogserver `json:"syslog_servers,omitempty"`

	// The maximum size for the syslog file expressed in megabytes.
	SyslogSize *uint32 `json:"syslog_size,omitempty"`

	// Determines the list of threshold traps. The user can only change the values
	// for each trap or remove traps.
	ThresholdTraps []*Thresholdtrap `json:"threshold_traps,omitempty"`

	// The time zone of the Grid member. The UTC string that represents the time
	// zone, such as "(UTC - 5:00) Eastern Time (US and Canada)".
	TimeZone *string `json:"time_zone,omitempty"`

	// Grid level settings for enabling authoritative DNS latency thresholds for
	// automated traffic capture.
	TrafficCaptureAuthDnsSetting *SettingTriggeruthdnslatency `json:"traffic_capture_auth_dns_setting,omitempty"`

	// Member level settings for enabling DNS cache hit ratio threshold for
	// automated traffic capture.
	TrafficCaptureChrSetting *SettingTrafficcapturechr `json:"traffic_capture_chr_setting,omitempty"`

	// Member level settings for enabling DNS query per second threshold for
	// automated traffic capture.
	TrafficCaptureQpsSetting *SettingTrafficcaptureqps `json:"traffic_capture_qps_setting,omitempty"`

	// Grid level settings for enabling recursive DNS latency thresholds for
	// automated traffic capture.
	TrafficCaptureRecDnsSetting *SettingTriggerrecdnslatency `json:"traffic_capture_rec_dns_setting,omitempty"`

	// Grid level settings for enabling count for concurrent outgoing recursive
	// queries for automated traffic capture.
	TrafficCaptureRecQueriesSetting *SettingTriggerrecqueries `json:"traffic_capture_rec_queries_setting,omitempty"`

	// Determines configuration of the trap notifications.
	TrapNotifications []*Trapnotification `json:"trap_notifications,omitempty"`

	// The name of the upgrade group to which this Grid member belongs.
	UpgradeGroup *string `json:"upgrade_group,omitempty"`

	// This flag is the use flag for enabling automated traffic capture based on
	// DNS cache ratio thresholds.
	UseAutomatedTrafficCapture *bool `json:"use_automated_traffic_capture,omitempty"`

	// Use flag for: dns_resolver_setting
	UseDnsResolverSetting *bool `json:"use_dns_resolver_setting,omitempty"`

	// Use flag for: dscp
	UseDscp *bool `json:"use_dscp,omitempty"`

	// Use flag for: email_setting
	UseEmailSetting *bool `json:"use_email_setting,omitempty"`

	// Use flag for: enable_lom
	UseEnableLom *bool `json:"use_enable_lom,omitempty"`

	// Use flag for: enable_member_redirect
	UseEnableMemberRedirect *bool `json:"use_enable_member_redirect,omitempty"`

	// Use flag for: external_syslog_backup_servers
	UseExternalSyslogBackupServers *bool `json:"use_external_syslog_backup_servers,omitempty"`

	// Use flag for: lcd_input
	UseLcdInput *bool `json:"use_lcd_input,omitempty"`

	// Use flag for: remote_console_access_enable
	UseRemoteConsoleAccessEnable *bool `json:"use_remote_console_access_enable,omitempty"`

	// Use flag for: snmp_setting
	UseSnmpSetting *bool `json:"use_snmp_setting,omitempty"`

	// Use flag for: support_access_enable
	UseSupportAccessEnable *bool `json:"use_support_access_enable,omitempty"`

	// Use flag for: external_syslog_server_enable , syslog_servers,
	// syslog_proxy_setting, syslog_size
	UseSyslogProxySetting *bool `json:"use_syslog_proxy_setting,omitempty"`

	// Use flag for: threshold_traps
	UseThresholdTraps *bool `json:"use_threshold_traps,omitempty"`

	// Use flag for: time_zone
	UseTimeZone *bool `json:"use_time_zone,omitempty"`

	// This flag is the use flag for enabling automated traffic capture based on
	// authorative DNS latency.
	UseTrafficCaptureAuthDns *bool `json:"use_traffic_capture_auth_dns,omitempty"`

	// This flag is the use flag for automated traffic capture settings at member
	// level.
	UseTrafficCaptureChr *bool `json:"use_traffic_capture_chr,omitempty"`

	// This flag is the use flag for enabling automated traffic capture based on
	// DNS querie per second thresholds.
	UseTrafficCaptureQps *bool `json:"use_traffic_capture_qps,omitempty"`

	// This flag is the use flag for enabling automated traffic capture based on
	// recursive DNS latency.
	UseTrafficCaptureRecDns *bool `json:"use_traffic_capture_rec_dns,omitempty"`

	// This flag is the use flag for enabling automated traffic capture based on
	// outgoing recursive queries.
	UseTrafficCaptureRecQueries *bool `json:"use_traffic_capture_rec_queries,omitempty"`

	// Use flag for: trap_notifications
	UseTrapNotifications *bool `json:"use_trap_notifications,omitempty"`

	// Specify "true" to use VRRPv4 or "false" to use VRRPv6.
	UseV4Vrrp *bool `json:"use_v4_vrrp,omitempty"`

	// The network settings for the Grid member.
	VipSetting *SettingNetwork `json:"vip_setting,omitempty"`

	// The VPN maximum transmission unit (MTU).
	VpnMtu *uint32 `json:"vpn_mtu,omitempty"`
}

Member represents Infoblox object member. This object represents the Infoblox Grid Member.

func NewMember

func NewMember(member Member) *Member

func (Member) ObjectType added in v2.4.0

func (Member) ObjectType() string

func (Member) ReturnFields added in v2.4.0

func (obj Member) ReturnFields() []string

type MemberCspmembersetting added in v2.4.0

type MemberCspmembersetting struct {
	// Overrides grid join token
	UseCspJoinToken bool `json:"use_csp_join_token,omitempty"`

	// Overrides CSP DNS Resolver
	UseCspDnsResolver bool `json:"use_csp_dns_resolver,omitempty"`

	// Overrides grid https proxy
	UseCspHttpsProxy bool `json:"use_csp_https_proxy,omitempty"`

	// Join token required to connect to a cluster
	CspJoinToken string `json:"csp_join_token,omitempty"`

	// IP address of DNS resolver in DFP
	CspDnsResolver string `json:"csp_dns_resolver,omitempty"`

	// HTTP Proxy IP address of CSP Portal
	CspHttpsProxy string `json:"csp_https_proxy,omitempty"`
}

MemberCspmembersetting represents Infoblox struct member:cspmembersetting

type MemberDHCPProperties added in v2.4.0

type MemberDHCPProperties struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The Authentication Server Group object associated with this member.
	AuthServerGroup *string `json:"auth_server_group,omitempty"`

	// The captive portal responsible for authenticating this DHCP member.
	AuthnCaptivePortal *string `json:"authn_captive_portal,omitempty"`

	// The MAC filter representing the authenticated range.
	AuthnCaptivePortalAuthenticatedFilter *string `json:"authn_captive_portal_authenticated_filter,omitempty"`

	// The flag that controls if this DHCP member is enabled for captive portal
	// authentication.
	AuthnCaptivePortalEnabled *bool `json:"authn_captive_portal_enabled,omitempty"`

	// The MAC filter representing the guest range.
	AuthnCaptivePortalGuestFilter *string `json:"authn_captive_portal_guest_filter,omitempty"`

	// The flag that controls if this DHCP member can send authentication requests
	// to an authentication server group.
	AuthnServerGroupEnabled *bool `json:"authn_server_group_enabled,omitempty"`

	// The authority flag of a Grid member. This flag specifies if a DHCP server is
	// authoritative for a domain.
	Authority *bool `json:"authority,omitempty"`

	// The name of a file that DHCP clients need to boot. This setting overrides
	// the Grid level setting.
	Bootfile *string `json:"bootfile,omitempty"`

	// The name of the server on which a boot file is stored. This setting
	// overrides the Grid level setting.
	Bootserver *string `json:"bootserver,omitempty"`

	// The member DDNS domain name value.
	DdnsDomainname *string `json:"ddns_domainname,omitempty"`

	// Determines the ability of a member DHCP server to generate a host name and
	// update DNS with this host name when it receives a DHCP REQUEST message that
	// does not include a host name.
	DdnsGenerateHostname *bool `json:"ddns_generate_hostname,omitempty"`

	// Determines the retry interval when the member DHCP server makes repeated
	// attempts to send DDNS updates to a DNS server.
	DdnsRetryInterval *uint32 `json:"ddns_retry_interval,omitempty"`

	// Determines that only the DHCP server is allowed to update DNS, regardless of
	// the requests from the DHCP clients. This setting overrides the Grid level
	// setting.
	DdnsServerAlwaysUpdates *bool `json:"ddns_server_always_updates,omitempty"`

	// The DDNS TTL (Dynamic DNS Time To Live) value specifies the number of
	// seconds an IP address for the name is cached.
	DdnsTtl *uint32 `json:"ddns_ttl,omitempty"`

	// Determines if the member DHCP server's ability to update the A and PTR
	// records with a fixed address is enabled or not.
	DdnsUpdateFixedAddresses *bool `json:"ddns_update_fixed_addresses,omitempty"`

	// Determines if support for option 81 is enabled or not.
	DdnsUseOption81 *bool `json:"ddns_use_option81,omitempty"`

	// An ordered list of zone primaries that will receive DDNS updates.
	DdnsZonePrimaries []*Dhcpddns `json:"ddns_zone_primaries,omitempty"`

	// Determines if a BOOTP server denies BOOTP request or not. This setting
	// overrides the Grid level setting.
	DenyBootp *bool `json:"deny_bootp,omitempty"`

	// The percentage of the total DHCP utilization of DHCP objects belonging to
	// the Grid Member multiplied by 1000. This is the percentage of the total
	// number of available IP addresses from all the DHCP objects belonging to the
	// Grid Member versus the total number of all IP addresses in all of the DHCP
	// objects on the Grid Member.
	DhcpUtilization uint32 `json:"dhcp_utilization,omitempty"`

	// A string describing the utilization level of DHCP objects that belong to the
	// Grid Member.
	DhcpUtilizationStatus string `json:"dhcp_utilization_status,omitempty"`

	// The update style for dynamic DNS updates.
	DnsUpdateStyle string `json:"dns_update_style,omitempty"`

	// The total number of DHCP leases issued for the DHCP objects on the Grid
	// Member.
	DynamicHosts uint32 `json:"dynamic_hosts,omitempty"`

	// The email_list value of a member DHCP server.
	EmailList []string `json:"email_list,omitempty"`

	// Determines if the member DHCP server's ability to send DDNS updates is
	// enabled or not.
	EnableDdns *bool `json:"enable_ddns,omitempty"`

	// Determines if the DHCP service of a member is enabled or not.
	EnableDhcp *bool `json:"enable_dhcp,omitempty"`

	// Determines if the DHCP service on the IPv6 LAN2 interface is enabled or not.
	EnableDhcpOnIpv6Lan2 *bool `json:"enable_dhcp_on_ipv6_lan2,omitempty"`

	// Determines if the DHCP service on the LAN2 interface is enabled or not.
	EnableDhcpOnLan2 *bool `json:"enable_dhcp_on_lan2,omitempty"`

	// Represents the watermarks above or below which address usage in a network is
	// unexpected and might warrant your attention. This setting overrides the Grid
	// level setting.
	EnableDhcpThresholds *bool `json:"enable_dhcp_thresholds,omitempty"`

	// Determines if DHCPv6 service for the member is enabled or not.
	EnableDhcpv6Service *bool `json:"enable_dhcpv6_service,omitempty"`

	// Determines if e-mail warnings are enabled or disabled. When DHCP threshold
	// is enabled and DHCP address usage crosses a watermark threshold, the
	// appliance sends an e-mail notification to an administrator.
	EnableEmailWarnings *bool `json:"enable_email_warnings,omitempty"`

	// Determines if fingerprint feature is enabled on this member. If you enable
	// this feature, the server will match a fingerprint for incoming lease
	// requests.
	EnableFingerprint *bool `json:"enable_fingerprint,omitempty"`

	// Determines whether the appliance is enabled to receive GSS-TSIG
	// authenticated updates from DHCP clients.
	EnableGssTsig *bool `json:"enable_gss_tsig,omitempty"`

	// Determines if the Grid member's host name rewrite feature is enabled or not.
	EnableHostnameRewrite *bool `json:"enable_hostname_rewrite,omitempty"`

	// Determines if lease query is allowed or not. This setting overrides the
	// Grid-level setting.
	EnableLeasequery *bool `json:"enable_leasequery,omitempty"`

	// Determines if SNMP warnings are enabled or disabled on this DHCP member.
	// When DHCP threshold is enabled and DHCP address usage crosses a watermark
	// threshold, the appliance sends an SNMP trap to the trap receiver that was
	// defined for the Grid member level.
	EnableSnmpWarnings *bool `json:"enable_snmp_warnings,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The list of GSS-TSIG keys for a member DHCP object.
	GssTsigKeys []*Kerberoskey `json:"gss_tsig_keys,omitempty"`

	// Determines the high watermark value of a member DHCP server. If the
	// percentage of allocated addresses exceeds this watermark, the appliance
	// makes a syslog entry and sends an e-mail notification (if enabled).
	// Specifies the percentage of allocated addresses. The range is from 1 to 100.
	HighWaterMark *uint32 `json:"high_water_mark,omitempty"`

	// Determines the high watermark reset value of a member DHCP server. If the
	// percentage of allocated addresses drops below this value, a corresponding
	// SNMP trap is reset. Specifies the percentage of allocated addresses. The
	// range is from 1 to 100. The high watermark reset value must be lower than
	// the high watermark value.
	HighWaterMarkReset *uint32 `json:"high_water_mark_reset,omitempty"`

	// Host name of the Grid member.
	HostName string `json:"host_name,omitempty"`

	// The hostname rewrite policy that is in the protocol hostname rewrite
	// policies array of the Grid DHCP object. This attribute is mandatory if
	// enable_hostname_rewrite is "true".
	HostnameRewritePolicy *string `json:"hostname_rewrite_policy,omitempty"`

	// Determines if the ignore DHCP option list request flag of a Grid member DHCP
	// is enabled or not. If this flag is set to true all available DHCP options
	// will be returned to the client.
	IgnoreDhcpOptionListRequest *bool `json:"ignore_dhcp_option_list_request,omitempty"`

	// Indicates whether the appliance will ignore DHCP client IDs or MAC
	// addresses. Valid values are "NONE", "CLIENT", or "MACADDR". The default is
	// "NONE".
	IgnoreId string `json:"ignore_id,omitempty"`

	// A list of MAC addresses the appliance will ignore.
	IgnoreMacAddresses []string `json:"ignore_mac_addresses,omitempty"`

	// Determines if the Immediate Fixed address configuration apply feature for
	// the DHCP member is enabled or not.
	ImmediateFaConfiguration *bool `json:"immediate_fa_configuration,omitempty"`

	// The IPv4 Address of the Grid member.
	Ipv4Addr string `json:"ipv4addr,omitempty"`

	// The member DDNS IPv6 domain name value.
	Ipv6DdnsDomainname *string `json:"ipv6_ddns_domainname,omitempty"`

	// Controls whether the FQDN option sent by the DHCPv6 client is to be used, or
	// if the server can automatically generate the FQDN.
	Ipv6DdnsEnableOptionFqdn *bool `json:"ipv6_ddns_enable_option_fqdn,omitempty"`

	// The member IPv6 DDNS hostname value.
	Ipv6DdnsHostname *string `json:"ipv6_ddns_hostname,omitempty"`

	// Determines if the server always updates DNS or updates only if requested by
	// the client.
	Ipv6DdnsServerAlwaysUpdates *bool `json:"ipv6_ddns_server_always_updates,omitempty"`

	// The member IPv6 DDNS TTL value.
	Ipv6DdnsTtl *uint32 `json:"ipv6_ddns_ttl,omitempty"`

	// The update style for dynamic DHCPv6 DNS updates.
	Ipv6DnsUpdateStyle string `json:"ipv6_dns_update_style,omitempty"`

	// The IPv6 domain name.
	Ipv6DomainName *string `json:"ipv6_domain_name,omitempty"`

	// The comma separated list of domain name server addresses in IPv6 address
	// format.
	Ipv6DomainNameServers []string `json:"ipv6_domain_name_servers,omitempty"`

	// Determines if sending DDNS updates by the member DHCPv6 server is enabled or
	// not.
	Ipv6EnableDdns *bool `json:"ipv6_enable_ddns,omitempty"`

	// Determines whether the appliance is enabled to receive GSS-TSIG
	// authenticated updates from DHCPv6 clients.
	Ipv6EnableGssTsig *bool `json:"ipv6_enable_gss_tsig,omitempty"`

	// Indicates whether DHCPv6 lease scavenging is enabled or disabled.
	Ipv6EnableLeaseScavenging *bool `json:"ipv6_enable_lease_scavenging,omitempty"`

	// Determines if the DHCPv6 server retries failed dynamic DNS updates or not.
	Ipv6EnableRetryUpdates *bool `json:"ipv6_enable_retry_updates,omitempty"`

	// Determines if the server generates the hostname if it is not sent by the
	// client.
	Ipv6GenerateHostname *bool `json:"ipv6_generate_hostname,omitempty"`

	// The list of GSS-TSIG keys for a member DHCPv6 object.
	Ipv6GssTsigKeys []*Kerberoskey `json:"ipv6_gss_tsig_keys,omitempty"`

	// Determines the IPv6 address or FQDN of the Kerberos server for DHCPv6
	// GSS-TSIG authentication. This setting overrides the Grid level setting.
	Ipv6KdcServer *string `json:"ipv6_kdc_server,omitempty"`

	// The member-level grace period (in seconds) to keep an expired lease before
	// it is deleted by the scavenging process.
	Ipv6LeaseScavengingTime *uint32 `json:"ipv6_lease_scavenging_time,omitempty"`

	// The Microsoft client DHCP IPv6 code page value of a Grid member. This value
	// is the hostname translation code page for Microsoft DHCP IPv6 clients and
	// overrides the Grid level Microsoft DHCP IPv6 client code page.
	Ipv6MicrosoftCodePage string `json:"ipv6_microsoft_code_page,omitempty"`

	// An array of DHCP option dhcpoption structs that lists the DHCPv6 options
	// associated with the object.
	Ipv6Options []*Dhcpoption `json:"ipv6_options,omitempty"`

	// Determines if the IPv6 recycle leases feature is enabled or not. If the
	// feature is enabled, leases are kept in the Recycle Bin until one week after
	// lease expiration. When the feature is disabled, the leases are irrecoverably
	// deleted.
	Ipv6RecycleLeases *bool `json:"ipv6_recycle_leases,omitempty"`

	// Enable binding for expired DHCPv6 leases.
	Ipv6RememberExpiredClientAssociation *bool `json:"ipv6_remember_expired_client_association,omitempty"`

	// Determines the retry interval when the member DHCPv6 server makes repeated
	// attempts to send DDNS updates to a DNS server.
	Ipv6RetryUpdatesInterval *uint32 `json:"ipv6_retry_updates_interval,omitempty"`

	// The server DHCPv6 unique identifier (DUID) for the Grid member.
	Ipv6ServerDuid *string `json:"ipv6_server_duid,omitempty"`

	// Controls whether the DHCPv6 server updates DNS when an IPv6 DHCP lease is
	// renewed.
	Ipv6UpdateDnsOnLeaseRenewal *bool `json:"ipv6_update_dns_on_lease_renewal,omitempty"`

	// The IPv6 Address of the Grid member.
	Ipv6Addr string `json:"ipv6addr,omitempty"`

	// The IPv4 address or FQDN of the Kerberos server for DHCPv4 GSS-TSIG
	// authentication. This setting overrides the Grid level setting.
	KdcServer *string `json:"kdc_server,omitempty"`

	// Defines how the appliance releases DHCP leases. Valid values are
	// "RELEASE_MACHING_ID", "NEVER_RELEASE", or "ONE_LEASE_PER_CLIENT". The
	// default is "RELEASE_MATCHING_ID".
	LeasePerClientSettings string `json:"lease_per_client_settings,omitempty"`

	// Determines the lease scavenging time value. When this field is set, the
	// appliance permanently deletes the free and backup leases that remain in the
	// database beyond a specified period of time. To disable lease scavenging, set
	// the parameter to -1. The minimum positive value must be greater than 86400
	// seconds (1 day).
	LeaseScavengeTime int `json:"lease_scavenge_time,omitempty"`

	// This value specifies whether the grid member logs lease events. This setting
	// overrides the Grid level setting.
	LogLeaseEvents *bool `json:"log_lease_events,omitempty"`

	// This field contains the logic filters to be applied on the Grid member. This
	// list corresponds to the match rules that are written to the dhcpd
	// configuration file.
	LogicFilterRules []*Logicfilterrule `json:"logic_filter_rules,omitempty"`

	// Determines the low watermark value. If the percent of allocated addresses
	// drops below this watermark, the appliance makes a syslog entry and sends an
	// e-mail notification (if enabled).
	LowWaterMark *uint32 `json:"low_water_mark,omitempty"`

	// Determines the low watermark reset value. If the percentage of allocated
	// addresses exceeds this value, a corresponding SNMP trap is reset. A number
	// that specifies the percentage of allocated addresses. The range is from 1 to
	// 100. The low watermark reset value must be higher than the low watermark
	// value.
	LowWaterMarkReset *uint32 `json:"low_water_mark_reset,omitempty"`

	// The Microsoft client DHCP IPv4 code page value of a grid member. This value
	// is the hostname translation code page for Microsoft DHCP IPv4 clients and
	// overrides the Grid level Microsoft DHCP IPv4 client code page.
	MicrosoftCodePage string `json:"microsoft_code_page,omitempty"`

	// The next server value of a member DHCP server. This value is the IP address
	// or name of the boot file server on which the boot file is stored.
	Nextserver *string `json:"nextserver,omitempty"`

	// The list of option 60 match rules.
	Option60MatchRules []*Option60matchrule `json:"option60_match_rules,omitempty"`

	// An array of DHCP option dhcpoption structs that lists the DHCP options
	// associated with the object.
	Options []*Dhcpoption `json:"options,omitempty"`

	// Specifies the number of pings that the Infoblox appliance sends to an IP
	// address to verify that it is not in use. Values are from 0 to 10, where 0
	// disables pings.
	PingCount *uint32 `json:"ping_count,omitempty"`

	// Indicates the number of milliseconds the appliance waits for a response to
	// its ping. Valid values are 100, 500, 1000, 2000, 3000, 4000 and 5000
	// milliseconds.
	PingTimeout *uint32 `json:"ping_timeout,omitempty"`

	// The preferred lifetime value.
	PreferredLifetime *uint32 `json:"preferred_lifetime,omitempty"`

	// The Prefix length mode for DHCPv6.
	PrefixLengthMode string `json:"prefix_length_mode,omitempty"`

	// Specifies the duration of time it takes a host to connect to a boot server,
	// such as a TFTP server, and download the file it needs to boot. A 32-bit
	// unsigned integer that represents the duration, in seconds, for which the
	// update is cached. Zero indicates that the update is not cached.
	PxeLeaseTime *uint32 `json:"pxe_lease_time,omitempty"`

	// Determines if the recycle leases feature is enabled or not. If you enabled
	// this feature and then delete a DHCP range, the appliance stores active
	// leases from this range up to one week after the leases expires.
	RecycleLeases *bool `json:"recycle_leases,omitempty"`

	// Indicates whether the DHCP server makes repeated attempts to send DDNS
	// updates to a DNS server.
	RetryDdnsUpdates *bool `json:"retry_ddns_updates,omitempty"`

	// The number of static DHCP addresses configured in DHCP objects that belong
	// to the Grid Member.
	StaticHosts uint32 `json:"static_hosts,omitempty"`

	// The syslog facility is the location on the syslog server to which you want
	// to sort the syslog messages.
	SyslogFacility string `json:"syslog_facility,omitempty"`

	// The total number of DHCP addresses configured in DHCP objects that belong to
	// the Grid Member.
	TotalHosts uint32 `json:"total_hosts,omitempty"`

	// Controls whether the DHCP server updates DNS when a DHCP lease is renewed.
	UpdateDnsOnLeaseRenewal *bool `json:"update_dns_on_lease_renewal,omitempty"`

	// Use flag for: authority
	UseAuthority *bool `json:"use_authority,omitempty"`

	// Use flag for: bootfile
	UseBootfile *bool `json:"use_bootfile,omitempty"`

	// Use flag for: bootserver
	UseBootserver *bool `json:"use_bootserver,omitempty"`

	// Use flag for: ddns_domainname
	UseDdnsDomainname *bool `json:"use_ddns_domainname,omitempty"`

	// Use flag for: ddns_generate_hostname
	UseDdnsGenerateHostname *bool `json:"use_ddns_generate_hostname,omitempty"`

	// Use flag for: ddns_ttl
	UseDdnsTtl *bool `json:"use_ddns_ttl,omitempty"`

	// Use flag for: ddns_update_fixed_addresses
	UseDdnsUpdateFixedAddresses *bool `json:"use_ddns_update_fixed_addresses,omitempty"`

	// Use flag for: ddns_use_option81
	UseDdnsUseOption81 *bool `json:"use_ddns_use_option81,omitempty"`

	// Use flag for: deny_bootp
	UseDenyBootp *bool `json:"use_deny_bootp,omitempty"`

	// Use flag for: dns_update_style
	UseDnsUpdateStyle *bool `json:"use_dns_update_style,omitempty"`

	// Use flag for: email_list
	UseEmailList *bool `json:"use_email_list,omitempty"`

	// Use flag for: enable_ddns
	UseEnableDdns *bool `json:"use_enable_ddns,omitempty"`

	// Use flag for: enable_dhcp_thresholds , high_water_mark,
	// high_water_mark_reset, low_water_mark, low_water_mark_reset
	UseEnableDhcpThresholds *bool `json:"use_enable_dhcp_thresholds,omitempty"`

	// Use flag for: enable_fingerprint
	UseEnableFingerprint *bool `json:"use_enable_fingerprint,omitempty"`

	// Use flag for: kdc_server , enable_gss_tsig
	UseEnableGssTsig *bool `json:"use_enable_gss_tsig,omitempty"`

	// Use flag for: enable_hostname_rewrite , hostname_rewrite_policy
	UseEnableHostnameRewrite *bool `json:"use_enable_hostname_rewrite,omitempty"`

	// Use flag for: enable_leasequery
	UseEnableLeasequery *bool `json:"use_enable_leasequery,omitempty"`

	// Use flag for: enable_one_lease_per_client
	UseEnableOneLeasePerClient *bool `json:"use_enable_one_lease_per_client,omitempty"`

	// Use flag for: gss_tsig_keys
	UseGssTsigKeys *bool `json:"use_gss_tsig_keys,omitempty"`

	// Use flag for: ignore_dhcp_option_list_request
	UseIgnoreDhcpOptionListRequest *bool `json:"use_ignore_dhcp_option_list_request,omitempty"`

	// Use flag for: ignore_id
	UseIgnoreId *bool `json:"use_ignore_id,omitempty"`

	// Use flag for: immediate_fa_configuration
	UseImmediateFaConfiguration *bool `json:"use_immediate_fa_configuration,omitempty"`

	// Use flag for: ipv6_ddns_domainname
	UseIpv6DdnsDomainname *bool `json:"use_ipv6_ddns_domainname,omitempty"`

	// Use flag for: ipv6_ddns_enable_option_fqdn
	UseIpv6DdnsEnableOptionFqdn *bool `json:"use_ipv6_ddns_enable_option_fqdn,omitempty"`

	// Use flag for: ipv6_ddns_hostname
	UseIpv6DdnsHostname *bool `json:"use_ipv6_ddns_hostname,omitempty"`

	// Use flag for: ipv6_ddns_ttl
	UseIpv6DdnsTtl *bool `json:"use_ipv6_ddns_ttl,omitempty"`

	// Use flag for: ipv6_dns_update_style
	UseIpv6DnsUpdateStyle *bool `json:"use_ipv6_dns_update_style,omitempty"`

	// Use flag for: ipv6_domain_name
	UseIpv6DomainName *bool `json:"use_ipv6_domain_name,omitempty"`

	// Use flag for: ipv6_domain_name_servers
	UseIpv6DomainNameServers *bool `json:"use_ipv6_domain_name_servers,omitempty"`

	// Use flag for: ipv6_enable_ddns
	UseIpv6EnableDdns *bool `json:"use_ipv6_enable_ddns,omitempty"`

	// Use flag for: ipv6_kdc_server , ipv6_enable_gss_tsig
	UseIpv6EnableGssTsig *bool `json:"use_ipv6_enable_gss_tsig,omitempty"`

	// Use flag for: ipv6_enable_retry_updates , ipv6_retry_updates_interval
	UseIpv6EnableRetryUpdates *bool `json:"use_ipv6_enable_retry_updates,omitempty"`

	// Use flag for: ipv6_generate_hostname
	UseIpv6GenerateHostname *bool `json:"use_ipv6_generate_hostname,omitempty"`

	// Use flag for: ipv6_gss_tsig_keys
	UseIpv6GssTsigKeys *bool `json:"use_ipv6_gss_tsig_keys,omitempty"`

	// Use flag for: ipv6_enable_lease_scavenging , ipv6_lease_scavenging_time,
	// ipv6_remember_expired_client_association
	UseIpv6LeaseScavenging *bool `json:"use_ipv6_lease_scavenging,omitempty"`

	// Use flag for: ipv6_microsoft_code_page
	UseIpv6MicrosoftCodePage *bool `json:"use_ipv6_microsoft_code_page,omitempty"`

	// Use flag for: ipv6_options
	UseIpv6Options *bool `json:"use_ipv6_options,omitempty"`

	// Use flag for: ipv6_recycle_leases
	UseIpv6RecycleLeases *bool `json:"use_ipv6_recycle_leases,omitempty"`

	// Use flag for: ipv6_update_dns_on_lease_renewal
	UseIpv6UpdateDnsOnLeaseRenewal *bool `json:"use_ipv6_update_dns_on_lease_renewal,omitempty"`

	// Use flag for: lease_per_client_settings
	UseLeasePerClientSettings *bool `json:"use_lease_per_client_settings,omitempty"`

	// Use flag for: lease_scavenge_time
	UseLeaseScavengeTime *bool `json:"use_lease_scavenge_time,omitempty"`

	// Use flag for: log_lease_events
	UseLogLeaseEvents *bool `json:"use_log_lease_events,omitempty"`

	// Use flag for: logic_filter_rules
	UseLogicFilterRules *bool `json:"use_logic_filter_rules,omitempty"`

	// Use flag for: microsoft_code_page
	UseMicrosoftCodePage *bool `json:"use_microsoft_code_page,omitempty"`

	// Use flag for: nextserver
	UseNextserver *bool `json:"use_nextserver,omitempty"`

	// Use flag for: options
	UseOptions *bool `json:"use_options,omitempty"`

	// Use flag for: ping_count
	UsePingCount *bool `json:"use_ping_count,omitempty"`

	// Use flag for: ping_timeout
	UsePingTimeout *bool `json:"use_ping_timeout,omitempty"`

	// Use flag for: preferred_lifetime
	UsePreferredLifetime *bool `json:"use_preferred_lifetime,omitempty"`

	// Use flag for: prefix_length_mode
	UsePrefixLengthMode *bool `json:"use_prefix_length_mode,omitempty"`

	// Use flag for: pxe_lease_time
	UsePxeLeaseTime *bool `json:"use_pxe_lease_time,omitempty"`

	// Use flag for: recycle_leases
	UseRecycleLeases *bool `json:"use_recycle_leases,omitempty"`

	// Use flag for: ddns_retry_interval , retry_ddns_updates
	UseRetryDdnsUpdates *bool `json:"use_retry_ddns_updates,omitempty"`

	// Use flag for: syslog_facility
	UseSyslogFacility *bool `json:"use_syslog_facility,omitempty"`

	// Use flag for: update_dns_on_lease_renewal
	UseUpdateDnsOnLeaseRenewal *bool `json:"use_update_dns_on_lease_renewal,omitempty"`

	// Use flag for: valid_lifetime
	UseValidLifetime *bool `json:"use_valid_lifetime,omitempty"`

	// The valid lifetime for Grid Member DHCP. Specifies the length of time
	// addresses that are assigned to DHCPv6 clients remain in the valid state.
	ValidLifetime *uint32 `json:"valid_lifetime,omitempty"`
}

MemberDHCPProperties represents Infoblox object member:dhcpproperties. This object represents a subset of the Infoblox Member DHCP properties.

func (MemberDHCPProperties) ObjectType added in v2.4.0

func (MemberDHCPProperties) ObjectType() string

func (MemberDHCPProperties) ReturnFields added in v2.4.0

func (obj MemberDHCPProperties) ReturnFields() []string

type MemberDns added in v2.4.0

type MemberDns struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Add custom IP, MAC and DNS View name ENDS0 options to outgoing recursive
	// queries.
	AddClientIpMacOptions *bool `json:"add_client_ip_mac_options,omitempty"`

	// The list of additional IP addresses on which DNS is enabled for a Grid
	// member. Only one of "additional_ip_list" or "additional_ip_list_struct"
	// should be set when modifying the object.
	AdditionalIpList []string `json:"additional_ip_list,omitempty"`

	// The list of additional IP addresses and IP Space Discriminator short names
	// on which DNS is enabled for a Grid member. Only one of "additional_ip_list"
	// or "additional_ip_list_struct" should be set when modifying the object.
	AdditionalIpListStruct []*MemberDnsip `json:"additional_ip_list_struct,omitempty"`

	// Determines whether the GSS-TSIG zone updates is enabled for the Grid member.
	AllowGssTsigZoneUpdates *bool `json:"allow_gss_tsig_zone_updates,omitempty"`

	// Determines if queries from specified IPv4 or IPv6 addresses and networks are
	// enabled or not. The appliance can also use Transaction Signature (TSIG) keys
	// to authenticate the queries. This setting overrides the Grid query settings.
	AllowQuery []*Addressac `json:"allow_query,omitempty"`

	// Determines if the responses to recursive queries is enabled or not. This
	// setting overrides Grid recursive query settings.
	AllowRecursiveQuery *bool `json:"allow_recursive_query,omitempty"`

	// Allows or rejects zone transfers from specified IPv4 or IPv6 addresses and
	// networks or allows transfers from hosts authenticated by Transaction
	// signature (TSIG) key. This setting overrides the Grid zone transfer
	// settings.
	AllowTransfer []*Addressac `json:"allow_transfer,omitempty"`

	// Allows or rejects dynamic updates from specified IPv4 or IPv6 addresses,
	// networks or from host authenticated by TSIG key. This setting overrides Grid
	// update settings.
	AllowUpdate []*Addressac `json:"allow_update,omitempty"`

	// The flag that indicates whether the anonymization of captured DNS responses
	// is enabled or disabled.
	AnonymizeResponseLogging *bool `json:"anonymize_response_logging,omitempty"`

	// Enable DNS recursive query forwarding to Active Trust Cloud.
	AtcFwdEnable *bool `json:"atc_fwd_enable,omitempty"`

	// Mitigation settings for DNS attacks.
	AttackMitigation *GridAttackmitigation `json:"attack_mitigation,omitempty"`

	// The auto blackhole settings.
	AutoBlackhole *GridAutoblackhole `json:"auto_blackhole,omitempty"`

	// Determines if the auto-generation of A and PTR records for the LAN2 IP
	// address is enabled or not, if DNS service is enabled on LAN2.
	AutoCreateAAndPtrForLan2 *bool `json:"auto_create_a_and_ptr_for_lan2,omitempty"`

	// Determines if auto-generation of AAAA and IPv6 PTR records for LAN2 IPv6
	// address is enabled or not.
	AutoCreateAaaaAndIpv6ptrForLan2 *bool `json:"auto_create_aaaa_and_ipv6ptr_for_lan2,omitempty"`

	// Determines if a Grid member to automatically sort DNS views is enabled or
	// not. The order of the DNS views determines the order in which the appliance
	// checks the match lists.
	AutoSortViews *bool `json:"auto_sort_views,omitempty"`

	// The BIND check names policy, which indicates the action the appliance takes
	// when it encounters host names that do not comply with the Strict Hostname
	// Checking policy. This method applies only if the host name restriction
	// policy is set to 'Strict Hostname Checking'.
	BindCheckNamesPolicy string `json:"bind_check_names_policy,omitempty"`

	// The value of the hostname directive for BIND.
	BindHostnameDirective string `json:"bind_hostname_directive,omitempty"`

	// The value of the user-defined hostname directive for BIND. To enable
	// user-defined hostname directive, you must set the bind_hostname_directive to
	// "USER_DEFINED".
	BindHostnameDirectiveFqdn *string `json:"bind_hostname_directive_fqdn,omitempty"`

	// The list of IPv4 or IPv6 addresses and networks from which DNS queries are
	// blocked. This setting overrides the Grid blackhole_list.
	BlackholeList []*Addressac `json:"blackhole_list,omitempty"`

	// The action to perform when a domain name matches the pattern defined in a
	// rule that is specified by the blacklist_ruleset method.
	BlacklistAction string `json:"blacklist_action,omitempty"`

	// Determines if blacklist redirection queries are logged or not.
	BlacklistLogQuery *bool `json:"blacklist_log_query,omitempty"`

	// The IP addresses the appliance includes in the response it sends in place of
	// a blacklisted IP address.
	BlacklistRedirectAddresses []string `json:"blacklist_redirect_addresses,omitempty"`

	// The TTL value of the synthetic DNS responses that result from blacklist
	// redirection.
	BlacklistRedirectTtl *uint32 `json:"blacklist_redirect_ttl,omitempty"`

	// The DNS Ruleset object names assigned at the Grid level for blacklist
	// redirection.
	BlacklistRulesets []string `json:"blacklist_rulesets,omitempty"`

	// The flag that indicates whether the capture of DNS queries for all domains
	// is enabled or disabled.
	CaptureDnsQueriesOnAllDomains *bool `json:"capture_dns_queries_on_all_domains,omitempty"`

	// Determines whether the application of BIND check-names for zone transfers
	// and DDNS updates are enabled.
	CheckNamesForDdnsAndZoneTransfer *bool `json:"check_names_for_ddns_and_zone_transfer,omitempty"`

	// Copy custom IP, MAC and DNS View name ENDS0 options from incoming to
	// outgoing recursive queries.
	CopyClientIpMacOptions *bool `json:"copy_client_ip_mac_options,omitempty"`

	// Copies the allowed IPs from the zone transfer list into the also-notify
	// statement in the named.conf file.
	CopyXferToNotify *bool `json:"copy_xfer_to_notify,omitempty"`

	// The list of custom root name servers. You can either select and use Internet
	// root name servers or specify custom root name servers by providing a host
	// name and IP address to which the Infoblox appliance can send queries.
	CustomRootNameServers []NameServer `json:"custom_root_name_servers,omitempty"`

	// The EDNS0 support for queries that require recursive resolution on Grid
	// members.
	DisableEdns *bool `json:"disable_edns,omitempty"`

	// The list of DNS64 synthesis groups associated with this member.
	Dns64Groups []string `json:"dns64_groups,omitempty"`

	// The DNS cache acceleration status.
	DnsCacheAccelerationStatus string `json:"dns_cache_acceleration_status,omitempty"`

	// The minimum TTL value, in seconds, that a DNS record must have in order for
	// it to be cached by the DNS Cache Acceleration service. An integer from 1 to
	// 65000 that represents the TTL in seconds.
	DnsCacheAccelerationTtl *uint32 `json:"dns_cache_acceleration_ttl,omitempty"`

	// The flag that indicates whether the anycast failure (BFD session down) is
	// enabled on member failure or not.
	DnsHealthCheckAnycastControl *bool `json:"dns_health_check_anycast_control,omitempty"`

	// The list of domain names for the DNS health check.
	DnsHealthCheckDomainList []string `json:"dns_health_check_domain_list,omitempty"`

	// The time interval (in seconds) for DNS health check.
	DnsHealthCheckInterval *uint32 `json:"dns_health_check_interval,omitempty"`

	// The flag that indicates whether the recursive DNS health check is enabled or
	// not.
	DnsHealthCheckRecursionFlag *bool `json:"dns_health_check_recursion_flag,omitempty"`

	// The number of DNS health check retries.
	DnsHealthCheckRetries *uint32 `json:"dns_health_check_retries,omitempty"`

	// The DNS health check timeout interval (in seconds).
	DnsHealthCheckTimeout *uint32 `json:"dns_health_check_timeout,omitempty"`

	// Determines which IP address is used as the source for DDNS notify and
	// transfer operations.
	DnsNotifyTransferSource string `json:"dns_notify_transfer_source,omitempty"`

	// The source address used if dns_notify_transfer_source type is "IP".
	DnsNotifyTransferSourceAddress *string `json:"dns_notify_transfer_source_address,omitempty"`

	// Enables DNS over TLS service.
	DnsOverTlsService *bool `json:"dns_over_tls_service,omitempty"`

	// The time limit (in minutes) for the DNS query capture file.
	DnsQueryCaptureFileTimeLimit *uint32 `json:"dns_query_capture_file_time_limit,omitempty"`

	// The source address used if dns_query_source_interface type is "IP".
	DnsQuerySourceAddress *string `json:"dns_query_source_address,omitempty"`

	// Determines which IP address is used as the source for DDNS query operations.
	DnsQuerySourceInterface string `json:"dns_query_source_interface,omitempty"`

	// Array of notify/query source settings for views.
	DnsViewAddressSettings []*SettingViewaddress `json:"dns_view_address_settings,omitempty"`

	// Determines if the blacklist rules for DNSSEC-enabled clients are enabled or
	// not.
	DnssecBlacklistEnabled *bool `json:"dnssec_blacklist_enabled,omitempty"`

	// Determines if the DNS64 groups for DNSSEC-enabled clients are enabled or
	// not.
	DnssecDns64Enabled *bool `json:"dnssec_dns64_enabled,omitempty"`

	// Determines if the DNS security extension is enabled or not.
	DnssecEnabled *bool `json:"dnssec_enabled,omitempty"`

	// Determines when the DNS member accepts expired signatures.
	DnssecExpiredSignaturesEnabled *bool `json:"dnssec_expired_signatures_enabled,omitempty"`

	// A list of zones for which the server does not perform DNSSEC validation.
	DnssecNegativeTrustAnchors []string `json:"dnssec_negative_trust_anchors,omitempty"`

	// Determines if the NXDOMAIN rules for DNSSEC-enabled clients are enabled or
	// not.
	DnssecNxdomainEnabled *bool `json:"dnssec_nxdomain_enabled,omitempty"`

	// Determines if the RPZ policies for DNSSEC-enabled clients are enabled or
	// not.
	DnssecRpzEnabled *bool `json:"dnssec_rpz_enabled,omitempty"`

	// The list of trusted keys for the DNSSEC feature.
	DnssecTrustedKeys []*Dnssectrustedkey `json:"dnssec_trusted_keys,omitempty"`

	// Determines if the DNS security validation is enabled or not.
	DnssecValidationEnabled *bool `json:"dnssec_validation_enabled,omitempty"`

	// The DNSTAP settings.
	DnstapSetting *Dnstapsetting `json:"dnstap_setting,omitempty"`

	// DNS over HTTPS sessions duration.
	DohHttpsSessionDuration *uint32 `json:"doh_https_session_duration,omitempty"`

	// Enables DNS over HTTPS service.
	DohService *bool `json:"doh_service,omitempty"`

	// The list of domains for DNS query capture.
	DomainsToCaptureDnsQueries []string `json:"domains_to_capture_dns_queries,omitempty"`

	// Setting to control specific behavior for DTC DNS responses for incoming lbdn
	// matched queries.
	DtcDnsQueriesSpecificBehavior string `json:"dtc_dns_queries_specific_behavior,omitempty"`

	// Determines whether to prefer the client address from the edns-client-subnet
	// option for DTC or not.
	DtcEdnsPreferClientSubnet *bool `json:"dtc_edns_prefer_client_subnet,omitempty"`

	// The health check source type.
	DtcHealthSource string `json:"dtc_health_source,omitempty"`

	// The source address used if dtc_health_source type is "IP".
	DtcHealthSourceAddress *string `json:"dtc_health_source_address,omitempty"`

	// Advertises the EDNS0 buffer size to the upstream server. The value should be
	// between 512 and 4096 bytes. The recommended value is between 512 and 1220
	// bytes.
	EdnsUdpSize *uint32 `json:"edns_udp_size,omitempty"`

	// Determines if the blocking of DNS queries is enabled or not. This setting
	// overrides the Grid enable_blackhole settings.
	EnableBlackhole *bool `json:"enable_blackhole,omitempty"`

	// Determines if a blacklist is enabled or not on the Grid member.
	EnableBlacklist *bool `json:"enable_blacklist,omitempty"`

	// The flag that indicates whether the capture of DNS queries is enabled or
	// disabled.
	EnableCaptureDnsQueries *bool `json:"enable_capture_dns_queries,omitempty"`

	// The flag that indicates whether the capture of DNS responses is enabled or
	// disabled.
	EnableCaptureDnsResponses *bool `json:"enable_capture_dns_responses,omitempty"`

	// Determines if the DNS service of a member is enabled or not.
	EnableDns *bool `json:"enable_dns,omitempty"`

	// Determines if the DNS64 support is enabled or not for this member.
	EnableDns64 *bool `json:"enable_dns64,omitempty"`

	// Determines if the DNS Cache Acceleration service is enabled or not for a
	// member.
	EnableDnsCacheAcceleration *bool `json:"enable_dns_cache_acceleration,omitempty"`

	// The flag that indicates whether the DNS health check is enabled or not.
	EnableDnsHealthCheck *bool `json:"enable_dns_health_check,omitempty"`

	// Determines whether the query messages need to be forwarded to DNSTAP or not.
	EnableDnstapQueries *bool `json:"enable_dnstap_queries,omitempty"`

	// Determines whether the response messages need to be forwarded to DNSTAP or
	// not.
	EnableDnstapResponses *bool `json:"enable_dnstap_responses,omitempty"`

	// The flag that indicates whether excluding domain names from captured DNS
	// queries and responses is enabled or disabled.
	EnableExcludedDomainNames *bool `json:"enable_excluded_domain_names,omitempty"`

	// Determines if the fixed RRset order FQDN is enabled or not.
	EnableFixedRrsetOrderFqdns *bool `json:"enable_fixed_rrset_order_fqdns,omitempty"`

	// Determines whether Fault Tolerant Caching (FTC) is enabled.
	EnableFtc *bool `json:"enable_ftc,omitempty"`

	// Determines whether the appliance is enabled to receive GSS-TSIG
	// authenticated updates from DHCP clients.
	EnableGssTsig *bool `json:"enable_gss_tsig,omitempty"`

	// Determines if the notify source port for a member is enabled or not.
	EnableNotifySourcePort *bool `json:"enable_notify_source_port,omitempty"`

	// Determines if the DNS query rewrite is enabled or not for this member.
	EnableQueryRewrite *bool `json:"enable_query_rewrite,omitempty"`

	// Determines if the query source port for a memer is enabled or not.
	EnableQuerySourcePort *bool `json:"enable_query_source_port,omitempty"`

	// The list of domains that are excluded from DNS query and response capture.
	ExcludedDomainNames []string `json:"excluded_domain_names,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The DNS capture file transfer settings. Include the specified parameter to
	// set the attribute value. Omit the parameter to retrieve the attribute value.
	FileTransferSetting *Filetransfersetting `json:"file_transfer_setting,omitempty"`

	// The type of AAAA filtering for this member DNS object.
	FilterAaaa string `json:"filter_aaaa,omitempty"`

	// The list of IPv4 addresses and networks from which queries are received.
	// AAAA filtering is applied to these addresses.
	FilterAaaaList []*Addressac `json:"filter_aaaa_list,omitempty"`

	// The fixed RRset order FQDN. If this field does not contain an empty value,
	// the appliance will automatically set the enable_fixed_rrset_order_fqdns
	// field to 'true', unless the same request sets the enable field to 'false'.
	FixedRrsetOrderFqdns []*GridDnsFixedrrsetorderfqdn `json:"fixed_rrset_order_fqdns,omitempty"`

	// Permits this member to send queries to forwarders only. When the value is
	// "true", the member sends queries to forwarders only, and not to other
	// internal or Internet root servers.
	ForwardOnly *bool `json:"forward_only,omitempty"`

	// Allows secondary servers to forward updates to the DNS server. This setting
	// overrides grid update settings.
	ForwardUpdates *bool `json:"forward_updates,omitempty"`

	// The forwarders for the member. A forwarder is essentially a name server to
	// which other name servers first send all of their off-site queries. The
	// forwarder builds up a cache of information, avoiding the need for the other
	// name servers to send queries off-site. This setting overrides the Grid level
	// setting.
	Forwarders []string `json:"forwarders,omitempty"`

	// The timeout interval (in seconds) after which the expired Fault Tolerant
	// Caching (FTC)record is stale and no longer valid.
	FtcExpiredRecordTimeout *uint32 `json:"ftc_expired_record_timeout,omitempty"`

	// The TTL value (in seconds) of the expired Fault Tolerant Caching (FTC)
	// record in DNS responses.
	FtcExpiredRecordTtl *uint32 `json:"ftc_expired_record_ttl,omitempty"`

	// The list of glue record addresses.
	GlueRecordAddresses []*MemberDnsgluerecordaddr `json:"glue_record_addresses,omitempty"`

	// The list of GSS-TSIG keys for a member DNS object.
	GssTsigKeys []*Kerberoskey `json:"gss_tsig_keys,omitempty"`

	// The host name of the Grid member.
	HostName string `json:"host_name,omitempty"`

	// The IPv4 Address of the Grid member.
	Ipv4Addr string `json:"ipv4addr,omitempty"`

	// The list of IPv6 glue record addresses.
	Ipv6GlueRecordAddresses []*MemberDnsgluerecordaddr `json:"ipv6_glue_record_addresses,omitempty"`

	// The IPv6 Address of the Grid member.
	Ipv6Addr string `json:"ipv6addr,omitempty"`

	// The flag that indicates whether member DNS supports Unbound as the recursive
	// resolver or not.
	IsUnboundCapable bool `json:"is_unbound_capable,omitempty"`

	// The number of seconds to cache lame delegations or lame servers.
	LameTtl *uint32 `json:"lame_ttl,omitempty"`

	// The logging categories for this DNS member.
	LoggingCategories *GridLoggingcategories `json:"logging_categories,omitempty"`

	// The maximum time (in seconds) for which the server will cache positive
	// answers.
	MaxCacheTtl *uint32 `json:"max_cache_ttl,omitempty"`

	// The maximum time in seconds a DNS response can be stored in the hardware
	// acceleration cache. Valid values are unsigned integer between 60 and 86400,
	// inclusive.
	MaxCachedLifetime *uint32 `json:"max_cached_lifetime,omitempty"`

	// The maximum time (in seconds) for which the server will cache negative
	// (NXDOMAIN) responses. The maximum allowed value is 604800.
	MaxNcacheTtl *uint32 `json:"max_ncache_ttl,omitempty"`

	// The value is used by authoritative DNS servers to never send DNS responses
	// larger than the configured value. The value should be between 512 and 4096
	// bytes. The recommended value is between 512 and 1220 bytes.
	MaxUdpSize *uint32 `json:"max_udp_size,omitempty"`

	// Enables the ability to return a minimal amount of data in response to a
	// query. This capability speeds up the DNS services provided by the appliance.
	MinimalResp *bool `json:"minimal_resp,omitempty"`

	// Specifies the number of seconds of delay the notify messages are sent to
	// secondaries.
	NotifyDelay *uint32 `json:"notify_delay,omitempty"`

	// The source port for notify messages. When requesting zone transfers from the
	// primary server, some secondary DNS servers use the source port number (the
	// primary server used to send the notify message) as the destination port
	// number in the zone transfer request. This setting overrides Grid static
	// source port settings. Valid values are between 1 and 63999. The default is
	// selected by BIND.
	NotifySourcePort *uint32 `json:"notify_source_port,omitempty"`

	// Determines if NXDOMAIN redirection queries are logged or not.
	NxdomainLogQuery *bool `json:"nxdomain_log_query,omitempty"`

	// Enables NXDOMAIN redirection.
	NxdomainRedirect *bool `json:"nxdomain_redirect,omitempty"`

	// The IPv4 NXDOMAIN redirection addresses.
	NxdomainRedirectAddresses []string `json:"nxdomain_redirect_addresses,omitempty"`

	// The IPv6 NXDOMAIN redirection addresses.
	NxdomainRedirectAddressesV6 []string `json:"nxdomain_redirect_addresses_v6,omitempty"`

	// The TTL value of synthetic DNS responses that result from NXDOMAIN
	// redirection.
	NxdomainRedirectTtl *uint32 `json:"nxdomain_redirect_ttl,omitempty"`

	// The names of the Ruleset objects assigned at the Grid level for NXDOMAIN
	// redirection.
	NxdomainRulesets []string `json:"nxdomain_rulesets,omitempty"`

	// The source port for queries. Specifying a source port number for recursive
	// queries ensures that a firewall will allow the response. Valid values are
	// between 1 and 63999. The default is selected by BIND.
	QuerySourcePort *uint32 `json:"query_source_port,omitempty"`

	// The record name restriction policy.
	RecordNamePolicy *string `json:"record_name_policy,omitempty"`

	// A limit on the number of concurrent recursive clients.
	RecursiveClientLimit *uint32 `json:"recursive_client_limit,omitempty"`

	// The list of IPv4 or IPv6 addresses, networks or hosts authenticated by
	// Transaction signature (TSIG) key from which recursive queries are allowed or
	// denied.
	RecursiveQueryList []*Addressac `json:"recursive_query_list,omitempty"`

	// The recursive resolver for member DNS.
	RecursiveResolver string `json:"recursive_resolver,omitempty"`

	// The recursive query timeout for the member. The value must be 0 or between
	// 10 and 30.
	ResolverQueryTimeout *uint32 `json:"resolver_query_timeout,omitempty"`

	// The response rate limiting settings for the member.
	ResponseRateLimiting *GridResponseratelimiting `json:"response_rate_limiting,omitempty"`

	// Determines the type of root name servers.
	RootNameServerType string `json:"root_name_server_type,omitempty"`

	// Enables NSDNAME and NSIP resource records from RPZ feeds at member level.
	RpzDisableNsdnameNsip *bool `json:"rpz_disable_nsdname_nsip,omitempty"`

	// Enables the appliance to ignore RPZ-IP triggers with prefix lengths less
	// than the specified minimum prefix length.
	RpzDropIpRuleEnabled *bool `json:"rpz_drop_ip_rule_enabled,omitempty"`

	// The minimum prefix length for IPv4 RPZ-IP triggers. The appliance ignores
	// RPZ-IP triggers with prefix lengths less than the specified minimum IPv4
	// prefix length.
	RpzDropIpRuleMinPrefixLengthIpv4 *uint32 `json:"rpz_drop_ip_rule_min_prefix_length_ipv4,omitempty"`

	// The minimum prefix length for IPv6 RPZ-IP triggers. The appliance ignores
	// RPZ-IP triggers with prefix lengths less than the specified minimum IPv6
	// prefix length.
	RpzDropIpRuleMinPrefixLengthIpv6 *uint32 `json:"rpz_drop_ip_rule_min_prefix_length_ipv6,omitempty"`

	// The flag that indicates whether recursive RPZ lookups are enabled.
	RpzQnameWaitRecurse *bool `json:"rpz_qname_wait_recurse,omitempty"`

	// The number of maximum concurrent SOA queries per second for the member.
	SerialQueryRate *uint32 `json:"serial_query_rate,omitempty"`

	// The value of the server-id directive for BIND and Unbound DNS.
	ServerIdDirective string `json:"server_id_directive,omitempty"`

	// The value of the user-defined hostname directive for BIND and UNBOUND DNS.
	// To enable user-defined hostname directive, you must set the
	// bind_hostname_directive to "USER_DEFINED".
	ServerIdDirectiveString *string `json:"server_id_directive_string,omitempty"`

	// Determines if RPZ rules are applied to queries originated from this member
	// and received by other Grid members.
	SkipInGridRpzQueries *bool `json:"skip_in_grid_rpz_queries,omitempty"`

	// A sort list determines the order of addresses in responses made to DNS
	// queries. This setting overrides Grid sort list settings.
	Sortlist []*Sortlist `json:"sortlist,omitempty"`

	// The flag that indicates whether the storage of query capture reports on the
	// appliance is enabled or disabled.
	StoreLocally *bool `json:"store_locally,omitempty"`

	// The syslog facility. This is the location on the syslog server to which you
	// want to sort the DNS logging messages. This setting overrides the Grid
	// logging facility settings.
	SyslogFacility string `json:"syslog_facility,omitempty"`

	// TCP Idle timeout for DNS over TLS connections.
	TcpIdleTimeout *uint32 `json:"tcp_idle_timeout,omitempty"`

	// DNS over TLS sessions duration.
	TlsSessionDuration *uint32 `json:"tls_session_duration,omitempty"`

	// Excludes specified DNS servers during zone transfers.
	TransferExcludedServers []string `json:"transfer_excluded_servers,omitempty"`

	// The BIND format for a zone transfer. This provides tracking capabilities for
	// single or multiple transfers and their associated servers.
	TransferFormat string `json:"transfer_format,omitempty"`

	// The number of maximum concurrent transfers for the member.
	TransfersIn *uint32 `json:"transfers_in,omitempty"`

	// The number of maximum outbound concurrent zone transfers for the member.
	TransfersOut *uint32 `json:"transfers_out,omitempty"`

	// The number of maximum concurrent transfers per member for the member.
	TransfersPerNs *uint32 `json:"transfers_per_ns,omitempty"`

	// Logging level for the Unbound recursive resolver.
	UnboundLoggingLevel string `json:"unbound_logging_level,omitempty"`

	// Use flag for: add_client_ip_mac_options
	UseAddClientIpMacOptions *bool `json:"use_add_client_ip_mac_options,omitempty"`

	// Use flag for: allow_query
	UseAllowQuery *bool `json:"use_allow_query,omitempty"`

	// Use flag for: allow_transfer
	UseAllowTransfer *bool `json:"use_allow_transfer,omitempty"`

	// Use flag for: attack_mitigation
	UseAttackMitigation *bool `json:"use_attack_mitigation,omitempty"`

	// Use flag for: auto_blackhole
	UseAutoBlackhole *bool `json:"use_auto_blackhole,omitempty"`

	// Use flag for: bind_hostname_directive
	UseBindHostnameDirective *bool `json:"use_bind_hostname_directive,omitempty"`

	// Use flag for: enable_blackhole
	UseBlackhole *bool `json:"use_blackhole,omitempty"`

	// Use flag for: blackhole_list , blacklist_action, blacklist_log_query,
	// blacklist_redirect_addresses, blacklist_redirect_ttl, blacklist_rulesets,
	// enable_blacklist
	UseBlacklist *bool `json:"use_blacklist,omitempty"`

	// Use flag for: capture_dns_queries_on_all_domains
	UseCaptureDnsQueriesOnAllDomains *bool `json:"use_capture_dns_queries_on_all_domains,omitempty"`

	// Use flag for: copy_client_ip_mac_options
	UseCopyClientIpMacOptions *bool `json:"use_copy_client_ip_mac_options,omitempty"`

	// Use flag for: copy_xfer_to_notify
	UseCopyXferToNotify *bool `json:"use_copy_xfer_to_notify,omitempty"`

	// Use flag for: disable_edns
	UseDisableEdns *bool `json:"use_disable_edns,omitempty"`

	// Use flag for: enable_dns64 , dns64_groups
	UseDns64 *bool `json:"use_dns64,omitempty"`

	// Use flag for: dns_cache_acceleration_ttl
	UseDnsCacheAccelerationTtl *bool `json:"use_dns_cache_acceleration_ttl,omitempty"`

	// Use flag for: dns_health_check_domain_list ,
	// dns_health_check_recursion_flag, dns_health_check_anycast_control,
	// enable_dns_health_check, dns_health_check_interval,
	// dns_health_check_timeout, dns_health_check_retries
	UseDnsHealthCheck *bool `json:"use_dns_health_check,omitempty"`

	// Use flag for: dnssec_enabled , dnssec_expired_signatures_enabled,
	// dnssec_validation_enabled, dnssec_trusted_keys
	UseDnssec *bool `json:"use_dnssec,omitempty"`

	// Use flag for: enable_dnstap_queries , enable_dnstap_responses,
	// dnstap_setting
	UseDnstapSetting *bool `json:"use_dnstap_setting,omitempty"`

	// Use flag for: dtc_dns_queries_specific_behavior
	UseDtcDnsQueriesSpecificBehavior *bool `json:"use_dtc_dns_queries_specific_behavior,omitempty"`

	// Use flag for: dtc_edns_prefer_client_subnet
	UseDtcEdnsPreferClientSubnet *bool `json:"use_dtc_edns_prefer_client_subnet,omitempty"`

	// Use flag for: edns_udp_size
	UseEdnsUdpSize *bool `json:"use_edns_udp_size,omitempty"`

	// Use flag for: enable_capture_dns_queries , enable_capture_dns_responses
	UseEnableCaptureDns *bool `json:"use_enable_capture_dns,omitempty"`

	// Use flag for: enable_excluded_domain_names
	UseEnableExcludedDomainNames *bool `json:"use_enable_excluded_domain_names,omitempty"`

	// Use flag for: enable_gss_tsig
	UseEnableGssTsig *bool `json:"use_enable_gss_tsig,omitempty"`

	// Use flag for: enable_query_rewrite
	UseEnableQueryRewrite *bool `json:"use_enable_query_rewrite,omitempty"`

	// Use flag for: filter_aaaa , filter_aaaa_list
	UseFilterAaaa *bool `json:"use_filter_aaaa,omitempty"`

	// Use flag for: fixed_rrset_order_fqdns , enable_fixed_rrset_order_fqdns
	UseFixedRrsetOrderFqdns *bool `json:"use_fixed_rrset_order_fqdns,omitempty"`

	// Use flag for: forward_updates
	UseForwardUpdates *bool `json:"use_forward_updates,omitempty"`

	// Use flag for: forwarders , forward_only
	UseForwarders *bool `json:"use_forwarders,omitempty"`

	// Use flag for: enable_ftc , ftc_expired_record_ttl,
	// ftc_expired_record_timeout
	UseFtc *bool `json:"use_ftc,omitempty"`

	// Use flag for: gss_tsig_keys
	UseGssTsigKeys *bool `json:"use_gss_tsig_keys,omitempty"`

	// Use flag for: lame_ttl
	UseLameTtl *bool `json:"use_lame_ttl,omitempty"`

	// Determines if the DNS service on the IPv6 LAN2 port is enabled or not.
	UseLan2Ipv6Port *bool `json:"use_lan2_ipv6_port,omitempty"`

	// Determines if the DNS service on the LAN2 port is enabled or not.
	UseLan2Port *bool `json:"use_lan2_port,omitempty"`

	// Determines if the DNS service on the IPv6 LAN port is enabled or not.
	UseLanIpv6Port *bool `json:"use_lan_ipv6_port,omitempty"`

	// Determines the status of the use of DNS services on the IPv4 LAN1 port.
	UseLanPort *bool `json:"use_lan_port,omitempty"`

	// Use flag for: logging_categories
	UseLoggingCategories *bool `json:"use_logging_categories,omitempty"`

	// Use flag for: max_cache_ttl
	UseMaxCacheTtl *bool `json:"use_max_cache_ttl,omitempty"`

	// Use flag for: max_cached_lifetime
	UseMaxCachedLifetime *bool `json:"use_max_cached_lifetime,omitempty"`

	// Use flag for: max_ncache_ttl
	UseMaxNcacheTtl *bool `json:"use_max_ncache_ttl,omitempty"`

	// Use flag for: max_udp_size
	UseMaxUdpSize *bool `json:"use_max_udp_size,omitempty"`

	// Determines if the DNS services on the IPv6 MGMT port is enabled or not.
	UseMgmtIpv6Port *bool `json:"use_mgmt_ipv6_port,omitempty"`

	// Determines if the DNS services on the MGMT port is enabled or not.
	UseMgmtPort *bool `json:"use_mgmt_port,omitempty"`

	// Use flag for: notify_delay
	UseNotifyDelay *bool `json:"use_notify_delay,omitempty"`

	// Use flag for: nxdomain_redirect , nxdomain_redirect_addresses,
	// nxdomain_redirect_addresses_v6, nxdomain_redirect_ttl, nxdomain_log_query,
	// nxdomain_rulesets
	UseNxdomainRedirect *bool `json:"use_nxdomain_redirect,omitempty"`

	// Use flag for: record_name_policy
	UseRecordNamePolicy *bool `json:"use_record_name_policy,omitempty"`

	// Use flag for: recursive_client_limit
	UseRecursiveClientLimit *bool `json:"use_recursive_client_limit,omitempty"`

	// Use flag for: allow_recursive_query , recursive_query_list
	UseRecursiveQuerySetting *bool `json:"use_recursive_query_setting,omitempty"`

	// Use flag for: resolver_query_timeout
	UseResolverQueryTimeout *bool `json:"use_resolver_query_timeout,omitempty"`

	// Use flag for: response_rate_limiting
	UseResponseRateLimiting *bool `json:"use_response_rate_limiting,omitempty"`

	// Use flag for: root_name_server_type , custom_root_name_servers,
	// use_root_server_for_all_views
	UseRootNameServer *bool `json:"use_root_name_server,omitempty"`

	// Determines if root name servers should be applied to all views or only to
	// Default view.
	UseRootServerForAllViews *bool `json:"use_root_server_for_all_views,omitempty"`

	// Use flag for: rpz_disable_nsdname_nsip
	UseRpzDisableNsdnameNsip *bool `json:"use_rpz_disable_nsdname_nsip,omitempty"`

	// Use flag for: rpz_drop_ip_rule_enabled ,
	// rpz_drop_ip_rule_min_prefix_length_ipv4,
	// rpz_drop_ip_rule_min_prefix_length_ipv6
	UseRpzDropIpRule *bool `json:"use_rpz_drop_ip_rule,omitempty"`

	// Use flag for: rpz_qname_wait_recurse
	UseRpzQnameWaitRecurse *bool `json:"use_rpz_qname_wait_recurse,omitempty"`

	// Use flag for: serial_query_rate
	UseSerialQueryRate *bool `json:"use_serial_query_rate,omitempty"`

	// Use flag for: server_id_directive
	UseServerIdDirective *bool `json:"use_server_id_directive,omitempty"`

	// Use flag for: sortlist
	UseSortlist *bool `json:"use_sortlist,omitempty"`

	// Use flag for: enable_notify_source_port , notify_source_port,
	// enable_query_source_port, query_source_port
	UseSourcePorts *bool `json:"use_source_ports,omitempty"`

	// Use flag for: syslog_facility
	UseSyslogFacility *bool `json:"use_syslog_facility,omitempty"`

	// Use flag for: transfers_in
	UseTransfersIn *bool `json:"use_transfers_in,omitempty"`

	// Use flag for: transfers_out
	UseTransfersOut *bool `json:"use_transfers_out,omitempty"`

	// Use flag for: transfers_per_ns
	UseTransfersPerNs *bool `json:"use_transfers_per_ns,omitempty"`

	// Use flag for: allow_update , allow_gss_tsig_zone_updates
	UseUpdateSetting *bool `json:"use_update_setting,omitempty"`

	// Use flag for: transfer_excluded_servers , transfer_format
	UseZoneTransferFormat *bool `json:"use_zone_transfer_format,omitempty"`

	// The list of views associated with this member.
	Views []string `json:"views,omitempty"`
}

MemberDns represents Infoblox object member:dns. The Grid Member DNS object can be used to configure DNS properties for a Grid member, including enabling or disabling DNS services and other DNS service related parameters. Grid service configurations are inherited by all members.

func (MemberDns) ObjectType added in v2.4.0

func (MemberDns) ObjectType() string

func (MemberDns) ReturnFields added in v2.4.0

func (obj MemberDns) ReturnFields() []string

type MemberDnsgluerecordaddr added in v2.4.0

type MemberDnsgluerecordaddr struct {
	// Determines if empty view with recursion enabled will be written into the
	// conf file.
	AttachEmptyRecursiveView bool `json:"attach_empty_recursive_view,omitempty"`

	// The address the appliance uses to generate the glue record.
	GlueRecordAddress string `json:"glue_record_address,omitempty"`

	// The name of the DNS View in which the record resides. Example: "external".
	View string `json:"view,omitempty"`

	// The address choice for auto-created glue records for this view.
	GlueAddressChoice string `json:"glue_address_choice,omitempty"`
}

MemberDnsgluerecordaddr represents Infoblox struct member:dnsgluerecordaddr

type MemberDnsip added in v2.4.0

type MemberDnsip struct {
	// The additional IP address of the member.
	IpAddress string `json:"ip_address,omitempty"`
}

MemberDnsip represents Infoblox struct member:dnsip

type MemberFiledistribution added in v2.4.0

type MemberFiledistribution struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Determines whether uploads to the Grid member are allowed.
	AllowUploads *bool `json:"allow_uploads,omitempty"`

	// The Grid member descriptive comment.
	Comment string `json:"comment,omitempty"`

	// Determines whether the FTP prtocol is enabled for file distribution.
	EnableFtp *bool `json:"enable_ftp,omitempty"`

	// Determines whether the LIST command for FTP is enabled.
	EnableFtpFilelist *bool `json:"enable_ftp_filelist,omitempty"`

	// Determines whether the passive mode for FTP is enabled.
	EnableFtpPassive *bool `json:"enable_ftp_passive,omitempty"`

	// Determines whether the HTTP prtocol is enabled for file distribution.
	EnableHttp *bool `json:"enable_http,omitempty"`

	// Determines whether the HTTP prtocol access control (AC) settings are
	// enabled.
	EnableHttpAcl *bool `json:"enable_http_acl,omitempty"`

	// Determines whether the TFTP prtocol is enabled for file distribution.
	EnableTftp *bool `json:"enable_tftp,omitempty"`

	// Access control (AC) settings for the FTP protocol.
	FtpAcls []*Addressac `json:"ftp_acls,omitempty"`

	// The network port used by the FTP protocol.
	FtpPort *uint32 `json:"ftp_port,omitempty"`

	// The FTP protocol status.
	FtpStatus string `json:"ftp_status,omitempty"`

	// The Grid member host name.
	HostName string `json:"host_name,omitempty"`

	// Access control (AC) settings for the HTTP protocol.
	HttpAcls []*Addressac `json:"http_acls,omitempty"`

	// The HTTP protocol status.
	HttpStatus string `json:"http_status,omitempty"`

	// The IPv4 address of the Grid member.
	Ipv4Address string `json:"ipv4_address,omitempty"`

	// The IPv6 address of the Grid member.
	Ipv6Address string `json:"ipv6_address,omitempty"`

	// The Grid member file distribution status.
	Status string `json:"status,omitempty"`

	// The access control (AC) settings for the TFTP protocol.
	TftpAcls []*Addressac `json:"tftp_acls,omitempty"`

	// The network port used by the TFTP protocol.
	TftpPort *uint32 `json:"tftp_port,omitempty"`

	// The TFTP protocol status.
	TftpStatus string `json:"tftp_status,omitempty"`

	// Use flag for: allow_uploads
	UseAllowUploads *bool `json:"use_allow_uploads,omitempty"`
}

MemberFiledistribution represents Infoblox object member:filedistribution. The Grid member file distribution object is used to configure file distribution services such as TFTP, FTP and HTTP, and access control lists (ACL) that determine which clients are granted access to the service (TFTP, FTP, HTTP), and which clients are denied access to the service.

func (MemberFiledistribution) ObjectType added in v2.4.0

func (MemberFiledistribution) ObjectType() string

func (MemberFiledistribution) ReturnFields added in v2.4.0

func (obj MemberFiledistribution) ReturnFields() []string

type MemberLicense added in v2.4.0

type MemberLicense struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The license expiration status.
	ExpirationStatus string `json:"expiration_status,omitempty"`

	// The expiration timestamp of the license.
	ExpiryDate *UnixTime `json:"expiry_date,omitempty"`

	// The hardware ID of the physical node on which the license is installed.
	Hwid string `json:"hwid,omitempty"`

	// License string.
	Key string `json:"key,omitempty"`

	// The overall type of license: static or dynamic.
	Kind string `json:"kind,omitempty"`

	// The license limit value.
	Limit string `json:"limit,omitempty"`

	// The license limit context.
	LimitContext string `json:"limit_context,omitempty"`

	// The license type.
	Type string `json:"type,omitempty"`
}

MemberLicense represents Infoblox object member:license. This object represents the member license.

func (MemberLicense) ObjectType added in v2.4.0

func (MemberLicense) ObjectType() string

func (MemberLicense) ReturnFields added in v2.4.0

func (obj MemberLicense) ReturnFields() []string

type MemberNtp added in v2.4.0

type MemberNtp struct {
	// Determines whether the NTP service is enabled on the member.
	EnableNTP bool `json:"enable_ntp,omitempty"`

	// The list of NTP servers configured on a member.
	NTPServers []*NTPserver `json:"ntp_servers,omitempty"`

	// The list of NTP authentication keys used to authenticate NTP clients.
	NTPKeys []*Ntpkey `json:"ntp_keys,omitempty"`

	// The NTP access control settings.
	NTPAcl *Ntpaccess `json:"ntp_acl,omitempty"`

	// Determines whether the Kiss-o'-Death packets are enabled or disabled.
	NTPKod bool `json:"ntp_kod,omitempty"`

	// Determines whether the use of the external NTP servers is enabled for the
	// member.
	EnableExternalNtpServers bool `json:"enable_external_ntp_servers,omitempty"`

	// Determines whether the Grid Master is excluded as an NTP server.
	ExcludeGridMasterNtpServer bool `json:"exclude_grid_master_ntp_server,omitempty"`

	// Override Grid level NTP stratum.
	UseLocalNtpStratum bool `json:"use_local_ntp_stratum,omitempty"`

	// Vnode level local NTP stratum.
	LocalNtpStratum uint32 `json:"local_ntp_stratum,omitempty"`

	// Vnode level default stratum.
	UseDefaultStratum bool `json:"use_default_stratum,omitempty"`

	// Use flag for: ntp_servers
	UseNtpServers bool `json:"use_ntp_servers,omitempty"`

	// Use flag for: ntp_keys
	UseNtpKeys bool `json:"use_ntp_keys,omitempty"`

	// Use flag for: ntp_acl
	UseNtpAcl bool `json:"use_ntp_acl,omitempty"`

	// Use flag for: ntp_kod
	UseNtpKod bool `json:"use_ntp_kod,omitempty"`
}

MemberNtp represents Infoblox struct member:ntp

type MemberParentalcontrol added in v2.4.0

type MemberParentalcontrol struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Determines if the parental control service is enabled.
	EnableService *bool `json:"enable_service,omitempty"`

	// The parental control member hostname.
	Name string `json:"name,omitempty"`
}

MemberParentalcontrol represents Infoblox object member:parentalcontrol. This object represents a set of parental control properties for the Grid member.

func (MemberParentalcontrol) ObjectType added in v2.4.0

func (MemberParentalcontrol) ObjectType() string

func (MemberParentalcontrol) ReturnFields added in v2.4.0

func (obj MemberParentalcontrol) ReturnFields() []string

type MemberThreatanalytics added in v2.4.0

type MemberThreatanalytics struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The Grid member descriptive comment.
	Comment string `json:"comment,omitempty"`

	// Determines whether the threat analytics service is enabled.
	EnableService *bool `json:"enable_service,omitempty"`

	// The Grid member host name.
	HostName string `json:"host_name,omitempty"`

	// The IPv4 Address address of the Grid member.
	Ipv4Address string `json:"ipv4_address,omitempty"`

	// The IPv6 Address address of the Grid member.
	Ipv6Address string `json:"ipv6_address,omitempty"`

	// The Grid member threat analytics status.
	Status string `json:"status,omitempty"`
}

MemberThreatanalytics represents Infoblox object member:threatanalytics. To mitigate DNS data exfiltration, Infoblox DNS threat analytics employs analytics algorithms that analyze incoming DNS queries and responses to detect DNS tunneling traffic.

func (MemberThreatanalytics) ObjectType added in v2.4.0

func (MemberThreatanalytics) ObjectType() string

func (MemberThreatanalytics) ReturnFields added in v2.4.0

func (obj MemberThreatanalytics) ReturnFields() []string

type MemberThreatprotection added in v2.4.0

type MemberThreatprotection struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The human readable comment for member threat protection properties.
	Comment string `json:"comment,omitempty"`

	// The ruleset used for threat protection.
	CurrentRuleset *string `json:"current_ruleset,omitempty"`

	// Determines if multiple BIND responses via TCP connection is enabled or not.
	DisableMultipleDnsTcpRequest *bool `json:"disable_multiple_dns_tcp_request,omitempty"`

	// Determines if DNS responses are sent from acceleration cache before applying
	// Threat Protection rules. Recommended for better performance when using DNS
	// Cache Acceleration.
	EnableAccelRespBeforeThreatProtection *bool `json:"enable_accel_resp_before_threat_protection,omitempty"`

	// Determines if NAT (Network Address Translation) mapping for threat
	// protection is enabled or not.
	EnableNatRules *bool `json:"enable_nat_rules,omitempty"`

	// Determines if the Threat protection service is enabled or not.
	EnableService *bool `json:"enable_service,omitempty"`

	// The number of events logged per second per rule.
	EventsPerSecondPerRule *uint32 `json:"events_per_second_per_rule,omitempty"`

	// The hardware model of the member.
	HardwareModel string `json:"hardware_model,omitempty"`

	// The hardware type of the member.
	HardwareType string `json:"hardware_type,omitempty"`

	// A Grid member name.
	HostName string `json:"host_name,omitempty"`

	// The IPv4 address of member threat protection service.
	Ipv4address string `json:"ipv4address,omitempty"`

	// The IPv6 address of member threat protection service.
	Ipv6address string `json:"ipv6address,omitempty"`

	// The list of NAT rules.
	NatRules []*ThreatprotectionNatrule `json:"nat_rules,omitempty"`

	// Outbound settings for ATP events.
	OutboundSettings *SettingAtpoutbound `json:"outbound_settings,omitempty"`

	// The Threat Protection profile associated with the member.
	Profile *string `json:"profile,omitempty"`

	// Use flag for: current_ruleset
	UseCurrentRuleset *bool `json:"use_current_ruleset,omitempty"`

	// Use flag for: disable_multiple_dns_tcp_request
	UseDisableMultipleDnsTcpRequest *bool `json:"use_disable_multiple_dns_tcp_request,omitempty"`

	// Use flag for: enable_accel_resp_before_threat_protection
	UseEnableAccelRespBeforeThreatProtection *bool `json:"use_enable_accel_resp_before_threat_protection,omitempty"`

	// Use flag for: enable_nat_rules
	UseEnableNatRules *bool `json:"use_enable_nat_rules,omitempty"`

	// Use flag for: events_per_second_per_rule
	UseEventsPerSecondPerRule *bool `json:"use_events_per_second_per_rule,omitempty"`

	// Use flag for: outbound_settings
	UseOutboundSettings *bool `json:"use_outbound_settings,omitempty"`
}

MemberThreatprotection represents Infoblox object member:threatprotection. This object provides information about the member threat protection settings.

func (MemberThreatprotection) ObjectType added in v2.4.0

func (MemberThreatprotection) ObjectType() string

func (MemberThreatprotection) ReturnFields added in v2.4.0

func (obj MemberThreatprotection) ReturnFields() []string

type Memberdfp added in v2.4.0

type Memberdfp struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Option to resolve DNS query if resolution over Active Trust Cloud failed.
	DfpForwardFirst *bool `json:"dfp_forward_first,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// Host name of the parent Member
	HostName string `json:"host_name,omitempty"`

	// DFP override lock'.
	IsDfpOverride *bool `json:"is_dfp_override,omitempty"`
}

Memberdfp represents Infoblox object memberdfp. This object represnts DFP fields at member level

func (Memberdfp) ObjectType added in v2.4.0

func (Memberdfp) ObjectType() string

func (Memberdfp) ReturnFields added in v2.4.0

func (obj Memberdfp) ReturnFields() []string

type Memberserver added in v2.4.0

type Memberserver struct {
	// The grid member name.
	Name string `json:"name,omitempty"`

	// This flag governs whether the specified Grid member is in stealth mode or
	// not. If set to True, the member is in stealth mode. This flag is ignored if
	// the struct is specified as part of a stub zone.
	Stealth bool `json:"stealth,omitempty"`

	// The flag represents DNS zone transfers if set to True, and ID Grid
	// Replication if set to False. This flag is ignored if the struct is specified
	// as part of a stub zone or if it is set as grid_member in an authoritative
	// zone.
	GridReplicate bool `json:"grid_replicate,omitempty"`

	// This flag controls whether the Grid lead secondary server performs zone
	// transfers to non lead secondaries. This flag is ignored if the struct is
	// specified as grid_member in an authoritative zone.
	Lead bool `json:"lead,omitempty"`

	// The primary preference list with Grid member names and\or External Server
	// extserver structs for this member.
	PreferredPrimaries []NameServer `json:"preferred_primaries,omitempty"`

	// This flag represents whether the preferred_primaries field values of this
	// member are used.
	EnablePreferredPrimaries bool `json:"enable_preferred_primaries,omitempty"`
}

Memberserver represents Infoblox struct memberserver

type Memberservicecommunication added in v2.4.0

type Memberservicecommunication struct {
	// The service for a Grid member.
	Service string `json:"service,omitempty"`

	// Communication type.
	Type string `json:"type,omitempty"`

	// The option for communication type.
	Option string `json:"option,omitempty"`
}

Memberservicecommunication represents Infoblox struct memberservicecommunication

type Memberservicestatus added in v2.4.0

type Memberservicestatus struct {
	// The description of the current service status.
	Description string `json:"description,omitempty"`

	// The service status.
	Status string `json:"status,omitempty"`

	// The service identifier.
	Service string `json:"service,omitempty"`
}

Memberservicestatus represents Infoblox struct memberservicestatus

type Mgmtportsetting added in v2.4.0

type Mgmtportsetting struct {
	// Determines if MGMT port settings should be enabled.
	Enabled bool `json:"enabled,omitempty"`

	// Determines if VPN on the MGMT port is enabled or not.
	VpnEnabled bool `json:"vpn_enabled,omitempty"`

	// Determines if security access on the MGMT port is enabled or not.
	SecurityAccessEnabled bool `json:"security_access_enabled,omitempty"`
}

Mgmtportsetting represents Infoblox struct mgmtportsetting

type Monitoreddomains added in v2.4.0

type Monitoreddomains struct {
	// Domain name (FQDN to Query).
	DomainName string `json:"domain_name,omitempty"`

	// Record type(record to query).
	RecordType string `json:"record_type,omitempty"`
}

Monitoreddomains represents Infoblox struct monitoreddomains

type Msdhcpoption added in v2.4.0

type Msdhcpoption struct {
	// The code of the DHCP option.
	Num uint32 `json:"num,omitempty"`

	// Value of the DHCP option.
	Value string `json:"value,omitempty"`

	// The name of the DHCP option.
	Name string `json:"name,omitempty"`

	// The name of the vendor class with which this DHCP option is associated.
	VendorClass string `json:"vendor_class,omitempty"`

	// The name of the user class with which this DHCP option is associated.
	UserClass string `json:"user_class,omitempty"`

	// The DHCP option type. Valid values are: * "16-bit signed integer" * "16-bit
	// unsigned integer" * "32-bit signed integer" * "32-bit unsigned integer" *
	// "64-bit unsigned integer" * "8-bit signed integer" * "8-bit unsigned integer
	// (1,2,4,8)" * "8-bit unsigned integer" * "array of 16-bit integer" * "array
	// of 16-bit unsigned integer" * "array of 32-bit integer" * "array of 32-bit
	// unsigned integer" * "array of 64-bit unsigned integer" * "array of 8-bit
	// integer" * "array of 8-bit unsigned integer" * "array of ip-address pair" *
	// "array of ip-address" * "array of string" * "binary" * "boolean array of
	// ip-address" * "boolean" * "boolean-text" * "domain-list" * "domain-name" *
	// "encapsulated" * "ip-address" * "string" * "text"
	Type string `json:"type,omitempty"`
}

Msdhcpoption represents Infoblox struct msdhcpoption

type Msdhcpserver added in v2.4.0

type Msdhcpserver struct {
	// The IPv4 Address or FQDN of the Microsoft server.
	Ipv4Addr string `json:"ipv4addr,omitempty"`
}

Msdhcpserver represents Infoblox struct msdhcpserver

type Msdnsserver added in v2.4.0

type Msdnsserver struct {
	// The address of the server.
	Address string `json:"address,omitempty"`

	// This flag indicates if this server is a synchronization master.
	IsMaster bool `json:"is_master,omitempty"`

	// This address is used when generating the NS record in the zone, which can be
	// different in case of multihomed hosts.
	NsIp string `json:"ns_ip,omitempty"`

	// This name is used when generating the NS record in the zone, which can be
	// different in case of multihomed hosts.
	NsName string `json:"ns_name,omitempty"`

	// Set this flag to hide the NS record for the primary name server from DNS
	// queries.
	Stealth bool `json:"stealth,omitempty"`

	// This flag represents whether the name server is shared with the parent
	// Microsoft primary zone's delegation server.
	SharedWithMsParentDelegation bool `json:"shared_with_ms_parent_delegation,omitempty"`
}

Msdnsserver represents Infoblox struct msdnsserver

type Msserver added in v2.4.0

type Msserver struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The Active Directory domain to which this server belongs (if applicable).
	AdDomain string `json:"ad_domain,omitempty"`

	// The Active Directory Sites information
	AdSites *Adsites `json:"ad_sites,omitempty"`

	// The Active Directory User synchronization information.
	AdUser *MsserverAduser `json:"ad_user,omitempty"`

	// The address or FQDN of the server.
	Address *string `json:"address,omitempty"`

	// User comments for this Microsoft Server
	Comment *string `json:"comment,omitempty"`

	// Result of the last RPC connection attempt made
	ConnectionStatus string `json:"connection_status,omitempty"`

	// Detail of the last connection attempt made
	ConnectionStatusDetail string `json:"connection_status_detail,omitempty"`

	// RW fields needed for DHCP purposes at Microsoft Server level
	DhcpServer *Dhcpserver `json:"dhcp_server,omitempty"`

	// Allow/forbids usage of this Microsoft Server
	Disabled *bool `json:"disabled,omitempty"`

	// Structure containing DNS information
	DnsServer *Dnsserver `json:"dns_server,omitempty"`

	// Reference to the DNS view
	DnsView *string `json:"dns_view,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// eference to the assigned grid member
	GridMember *string `json:"grid_member,omitempty"`

	// Timestamp of the last message received
	LastSeen *UnixTime `json:"last_seen,omitempty"`

	// Directs logging of sync messages either to syslog or mslog
	LogDestination string `json:"log_destination,omitempty"`

	// Log level for this Microsoft Server
	LogLevel string `json:"log_level,omitempty"`

	// Microsoft Server login name, with optional domainname
	LoginName *string `json:"login_name,omitempty"`

	// Microsoft Server login password
	LoginPassword *string `json:"login_password,omitempty"`

	// Hostname of grid member managing this Microsoft Server
	ManagingMember string `json:"managing_member,omitempty"`

	// Maximum number of connections to MS server
	MsMaxConnection *uint32 `json:"ms_max_connection,omitempty"`

	// Timeout in seconds of RPC connections for this MS Server
	MsRpcTimeoutInSeconds *uint32 `json:"ms_rpc_timeout_in_seconds,omitempty"`

	// Reference to the network view
	NetworkView *string `json:"network_view,omitempty"`

	// Enable read-only management for this Microsoft Server
	ReadOnly *bool `json:"read_only,omitempty"`

	// The root Active Directory domain to which this server belongs (if
	// applicable).
	RootAdDomain string `json:"root_ad_domain,omitempty"`

	// Gives the server name as reported by itself
	ServerName string `json:"server_name,omitempty"`

	// Minimum number of minutes between two synchronizations
	SynchronizationMinDelay *uint32 `json:"synchronization_min_delay,omitempty"`

	// Synchronization status summary
	SynchronizationStatus string `json:"synchronization_status,omitempty"`

	// Detail status if synchronization_status is ERROR
	SynchronizationStatusDetail string `json:"synchronization_status_detail,omitempty"`

	// Override log_destination inherited from grid level
	UseLogDestination *bool `json:"use_log_destination,omitempty"`

	// Override grid ms_max_connection setting
	UseMsMaxConnection *bool `json:"use_ms_max_connection,omitempty"`

	// Flag to override cluster RPC timeout
	UseMsRpcTimeoutInSeconds *bool `json:"use_ms_rpc_timeout_in_seconds,omitempty"`

	// Version of the Microsoft Server
	Version string `json:"version,omitempty"`
}

Msserver represents Infoblox object msserver. This object represents the Microsoft Server.

func (Msserver) ObjectType added in v2.4.0

func (Msserver) ObjectType() string

func (Msserver) ReturnFields added in v2.4.0

func (obj Msserver) ReturnFields() []string

type MsserverAdsitesDomain added in v2.4.0

type MsserverAdsitesDomain struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The name of the Extensible Attribute Definition object that is linked to the
	// Active Directory Sites Domain.
	EaDefinition string `json:"ea_definition,omitempty"`

	// The IP address or FQDN of the managing master for the MS server, if
	// applicable.
	MsSyncMasterName string `json:"ms_sync_master_name,omitempty"`

	// The name of the Active Directory Domain properties object.
	Name string `json:"name,omitempty"`

	// The NetBIOS name of the Active Directory Domain properties object.
	Netbios string `json:"netbios,omitempty"`

	// The name of the network view in which the Active Directory Domain resides.
	NetworkView string `json:"network_view,omitempty"`

	// Determines whether the Active Directory Domain properties object is a
	// read-only object.
	ReadOnly bool `json:"read_only,omitempty"`
}

MsserverAdsitesDomain represents Infoblox object msserver:adsites:domain. The object provides information about the Active Directory Domain.

func (MsserverAdsitesDomain) ObjectType added in v2.4.0

func (MsserverAdsitesDomain) ObjectType() string

func (MsserverAdsitesDomain) ReturnFields added in v2.4.0

func (obj MsserverAdsitesDomain) ReturnFields() []string

type MsserverAdsitesSite added in v2.4.0

type MsserverAdsitesSite struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The reference to the Active Directory Domain to which the site belongs.
	Domain *string `json:"domain,omitempty"`

	// The name of the site properties object for the Active Directory Sites.
	Name *string `json:"name,omitempty"`

	// The list of networks to which the device interfaces belong.
	Networks []*Ipv4Network `json:"networks,omitempty"`
}

MsserverAdsitesSite represents Infoblox object msserver:adsites:site. This object provides information about the Active Directory Site.

func (MsserverAdsitesSite) ObjectType added in v2.4.0

func (MsserverAdsitesSite) ObjectType() string

func (MsserverAdsitesSite) ReturnFields added in v2.4.0

func (obj MsserverAdsitesSite) ReturnFields() []string

type MsserverAduser added in v2.4.0

type MsserverAduser struct {
	// The login name of the Microsoft Server.
	LoginName string `json:"login_name,omitempty"`

	// The login password of the DHCP Microsoft Server.
	LoginPassword string `json:"login_password,omitempty"`

	// Determines whether the Active Directory user synchronization is enabled or
	// not.
	EnableUserSync bool `json:"enable_user_sync,omitempty"`

	// The minimum number of minutes between two synchronizations.
	SynchronizationInterval uint32 `json:"synchronization_interval,omitempty"`

	// Timestamp of the last synchronization attempt.
	LastSyncTime *UnixTime `json:"last_sync_time,omitempty"`

	// The status of the last synchronization attempt.
	LastSyncStatus string `json:"last_sync_status,omitempty"`

	// The detailed status of the last synchronization attempt.
	LastSyncDetail string `json:"last_sync_detail,omitempty"`

	// Timestamp of the last successful synchronization attempt.
	LastSuccessSyncTime *UnixTime `json:"last_success_sync_time,omitempty"`

	// Flag to override login name and password from MS server
	UseLogin bool `json:"use_login,omitempty"`

	// Flag to override AD User sync from grid level
	UseEnableAdUserSync bool `json:"use_enable_ad_user_sync,omitempty"`

	// Flag to override synchronization interval from the MS Server
	UseSynchronizationMinDelay bool `json:"use_synchronization_min_delay,omitempty"`

	// Use flag for: enable_user_sync
	UseEnableUserSync bool `json:"use_enable_user_sync,omitempty"`

	// Use flag for: synchronization_interval
	UseSynchronizationInterval bool `json:"use_synchronization_interval,omitempty"`
}

MsserverAduser represents Infoblox struct msserver:aduser

type MsserverAduserData added in v2.4.0

type MsserverAduserData struct {
	// The number of active users.
	ActiveUsersCount uint32 `json:"active_users_count,omitempty"`
}

MsserverAduserData represents Infoblox struct msserver:aduser:data

type MsserverDcnsrecordcreation added in v2.4.0

type MsserverDcnsrecordcreation struct {
	// The IPv4 address of the domain controller that is allowed to create NS
	// records.
	Address string `json:"address,omitempty"`

	// Optional user comment.
	Comment string `json:"comment,omitempty"`
}

MsserverDcnsrecordcreation represents Infoblox struct msserver:dcnsrecordcreation

type MsserverDhcp added in v2.4.0

type MsserverDhcp struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The address or FQDN of the DHCP Microsoft Server.
	Address string `json:"address,omitempty"`

	// Comment from Microsoft Server
	Comment string `json:"comment,omitempty"`

	// The percentage of the total DHCP utilization of DHCP objects belonging to
	// the DHCP Microsoft Server multiplied by 1000. This is the percentage of the
	// total number of available IP addresses from all the DHCP objects belonging
	// to the DHCP Microsoft Server versus the total number of all IP addresses in
	// all of the DHCP objects on the DHCP Microsoft Server.
	DhcpUtilization uint32 `json:"dhcp_utilization,omitempty"`

	// A string describing the utilization level of DHCP objects that belong to the
	// DHCP Microsoft Server.
	DhcpUtilizationStatus string `json:"dhcp_utilization_status,omitempty"`

	// The total number of DHCP leases issued for the DHCP objects on the DHCP
	// Microsoft Server.
	DynamicHosts uint32 `json:"dynamic_hosts,omitempty"`

	// Timestamp of the last synchronization attempt
	LastSyncTs *UnixTime `json:"last_sync_ts,omitempty"`

	// The login name of the DHCP Microsoft Server.
	LoginName *string `json:"login_name,omitempty"`

	// The login password of the DHCP Microsoft Server.
	LoginPassword *string `json:"login_password,omitempty"`

	// Network view to update
	NetworkView string `json:"network_view,omitempty"`

	// Defines what control to apply on the DHCP server
	NextSyncControl string `json:"next_sync_control,omitempty"`

	// Whether Microsoft server is read only
	ReadOnly bool `json:"read_only,omitempty"`

	// Microsoft server address
	ServerName string `json:"server_name,omitempty"`

	// The number of static DHCP addresses configured in DHCP objects that belong
	// to the DHCP Microsoft Server.
	StaticHosts uint32 `json:"static_hosts,omitempty"`

	// Status of the Microsoft DHCP Service
	Status string `json:"status,omitempty"`

	// Detailed status of the DHCP status
	StatusDetail string `json:"status_detail,omitempty"`

	// Timestamp of the last update
	StatusLastUpdated *UnixTime `json:"status_last_updated,omitempty"`

	// Flag indicating if the DHCP supports Failover
	SupportsFailover bool `json:"supports_failover,omitempty"`

	// The minimum number of minutes between two synchronizations.
	SynchronizationInterval *uint32 `json:"synchronization_interval,omitempty"`

	// The total number of DHCP addresses configured in DHCP objects that belong to
	// the DHCP Microsoft Server.
	TotalHosts uint32 `json:"total_hosts,omitempty"`

	// Use flag for: login_name , login_password
	UseLogin *bool `json:"use_login,omitempty"`

	// Use flag for: synchronization_interval
	UseSynchronizationInterval *bool `json:"use_synchronization_interval,omitempty"`
}

MsserverDhcp represents Infoblox object msserver:dhcp. This object represents a subset of the Microsoft Server DHCP properties.

func (MsserverDhcp) ObjectType added in v2.4.0

func (MsserverDhcp) ObjectType() string

func (MsserverDhcp) ReturnFields added in v2.4.0

func (obj MsserverDhcp) ReturnFields() []string

type MsserverDns added in v2.4.0

type MsserverDns struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The address or FQDN of the DNS Microsoft Server.
	Address string `json:"address,omitempty"`

	// Determines if synchronization of DNS reporting data from the Microsoft
	// server is enabled or not.
	EnableDnsReportsSync *bool `json:"enable_dns_reports_sync,omitempty"`

	// The login name of the DNS Microsoft Server.
	LoginName *string `json:"login_name,omitempty"`

	// The login password of the DNS Microsoft Server.
	LoginPassword *string `json:"login_password,omitempty"`

	// The minimum number of minutes between two synchronizations.
	SynchronizationInterval *uint32 `json:"synchronization_interval,omitempty"`

	// Use flag for: enable_dns_reports_sync
	UseEnableDnsReportsSync *bool `json:"use_enable_dns_reports_sync,omitempty"`

	// Use flag for: login_name , login_password
	UseLogin *bool `json:"use_login,omitempty"`

	// Use flag for: synchronization_interval
	UseSynchronizationInterval *bool `json:"use_synchronization_interval,omitempty"`
}

MsserverDns represents Infoblox object msserver:dns. This object represents a subset of the Microsoft Server DNS properties.

func (MsserverDns) ObjectType added in v2.4.0

func (MsserverDns) ObjectType() string

func (MsserverDns) ReturnFields added in v2.4.0

func (obj MsserverDns) ReturnFields() []string

type Mssuperscope added in v2.4.0

type Mssuperscope struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The superscope descriptive comment.
	Comment *string `json:"comment,omitempty"`

	// The percentage of the total DHCP usage of the ranges in the superscope.
	DhcpUtilization uint32 `json:"dhcp_utilization,omitempty"`

	// Utilization level of the DHCP range objects that belong to the superscope.
	DhcpUtilizationStatus string `json:"dhcp_utilization_status,omitempty"`

	// Determines whether the superscope is disabled.
	Disable *bool `json:"disable,omitempty"`

	// The total number of DHCP leases issued for the DHCP range objects that
	// belong to the superscope.
	DynamicHosts uint32 `json:"dynamic_hosts,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The percentage value for DHCP range usage after which an alarm will be
	// active.
	HighWaterMark uint32 `json:"high_water_mark,omitempty"`

	// The percentage value for DHCP range usage after which an alarm will be
	// reset.
	HighWaterMarkReset uint32 `json:"high_water_mark_reset,omitempty"`

	// The percentage value for DHCP range usage below which an alarm will be
	// active.
	LowWaterMark uint32 `json:"low_water_mark,omitempty"`

	// The percentage value for DHCP range usage below which an alarm will be
	// reset.
	LowWaterMarkReset uint32 `json:"low_water_mark_reset,omitempty"`

	// The name of the Microsoft DHCP superscope.
	Name *string `json:"name,omitempty"`

	// The name of the network view in which the superscope resides.
	NetworkView *string `json:"network_view,omitempty"`

	// The list of DHCP ranges that are associated with the superscope.
	Ranges []*Range `json:"ranges,omitempty"`

	// The number of static DHCP addresses configured in DHCP range objects that
	// belong to the superscope.
	StaticHosts uint32 `json:"static_hosts,omitempty"`

	// The total number of DHCP addresses configured in DHCP range objects that
	// belong to the superscope.
	TotalHosts uint32 `json:"total_hosts,omitempty"`
}

Mssuperscope represents Infoblox object mssuperscope. This object represents a superscope feature of Microsoft DHCP server. You can use a superscope to group and activate multiple ranges via a single object.

func (Mssuperscope) ObjectType added in v2.4.0

func (Mssuperscope) ObjectType() string

func (Mssuperscope) ReturnFields added in v2.4.0

func (obj Mssuperscope) ReturnFields() []string

type MultiRequest

type MultiRequest struct {
	IBBase `json:"-"`
	Body   []*RequestBody
}

func NewMultiRequest

func NewMultiRequest(body []*RequestBody) *MultiRequest

func (*MultiRequest) MarshalJSON

func (r *MultiRequest) MarshalJSON() ([]byte, error)

func (MultiRequest) ObjectType added in v2.4.0

func (MultiRequest) ObjectType() string

type NTPSetting

type NTPSetting struct {
	// Determines whether NTP is enabled on the Grid.
	EnableNTP bool `json:"enable_ntp,omitempty"`

	// The list of NTP servers configured on a Grid.
	NTPServers []*NTPserver `json:"ntp_servers,omitempty"`

	// The list of NTP authentication keys used to authenticate NTP clients.
	NTPKeys []*Ntpkey `json:"ntp_keys,omitempty"`

	// The NTP access control settings.
	NTPAcl *Ntpaccess `json:"ntp_acl,omitempty"`

	// Determines whether the Kiss-o'-Death packets are enabled.
	NTPKod bool `json:"ntp_kod,omitempty"`

	// Grid level GM local NTP stratum.
	GmLocalNtpStratum uint32 `json:"gm_local_ntp_stratum,omitempty"`

	// Local NTP stratum for non-GM members.
	LocalNtpStratum uint32 `json:"local_ntp_stratum,omitempty"`

	// This flag controls whether gm_local_ntp_stratum value be set to a default
	// value
	UseDefaultStratum bool `json:"use_default_stratum,omitempty"`
}

NTPSetting represents Infoblox struct grid:ntp

type NTPserver

type NTPserver struct {
	// The NTP server IP address or FQDN.
	Address string `json:"address,omitempty"`

	// Determines whether the NTP authentication is enabled.
	EnableAuthentication bool `json:"enable_authentication,omitempty"`

	// The NTP authentication key number.
	NtpKeyNumber uint32 `json:"ntp_key_number,omitempty"`

	// Determines whether the NTP server is a preferred one or not.
	Preferred bool `json:"preferred,omitempty"`

	// Determines whether the BURST operation mode is enabled. In BURST operating
	// mode, when the external server is reachable and a valid source of
	// synchronization is available, NTP sends a burst of 8 packets with a 2 second
	// interval between packets.
	Burst bool `json:"burst,omitempty"`

	// Determines whether the IBURST operation mode is enabled. In IBURST operating
	// mode, when the external server is unreachable, NTP server sends a burst of 8
	// packets with a 2 second interval between packets.
	IBurst bool `json:"iburst,omitempty"`
}

NTPserver represents Infoblox struct ntpserver

type NameServer

type NameServer struct {
	// The IPv4 Address or IPv6 Address of the server.
	Address string `json:"address,omitempty"`

	// A resolvable domain name for the external DNS server.
	Name string `json:"name,omitempty"`

	// This flag represents whether the name server is shared with the parent
	// Microsoft primary zone's delegation server.
	SharedWithMsParentDelegation bool `json:"shared_with_ms_parent_delegation,omitempty"`

	// Set this flag to hide the NS record for the primary name server from DNS
	// queries.
	Stealth bool `json:"stealth,omitempty"`

	// A generated TSIG key.
	TsigKey string `json:"tsig_key,omitempty"`

	// The TSIG key algorithm.
	TsigKeyAlg string `json:"tsig_key_alg,omitempty"`

	// The TSIG key name.
	TsigKeyName string `json:"tsig_key_name,omitempty"`

	// Use flag for: tsig_key_name
	UseTsigKeyName bool `json:"use_tsig_key_name,omitempty"`
}

NameServer represents Infoblox struct extserver

type Namedacl added in v2.4.0

type Namedacl struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The access control list of IPv4/IPv6 addresses, networks, TSIG-based
	// anonymous access controls, and other named ACLs.
	AccessList []*Addressac `json:"access_list,omitempty"`

	// Comment for the named ACL; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// The exploded access list for the named ACL. This list displays all the
	// access control entries in a named ACL and its nested named ACLs, if
	// applicable.
	ExplodedAccessList []*Addressac `json:"exploded_access_list,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The name of the named ACL.
	Name *string `json:"name,omitempty"`
}

Namedacl represents Infoblox object namedacl. A named ACL (Access Control List) is a list of IPv4/IPv6 addresses, networks, TSIG-based anonymous access controls, and other named ACLs, to which you can grant or deny permission for operations such as dynamic DNS updates or zone transfers.

func (Namedacl) ObjectType added in v2.4.0

func (Namedacl) ObjectType() string

func (Namedacl) ReturnFields added in v2.4.0

func (obj Namedacl) ReturnFields() []string

type Natgroup added in v2.4.0

type Natgroup struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The NAT group descriptive comment.
	Comment *string `json:"comment,omitempty"`

	// The name of a NAT group object.
	Name *string `json:"name,omitempty"`
}

Natgroup represents Infoblox object natgroup. NAT groups are necessary if the Grid master is behind a NAT device and there are members behind both side of the NAT device. Any member on the same side as the master goes into the same NAT group as the master and uses its interface address for Grid communication. Grid members on the other side of that NAT device do not go into the same NAT group as the master and use the master’s NAT address for Grid communication.

func (Natgroup) ObjectType added in v2.4.0

func (Natgroup) ObjectType() string

func (Natgroup) ReturnFields added in v2.4.0

func (obj Natgroup) ReturnFields() []string

type Natsetting added in v2.4.0

type Natsetting struct {
	// Determines if NAT should be enabled.
	Enabled bool `json:"enabled,omitempty"`

	// External IP address for NAT.
	ExternalVirtualIp string `json:"external_virtual_ip,omitempty"`

	// The NAT group.
	Group string `json:"group,omitempty"`
}

Natsetting represents Infoblox struct natsetting

type Network

type Network struct {
	IBBase `json:"-"`

	Ref         string `json:"_ref,omitempty"`
	NetviewName string `json:"network_view,omitempty"`
	Cidr        string `json:"network,omitempty"`
	Ea          EA     `json:"extattrs"`
	Comment     string `json:"comment"`
	// contains filtered or unexported fields
}

func BuildIPv6NetworkFromRef

func BuildIPv6NetworkFromRef(ref string) (*Network, error)

func BuildNetworkFromRef

func BuildNetworkFromRef(ref string) (*Network, error)

func NewNetwork

func NewNetwork(netview string, cidr string, isIPv6 bool, comment string, ea EA) *Network

func (Network) ObjectType added in v2.4.0

func (n Network) ObjectType() string

type NetworkContainer

type NetworkContainer struct {
	IBBase `json:"-"`

	Ref         string `json:"_ref,omitempty"`
	NetviewName string `json:"network_view,omitempty"`
	Cidr        string `json:"network,omitempty"`
	Comment     string `json:"comment"`
	Ea          EA     `json:"extattrs"`
	// contains filtered or unexported fields
}

func BuildIPv6NetworkContainerFromRef added in v2.2.0

func BuildIPv6NetworkContainerFromRef(ref string) (*NetworkContainer, error)

func BuildNetworkContainerFromRef added in v2.2.0

func BuildNetworkContainerFromRef(ref string) (*NetworkContainer, error)

func NewNetworkContainer

func NewNetworkContainer(netview, cidr string, isIPv6 bool, comment string, ea EA) *NetworkContainer

func (NetworkContainer) ObjectType added in v2.4.0

func (nc NetworkContainer) ObjectType() string

type NetworkContainerNextAvailable added in v2.2.0

type NetworkContainerNextAvailable struct {
	IBBase `json:"-"`

	Network     *NetworkContainerNextAvailableInfo `json:"network"`
	NetviewName string                             `json:"network_view,omitempty"`
	Comment     string                             `json:"comment"`
	Ea          EA                                 `json:"extattrs"`
	// contains filtered or unexported fields
}

func NewNetworkContainerNextAvailable added in v2.2.0

func NewNetworkContainerNextAvailable(ncav *NetworkContainerNextAvailableInfo, isIPv6 bool, comment string, ea EA) *NetworkContainerNextAvailable

func (*NetworkContainerNextAvailable) ObjectType added in v2.4.0

func (nc *NetworkContainerNextAvailable) ObjectType() string

func (*NetworkContainerNextAvailable) SetObjectType added in v2.8.0

func (nc *NetworkContainerNextAvailable) SetObjectType(objectType string)

type NetworkContainerNextAvailableInfo added in v2.2.0

type NetworkContainerNextAvailableInfo struct {
	Function     string            `json:"_object_function"`
	ResultField  string            `json:"_result_field"`
	Object       string            `json:"_object"`
	ObjectParams map[string]string `json:"_object_parameters"`
	Params       map[string]uint   `json:"_parameters"`
	NetviewName  string            `json:"network_view,omitempty"`
}

func NewNetworkContainerNextAvailableInfo added in v2.2.0

func NewNetworkContainerNextAvailableInfo(netview, cidr string, prefixLen uint, isIPv6 bool) *NetworkContainerNextAvailableInfo

type NetworkDiscovery added in v2.4.0

type NetworkDiscovery struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`
}

NetworkDiscovery represents Infoblox object network_discovery. This object can be used to control the network discovery process.

func (NetworkDiscovery) ObjectType added in v2.4.0

func (NetworkDiscovery) ObjectType() string

func (NetworkDiscovery) ReturnFields added in v2.4.0

func (obj NetworkDiscovery) ReturnFields() []string

type NetworkTemplate added in v2.4.0

type NetworkTemplate struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// This flag controls whether the template allows any netmask. You must specify
	// a netmask when creating a network using this template. If you set this
	// parameter to false, you must specify the "netmask" field for the network
	// template object.
	AllowAnyNetmask *bool `json:"allow_any_netmask,omitempty"`

	// Authority for the DHCP network.
	Authority *bool `json:"authority,omitempty"`

	// This flag controls whether reverse zones are automatically created when the
	// network is added.
	AutoCreateReversezone *bool `json:"auto_create_reversezone,omitempty"`

	// The boot server IPv4 Address or name in FQDN format for the network. You can
	// specify the name and/or IP address of the boot server that the host needs to
	// boot.
	Bootfile *string `json:"bootfile,omitempty"`

	// The bootserver address for the network. You can specify the name and/or IP
	// address of the boot server that the host needs to boot. The boot server IPv4
	// Address or name in FQDN format.
	Bootserver *string `json:"bootserver,omitempty"`

	// This flag controls whether this template can be used to create network
	// objects in a cloud-computing deployment.
	CloudApiCompatible *bool `json:"cloud_api_compatible,omitempty"`

	// Comment for the network; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// The dynamic DNS domain name the appliance uses specifically for DDNS updates
	// for this network.
	DdnsDomainname *string `json:"ddns_domainname,omitempty"`

	// If this field is set to True, the DHCP server generates a hostname and
	// updates DNS with it when the DHCP client request does not contain a
	// hostname.
	DdnsGenerateHostname *bool `json:"ddns_generate_hostname,omitempty"`

	// This field controls whether the DHCP server is allowed to update DNS,
	// regardless of the DHCP client requests. Note that changes for this field
	// take effect only if ddns_use_option81 is True.
	DdnsServerAlwaysUpdates *bool `json:"ddns_server_always_updates,omitempty"`

	// The DNS update Time to Live (TTL) value of a DHCP network object. The TTL is
	// a 32-bit unsigned integer that represents the duration, in seconds, for
	// which the update is cached. Zero indicates that the update is not cached.
	DdnsTtl *uint32 `json:"ddns_ttl,omitempty"`

	// By default, the DHCP server does not update DNS when it allocates a fixed
	// address to a client. You can configure the DHCP server to update the A and
	// PTR records of a client with a fixed address. When this feature is enabled
	// and the DHCP server adds A and PTR records for a fixed address, the DHCP
	// server never discards the records.
	DdnsUpdateFixedAddresses *bool `json:"ddns_update_fixed_addresses,omitempty"`

	// The support for DHCP Option 81 at the network level.
	DdnsUseOption81 *bool `json:"ddns_use_option81,omitempty"`

	// Reference the Cloud Platform Appliance to which authority of the object
	// should be delegated when the object is created using the template.
	DelegatedMember *Dhcpmember `json:"delegated_member,omitempty"`

	// If set to True, BOOTP settings are disabled and BOOTP requests will be
	// denied.
	DenyBootp *bool `json:"deny_bootp,omitempty"`

	// The e-mail lists to which the appliance sends DHCP threshold alarm e-mail
	// messages.
	EmailList []string `json:"email_list,omitempty"`

	// The dynamic DNS updates flag of a DHCP network object. If set to True, the
	// DHCP server sends DDNS updates to DNS servers in the same Grid, and to
	// external DNS servers.
	EnableDdns *bool `json:"enable_ddns,omitempty"`

	// Determines if DHCP thresholds are enabled for the network.
	EnableDhcpThresholds *bool `json:"enable_dhcp_thresholds,omitempty"`

	// Determines if DHCP threshold warnings are sent through email.
	EnableEmailWarnings *bool `json:"enable_email_warnings,omitempty"`

	// Set this to True if you want the DHCP server to use a different lease time
	// for PXE clients.
	EnablePxeLeaseTime *bool `json:"enable_pxe_lease_time,omitempty"`

	// Determines if DHCP threshold warnings are send through SNMP.
	EnableSnmpWarnings *bool `json:"enable_snmp_warnings,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The list of fixed address templates assigned to this network template
	// object. When you create a network based on a network template object that
	// contains fixed address templates, the fixed addresses are created based on
	// the associated fixed address templates.
	FixedAddressTemplates []string `json:"fixed_address_templates,omitempty"`

	// The percentage of DHCP network usage threshold above which network usage is
	// not expected and may warrant your attention. When the high watermark is
	// reached, the Infoblox appliance generates a syslog message and sends a
	// warning (if enabled). A number that specifies the percentage of allocated
	// addresses. The range is from 1 to 100.
	HighWaterMark *uint32 `json:"high_water_mark,omitempty"`

	// The percentage of DHCP network usage below which the corresponding SNMP trap
	// is reset. A number that specifies the percentage of allocated addresses. The
	// range is from 1 to 100. The high watermark reset value must be lower than
	// the high watermark value.
	HighWaterMarkReset *uint32 `json:"high_water_mark_reset,omitempty"`

	// If this field is set to False, the appliance returns all DHCP options the
	// client is eligible to receive, rather than only the list of options the
	// client has requested.
	IgnoreDhcpOptionListRequest *bool `json:"ignore_dhcp_option_list_request,omitempty"`

	// The e-mail lists to which the appliance sends IPAM threshold alarm e-mail
	// messages.
	IpamEmailAddresses []string `json:"ipam_email_addresses,omitempty"`

	// The IPAM Threshold settings for this network template.
	IpamThresholdSettings *SettingIpamThreshold `json:"ipam_threshold_settings,omitempty"`

	// The IPAM Trap settings for this network template.
	IpamTrapSettings *SettingIpamTrap `json:"ipam_trap_settings,omitempty"`

	// An integer that specifies the period of time (in seconds) that frees and
	// backs up leases remained in the database before they are automatically
	// deleted. To disable lease scavenging, set the parameter to -1. The minimum
	// positive value must be greater than 86400 seconds (1 day).
	LeaseScavengeTime int `json:"lease_scavenge_time,omitempty"`

	// This field contains the logic filters to be applied on the this network
	// template. This list corresponds to the match rules that are written to the
	// dhcpd configuration file.
	LogicFilterRules []*Logicfilterrule `json:"logic_filter_rules,omitempty"`

	// The percentage of DHCP network usage below which the Infoblox appliance
	// generates a syslog message and sends a warning (if enabled). A number that
	// specifies the percentage of allocated addresses. The range is from 1 to 100.
	LowWaterMark *uint32 `json:"low_water_mark,omitempty"`

	// The percentage of DHCP network usage threshold below which network usage is
	// not expected and may warrant your attention. When the low watermark is
	// crossed, the Infoblox appliance generates a syslog message and sends a
	// warning (if enabled). A number that specifies the percentage of allocated
	// addresses. The range is from 1 to 100. The low watermark reset value must be
	// higher than the low watermark value.
	LowWaterMarkReset *uint32 `json:"low_water_mark_reset,omitempty"`

	// A list of members or Microsoft (r) servers that serve DHCP for this network.
	// All members in the array must be of the same type. The struct type must be
	// indicated in each element, by setting the "_struct" member to the struct
	// type.
	Members []*Msdhcpserver `json:"members,omitempty"`

	// The name of this network template.
	Name *string `json:"name,omitempty"`

	// The netmask of the network in CIDR format.
	Netmask *uint32 `json:"netmask,omitempty"`

	// The name in FQDN and/or IPv4 Address of the next server that the host needs
	// to boot.
	Nextserver *string `json:"nextserver,omitempty"`

	// An array of DHCP option dhcpoption structs that lists the DHCP options
	// associated with the object.
	Options []*Dhcpoption `json:"options,omitempty"`

	// The PXE lease time value of a DHCP Network object. Some hosts use PXE
	// (Preboot Execution Environment) to boot remotely from a server. To better
	// manage your IP resources, set a different lease time for PXE boot requests.
	// You can configure the DHCP server to allocate an IP address with a shorter
	// lease time to hosts that send PXE boot requests, so IP addresses are not
	// leased longer than necessary. A 32-bit unsigned integer that represents the
	// duration, in seconds, for which the update is cached. Zero indicates that
	// the update is not cached.
	PxeLeaseTime *uint32 `json:"pxe_lease_time,omitempty"`

	// The list of IP address range templates assigned to this network template
	// object. When you create a network based on a network template object that
	// contains range templates, the IP address ranges are created based on the
	// associated IP address range templates.
	RangeTemplates []string `json:"range_templates,omitempty"`

	// If the field is set to True, the leases are kept in the Recycle Bin until
	// one week after expiration. Otherwise, the leases are permanently deleted.
	RecycleLeases *bool `json:"recycle_leases,omitempty"`

	// THe registry (RIR) that allocated the network address space.
	Rir string `json:"rir,omitempty"`

	// The RIR organization assoicated with the network.
	RirOrganization *string `json:"rir_organization,omitempty"`

	// The RIR registration action.
	RirRegistrationAction string `json:"rir_registration_action,omitempty"`

	// The registration status of the network in RIR.
	RirRegistrationStatus string `json:"rir_registration_status,omitempty"`

	// Determines whether to send the RIR registration request.
	SendRirRequest *bool `json:"send_rir_request,omitempty"`

	// This field controls whether the DHCP server updates DNS when a DHCP lease is
	// renewed.
	UpdateDnsOnLeaseRenewal *bool `json:"update_dns_on_lease_renewal,omitempty"`

	// Use flag for: authority
	UseAuthority *bool `json:"use_authority,omitempty"`

	// Use flag for: bootfile
	UseBootfile *bool `json:"use_bootfile,omitempty"`

	// Use flag for: bootserver
	UseBootserver *bool `json:"use_bootserver,omitempty"`

	// Use flag for: ddns_domainname
	UseDdnsDomainname *bool `json:"use_ddns_domainname,omitempty"`

	// Use flag for: ddns_generate_hostname
	UseDdnsGenerateHostname *bool `json:"use_ddns_generate_hostname,omitempty"`

	// Use flag for: ddns_ttl
	UseDdnsTtl *bool `json:"use_ddns_ttl,omitempty"`

	// Use flag for: ddns_update_fixed_addresses
	UseDdnsUpdateFixedAddresses *bool `json:"use_ddns_update_fixed_addresses,omitempty"`

	// Use flag for: ddns_use_option81
	UseDdnsUseOption81 *bool `json:"use_ddns_use_option81,omitempty"`

	// Use flag for: deny_bootp
	UseDenyBootp *bool `json:"use_deny_bootp,omitempty"`

	// Use flag for: email_list
	UseEmailList *bool `json:"use_email_list,omitempty"`

	// Use flag for: enable_ddns
	UseEnableDdns *bool `json:"use_enable_ddns,omitempty"`

	// Use flag for: enable_dhcp_thresholds
	UseEnableDhcpThresholds *bool `json:"use_enable_dhcp_thresholds,omitempty"`

	// Use flag for: ignore_dhcp_option_list_request
	UseIgnoreDhcpOptionListRequest *bool `json:"use_ignore_dhcp_option_list_request,omitempty"`

	// Use flag for: ipam_email_addresses
	UseIpamEmailAddresses *bool `json:"use_ipam_email_addresses,omitempty"`

	// Use flag for: ipam_threshold_settings
	UseIpamThresholdSettings *bool `json:"use_ipam_threshold_settings,omitempty"`

	// Use flag for: ipam_trap_settings
	UseIpamTrapSettings *bool `json:"use_ipam_trap_settings,omitempty"`

	// Use flag for: lease_scavenge_time
	UseLeaseScavengeTime *bool `json:"use_lease_scavenge_time,omitempty"`

	// Use flag for: logic_filter_rules
	UseLogicFilterRules *bool `json:"use_logic_filter_rules,omitempty"`

	// Use flag for: nextserver
	UseNextserver *bool `json:"use_nextserver,omitempty"`

	// Use flag for: options
	UseOptions *bool `json:"use_options,omitempty"`

	// Use flag for: pxe_lease_time
	UsePxeLeaseTime *bool `json:"use_pxe_lease_time,omitempty"`

	// Use flag for: recycle_leases
	UseRecycleLeases *bool `json:"use_recycle_leases,omitempty"`

	// Use flag for: update_dns_on_lease_renewal
	UseUpdateDnsOnLeaseRenewal *bool `json:"use_update_dns_on_lease_renewal,omitempty"`
}

NetworkTemplate represents Infoblox object networktemplate. The network template used to create networks in a quick and consistent way. Networks created from a network template inherit all the properties defined in the network template, except for the comment and netmask that can be defined in the network.

func (NetworkTemplate) ObjectType added in v2.4.0

func (NetworkTemplate) ObjectType() string

func (NetworkTemplate) ReturnFields added in v2.4.0

func (obj NetworkTemplate) ReturnFields() []string

type NetworkView

type NetworkView struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The list of DNS views associated with this network view.
	AssociatedDnsViews []string `json:"associated_dns_views,omitempty"`

	// The list of members associated with a network view.
	AssociatedMembers []*NetworkviewAssocmember `json:"associated_members,omitempty"`

	// Structure containing all cloud API related information for this object.
	CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`

	// Comment for the network view; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// DNS views that will receive the updates if you enable the appliance to send
	// updates to Grid members.
	DdnsDnsView *string `json:"ddns_dns_view,omitempty"`

	// An array of Ddns Zone Primary dhcpddns structs that lists the information of
	// primary zone to wich DDNS updates should be sent.
	DdnsZonePrimaries []*Dhcpddns `json:"ddns_zone_primaries,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The list of linked authoritative DNS zones.
	InternalForwardZones []*ZoneAuth `json:"internal_forward_zones,omitempty"`

	// The NIOS appliance provides one default network view. You can rename the
	// default view and change its settings, but you cannot delete it. There must
	// always be at least one network view in the appliance.
	IsDefault bool `json:"is_default,omitempty"`

	// This field controls whether this object is synchronized with the Multi-Grid
	// Master. If this field is set to True, objects are not synchronized.
	MgmPrivate *bool `json:"mgm_private,omitempty"`

	// The Microsoft Active Directory user related information.
	MsAdUserData *MsserverAduserData `json:"ms_ad_user_data,omitempty"`

	// Name of the network view.
	Name *string `json:"name,omitempty"`

	// The list of forward-mapping zones to which the DHCP server sends the
	// updates.
	RemoteForwardZones []*Remoteddnszone `json:"remote_forward_zones,omitempty"`

	// The list of reverse-mapping zones to which the DHCP server sends the
	// updates.
	RemoteReverseZones []*Remoteddnszone `json:"remote_reverse_zones,omitempty"`
}

NetworkView represents Infoblox object networkview. A network view is a single routing domain with its own networks and shared networks. A network view can contain both IPv4 and IPv6 networks. All networks must belong to a network view.

func BuildNetworkViewFromRef

func BuildNetworkViewFromRef(ref string) *NetworkView

func NewEmptyNetworkView

func NewEmptyNetworkView() *NetworkView

func NewNetworkView

func NewNetworkView(name string, comment string, eas EA, ref string) *NetworkView

func (NetworkView) ObjectType added in v2.4.0

func (NetworkView) ObjectType() string

func (NetworkView) ReturnFields added in v2.4.0

func (obj NetworkView) ReturnFields() []string

type NetworkViewLock

type NetworkViewLock struct {
	Name          string
	ObjMgr        *ObjectManager
	LockEA        string
	LockTimeoutEA string
}

func (*NetworkViewLock) Lock

func (l *NetworkViewLock) Lock() error

func (*NetworkViewLock) UnLock

func (l *NetworkViewLock) UnLock(force bool) error

type Networkuser added in v2.4.0

type Networkuser struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The IPv4 Address or IPv6 Address of the Network User.
	Address *string `json:"address,omitempty"`

	// The reference of the IPAM IPv4Address or IPv6Address object describing the
	// address of the Network User.
	AddressObject string `json:"address_object,omitempty"`

	// The Network User data source.
	DataSource string `json:"data_source,omitempty"`

	// The Network User data source IPv4 Address or IPv6 Address or FQDN address.
	DataSourceIp string `json:"data_source_ip,omitempty"`

	// The domain name of the Network User.
	Domainname *string `json:"domainname,omitempty"`

	// The first seen timestamp of the Network User.
	FirstSeenTime *UnixTime `json:"first_seen_time,omitempty"`

	// The group identifier of the Network User.
	Guid *string `json:"guid,omitempty"`

	// The last seen timestamp of the Network User.
	LastSeenTime *UnixTime `json:"last_seen_time,omitempty"`

	// The last updated timestamp of the Network User.
	LastUpdatedTime *UnixTime `json:"last_updated_time,omitempty"`

	// The logon identifier of the Network User.
	LogonId *string `json:"logon_id,omitempty"`

	// The logout timestamp of the Network User.
	LogoutTime *UnixTime `json:"logout_time,omitempty"`

	// The name of the Network User.
	Name *string `json:"name,omitempty"`

	// The reference to the network to which the Network User belongs.
	Network string `json:"network,omitempty"`

	// The name of the network view in which this Network User resides.
	NetworkView *string `json:"network_view,omitempty"`

	// The status of the Network User.
	UserStatus string `json:"user_status,omitempty"`
}

Networkuser represents Infoblox object networkuser. The DHCP Network User object provides information about Active Directory users such as user session for a specific IP address, domain, login and logout timestamps.

func (Networkuser) ObjectType added in v2.4.0

func (Networkuser) ObjectType() string

func (Networkuser) ReturnFields added in v2.4.0

func (obj Networkuser) ReturnFields() []string

type NetworkviewAssocmember added in v2.4.0

type NetworkviewAssocmember struct {
	// The member object associated with a network view.
	Member string `json:"member,omitempty"`

	// The list of failover objects associated with each member.
	Failovers []string `json:"failovers,omitempty"`
}

NetworkviewAssocmember represents Infoblox struct networkview:assocmember

type NextavailableIPv4Addrs added in v2.8.0

type NextavailableIPv4Addrs struct {
	NextavailableIPv4Addr IpNextAvailableInfo `json:"ipv4addr,omitempty"`
}

type NextavailableIPv6Addrs added in v2.8.0

type NextavailableIPv6Addrs struct {
	NextavailableIPv6Addr IpNextAvailableInfo `json:"ipv6addr,omitempty"`
}

type Nodeinfo added in v2.4.0

type Nodeinfo struct {
	// The service status list of the Grid Member.
	ServiceStatus []*Servicestatus `json:"service_status,omitempty"`

	// The OID of the physical node.
	PhysicalOid string `json:"physical_oid,omitempty"`

	// Status about the node of an HA pair.
	HaStatus string `json:"ha_status,omitempty"`

	// The platform on which NIOS is running on.
	Hwplatform string `json:"hwplatform,omitempty"`

	// Hardware ID.
	Hwid string `json:"hwid,omitempty"`

	// Hardware model.
	Hwmodel string `json:"hwmodel,omitempty"`

	// Hardware type.
	Hwtype string `json:"hwtype,omitempty"`

	// True if node is Paid NIOS.
	PaidNios bool `json:"paid_nios,omitempty"`

	// Network settings for the MGMT port of the node.
	MgmtNetworkSetting *SettingNetwork `json:"mgmt_network_setting,omitempty"`

	// LAN/HA port settings for the node.
	LanHaPortSetting *Lanhaportsetting `json:"lan_ha_port_setting,omitempty"`

	// Physical port settings for the MGMT interface.
	MgmtPhysicalSetting *Physicalportsetting `json:"mgmt_physical_setting,omitempty"`

	// Physical port settings for the LAN2 interface.
	Lan2PhysicalSetting *Physicalportsetting `json:"lan2_physical_setting,omitempty"`

	// The NAT external IP address for the node.
	NatExternalIp string `json:"nat_external_ip,omitempty"`

	// The network settings for the IPv6 MGMT port of the node.
	V6MgmtNetworkSetting *Ipv6setting `json:"v6_mgmt_network_setting,omitempty"`
}

Nodeinfo represents Infoblox struct nodeinfo

type NotFoundError

type NotFoundError struct {
	// contains filtered or unexported fields
}

func NewNotFoundError

func NewNotFoundError(msg string) *NotFoundError

func (*NotFoundError) Error

func (e *NotFoundError) Error() string

type NotificationRestEndpoint added in v2.4.0

type NotificationRestEndpoint struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The client certificate subject of a notification REST endpoint.
	ClientCertificateSubject string `json:"client_certificate_subject,omitempty"`

	// The token returned by the uploadinit function call in object fileop for a
	// notification REST endpoit client certificate.
	ClientCertificateToken *string `json:"client_certificate_token,omitempty"`

	// The timestamp when client certificate for a notification REST endpoint was
	// created.
	ClientCertificateValidFrom *UnixTime `json:"client_certificate_valid_from,omitempty"`

	// The timestamp when client certificate for a notification REST endpoint
	// expires.
	ClientCertificateValidTo *UnixTime `json:"client_certificate_valid_to,omitempty"`

	// The comment of a notification REST endpoint.
	Comment *string `json:"comment,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The log level for a notification REST endpoint.
	LogLevel string `json:"log_level,omitempty"`

	// The name of a notification REST endpoint.
	Name *string `json:"name,omitempty"`

	// The outbound member which will generate an event.
	OutboundMemberType string `json:"outbound_member_type,omitempty"`

	// The list of members for outbound events.
	OutboundMembers []string `json:"outbound_members,omitempty"`

	// The password of the user that can log into a notification REST endpoint.
	Password *string `json:"password,omitempty"`

	// The server certificate validation type.
	ServerCertValidation string `json:"server_cert_validation,omitempty"`

	// Determines if the sync process is disabled for a notification REST endpoint.
	SyncDisabled *bool `json:"sync_disabled,omitempty"`

	// The notification REST template instance. The parameters of REST API endpoint
	// template instance are prohibited to change.
	TemplateInstance *NotificationRestTemplateinstance `json:"template_instance,omitempty"`

	// The timeout of session management (in seconds).
	Timeout *uint32 `json:"timeout,omitempty"`

	// The URI of a notification REST endpoint.
	Uri *string `json:"uri,omitempty"`

	// The username of the user that can log into a notification REST endpoint.
	Username *string `json:"username,omitempty"`

	// The vendor identifier.
	VendorIdentifier *string `json:"vendor_identifier,omitempty"`

	// The user name for WAPI integration.
	WapiUserName *string `json:"wapi_user_name,omitempty"`

	// The user password for WAPI integration.
	WapiUserPassword *string `json:"wapi_user_password,omitempty"`
}

NotificationRestEndpoint represents Infoblox object notification:rest:endpoint. The notification REST endpoint object represents settings of particular REST API endpoint.

func (NotificationRestEndpoint) ObjectType added in v2.4.0

func (NotificationRestEndpoint) ObjectType() string

func (NotificationRestEndpoint) ReturnFields added in v2.4.0

func (obj NotificationRestEndpoint) ReturnFields() []string

type NotificationRestTemplate added in v2.4.0

type NotificationRestTemplate struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The action name.
	ActionName string `json:"action_name,omitempty"`

	// The time stamp when a template was added.
	AddedOn *UnixTime `json:"added_on,omitempty"`

	// The comment for this REST API template.
	Comment *string `json:"comment,omitempty"`

	// The JSON formatted content of a template. The data passed by content creates
	// parameters for a template.
	Content *string `json:"content,omitempty"`

	// The event type.
	EventType []string `json:"event_type,omitempty"`

	// The name of a notification REST template.
	Name *string `json:"name,omitempty"`

	// The outbound type for the template.
	OutboundType string `json:"outbound_type,omitempty"`

	// The notification REST template parameters.
	Parameters []*NotificationRestTemplateparameter `json:"parameters,omitempty"`

	// The template type.
	TemplateType string `json:"template_type,omitempty"`

	// The vendor identifier.
	VendorIdentifier string `json:"vendor_identifier,omitempty"`
}

NotificationRestTemplate represents Infoblox object notification:rest:template. The notification REST template object represents settings of particular REST API template.

func (NotificationRestTemplate) ObjectType added in v2.4.0

func (NotificationRestTemplate) ObjectType() string

func (NotificationRestTemplate) ReturnFields added in v2.4.0

func (obj NotificationRestTemplate) ReturnFields() []string

type NotificationRestTemplateinstance added in v2.4.0

type NotificationRestTemplateinstance struct {
	// The name of the REST API template parameter.
	Template string `json:"template,omitempty"`

	// The notification REST template parameters.
	Parameters []*NotificationRestTemplateparameter `json:"parameters,omitempty"`
}

NotificationRestTemplateinstance represents Infoblox struct notification:rest:templateinstance

type NotificationRestTemplateparameter added in v2.4.0

type NotificationRestTemplateparameter struct {
	// The name of the REST API template parameter.
	Name string `json:"name,omitempty"`

	// The value of the REST API template parameter.
	Value string `json:"value,omitempty"`

	// The default value of the REST API template parameter.
	DefaultValue string `json:"default_value,omitempty"`

	// The syntax of the REST API template parameter.
	Syntax string `json:"syntax,omitempty"`
}

NotificationRestTemplateparameter represents Infoblox struct notification:rest:templateparameter

type NotificationRule added in v2.4.0

type NotificationRule struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Determines whether the notification rule is applied on all members or not.
	// When this is set to False, the notification rule is applied only on
	// selected_members.
	AllMembers *bool `json:"all_members,omitempty"`

	// The notification rule descriptive comment.
	Comment *string `json:"comment,omitempty"`

	// Determines whether a notification rule is disabled or not. When this is set
	// to False, the notification rule is enabled.
	Disable *bool `json:"disable,omitempty"`

	// Determines whether the notification rule for event deduplication is enabled.
	// Note that to enable event deduplication, you must set at least one
	// deduplication field.
	EnableEventDeduplication *bool `json:"enable_event_deduplication,omitempty"`

	// Determines whether the notification rule for the event deduplication syslog
	// is enabled.
	EnableEventDeduplicationLog *bool `json:"enable_event_deduplication_log,omitempty"`

	// The list of fields that must be used in the notification rule for event
	// deduplication.
	EventDeduplicationFields []string `json:"event_deduplication_fields,omitempty"`

	// The lookback period for the notification rule for event deduplication.
	EventDeduplicationLookbackPeriod *uint32 `json:"event_deduplication_lookback_period,omitempty"`

	// Event priority.
	EventPriority *string `json:"event_priority,omitempty"`

	// The notification rule event type.
	EventType string `json:"event_type,omitempty"`

	// The notification rule expression list.
	ExpressionList []*NotificationRuleexpressionop `json:"expression_list,omitempty"`

	// The notification rule name.
	Name string `json:"name,omitempty"`

	// The notification rule action is applied if expression list evaluates to
	// True.
	NotificationAction string `json:"notification_action,omitempty"`

	// The notification target.
	NotificationTarget *string `json:"notification_target,omitempty"`

	// The publish settings.
	PublishSettings *CiscoisePublishsetting `json:"publish_settings,omitempty"`

	// Schedule setting that must be specified if event_type is SCHEDULE.
	ScheduledEvent *SettingSchedule `json:"scheduled_event,omitempty"`

	// The list of the members on which the notification rule is applied.
	SelectedMembers []string `json:"selected_members,omitempty"`

	// The notification REST template instance.
	TemplateInstance *NotificationRestTemplateinstance `json:"template_instance,omitempty"`

	// Use flag for: publish_settings
	UsePublishSettings *bool `json:"use_publish_settings,omitempty"`
}

NotificationRule represents Infoblox object notification:rule. Notification rule specifies the server to which this rule is applicable, certain conditions (i.e. triggers), and the action to be taken when the rule is hit. It also specifies where this rule engine is configured to be run.

func (NotificationRule) ObjectType added in v2.4.0

func (NotificationRule) ObjectType() string

func (NotificationRule) ReturnFields added in v2.4.0

func (obj NotificationRule) ReturnFields() []string

type NotificationRuleexpressionop added in v2.4.0

type NotificationRuleexpressionop struct {
	// Rule expression type.
	Op string `json:"op,omitempty"`

	// Rule expression first operand value.
	Op1 string `json:"op1,omitempty"`

	// Rule expression first operand type.
	Op1Type string `json:"op1_type,omitempty"`

	// Rule expression second operand.
	Op2 string `json:"op2,omitempty"`

	// Rule expression second operand type.
	Op2Type string `json:"op2_type,omitempty"`
}

NotificationRuleexpressionop represents Infoblox struct notification:ruleexpressionop

type Nsgroup added in v2.4.0

type Nsgroup struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Comment for the name server group; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The list of external primary servers.
	ExternalPrimaries []NameServer `json:"external_primaries,omitempty"`

	// The list of external secondary servers.
	ExternalSecondaries []NameServer `json:"external_secondaries,omitempty"`

	// The grid primary servers for this group.
	GridPrimary []*Memberserver `json:"grid_primary,omitempty"`

	// The list with Grid members that are secondary servers for this group.
	GridSecondaries []*Memberserver `json:"grid_secondaries,omitempty"`

	// Determines if this name server group is the Grid default.
	IsGridDefault *bool `json:"is_grid_default,omitempty"`

	// Determines if the "multiple DNS primaries" feature is enabled for the group.
	IsMultimaster bool `json:"is_multimaster,omitempty"`

	// The name of this name server group.
	Name *string `json:"name,omitempty"`

	// This flag controls whether the group is using an external primary. Note that
	// modification of this field requires passing values for "grid_secondaries"
	// and "external_primaries".
	UseExternalPrimary *bool `json:"use_external_primary,omitempty"`
}

Nsgroup represents Infoblox object nsgroup. A name server group is a collection of one or more primary DNS servers and one or more secondary DNS servers. Grouping a commonly used set of primary and secondary DNS servers together simplifies zone creation, allowing you to specify a single name server group instead of specifying multiple name servers individually.

func (Nsgroup) ObjectType added in v2.4.0

func (Nsgroup) ObjectType() string

func (Nsgroup) ReturnFields added in v2.4.0

func (obj Nsgroup) ReturnFields() []string

type NsgroupDelegation added in v2.4.0

type NsgroupDelegation struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The comment for the delegated NS group.
	Comment *string `json:"comment,omitempty"`

	// The list of delegated servers for the delegated NS group.
	DelegateTo []NameServer `json:"delegate_to,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The name of the delegated NS group.
	Name *string `json:"name,omitempty"`
}

NsgroupDelegation represents Infoblox object nsgroup:delegation. The NS group delegation object provides delegation servers configuration for delegated zones. When you configure a name server group, you can now create a set of external name servers as a delegation name server group and assign it to delegated zones. Specifying a single delegation name server group instead of configuring multiple name servers individually for each delegated zones can significantly reduce configuration efforts.

func (NsgroupDelegation) ObjectType added in v2.4.0

func (NsgroupDelegation) ObjectType() string

func (NsgroupDelegation) ReturnFields added in v2.4.0

func (obj NsgroupDelegation) ReturnFields() []string

type NsgroupForwardingmember added in v2.4.0

type NsgroupForwardingmember struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Comment for the Forwarding Member Name Server Group; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The list of forwarding member servers.
	ForwardingServers []*Forwardingmemberserver `json:"forwarding_servers,omitempty"`

	// The name of the Forwarding Member Name Server Group.
	Name *string `json:"name,omitempty"`
}

NsgroupForwardingmember represents Infoblox object nsgroup:forwardingmember. The Forwarding Member Name Server Group provides forwarding servers configuration for forward zones.

func (NsgroupForwardingmember) ObjectType added in v2.4.0

func (NsgroupForwardingmember) ObjectType() string

func (NsgroupForwardingmember) ReturnFields added in v2.4.0

func (obj NsgroupForwardingmember) ReturnFields() []string

type NsgroupForwardstubserver added in v2.4.0

type NsgroupForwardstubserver struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Comment for the Forward Stub Server Name Server Group; maximum 256
	// characters.
	Comment *string `json:"comment,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The list of external servers.
	ExternalServers []NameServer `json:"external_servers,omitempty"`

	// The name of this Forward Stub Server Name Server Group.
	Name *string `json:"name,omitempty"`
}

NsgroupForwardstubserver represents Infoblox object nsgroup:forwardstubserver. The Forward Stub Server Name Server Group allows configuring external servers for Forward Zone and Stub Zone.

func (NsgroupForwardstubserver) ObjectType added in v2.4.0

func (NsgroupForwardstubserver) ObjectType() string

func (NsgroupForwardstubserver) ReturnFields added in v2.4.0

func (obj NsgroupForwardstubserver) ReturnFields() []string

type NsgroupStubmember added in v2.4.0

type NsgroupStubmember struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Comment for the Stub Member Name Server Group; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The name of the Stub Member Name Server Group.
	Name *string `json:"name,omitempty"`

	// The Grid member servers of this stub zone. Note that the
	// lead/stealth/grid_replicate/
	// preferred_primaries/override_preferred_primaries fields of the struct will
	// be ignored when set in this field.
	StubMembers []*Memberserver `json:"stub_members,omitempty"`
}

NsgroupStubmember represents Infoblox object nsgroup:stubmember. The Stub Member Name Server Group provides stub servers configuration for stub zones.

func (NsgroupStubmember) ObjectType added in v2.4.0

func (NsgroupStubmember) ObjectType() string

func (NsgroupStubmember) ReturnFields added in v2.4.0

func (obj NsgroupStubmember) ReturnFields() []string

type Ntpac added in v2.4.0

type Ntpac struct {
	// The client address/network with access control.
	AddressAc *Addressac `json:"address_ac,omitempty"`

	// The type of service with access control.
	Service string `json:"service,omitempty"`
}

Ntpac represents Infoblox struct ntpac

type Ntpaccess added in v2.4.0

type Ntpaccess struct {
	// The NTP access control list type.
	AclType string `json:"acl_type,omitempty"`

	// The list of NTP access control items.
	AcList []*Ntpac `json:"ac_list,omitempty"`

	// The NTP access named ACL.
	NamedAcl string `json:"named_acl,omitempty"`

	// The type of service with access control for the assigned named ACL.
	Service string `json:"service,omitempty"`
}

Ntpaccess represents Infoblox struct ntpaccess

type Ntpkey added in v2.4.0

type Ntpkey struct {
	// The NTP authentication key identifier.
	Number uint32 `json:"number,omitempty"`

	// The NTP authentication key string.
	String string `json:"string,omitempty"`

	// The NTP authentication key type.
	Type string `json:"type,omitempty"`
}

Ntpkey represents Infoblox struct ntpkey

type NullableForwardingServers added in v2.7.0

type NullableForwardingServers struct {
	Servers []*Forwardingmemberserver
	IsNull  bool // Indicates if the entire slice should be null
}

Forwarding Server to be [] list

func (NullableForwardingServers) MarshalJSON added in v2.7.0

func (nfs NullableForwardingServers) MarshalJSON() ([]byte, error)

func (*NullableForwardingServers) UnmarshalJSON added in v2.7.0

func (nfs *NullableForwardingServers) UnmarshalJSON(data []byte) error

type NullableNameServers added in v2.8.0

type NullableNameServers struct {
	NameServers []NameServer
	IsNull      bool
}

Handle []NameServer to be [] list

func (NullableNameServers) MarshalJSON added in v2.8.0

func (ns NullableNameServers) MarshalJSON() ([]byte, error)

func (*NullableNameServers) UnmarshalJSON added in v2.8.0

func (ns *NullableNameServers) UnmarshalJSON(data []byte) error

type Nxdomainrule added in v2.4.0

type Nxdomainrule struct {
	// The action to perform when a domain name matches the pattern defined in this
	// Ruleset.
	Action string `json:"action,omitempty"`

	// The pattern that is used to match the domain name.
	Pattern string `json:"pattern,omitempty"`
}

Nxdomainrule represents Infoblox struct nxdomainrule

type ObjectManager

type ObjectManager struct {
	// contains filtered or unexported fields
}

func (*ObjectManager) AllocateIP

func (objMgr *ObjectManager) AllocateIP(
	netview string,
	cidr string,
	ipAddr string,
	isIPv6 bool,
	macOrDuid string,
	name string,
	comment string,
	eas EA) (*FixedAddress, error)

func (*ObjectManager) AllocateNetwork

func (objMgr *ObjectManager) AllocateNetwork(
	netview string,
	cidr string,
	isIPv6 bool,
	prefixLen uint,
	comment string,
	eas EA) (network *Network, err error)

func (*ObjectManager) AllocateNetworkByEA added in v2.8.0

func (objMgr *ObjectManager) AllocateNetworkByEA(
	netview string, isIPv6 bool, comment string, eas EA, eaMap map[string]string, prefixLen uint, object string) (network *Network, err error)

func (*ObjectManager) AllocateNetworkContainer added in v2.2.0

func (objMgr *ObjectManager) AllocateNetworkContainer(
	netview string,
	cidr string,
	isIPv6 bool,
	prefixLen uint,
	comment string,
	eas EA) (*NetworkContainer, error)

func (*ObjectManager) AllocateNetworkContainerByEA added in v2.8.0

func (objMgr *ObjectManager) AllocateNetworkContainerByEA(
	netview string, isIPv6 bool, comment string, eas EA, eaMap map[string]string, prefixLen uint) (*NetworkContainer, error)

func (*ObjectManager) AllocateNextAvailableIp added in v2.8.0

func (objMgr *ObjectManager) AllocateNextAvailableIp(
	name string,
	objectType string,
	objectParams map[string]string,
	params map[string][]string,
	useEaInheritance bool,
	ea EA,
	comment string,
	disable bool,
	n *int, ipAddrType string,
	enableDns bool, enableDhcp bool,
	macAddr string, duid string,
	networkView string, dnsView string,
	useTtl bool, ttl uint32, aliases []string) (interface{}, error)

func (*ObjectManager) CreateAAAARecord

func (objMgr *ObjectManager) CreateAAAARecord(
	netView string,
	dnsView string,
	recordName string,
	cidr string,
	ipAddr string,
	useTtl bool,
	ttl uint32,
	comment string,
	eas EA) (*RecordAAAA, error)

func (*ObjectManager) CreateARecord

func (objMgr *ObjectManager) CreateARecord(
	netView string,
	dnsView string,
	name string,
	cidr string,
	ipAddr string,
	ttl uint32,
	useTTL bool,
	comment string,
	eas EA) (*RecordA, error)

func (*ObjectManager) CreateCNAMERecord

func (objMgr *ObjectManager) CreateCNAMERecord(
	dnsview string,
	canonical string,
	recordname string,
	useTtl bool,
	ttl uint32,
	comment string,
	eas EA) (*RecordCNAME, error)

func (*ObjectManager) CreateDefaultNetviews

func (objMgr *ObjectManager) CreateDefaultNetviews(globalNetview string, localNetview string) (globalNetviewRef string, localNetviewRef string, err error)

func (*ObjectManager) CreateEADefinition

func (objMgr *ObjectManager) CreateEADefinition(eadef EADefinition) (*EADefinition, error)

func (*ObjectManager) CreateHostRecord

func (objMgr *ObjectManager) CreateHostRecord(
	enabledns bool,
	enableDhcp bool,
	recordName string,
	netview string,
	dnsview string,
	ipv4cidr string,
	ipv6cidr string,
	ipv4Addr string,
	ipv6Addr string,
	macAddr string,
	duid string,
	useTtl bool,
	ttl uint32,
	comment string,
	eas EA,
	aliases []string,
	disable bool) (*HostRecord, error)

func (*ObjectManager) CreateMXRecord added in v2.3.0

func (objMgr *ObjectManager) CreateMXRecord(
	dnsView string,
	fqdn string,
	mx string,
	preference uint32,
	ttl uint32,
	useTtl bool,
	comment string,
	eas EA) (*RecordMX, error)

func (*ObjectManager) CreateMultiObject

func (objMgr *ObjectManager) CreateMultiObject(req *MultiRequest) ([]map[string]interface{}, error)

CreateMultiObject unmarshals the result into slice of maps

func (*ObjectManager) CreateNetwork

func (objMgr *ObjectManager) CreateNetwork(netview string, cidr string, isIPv6 bool, comment string, eas EA) (*Network, error)

func (*ObjectManager) CreateNetworkContainer

func (objMgr *ObjectManager) CreateNetworkContainer(netview string, cidr string, isIPv6 bool, comment string, eas EA) (*NetworkContainer, error)

func (*ObjectManager) CreateNetworkView

func (objMgr *ObjectManager) CreateNetworkView(name string, comment string, setEas EA) (*NetworkView, error)

func (*ObjectManager) CreatePTRRecord

func (objMgr *ObjectManager) CreatePTRRecord(
	networkView string,
	dnsView string,
	ptrdname string,
	recordName string,
	cidr string,
	ipAddr string,
	useTtl bool,
	ttl uint32,
	comment string,
	eas EA) (*RecordPTR, error)

TODO check if the respective zone exists before creation of the record

func (*ObjectManager) CreateSRVRecord added in v2.3.0

func (objMgr *ObjectManager) CreateSRVRecord(
	dnsView string,
	name string,
	priority uint32,
	weight uint32,
	port uint32,
	target string,
	ttl uint32,
	useTtl bool,
	comment string,
	eas EA) (*RecordSRV, error)

CreateSRVRecord creates an SRV-record.

Also, it preforms validation of input parameters: name, priority, weight, port and target.

func (*ObjectManager) CreateTXTRecord

func (objMgr *ObjectManager) CreateTXTRecord(
	dnsView string,
	recordName string,
	text string,
	ttl uint32,
	useTtl bool,
	comment string,
	eas EA) (*RecordTXT, error)

Creates TXT Record. Use TTL of 0 to inherit TTL from the Zone

func (*ObjectManager) CreateZoneAuth

func (objMgr *ObjectManager) CreateZoneAuth(
	fqdn string,
	eas EA) (*ZoneAuth, error)

CreateZoneAuth creates zones and subs by passing fqdn

func (*ObjectManager) CreateZoneDelegated

func (objMgr *ObjectManager) CreateZoneDelegated(fqdn string, delegateTo NullableNameServers, comment string,
	disable bool, locked bool, nsGroup string, delegatedTtl uint32, useDelegatedTtl bool, ea EA, view string, zoneFormat string) (*ZoneDelegated, error)

CreateZoneDelegated creates delegated zone

func (*ObjectManager) CreateZoneForward added in v2.7.0

func (objMgr *ObjectManager) CreateZoneForward(
	comment string,
	disable bool,
	eas EA,
	forwardTo NullableNameServers,
	forwardersOnly bool,
	forwardingServers *NullableForwardingServers,
	fqdn string,
	nsGroup string,
	view string,
	zoneFormat string,
	externalNsGroup string) (*ZoneForward, error)

func (*ObjectManager) DeleteAAAARecord

func (objMgr *ObjectManager) DeleteAAAARecord(ref string) (string, error)

func (*ObjectManager) DeleteARecord

func (objMgr *ObjectManager) DeleteARecord(ref string) (string, error)

func (*ObjectManager) DeleteCNAMERecord

func (objMgr *ObjectManager) DeleteCNAMERecord(ref string) (string, error)

func (*ObjectManager) DeleteFixedAddress

func (objMgr *ObjectManager) DeleteFixedAddress(ref string) (string, error)

func (*ObjectManager) DeleteHostRecord

func (objMgr *ObjectManager) DeleteHostRecord(ref string) (string, error)

func (*ObjectManager) DeleteMXRecord added in v2.3.0

func (objMgr *ObjectManager) DeleteMXRecord(ref string) (string, error)

func (*ObjectManager) DeleteNetwork

func (objMgr *ObjectManager) DeleteNetwork(ref string) (string, error)

func (*ObjectManager) DeleteNetworkContainer

func (objMgr *ObjectManager) DeleteNetworkContainer(ref string) (string, error)

func (*ObjectManager) DeleteNetworkView

func (objMgr *ObjectManager) DeleteNetworkView(ref string) (string, error)

func (*ObjectManager) DeletePTRRecord

func (objMgr *ObjectManager) DeletePTRRecord(ref string) (string, error)

func (*ObjectManager) DeleteSRVRecord added in v2.3.0

func (objMgr *ObjectManager) DeleteSRVRecord(ref string) (string, error)

func (*ObjectManager) DeleteTXTRecord

func (objMgr *ObjectManager) DeleteTXTRecord(ref string) (string, error)

func (*ObjectManager) DeleteZoneAuth

func (objMgr *ObjectManager) DeleteZoneAuth(ref string) (string, error)

DeleteZoneAuth deletes an auth zone

func (*ObjectManager) DeleteZoneDelegated

func (objMgr *ObjectManager) DeleteZoneDelegated(ref string) (string, error)

DeleteZoneDelegated deletes delegated zone

func (*ObjectManager) DeleteZoneForward added in v2.7.0

func (objMgr *ObjectManager) DeleteZoneForward(ref string) (string, error)

func (*ObjectManager) GetAAAARecord

func (objMgr *ObjectManager) GetAAAARecord(dnsview string, recordName string, ipAddr string) (*RecordAAAA, error)

func (*ObjectManager) GetAAAARecordByRef

func (objMgr *ObjectManager) GetAAAARecordByRef(ref string) (*RecordAAAA, error)

func (*ObjectManager) GetARecord

func (objMgr *ObjectManager) GetARecord(dnsview string, recordName string, ipAddr string) (*RecordA, error)

func (*ObjectManager) GetARecordByRef

func (objMgr *ObjectManager) GetARecordByRef(ref string) (*RecordA, error)

func (*ObjectManager) GetAllMembers

func (objMgr *ObjectManager) GetAllMembers() ([]Member, error)

GetAllMembers returns all members information

func (*ObjectManager) GetCNAMERecord

func (objMgr *ObjectManager) GetCNAMERecord(dnsview string, canonical string, recordName string) (*RecordCNAME, error)

func (*ObjectManager) GetCNAMERecordByRef

func (objMgr *ObjectManager) GetCNAMERecordByRef(ref string) (*RecordCNAME, error)

func (*ObjectManager) GetCapacityReport

func (objMgr *ObjectManager) GetCapacityReport(name string) ([]CapacityReport, error)

GetCapacityReport returns all capacity for members

func (*ObjectManager) GetDNSView added in v2.2.0

func (objMgr *ObjectManager) GetDNSView(name string) (*View, error)

func (*ObjectManager) GetDhcpMember added in v2.6.0

func (objMgr *ObjectManager) GetDhcpMember(ref string) ([]Dhcp, error)

func (*ObjectManager) GetDnsMember added in v2.6.0

func (objMgr *ObjectManager) GetDnsMember(ref string) ([]Dns, error)

func (*ObjectManager) GetEADefinition

func (objMgr *ObjectManager) GetEADefinition(name string) (*EADefinition, error)

func (*ObjectManager) GetFixedAddress

func (objMgr *ObjectManager) GetFixedAddress(netview string, cidr string, ipAddr string, isIpv6 bool, macOrDuid string) (*FixedAddress, error)

func (*ObjectManager) GetFixedAddressByRef

func (objMgr *ObjectManager) GetFixedAddressByRef(ref string) (*FixedAddress, error)

func (*ObjectManager) GetGridInfo

func (objMgr *ObjectManager) GetGridInfo() ([]Grid, error)

GetGridInfo returns the details for grid

func (*ObjectManager) GetGridLicense

func (objMgr *ObjectManager) GetGridLicense() ([]License, error)

GetLicense returns the license details for grid

func (*ObjectManager) GetHostRecord

func (objMgr *ObjectManager) GetHostRecord(netview string, dnsview string, recordName string, ipv4addr string, ipv6addr string) (*HostRecord, error)

func (*ObjectManager) GetHostRecordByRef

func (objMgr *ObjectManager) GetHostRecordByRef(ref string) (*HostRecord, error)

func (*ObjectManager) GetIpAddressFromHostRecord

func (objMgr *ObjectManager) GetIpAddressFromHostRecord(host HostRecord) (string, error)

func (*ObjectManager) GetLicense

func (objMgr *ObjectManager) GetLicense() ([]License, error)

GetLicense returns the license details for member

func (*ObjectManager) GetMXRecord added in v2.3.0

func (objMgr *ObjectManager) GetMXRecord(dnsView string, fqdn string, mx string, preference uint32) (*RecordMX, error)

func (*ObjectManager) GetMXRecordByRef added in v2.3.0

func (objMgr *ObjectManager) GetMXRecordByRef(ref string) (*RecordMX, error)

func (*ObjectManager) GetNetwork

func (objMgr *ObjectManager) GetNetwork(netview string, cidr string, isIPv6 bool, ea EA) (*Network, error)

func (*ObjectManager) GetNetworkByRef

func (objMgr *ObjectManager) GetNetworkByRef(ref string) (*Network, error)

func (*ObjectManager) GetNetworkContainer

func (objMgr *ObjectManager) GetNetworkContainer(netview string, cidr string, isIPv6 bool, eaSearch EA) (*NetworkContainer, error)

TODO normalize IPv4 and IPv6 addresses

func (*ObjectManager) GetNetworkContainerByRef

func (objMgr *ObjectManager) GetNetworkContainerByRef(ref string) (*NetworkContainer, error)

func (*ObjectManager) GetNetworkView

func (objMgr *ObjectManager) GetNetworkView(name string) (*NetworkView, error)

func (*ObjectManager) GetNetworkViewByRef

func (objMgr *ObjectManager) GetNetworkViewByRef(ref string) (*NetworkView, error)

func (*ObjectManager) GetPTRRecord

func (objMgr *ObjectManager) GetPTRRecord(dnsview string, ptrdname string, recordName string, ipAddr string) (*RecordPTR, error)

func (*ObjectManager) GetPTRRecordByRef

func (objMgr *ObjectManager) GetPTRRecordByRef(ref string) (*RecordPTR, error)

func (*ObjectManager) GetSRVRecord added in v2.3.0

func (objMgr *ObjectManager) GetSRVRecord(dnsView string, name string, target string, port uint32) (*RecordSRV, error)

func (*ObjectManager) GetSRVRecordByRef added in v2.3.0

func (objMgr *ObjectManager) GetSRVRecordByRef(ref string) (*RecordSRV, error)

func (*ObjectManager) GetTXTRecord

func (objMgr *ObjectManager) GetTXTRecord(dnsview string, name string) (*RecordTXT, error)

func (*ObjectManager) GetTXTRecordByRef

func (objMgr *ObjectManager) GetTXTRecordByRef(ref string) (*RecordTXT, error)

func (*ObjectManager) GetUpgradeStatus

func (objMgr *ObjectManager) GetUpgradeStatus(statusType string) ([]UpgradeStatus, error)

GetUpgradeStatus returns the grid upgrade information

func (*ObjectManager) GetZoneAuth

func (objMgr *ObjectManager) GetZoneAuth() ([]ZoneAuth, error)

GetZoneAuth returns the authoritatives zones

func (*ObjectManager) GetZoneAuthByRef

func (objMgr *ObjectManager) GetZoneAuthByRef(ref string) (*ZoneAuth, error)

Retreive a authortative zone by ref

func (*ObjectManager) GetZoneDelegated

func (objMgr *ObjectManager) GetZoneDelegated(fqdn string) (*ZoneDelegated, error)

GetZoneDelegated returns the delegated zone

func (*ObjectManager) GetZoneDelegatedByFilters added in v2.8.0

func (objMgr *ObjectManager) GetZoneDelegatedByFilters(queryParams *QueryParams) ([]ZoneDelegated, error)

GetZoneDelegateByFiletrs returns the delegated zone by filters

func (*ObjectManager) GetZoneDelegatedByRef added in v2.7.0

func (objMgr *ObjectManager) GetZoneDelegatedByRef(ref string) (*ZoneDelegated, error)

GetZoneDelegatedByRef returns the delegated zone by ref

func (*ObjectManager) GetZoneForwardByRef added in v2.7.0

func (objMgr *ObjectManager) GetZoneForwardByRef(ref string) (*ZoneForward, error)

func (*ObjectManager) GetZoneForwardFilters added in v2.7.0

func (objMgr *ObjectManager) GetZoneForwardFilters(queryParams *QueryParams) ([]ZoneForward, error)

func (*ObjectManager) ReleaseIP

func (objMgr *ObjectManager) ReleaseIP(netview string, cidr string, ipAddr string, isIpv6 bool, macOrDuid string) (string, error)

func (*ObjectManager) SearchHostRecordByAltId added in v2.1.0

func (objMgr *ObjectManager) SearchHostRecordByAltId(
	internalId string, ref string, eaNameForInternalId string) (*HostRecord, error)

func (*ObjectManager) SearchObjectByAltId added in v2.6.0

func (objMgr *ObjectManager) SearchObjectByAltId(
	objType string, ref string, internalId string, eaNameForInternalId string) (interface{}, error)

SearchObjectByAltId is a generic function to search object by alternate id

func (*ObjectManager) UpdateAAAARecord

func (objMgr *ObjectManager) UpdateAAAARecord(
	ref string,
	netView string,
	recordName string,
	ipAddr string,
	cidr string,
	useTtl bool,
	ttl uint32,
	comment string,
	setEas EA) (*RecordAAAA, error)

func (*ObjectManager) UpdateARecord

func (objMgr *ObjectManager) UpdateARecord(
	ref string,
	name string,
	ipAddr string,
	cidr string,
	netView string,
	ttl uint32,
	useTTL bool,
	comment string,
	eas EA) (*RecordA, error)

func (*ObjectManager) UpdateCNAMERecord

func (objMgr *ObjectManager) UpdateCNAMERecord(
	ref string,
	canonical string,
	recordName string,
	useTtl bool,
	ttl uint32,
	comment string,
	setEas EA) (*RecordCNAME, error)

func (*ObjectManager) UpdateDhcpStatus added in v2.6.0

func (objMgr *ObjectManager) UpdateDhcpStatus(ref string, status bool) (Dhcp, error)

func (*ObjectManager) UpdateDnsStatus added in v2.6.0

func (objMgr *ObjectManager) UpdateDnsStatus(ref string, status bool) (Dns, error)

func (*ObjectManager) UpdateFixedAddress

func (objMgr *ObjectManager) UpdateFixedAddress(
	fixedAddrRef string,
	netview string,
	name string,
	cidr string,
	ipAddr string,
	matchClient string,
	macOrDuid string,
	comment string,
	eas EA) (*FixedAddress, error)

func (*ObjectManager) UpdateHostRecord

func (objMgr *ObjectManager) UpdateHostRecord(
	hostRref string,
	enabledns bool,
	enableDhcp bool,
	name string,
	netView string,
	dnsView string,
	ipv4cidr string,
	ipv6cidr string,
	ipv4Addr string,
	ipv6Addr string,
	macAddr string,
	duid string,
	useTtl bool,
	ttl uint32,
	comment string,
	eas EA,
	aliases []string, disable bool) (*HostRecord, error)

func (*ObjectManager) UpdateMXRecord added in v2.3.0

func (objMgr *ObjectManager) UpdateMXRecord(
	ref string,
	dnsView string,
	fqdn string,
	mx string,
	preference uint32,
	ttl uint32,
	useTtl bool,
	comment string,
	eas EA) (*RecordMX, error)

func (*ObjectManager) UpdateNetwork

func (objMgr *ObjectManager) UpdateNetwork(
	ref string,
	setEas EA,
	comment string) (*Network, error)

UpdateNetwork updates comment and EA parameters. EAs which exist will be updated, those which do exist but not in setEas map, will be deleted, EAs which do not exist will be created as new.

func (*ObjectManager) UpdateNetworkContainer

func (objMgr *ObjectManager) UpdateNetworkContainer(
	ref string,
	setEas EA,
	comment string) (*NetworkContainer, error)

func (*ObjectManager) UpdateNetworkView

func (objMgr *ObjectManager) UpdateNetworkView(ref string, name string, comment string, setEas EA) (*NetworkView, error)

func (*ObjectManager) UpdatePTRRecord

func (objMgr *ObjectManager) UpdatePTRRecord(
	ref string,
	netview string,
	ptrdname string,
	name string,
	cidr string,
	ipAddr string,
	useTtl bool,
	ttl uint32,
	comment string,
	setEas EA) (*RecordPTR, error)

func (*ObjectManager) UpdateSRVRecord added in v2.3.0

func (objMgr *ObjectManager) UpdateSRVRecord(
	ref string,
	name string,
	priority uint32,
	weight uint32,
	port uint32,
	target string,
	ttl uint32,
	useTtl bool,
	comment string,
	eas EA) (*RecordSRV, error)

UpdateSRVRecord updates the SRV-record.

Also, it preforms validation of input parameters: name, priority, weight, port and target.

func (*ObjectManager) UpdateTXTRecord

func (objMgr *ObjectManager) UpdateTXTRecord(
	ref string,
	recordName string,
	text string,
	ttl uint32,
	useTtl bool,
	comment string,
	eas EA) (*RecordTXT, error)

func (*ObjectManager) UpdateZoneDelegated

func (objMgr *ObjectManager) UpdateZoneDelegated(
	ref string,
	delegateTo NullableNameServers,
	comment string,
	disable bool,
	locked bool,
	nsGroup string,
	delegatedTtl uint32,
	useDelegatedTtl bool,
	ea EA) (*ZoneDelegated, error)

UpdateZoneDelegated updates delegated zone

func (*ObjectManager) UpdateZoneForward added in v2.7.0

func (objMgr *ObjectManager) UpdateZoneForward(
	ref string,
	comment string,
	disable bool,
	eas EA,
	forwardTo NullableNameServers,
	forwardersOnly bool,
	forwardingServers *NullableForwardingServers,
	nsGroup string,
	externlNsGroup string) (*ZoneForward, error)

type Objectschangestrackingsetting added in v2.4.0

type Objectschangestrackingsetting struct {
	// Determines whether the objects changes tracking feature is enabled or not.
	Enable bool `json:"enable,omitempty"`

	// Determines the percentage of completion for objects changes tracking.
	EnableCompletion uint32 `json:"enable_completion,omitempty"`

	// Determines the objects changes tracking enable state.
	State string `json:"state,omitempty"`

	// Maximum time period in seconds to track the deleted objects changes. You can
	// enter a value from 7200 - 604800 seconds.
	MaxTimeToTrack uint32 `json:"max_time_to_track,omitempty"`

	// Maximum number of deleted objects retained for tracking. You can enter a
	// value from 2000 - 20000.
	MaxObjsToTrack uint32 `json:"max_objs_to_track,omitempty"`
}

Objectschangestrackingsetting represents Infoblox struct objectschangestrackingsetting

type OcspResponder added in v2.4.0

type OcspResponder struct {
	// The FQDN (Fully Qualified Domain Name) or IP address of the server.
	FqdnOrIp string `json:"fqdn_or_ip,omitempty"`

	// The port used for connecting.
	Port uint32 `json:"port,omitempty"`

	// The descriptive comment for the OCSP authentication responder.
	Comment string `json:"comment,omitempty"`

	// Determines if this OCSP authentication responder is disabled.
	Disabled bool `json:"disabled,omitempty"`

	// The reference to the OCSP responder certificate.
	Certificate string `json:"certificate,omitempty"`

	// The token returned by the uploadinit function call in object fileop.
	CertificateToken string `json:"certificate_token,omitempty"`
}

OcspResponder represents Infoblox struct ocsp_responder

type Option60matchrule added in v2.4.0

type Option60matchrule struct {
	// The match value for this DHCP Option 60 match rule.
	MatchValue string `json:"match_value,omitempty"`

	// The option space for this DHCP Option 60 match rule.
	OptionSpace string `json:"option_space,omitempty"`

	// Determines if the match value is a substring.
	IsSubstring bool `json:"is_substring,omitempty"`

	// The offset of match value for this DHCP Option 60 match rule.
	SubstringOffset uint32 `json:"substring_offset,omitempty"`

	// The length of match value for this DHCP Option 60 match rule.
	SubstringLength uint32 `json:"substring_length,omitempty"`
}

Option60matchrule represents Infoblox struct option60matchrule

type Orderedranges added in v2.4.0

type Orderedranges struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The reference to the network that contains ranges.
	Network string `json:"network,omitempty"`

	// The ordered list of references to ranges.
	Ranges []*Range `json:"ranges,omitempty"`
}

Orderedranges represents Infoblox object orderedranges. An ordered DHCP ranges object contains an ordered list of DHCP range objects that belong to a network.

func (Orderedranges) ObjectType added in v2.4.0

func (Orderedranges) ObjectType() string

func (Orderedranges) ReturnFields added in v2.4.0

func (obj Orderedranges) ReturnFields() []string

type Orderedresponsepolicyzones added in v2.4.0

type Orderedresponsepolicyzones struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// An ordered list of Response Policy Zone names.
	RpZones []string `json:"rp_zones,omitempty"`

	// The DNS View name.
	View *string `json:"view,omitempty"`
}

Orderedresponsepolicyzones represents Infoblox object orderedresponsepolicyzones. An ordered list of Response Policy Zones in a DNS view. Server will reject zones that are disabled or zones without primary name server assigned.

func (Orderedresponsepolicyzones) ObjectType added in v2.4.0

func (Orderedresponsepolicyzones) ObjectType() string

func (Orderedresponsepolicyzones) ReturnFields added in v2.4.0

func (obj Orderedresponsepolicyzones) ReturnFields() []string

type Ospf added in v2.4.0

type Ospf struct {
	// The area ID value of the OSPF settings.
	AreaId string `json:"area_id,omitempty"`

	// The OSPF area type.
	AreaType string `json:"area_type,omitempty"`

	// The authentication password to use for OSPF. The authentication key is valid
	// only when authentication type is "SIMPLE" or "MESSAGE_DIGEST".
	AuthenticationKey string `json:"authentication_key,omitempty"`

	// The authentication type used for the OSPF advertisement.
	AuthenticationType string `json:"authentication_type,omitempty"`

	// Determines if auto calculate cost is enabled or not.
	AutoCalcCostEnabled bool `json:"auto_calc_cost_enabled,omitempty"`

	// A descriptive comment of the OSPF configuration.
	Comment string `json:"comment,omitempty"`

	// The cost metric associated with the OSPF advertisement.
	Cost uint32 `json:"cost,omitempty"`

	// The dead interval value of OSPF (in seconds). The dead interval describes
	// the time to wait before declaring the device is unavailable and down.
	DeadInterval uint32 `json:"dead_interval,omitempty"`

	// The hello interval value of OSPF. The hello interval specifies how often to
	// send OSPF hello advertisement, in seconds.
	HelloInterval uint32 `json:"hello_interval,omitempty"`

	// The interface that sends out OSPF advertisement information.
	Interface string `json:"interface,omitempty"`

	// The OSPF protocol version. Specify "true" if the IPv4 version of OSPF is
	// used, or "false" if the IPv6 version of OSPF is used.
	IsIpv4 bool `json:"is_ipv4,omitempty"`

	// The hash key identifier to use for "MESSAGE_DIGEST" authentication. The hash
	// key identifier is valid only when authentication type is "MESSAGE_DIGEST".
	KeyId uint32 `json:"key_id,omitempty"`

	// The retransmit interval time of OSPF (in seconds). The retransmit interval
	// describes the time to wait before retransmitting OSPF advertisement.
	RetransmitInterval uint32 `json:"retransmit_interval,omitempty"`

	// The transmit delay value of OSPF (in seconds). The transmit delay describes
	// the time to wait before sending an advertisement.
	TransmitDelay uint32 `json:"transmit_delay,omitempty"`

	// The VLAN used as the advertising interface for sending OSPF announcements.
	AdvertiseInterfaceVlan string `json:"advertise_interface_vlan,omitempty"`

	// Determines BFD template name.
	BfdTemplate string `json:"bfd_template,omitempty"`

	// Determines if the BFD is enabled or not.
	EnableBfd bool `json:"enable_bfd,omitempty"`
}

Ospf represents Infoblox struct ospf

type OutboundCloudclient added in v2.4.0

type OutboundCloudclient struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Determines whether the OutBound Cloud Client is enabled.
	Enable *bool `json:"enable,omitempty"`

	// The Grid member where our outbound is running.
	GridMember *string `json:"grid_member,omitempty"`

	// The time interval (in seconds) for requesting newly detected domains by the
	// Infoblox Outbound Cloud Client and applying them to the list of configured
	// RPZs.
	Interval *uint32 `json:"interval,omitempty"`

	// List of event types to request
	OutboundCloudClientEvents []*OutboundCloudclientEvent `json:"outbound_cloud_client_events,omitempty"`
}

OutboundCloudclient represents Infoblox object outbound:cloudclient. You can use the outbound Cloud Client object to configure the detection and authentication of domains in the Cloud, and then apply them to on-premises DNS firewall RPZ zones within a configurable time frame.

func (OutboundCloudclient) ObjectType added in v2.4.0

func (OutboundCloudclient) ObjectType() string

func (OutboundCloudclient) ReturnFields added in v2.4.0

func (obj OutboundCloudclient) ReturnFields() []string

type OutboundCloudclientEvent added in v2.4.0

type OutboundCloudclientEvent struct {
	// The event type enum rpz and analytics.
	EventType string `json:"event_type,omitempty"`

	// Determines if the event type is enabled or not.
	Enabled bool `json:"enabled,omitempty"`
}

OutboundCloudclientEvent represents Infoblox struct outbound:cloudclient:event

type ParentalcontrolAbs added in v2.4.0

type ParentalcontrolAbs struct {
	// The IP address of addional blocking server.
	IpAddress string `json:"ip_address,omitempty"`

	// The blocking policy for the addional blocking server.
	BlockingPolicy string `json:"blocking_policy,omitempty"`
}

ParentalcontrolAbs represents Infoblox struct parentalcontrol:abs

type ParentalcontrolAvp added in v2.4.0

type ParentalcontrolAvp struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The comment for the AVP.
	Comment *string `json:"comment,omitempty"`

	// The list of domains applicable to AVP.
	DomainTypes []string `json:"domain_types,omitempty"`

	// Determines if AVP is restricted to domains.
	IsRestricted *bool `json:"is_restricted,omitempty"`

	// The name of AVP.
	Name *string `json:"name,omitempty"`

	// The type of AVP as per RFC 2865/2866.
	Type *uint32 `json:"type,omitempty"`

	// Determines if AVP was defined by user.
	UserDefined bool `json:"user_defined,omitempty"`

	// The type of value.
	ValueType string `json:"value_type,omitempty"`

	// The vendor ID as per RFC 2865/2866.
	VendorId *uint32 `json:"vendor_id,omitempty"`

	// The vendor type as per RFC 2865/2866.
	VendorType *uint32 `json:"vendor_type,omitempty"`
}

ParentalcontrolAvp represents Infoblox object parentalcontrol:avp. The accounting attribute value pair object is used to extract accounting information from accounting protocols logs.

func (ParentalcontrolAvp) ObjectType added in v2.4.0

func (ParentalcontrolAvp) ObjectType() string

func (ParentalcontrolAvp) ReturnFields added in v2.4.0

func (obj ParentalcontrolAvp) ReturnFields() []string

type ParentalcontrolBlockingpolicy added in v2.4.0

type ParentalcontrolBlockingpolicy struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The name of the blocking policy.
	Name *string `json:"name,omitempty"`

	// The 32 bit hex value of the blocking policy.
	Value *string `json:"value,omitempty"`
}

ParentalcontrolBlockingpolicy represents Infoblox object parentalcontrol:blockingpolicy. This object represents a set of parental control properties for blocking policy.

func (ParentalcontrolBlockingpolicy) ObjectType added in v2.4.0

func (ParentalcontrolBlockingpolicy) ReturnFields added in v2.4.0

func (obj ParentalcontrolBlockingpolicy) ReturnFields() []string

type ParentalcontrolMsp added in v2.4.0

type ParentalcontrolMsp struct {
	// The IPv4 Address of MSP.
	IpAddress string `json:"ip_address,omitempty"`
}

ParentalcontrolMsp represents Infoblox struct parentalcontrol:msp

type ParentalcontrolNasgateway added in v2.4.0

type ParentalcontrolNasgateway struct {
	// The name of NAS gateway.
	Name string `json:"name,omitempty"`

	// The IPv4 Address of NAS gateway.
	IpAddress string `json:"ip_address,omitempty"`

	// The protocol MD5 phrase.
	SharedSecret string `json:"shared_secret,omitempty"`

	// Determines whether an acknowledge needs to be sent.
	SendAck bool `json:"send_ack,omitempty"`

	// The message rate per server.
	MessageRate uint32 `json:"message_rate,omitempty"`

	// The human readable comment for NAS gateway.
	Comment string `json:"comment,omitempty"`
}

ParentalcontrolNasgateway represents Infoblox struct parentalcontrol:nasgateway

type ParentalcontrolSitemember added in v2.4.0

type ParentalcontrolSitemember struct {
	// The Grid member name.
	Name string `json:"name,omitempty"`

	// The type of member.
	Type string `json:"type,omitempty"`
}

ParentalcontrolSitemember represents Infoblox struct parentalcontrol:sitemember

type ParentalcontrolSpm added in v2.4.0

type ParentalcontrolSpm struct {
	// The IPv4 Address of SPM.
	IpAddress string `json:"ip_address,omitempty"`
}

ParentalcontrolSpm represents Infoblox struct parentalcontrol:spm

type ParentalcontrolSubscriber added in v2.4.0

type ParentalcontrolSubscriber struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The name of AVP to be used as an alternate subscriber ID for fixed lines.
	AltSubscriberId *string `json:"alt_subscriber_id,omitempty"`

	// A character string to control aspects of rewriting of the fields.
	AltSubscriberIdRegexp *string `json:"alt_subscriber_id_regexp,omitempty"`

	// The subexpression indicates which subexpression to extract. If zero, then
	// the text matching the entire regular expression is extracted. If non-zero,
	// then the regex must contain at least that many sub-expression groups. It
	// takes values from 0 to 8.
	AltSubscriberIdSubexpression *uint32 `json:"alt_subscriber_id_subexpression,omitempty"`

	// The list of ordered AVP Ancillary Fields.
	Ancillaries []string `json:"ancillaries,omitempty"`

	// Category content account name using the categorization service.
	CatAcctname *string `json:"cat_acctname,omitempty"`

	// Category content account password to access the categorization service.
	CatPassword *string `json:"cat_password,omitempty"`

	// Category content updates every number of hours.
	CatUpdateFrequency *uint32 `json:"cat_update_frequency,omitempty"`

	// Category content vendor url to download category data from and upload
	// feedback to, configure for parental control.
	CategoryUrl *string `json:"category_url,omitempty"`

	// Determines if NAS RADIUS traffic is accepted over MGMT only.
	EnableMgmtOnlyNas *bool `json:"enable_mgmt_only_nas,omitempty"`

	// Determines if parental control is enabled.
	EnableParentalControl *bool `json:"enable_parental_control,omitempty"`

	// The time for collector to be fully populated. Valid values are from 1 to
	// 65535.
	InterimAccountingInterval *uint32 `json:"interim_accounting_interval,omitempty"`

	// The ordered list of IP Anchors AVPs. The list content cannot be changed, but
	// the order of elements.
	IpAnchors []string `json:"ip_anchors,omitempty"`

	// A character string to control aspects of rewriting of the fields.
	IpSpaceDiscRegexp *string `json:"ip_space_disc_regexp,omitempty"`

	// The subexpression indicates which subexpression to extract. If zero, then
	// the text matching the entire regular expression is extracted. If non-zero,
	// then the regex must contain at least that many sub-expression groups. It
	// takes values from 0 to 8.
	IpSpaceDiscSubexpression *uint32 `json:"ip_space_disc_subexpression,omitempty"`

	// The name of AVP to be used as IP address discriminator.
	IpSpaceDiscriminator *string `json:"ip_space_discriminator,omitempty"`

	// The name of AVP to be used as local ID.
	LocalId *string `json:"local_id,omitempty"`

	// A character string to control aspects of rewriting of the fields.
	LocalIdRegexp *string `json:"local_id_regexp,omitempty"`

	// The subexpression indicates which subexpression to extract. If zero, then
	// the text matching the entire regular expression is extracted. If non-zero,
	// then the regex must contain at least that many sub-expression groups. It
	// takes values from 0 to 8.
	LocalIdSubexpression *uint32 `json:"local_id_subexpression,omitempty"`

	// CEF log all guest lookups, will produce two logs in case of a violation.
	LogGuestLookups *bool `json:"log_guest_lookups,omitempty"`

	// NAS contextual information AVP.
	NasContextInfo *string `json:"nas_context_info,omitempty"`

	// The SOA to store parental control records.
	PcZoneName *string `json:"pc_zone_name,omitempty"`

	// Proxy server password used for authentication.
	ProxyPassword *string `json:"proxy_password,omitempty"`

	// Proxy url to download category data from and upload feedback to, configure
	// for parental control. The default value 'None' is no longer valid as it
	// match url regex pattern "^http|https://". The new default value does not get
	// saved in database, but rather used for comparision with object created in
	// unit test cases.
	ProxyUrl *string `json:"proxy_url,omitempty"`

	// Proxy server username used for authentication.
	ProxyUsername *string `json:"proxy_username,omitempty"`

	// The name of AVP to be used as a subscriber.
	SubscriberId *string `json:"subscriber_id,omitempty"`

	// A character string to control aspects of rewriting of the fields.
	SubscriberIdRegexp *string `json:"subscriber_id_regexp,omitempty"`

	// The subexpression indicates which subexpression to extract. If zero, then
	// the text matching the entire regular expression is extracted. If non-zero,
	// then the regex must contain at least that many sub-expression groups. It
	// takes values from 0 to 8.
	SubscriberIdSubexpression *uint32 `json:"subscriber_id_subexpression,omitempty"`
}

ParentalcontrolSubscriber represents Infoblox object parentalcontrol:subscriber. The parental control subscriber properties contains user defined RADIUS subscriber information which will be used by DNS/RPZ for reporting and logging violations.

func (ParentalcontrolSubscriber) ObjectType added in v2.4.0

func (ParentalcontrolSubscriber) ObjectType() string

func (ParentalcontrolSubscriber) ReturnFields added in v2.4.0

func (obj ParentalcontrolSubscriber) ReturnFields() []string

type ParentalcontrolSubscriberrecord added in v2.4.0

type ParentalcontrolSubscriberrecord struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// accounting_session_id
	AccountingSessionId *string `json:"accounting_session_id,omitempty"`

	// alt_ip_addr
	AltIpAddr *string `json:"alt_ip_addr,omitempty"`

	// ans0
	Ans0 *string `json:"ans0,omitempty"`

	// ans1
	Ans1 *string `json:"ans1,omitempty"`

	// ans2
	Ans2 *string `json:"ans2,omitempty"`

	// ans3
	Ans3 *string `json:"ans3,omitempty"`

	// ans4
	Ans4 *string `json:"ans4,omitempty"`

	// black_list
	BlackList *string `json:"black_list,omitempty"`

	// bwflag
	Bwflag *bool `json:"bwflag,omitempty"`

	// dynamic_category_policy
	DynamicCategoryPolicy *bool `json:"dynamic_category_policy,omitempty"`

	// flags
	Flags *string `json:"flags,omitempty"`

	// ip_addr
	IpAddr *string `json:"ip_addr,omitempty"`

	// ipsd
	Ipsd *string `json:"ipsd,omitempty"`

	// localid
	Localid *string `json:"localid,omitempty"`

	// nas_contextual
	NasContextual *string `json:"nas_contextual,omitempty"`

	// parental_control_policy
	ParentalControlPolicy *string `json:"parental_control_policy,omitempty"`

	// prefix
	Prefix *uint32 `json:"prefix,omitempty"`

	// proxy_all
	ProxyAll *bool `json:"proxy_all,omitempty"`

	// site
	Site *string `json:"site,omitempty"`

	// subscriber_id
	SubscriberId *string `json:"subscriber_id,omitempty"`

	// subscriber_secure_policy
	SubscriberSecurePolicy *string `json:"subscriber_secure_policy,omitempty"`

	// unknown_category_policy
	UnknownCategoryPolicy *bool `json:"unknown_category_policy,omitempty"`

	// white_list
	WhiteList *string `json:"white_list,omitempty"`

	// wpc_category_policy
	WpcCategoryPolicy *string `json:"wpc_category_policy,omitempty"`
}

ParentalcontrolSubscriberrecord represents Infoblox object parentalcontrol:subscriberrecord. This object represents a set of parental control properties for subscriber record.

func (ParentalcontrolSubscriberrecord) ObjectType added in v2.4.0

func (ParentalcontrolSubscriberrecord) ReturnFields added in v2.4.0

func (obj ParentalcontrolSubscriberrecord) ReturnFields() []string

type ParentalcontrolSubscribersite added in v2.4.0

type ParentalcontrolSubscribersite struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The list of ABS for the site.
	Abss []*ParentalcontrolAbs `json:"abss,omitempty"`

	// The size of the Deterministic NAT block-size.
	BlockSize *uint32 `json:"block_size,omitempty"`

	// The IPv4 Address of the blocking server.
	BlockingIpv4Vip1 *string `json:"blocking_ipv4_vip1,omitempty"`

	// The IPv4 Address of the blocking server.
	BlockingIpv4Vip2 *string `json:"blocking_ipv4_vip2,omitempty"`

	// The IPv6 Address of the blocking server.
	BlockingIpv6Vip1 *string `json:"blocking_ipv6_vip1,omitempty"`

	// The IPv6 Address of the blocking server.
	BlockingIpv6Vip2 *string `json:"blocking_ipv6_vip2,omitempty"`

	// The human readable comment for the site.
	Comment *string `json:"comment,omitempty"`

	// Enable/disable the DCA subscriber B/W list support.
	DcaSubBwList *bool `json:"dca_sub_bw_list,omitempty"`

	// Enable/disable the DCA subscriber query count.
	DcaSubQueryCount *bool `json:"dca_sub_query_count,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The start of the first Deterministic block.
	FirstPort *uint32 `json:"first_port,omitempty"`

	// The max number of subscribers for the site. It is used to configure the
	// cache size.
	MaximumSubscribers *uint32 `json:"maximum_subscribers,omitempty"`

	// The list of members for the site.
	Members []*ParentalcontrolSitemember `json:"members,omitempty"`

	// The list of MSP for the site.
	Msps []*ParentalcontrolMsp `json:"msps,omitempty"`

	// The name of the site.
	Name string `json:"name,omitempty"`

	// The list of accounting log servers.
	NasGateways []*ParentalcontrolNasgateway `json:"nas_gateways,omitempty"`

	// The port number to reach the collector.
	NasPort *uint32 `json:"nas_port,omitempty"`

	// Enables Proxy RPZ PASSTGHRU.
	ProxyRpzPassthru *bool `json:"proxy_rpz_passthru,omitempty"`

	// The list of SPM for the site.
	Spms []*ParentalcontrolSpm `json:"spms,omitempty"`

	// Stop the anycast service when the subscriber service is in the interim
	// state.
	StopAnycast *bool `json:"stop_anycast,omitempty"`

	// Restrict subscriber cache entries to NATed clients.
	StrictNat *bool `json:"strict_nat,omitempty"`
}

ParentalcontrolSubscribersite represents Infoblox object parentalcontrol:subscribersite. This object represents a set of parental control properties for subscriber site.

func (ParentalcontrolSubscribersite) ObjectType added in v2.4.0

func (ParentalcontrolSubscribersite) ReturnFields added in v2.4.0

func (obj ParentalcontrolSubscribersite) ReturnFields() []string

type Permission added in v2.4.0

type Permission struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The name of the admin group this permission applies to.
	Group *string `json:"group,omitempty"`

	// A reference to a WAPI object, which will be the object this permission
	// applies to.
	Object *string `json:"object,omitempty"`

	// The type of permission.
	Permission string `json:"permission,omitempty"`

	// The type of resource this permission applies to. If 'object' is set, the
	// permission is going to apply to child objects of the specified type, for
	// example if 'object' was set to an authoritative zone reference and
	// 'resource_type' was set to 'A', the permission would apply to A Resource
	// Records within the specified zone.
	ResourceType string `json:"resource_type,omitempty"`

	// The name of the role this permission applies to.
	Role *string `json:"role,omitempty"`
}

Permission represents Infoblox object permission. Limited-access admin groups can access certain DHCP resources only if their administrative permissions are defined. By default, the appliance denies access when a limited-access admin group does not have defined permissions. You can grant admin groups read-only or read/write permission, or deny access by using this object.

func (Permission) ObjectType added in v2.4.0

func (Permission) ObjectType() string

func (Permission) ReturnFields added in v2.4.0

func (obj Permission) ReturnFields() []string

type Physicalportsetting added in v2.4.0

type Physicalportsetting struct {
	// Enable or disalbe the auto port setting.
	AutoPortSettingEnabled bool `json:"auto_port_setting_enabled,omitempty"`

	// The port speed; if speed is 1000, duplex is FULL.
	Speed string `json:"speed,omitempty"`

	// The port duplex; if speed is 1000, duplex must be FULL.
	Duplex string `json:"duplex,omitempty"`
}

Physicalportsetting represents Infoblox struct physicalportsetting

type Preprovision added in v2.4.0

type Preprovision struct {
	// An array of structures that describe the hardware being pre-provisioned.
	HardwareInfo []*Preprovisionhardware `json:"hardware_info,omitempty"`

	// An array of license types the pre-provisioned member should have in order to
	// join the Grid, or the licenses that must be allocated to the member when it
	// joins the Grid using the token-based authentication.
	Licenses []string `json:"licenses,omitempty"`
}

Preprovision represents Infoblox struct preprovision

type Preprovisionhardware added in v2.4.0

type Preprovisionhardware struct {
	// Hardware type.
	Hwtype string `json:"hwtype,omitempty"`

	// Hardware model - for IB-4010 are Rev1, Rev2; for IB-4030 are Rev1, Rev2; for
	// PT-4000 is Rev2; for IB-VNIOS are IB-VM-100, IB-VM-810, IB-VM-820,
	// IB-VM-RSP, IB-VM-1410, IB-VM-1420, IB-VM-2210, IB-VM-2220, IB-VM-4010,
	// CP-V800, CP-V1400, CP-V2200. Note that you cannot specify hwmodel for
	// following hardware types: IB-FLEX, IB-V2215, IB-V1425, IB-V4025, IB-V4015,
	// IB-V1415, IB-V815, IB-V825, IB-V2225, CP-V805, CP-V1405, CP-V2205.
	Hwmodel string `json:"hwmodel,omitempty"`
}

Preprovisionhardware represents Infoblox struct preprovisionhardware

type PropertiesBlackoutsetting added in v2.4.0

type PropertiesBlackoutsetting struct {
	// Determines whether a blackout is enabled or not.
	EnableBlackout bool `json:"enable_blackout,omitempty"`

	// The blackout duration in seconds; minimum value is 1 minute.
	BlackoutDuration uint32 `json:"blackout_duration,omitempty"`

	// A Schedule Setting struct that determines blackout schedule.
	BlackoutSchedule *SettingSchedule `json:"blackout_schedule,omitempty"`
}

PropertiesBlackoutsetting represents Infoblox struct properties:blackoutsetting

type PxgridEndpoint added in v2.4.0

type PxgridEndpoint struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The pxgrid endpoint IPv4 Address or IPv6 Address or Fully-Qualified Domain
	// Name (FQDN)
	Address *string `json:"address,omitempty"`

	// The Cisco ISE client certificate subject.
	ClientCertificateSubject string `json:"client_certificate_subject,omitempty"`

	// The token returned by the uploadinit function call in object fileop for
	// Cisco ISE client certificate.
	ClientCertificateToken *string `json:"client_certificate_token,omitempty"`

	// The pxgrid endpoint client certificate valid from.
	ClientCertificateValidFrom *UnixTime `json:"client_certificate_valid_from,omitempty"`

	// The pxgrid endpoint client certificate valid to.
	ClientCertificateValidTo *UnixTime `json:"client_certificate_valid_to,omitempty"`

	// The Cisco ISE endpoint descriptive comment.
	Comment *string `json:"comment,omitempty"`

	// Determines whether a Cisco ISE endpoint is disabled or not. When this is set
	// to False, the Cisco ISE endpoint is enabled.
	Disable *bool `json:"disable,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The log level for a notification pxgrid endpoint.
	LogLevel string `json:"log_level,omitempty"`

	// The name of the pxgrid endpoint.
	Name *string `json:"name,omitempty"`

	// The pxgrid network view name.
	NetworkView *string `json:"network_view,omitempty"`

	// The outbound member that will generate events.
	OutboundMemberType string `json:"outbound_member_type,omitempty"`

	// The list of members for outbound events.
	OutboundMembers []string `json:"outbound_members,omitempty"`

	// The Cisco ISE publish settings.
	PublishSettings *CiscoisePublishsetting `json:"publish_settings,omitempty"`

	// The Cisco ISE subscribe settings.
	SubscribeSettings *CiscoiseSubscribesetting `json:"subscribe_settings,omitempty"`

	// The Pxgrid template instance. You cannot change the parameters of the pxgrid
	// endpoint template instance.
	TemplateInstance *NotificationRestTemplateinstance `json:"template_instance,omitempty"`

	// The timeout of session management (in seconds).
	Timeout *uint32 `json:"timeout,omitempty"`

	// The vendor identifier.
	VendorIdentifier *string `json:"vendor_identifier,omitempty"`

	// The user name for WAPI integration.
	WapiUserName *string `json:"wapi_user_name,omitempty"`

	// The user password for WAPI integration.
	WapiUserPassword *string `json:"wapi_user_password,omitempty"`
}

PxgridEndpoint represents Infoblox object pxgrid:endpoint. The pxgrid endpoint object represents the settings of a particular PXGRID endpoint.

func (PxgridEndpoint) ObjectType added in v2.4.0

func (PxgridEndpoint) ObjectType() string

func (PxgridEndpoint) ReturnFields added in v2.4.0

func (obj PxgridEndpoint) ReturnFields() []string

type Queriesuser added in v2.4.0

type Queriesuser struct {
	// The SNMPv3 user.
	User string `json:"user,omitempty"`

	// A descriptive comment for this queries user.
	Comment string `json:"comment,omitempty"`
}

Queriesuser represents Infoblox struct queriesuser

type QueryParams

type QueryParams struct {
	// contains filtered or unexported fields
}

QueryParams is a general struct to add query params used in makeRequest

func NewQueryParams

func NewQueryParams(forceProxy bool, searchFields map[string]string) *QueryParams

type RadiusAuthservice added in v2.4.0

type RadiusAuthservice struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The number of times to attempt to contact an accounting RADIUS server.
	AcctRetries *uint32 `json:"acct_retries,omitempty"`

	// The number of seconds to wait for a response from the RADIUS server.
	AcctTimeout *uint32 `json:"acct_timeout,omitempty"`

	// The number of times to attempt to contact an authentication RADIUS server.
	AuthRetries *uint32 `json:"auth_retries,omitempty"`

	// The number of seconds to wait for a response from the RADIUS server.
	AuthTimeout *uint32 `json:"auth_timeout,omitempty"`

	// The TTL of cached authentication data in seconds.
	CacheTtl *uint32 `json:"cache_ttl,omitempty"`

	// The RADIUS descriptive comment.
	Comment *string `json:"comment,omitempty"`

	// Determines whether the RADIUS authentication service is disabled.
	Disable *bool `json:"disable,omitempty"`

	// Determines whether the authentication cache is enabled.
	EnableCache *bool `json:"enable_cache,omitempty"`

	// The way to contact the RADIUS server.
	Mode string `json:"mode,omitempty"`

	// The RADIUS authentication service name.
	Name *string `json:"name,omitempty"`

	// The time period to wait before retrying a server that has been marked as
	// down.
	RecoveryInterval *uint32 `json:"recovery_interval,omitempty"`

	// The ordered list of RADIUS authentication servers.
	Servers []*RadiusServer `json:"servers,omitempty"`
}

RadiusAuthservice represents Infoblox object radius:authservice. RADIUS provides authentication, accounting, and authorization functions.

func (RadiusAuthservice) ObjectType added in v2.4.0

func (RadiusAuthservice) ObjectType() string

func (RadiusAuthservice) ReturnFields added in v2.4.0

func (obj RadiusAuthservice) ReturnFields() []string

type RadiusServer added in v2.4.0

type RadiusServer struct {
	// The accounting port.
	AcctPort uint32 `json:"acct_port,omitempty"`

	// The authorization port.
	AuthPort uint32 `json:"auth_port,omitempty"`

	// The authentication protocol.
	AuthType string `json:"auth_type,omitempty"`

	// The RADIUS descriptive comment.
	Comment string `json:"comment,omitempty"`

	// Determines whether the RADIUS server is disabled.
	Disable bool `json:"disable,omitempty"`

	// The FQDN or the IP address of the RADIUS server that is used for
	// authentication.
	Address string `json:"address,omitempty"`

	// The shared secret that the NIOS appliance and the RADIUS server use to
	// encrypt and decrypt their messages.
	SharedSecret string `json:"shared_secret,omitempty"`

	// Determines whether RADIUS accounting is enabled.
	UseAccounting bool `json:"use_accounting,omitempty"`

	// Determines whether connection via the management interface is allowed.
	UseMgmtPort bool `json:"use_mgmt_port,omitempty"`
}

RadiusServer represents Infoblox struct radius:server

type Range added in v2.4.0

type Range struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// This field controls whether only the DHCP server is allowed to update DNS,
	// regardless of the DHCP clients requests.
	AlwaysUpdateDns *bool `json:"always_update_dns,omitempty"`

	// The bootfile name for the range. You can configure the DHCP server to
	// support clients that use the boot file name option in their DHCPREQUEST
	// messages.
	Bootfile *string `json:"bootfile,omitempty"`

	// The bootserver address for the range. You can specify the name and/or IP
	// address of the boot server that the host needs to boot. The boot server IPv4
	// Address or name in FQDN format.
	Bootserver *string `json:"bootserver,omitempty"`

	// Structure containing all cloud API related information for this object.
	CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`

	// Comment for the range; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// The dynamic DNS domain name the appliance uses specifically for DDNS updates
	// for this range.
	DdnsDomainname *string `json:"ddns_domainname,omitempty"`

	// If this field is set to True, the DHCP server generates a hostname and
	// updates DNS with it when the DHCP client request does not contain a
	// hostname.
	DdnsGenerateHostname *bool `json:"ddns_generate_hostname,omitempty"`

	// If True, send NAK forcing the client to take the new address.
	DenyAllClients *bool `json:"deny_all_clients,omitempty"`

	// If set to true, BOOTP settings are disabled and BOOTP requests will be
	// denied.
	DenyBootp *bool `json:"deny_bootp,omitempty"`

	// The percentage of the total DHCP utilization of the range multiplied by
	// 1000. This is the percentage of the total number of available IP addresses
	// belonging to the range versus the total number of all IP addresses in the
	// range.
	DhcpUtilization uint32 `json:"dhcp_utilization,omitempty"`

	// A string describing the utilization level of the range.
	DhcpUtilizationStatus string `json:"dhcp_utilization_status,omitempty"`

	// Determines whether a range is disabled or not. When this is set to False,
	// the range is enabled.
	Disable *bool `json:"disable,omitempty"`

	// Discover now status for this range.
	DiscoverNowStatus string `json:"discover_now_status,omitempty"`

	// The discovery basic poll settings for this range.
	DiscoveryBasicPollSettings *DiscoveryBasicpollsettings `json:"discovery_basic_poll_settings,omitempty"`

	// The discovery blackout setting for this range.
	DiscoveryBlackoutSetting *PropertiesBlackoutsetting `json:"discovery_blackout_setting,omitempty"`

	// The member that will run discovery for this range.
	DiscoveryMember *string `json:"discovery_member,omitempty"`

	// The total number of DHCP leases issued for the range.
	DynamicHosts uint32 `json:"dynamic_hosts,omitempty"`

	// The e-mail lists to which the appliance sends DHCP threshold alarm e-mail
	// messages.
	EmailList []string `json:"email_list,omitempty"`

	// The dynamic DNS updates flag of a DHCP range object. If set to True, the
	// DHCP server sends DDNS updates to DNS servers in the same Grid, and to
	// external DNS servers.
	EnableDdns *bool `json:"enable_ddns,omitempty"`

	// Determines if DHCP thresholds are enabled for the range.
	EnableDhcpThresholds *bool `json:"enable_dhcp_thresholds,omitempty"`

	// Determines whether a discovery is enabled or not for this range. When this
	// is set to False, the discovery for this range is disabled.
	EnableDiscovery *bool `json:"enable_discovery,omitempty"`

	// Determines if DHCP threshold warnings are sent through email.
	EnableEmailWarnings *bool `json:"enable_email_warnings,omitempty"`

	// Determines if IFMAP publishing is enabled for the range.
	EnableIfmapPublishing *bool `json:"enable_ifmap_publishing,omitempty"`

	// Determines if the discovery for the range should be immediately enabled.
	EnableImmediateDiscovery *bool `json:"enable_immediate_discovery,omitempty"`

	// Set this to True if you want the DHCP server to use a different lease time
	// for PXE clients.
	EnablePxeLeaseTime *bool `json:"enable_pxe_lease_time,omitempty"`

	// Determines if DHCP threshold warnings are send through SNMP.
	EnableSnmpWarnings *bool `json:"enable_snmp_warnings,omitempty"`

	// The IPv4 Address end address of the range.
	EndAddr *string `json:"end_addr,omitempty"`

	// The endpoints that provides data for the DHCP Range object.
	EndpointSources []*CiscoiseEndpoint `json:"endpoint_sources,omitempty"`

	// These are ranges of IP addresses that the appliance does not use to assign
	// to clients. You can use these exclusion addresses as static IP addresses.
	// They contain the start and end addresses of the exclusion range, and
	// optionally, information about this exclusion range.
	Exclude []*Exclusionrange `json:"exclude,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The name of the failover association: the server in this failover
	// association will serve the IPv4 range in case the main server is out of
	// service. {range:range} must be set to 'FAILOVER' or 'FAILOVER_MS' if you
	// want the failover association specified here to serve the range.
	FailoverAssociation *string `json:"failover_association,omitempty"`

	// This field contains the fingerprint filters for this DHCP range. The
	// appliance uses matching rules in these filters to select the address range
	// from which it assigns a lease.
	FingerprintFilterRules []*Filterrule `json:"fingerprint_filter_rules,omitempty"`

	// The percentage of DHCP range usage threshold above which range usage is not
	// expected and may warrant your attention. When the high watermark is reached,
	// the Infoblox appliance generates a syslog message and sends a warning (if
	// enabled). A number that specifies the percentage of allocated addresses. The
	// range is from 1 to 100.
	HighWaterMark *uint32 `json:"high_water_mark,omitempty"`

	// The percentage of DHCP range usage below which the corresponding SNMP trap
	// is reset. A number that specifies the percentage of allocated addresses. The
	// range is from 1 to 100. The high watermark reset value must be lower than
	// the high watermark value.
	HighWaterMarkReset *uint32 `json:"high_water_mark_reset,omitempty"`

	// If this field is set to False, the appliance returns all DHCP options the
	// client is eligible to receive, rather than only the list of options the
	// client has requested.
	IgnoreDhcpOptionListRequest *bool `json:"ignore_dhcp_option_list_request,omitempty"`

	// Indicates whether the appliance will ignore DHCP client IDs or MAC
	// addresses. Valid values are "NONE", "CLIENT", or "MACADDR". The default is
	// "NONE".
	IgnoreId string `json:"ignore_id,omitempty"`

	// A list of MAC addresses the appliance will ignore.
	IgnoreMacAddresses []string `json:"ignore_mac_addresses,omitempty"`

	// This field will be 'true' if this particular range is part of a split scope.
	IsSplitScope bool `json:"is_split_scope,omitempty"`

	// Permission for known clients. This can be 'Allow' or 'Deny'. If set to
	// 'Deny' known clients will be denied IP addresses. Known clients include
	// roaming hosts and clients with fixed addresses or DHCP host entries. Unknown
	// clients include clients that are not roaming hosts and clients that do not
	// have fixed addresses or DHCP host entries.
	KnownClients *string `json:"known_clients,omitempty"`

	// An integer that specifies the period of time (in seconds) that frees and
	// backs up leases remained in the database before they are automatically
	// deleted. To disable lease scavenging, set the parameter to -1. The minimum
	// positive value must be greater than 86400 seconds (1 day).
	LeaseScavengeTime int `json:"lease_scavenge_time,omitempty"`

	// This field contains the logic filters to be applied to this range. This list
	// corresponds to the match rules that are written to the dhcpd configuration
	// file.
	LogicFilterRules []*Logicfilterrule `json:"logic_filter_rules,omitempty"`

	// The percentage of DHCP range usage below which the Infoblox appliance
	// generates a syslog message and sends a warning (if enabled). A number that
	// specifies the percentage of allocated addresses. The range is from 1 to 100.
	LowWaterMark *uint32 `json:"low_water_mark,omitempty"`

	// The percentage of DHCP range usage threshold below which range usage is not
	// expected and may warrant your attention. When the low watermark is crossed,
	// the Infoblox appliance generates a syslog message and sends a warning (if
	// enabled). A number that specifies the percentage of allocated addresses. The
	// range is from 1 to 100. The low watermark reset value must be higher than
	// the low watermark value.
	LowWaterMarkReset *uint32 `json:"low_water_mark_reset,omitempty"`

	// This field contains the MAC filters to be applied to this range. The
	// appliance uses the matching rules of these filters to select the address
	// range from which it assigns a lease.
	MacFilterRules []*Filterrule `json:"mac_filter_rules,omitempty"`

	// The member that will provide service for this range. {range:range} needs to
	// be set to 'MEMBER' if you want the server specified here to serve the range.
	// For searching by this field you should use a HTTP method that contains a
	// body (POST or PUT) with Dhcp Member structure dhcpmember and the request
	// should have option _method=GET.
	Member *Dhcpmember `json:"member,omitempty"`

	// The Microsoft Active Directory user related information.
	MsAdUserData *MsserverAduserData `json:"ms_ad_user_data,omitempty"`

	// This field contains the Microsoft DHCP options for this range.
	MsOptions []*Msdhcpoption `json:"ms_options,omitempty"`

	// The Microsoft server that will provide service for this range. {range:range}
	// needs to be set to 'MS_SERVER' if you want the server specified here to
	// serve the range. For searching by this field you should use a HTTP method
	// that contains a body (POST or PUT) with MS DHCP server structure
	// msdhcpserver and the request should have option _method=GET.
	MsServer *Msdhcpserver `json:"ms_server,omitempty"`

	// This field contains the NAC filters to be applied to this range. The
	// appliance uses the matching rules of these filters to select the address
	// range from which it assigns a lease.
	NacFilterRules []*Filterrule `json:"nac_filter_rules,omitempty"`

	// This field contains the name of the Microsoft scope.
	Name *string `json:"name,omitempty"`

	// The network to which this range belongs, in IPv4 Address/CIDR format.
	Network *string `json:"network,omitempty"`

	// The name of the network view in which this range resides.
	NetworkView *string `json:"network_view,omitempty"`

	// The name in FQDN and/or IPv4 Address of the next server that the host needs
	// to boot.
	Nextserver *string `json:"nextserver,omitempty"`

	// This field contains the Option filters to be applied to this range. The
	// appliance uses the matching rules of these filters to select the address
	// range from which it assigns a lease.
	OptionFilterRules []*Filterrule `json:"option_filter_rules,omitempty"`

	// An array of DHCP option dhcpoption structs that lists the DHCP options
	// associated with the object.
	Options []*Dhcpoption `json:"options,omitempty"`

	// The port control blackout setting for this range.
	PortControlBlackoutSetting *PropertiesBlackoutsetting `json:"port_control_blackout_setting,omitempty"`

	// The PXE lease time value of a DHCP Range object. Some hosts use PXE (Preboot
	// Execution Environment) to boot remotely from a server. To better manage your
	// IP resources, set a different lease time for PXE boot requests. You can
	// configure the DHCP server to allocate an IP address with a shorter lease
	// time to hosts that send PXE boot requests, so IP addresses are not leased
	// longer than necessary. A 32-bit unsigned integer that represents the
	// duration, in seconds, for which the update is cached. Zero indicates that
	// the update is not cached.
	PxeLeaseTime *uint32 `json:"pxe_lease_time,omitempty"`

	// If the field is set to True, the leases are kept in the Recycle Bin until
	// one week after expiration. Otherwise, the leases are permanently deleted.
	RecycleLeases *bool `json:"recycle_leases,omitempty"`

	// This field contains the Relay Agent filters to be applied to this range. The
	// appliance uses the matching rules of these filters to select the address
	// range from which it assigns a lease.
	RelayAgentFilterRules []*Filterrule `json:"relay_agent_filter_rules,omitempty"`

	// Restarts the member service.
	RestartIfNeeded *bool `json:"restart_if_needed,omitempty"`

	// If the field is set to True, the discovery blackout setting will be used for
	// port control blackout setting.
	SamePortControlDiscoveryBlackout *bool `json:"same_port_control_discovery_blackout,omitempty"`

	// The type of server that is going to serve the range.
	ServerAssociationType string `json:"server_association_type,omitempty"`

	// The Microsoft member to which the split scope is assigned. See
	// {next_available_ip:next_available_ip} for more information
	SplitMember *Msdhcpserver `json:"split_member,omitempty"`

	// This field controls the percentage used when creating a split scope. Valid
	// values are numbers between 1 and 99. If the value is 40, it means that the
	// top 40% of the exclusion will be created on the DHCP range assigned to
	// {next_available_ip:next_available_ip} and the lower 60% of the range will be
	// assigned to DHCP range assigned to {next_available_ip:next_available_ip}
	SplitScopeExclusionPercent uint32 `json:"split_scope_exclusion_percent,omitempty"`

	// The IPv4 Address starting address of the range.
	StartAddr *string `json:"start_addr,omitempty"`

	// The number of static DHCP addresses configured in the range.
	StaticHosts uint32 `json:"static_hosts,omitempty"`

	// The DHCP Range Cisco ISE subscribe settings.
	SubscribeSettings *CiscoiseSubscribesetting `json:"subscribe_settings,omitempty"`

	// If set on creation, the range will be created according to the values
	// specified in the named template.
	Template string `json:"template,omitempty"`

	// The total number of DHCP addresses configured in the range.
	TotalHosts uint32 `json:"total_hosts,omitempty"`

	// Permission for unknown clients. This can be 'Allow' or 'Deny'. If set to
	// 'Deny', unknown clients will be denied IP addresses. Known clients include
	// roaming hosts and clients with fixed addresses or DHCP host entries. Unknown
	// clients include clients that are not roaming hosts and clients that do not
	// have fixed addresses or DHCP host entries.
	UnknownClients *string `json:"unknown_clients,omitempty"`

	// This field controls whether the DHCP server updates DNS when a DHCP lease is
	// renewed.
	UpdateDnsOnLeaseRenewal *bool `json:"update_dns_on_lease_renewal,omitempty"`

	// Use flag for: discovery_blackout_setting , port_control_blackout_setting,
	// same_port_control_discovery_blackout
	UseBlackoutSetting *bool `json:"use_blackout_setting,omitempty"`

	// Use flag for: bootfile
	UseBootfile *bool `json:"use_bootfile,omitempty"`

	// Use flag for: bootserver
	UseBootserver *bool `json:"use_bootserver,omitempty"`

	// Use flag for: ddns_domainname
	UseDdnsDomainname *bool `json:"use_ddns_domainname,omitempty"`

	// Use flag for: ddns_generate_hostname
	UseDdnsGenerateHostname *bool `json:"use_ddns_generate_hostname,omitempty"`

	// Use flag for: deny_bootp
	UseDenyBootp *bool `json:"use_deny_bootp,omitempty"`

	// Use flag for: discovery_basic_poll_settings
	UseDiscoveryBasicPollingSettings *bool `json:"use_discovery_basic_polling_settings,omitempty"`

	// Use flag for: email_list
	UseEmailList *bool `json:"use_email_list,omitempty"`

	// Use flag for: enable_ddns
	UseEnableDdns *bool `json:"use_enable_ddns,omitempty"`

	// Use flag for: enable_dhcp_thresholds
	UseEnableDhcpThresholds *bool `json:"use_enable_dhcp_thresholds,omitempty"`

	// Use flag for: discovery_member , enable_discovery
	UseEnableDiscovery *bool `json:"use_enable_discovery,omitempty"`

	// Use flag for: enable_ifmap_publishing
	UseEnableIfmapPublishing *bool `json:"use_enable_ifmap_publishing,omitempty"`

	// Use flag for: ignore_dhcp_option_list_request
	UseIgnoreDhcpOptionListRequest *bool `json:"use_ignore_dhcp_option_list_request,omitempty"`

	// Use flag for: ignore_id
	UseIgnoreId *bool `json:"use_ignore_id,omitempty"`

	// Use flag for: known_clients
	UseKnownClients *bool `json:"use_known_clients,omitempty"`

	// Use flag for: lease_scavenge_time
	UseLeaseScavengeTime *bool `json:"use_lease_scavenge_time,omitempty"`

	// Use flag for: logic_filter_rules
	UseLogicFilterRules *bool `json:"use_logic_filter_rules,omitempty"`

	// Use flag for: ms_options
	UseMsOptions *bool `json:"use_ms_options,omitempty"`

	// Use flag for: nextserver
	UseNextserver *bool `json:"use_nextserver,omitempty"`

	// Use flag for: options
	UseOptions *bool `json:"use_options,omitempty"`

	// Use flag for: pxe_lease_time
	UsePxeLeaseTime *bool `json:"use_pxe_lease_time,omitempty"`

	// Use flag for: recycle_leases
	UseRecycleLeases *bool `json:"use_recycle_leases,omitempty"`

	// Use flag for: subscribe_settings
	UseSubscribeSettings *bool `json:"use_subscribe_settings,omitempty"`

	// Use flag for: unknown_clients
	UseUnknownClients *bool `json:"use_unknown_clients,omitempty"`

	// Use flag for: update_dns_on_lease_renewal
	UseUpdateDnsOnLeaseRenewal *bool `json:"use_update_dns_on_lease_renewal,omitempty"`
}

Range represents Infoblox object range. A DHCP range defines the specified range of IP addresses in a network. A DHCP range should be added for a network so the Infoblox appliance can assign IP addresses within that specified range to DHCP clients. If the client is on a network that is assigned a DHCP range, the device distributes an available IP address from that range to the DHCP client, or to a DHCP relay agent if the request came through an agent. The DHCP range should also be assigned with a device. If devices are in a grid, the particular member serving DHCP for the DHCP range must be specified. If the server is an independent device, this device must be specified as the member that serves the DHCP range.

func (Range) ObjectType added in v2.4.0

func (Range) ObjectType() string

func (Range) ReturnFields added in v2.4.0

func (obj Range) ReturnFields() []string

type Rangetemplate added in v2.4.0

type Rangetemplate struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The bootfile name for the range. You can configure the DHCP server to
	// support clients that use the boot file name option in their DHCPREQUEST
	// messages.
	Bootfile *string `json:"bootfile,omitempty"`

	// The bootserver address for the range. You can specify the name and/or IP
	// address of the boot server that the host needs to boot. The boot server IPv4
	// Address or name in FQDN format.
	Bootserver *string `json:"bootserver,omitempty"`

	// This flag controls whether this template can be used to create network
	// objects in a cloud-computing deployment.
	CloudApiCompatible *bool `json:"cloud_api_compatible,omitempty"`

	// A descriptive comment of a range template object.
	Comment *string `json:"comment,omitempty"`

	// The dynamic DNS domain name the appliance uses specifically for DDNS updates
	// for this range.
	DdnsDomainname *string `json:"ddns_domainname,omitempty"`

	// If this field is set to True, the DHCP server generates a hostname and
	// updates DNS with it when the DHCP client request does not contain a
	// hostname.
	DdnsGenerateHostname *bool `json:"ddns_generate_hostname,omitempty"`

	// The vconnector member that the object should be delegated to when created
	// from this range template.
	DelegatedMember *Dhcpmember `json:"delegated_member,omitempty"`

	// If True, send NAK forcing the client to take the new address.
	DenyAllClients *bool `json:"deny_all_clients,omitempty"`

	// Determines if BOOTP settings are disabled and BOOTP requests will be denied.
	DenyBootp *bool `json:"deny_bootp,omitempty"`

	// The e-mail lists to which the appliance sends DHCP threshold alarm e-mail
	// messages.
	EmailList []string `json:"email_list,omitempty"`

	// Determines if the DHCP server sends DDNS updates to DNS servers in the same
	// Grid, and to external DNS servers.
	EnableDdns *bool `json:"enable_ddns,omitempty"`

	// Determines if DHCP thresholds are enabled for the range.
	EnableDhcpThresholds *bool `json:"enable_dhcp_thresholds,omitempty"`

	// Determines if DHCP threshold warnings are sent through email.
	EnableEmailWarnings *bool `json:"enable_email_warnings,omitempty"`

	// Set this to True if you want the DHCP server to use a different lease time
	// for PXE clients.
	EnablePxeLeaseTime *bool `json:"enable_pxe_lease_time,omitempty"`

	// Determines if DHCP threshold warnings are sent through SNMP.
	EnableSnmpWarnings *bool `json:"enable_snmp_warnings,omitempty"`

	// These are ranges of IP addresses that the appliance does not use to assign
	// to clients. You can use these exclusion addresses as static IP addresses.
	// They contain the start and end addresses of the exclusion range, and
	// optionally, information about this exclusion range.
	Exclude []*Exclusionrangetemplate `json:"exclude,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The name of the failover association: the server in this failover
	// association will serve the IPv4 range in case the main server is out of
	// service. {rangetemplate:rangetemplate} must be set to 'FAILOVER' or
	// 'FAILOVER_MS' if you want the failover association specified here to serve
	// the range.
	FailoverAssociation *string `json:"failover_association,omitempty"`

	// This field contains the fingerprint filters for this DHCP range. The
	// appliance uses matching rules in these filters to select the address range
	// from which it assigns a lease.
	FingerprintFilterRules []*Filterrule `json:"fingerprint_filter_rules,omitempty"`

	// The percentage of DHCP range usage threshold above which range usage is not
	// expected and may warrant your attention. When the high watermark is reached,
	// the Infoblox appliance generates a syslog message and sends a warning (if
	// enabled). A number that specifies the percentage of allocated addresses. The
	// range is from 1 to 100.
	HighWaterMark *uint32 `json:"high_water_mark,omitempty"`

	// The percentage of DHCP range usage below which the corresponding SNMP trap
	// is reset. A number that specifies the percentage of allocated addresses. The
	// range is from 1 to 100. The high watermark reset value must be lower than
	// the high watermark value.
	HighWaterMarkReset *uint32 `json:"high_water_mark_reset,omitempty"`

	// If this field is set to False, the appliance returns all DHCP options the
	// client is eligible to receive, rather than only the list of options the
	// client has requested.
	IgnoreDhcpOptionListRequest *bool `json:"ignore_dhcp_option_list_request,omitempty"`

	// Permission for known clients. If set to 'Deny' known clients will be denied
	// IP addresses. Known clients include roaming hosts and clients with fixed
	// addresses or DHCP host entries. Unknown clients include clients that are not
	// roaming hosts and clients that do not have fixed addresses or DHCP host
	// entries.
	KnownClients string `json:"known_clients,omitempty"`

	// An integer that specifies the period of time (in seconds) that frees and
	// backs up leases remained in the database before they are automatically
	// deleted. To disable lease scavenging, set the parameter to -1. The minimum
	// positive value must be greater than 86400 seconds (1 day).
	LeaseScavengeTime int `json:"lease_scavenge_time,omitempty"`

	// This field contains the logic filters to be applied on this range. This list
	// corresponds to the match rules that are written to the dhcpd configuration
	// file.
	LogicFilterRules []*Logicfilterrule `json:"logic_filter_rules,omitempty"`

	// The percentage of DHCP range usage below which the Infoblox appliance
	// generates a syslog message and sends a warning (if enabled). A number that
	// specifies the percentage of allocated addresses. The range is from 1 to 100.
	LowWaterMark *uint32 `json:"low_water_mark,omitempty"`

	// The percentage of DHCP range usage threshold below which range usage is not
	// expected and may warrant your attention. When the low watermark is crossed,
	// the Infoblox appliance generates a syslog message and sends a warning (if
	// enabled). A number that specifies the percentage of allocated addresses. The
	// range is from 1 to 100. The low watermark reset value must be higher than
	// the low watermark value.
	LowWaterMarkReset *uint32 `json:"low_water_mark_reset,omitempty"`

	// This field contains the MAC filters to be applied to this range. The
	// appliance uses the matching rules of these filters to select the address
	// range from which it assigns a lease.
	MacFilterRules []*Filterrule `json:"mac_filter_rules,omitempty"`

	// The member that will provide service for this range.
	// {rangetemplate:rangetemplate} needs to be set to 'MEMBER' if you want the
	// server specified here to serve the range. For searching by this field you
	// should use a HTTP method that contains a body (POST or PUT) with Dhcp Member
	// structure dhcpmember and the request should have option _method=GET.
	Member *Dhcpmember `json:"member,omitempty"`

	// The Microsoft DHCP options for this range.
	MsOptions []*Msdhcpoption `json:"ms_options,omitempty"`

	// The Microsoft server that will provide service for this range.
	// {rangetemplate:rangetemplate} needs to be set to 'MS_SERVER' if you want the
	// server specified here to serve the range. For searching by this field you
	// should use a HTTP method that contains a body (POST or PUT) with MS DHCP
	// server structure msdhcpserver and the request should have option
	// _method=GET.
	MsServer *Msdhcpserver `json:"ms_server,omitempty"`

	// This field contains the NAC filters to be applied to this range. The
	// appliance uses the matching rules of these filters to select the address
	// range from which it assigns a lease.
	NacFilterRules []*Filterrule `json:"nac_filter_rules,omitempty"`

	// The name of a range template object.
	Name *string `json:"name,omitempty"`

	// The name in FQDN and/or IPv4 Address format of the next server that the host
	// needs to boot.
	Nextserver *string `json:"nextserver,omitempty"`

	// The number of addresses for this range.
	NumberOfAddresses *uint32 `json:"number_of_addresses,omitempty"`

	// The start address offset for this range.
	Offset *uint32 `json:"offset,omitempty"`

	// This field contains the Option filters to be applied to this range. The
	// appliance uses the matching rules of these filters to select the address
	// range from which it assigns a lease.
	OptionFilterRules []*Filterrule `json:"option_filter_rules,omitempty"`

	// An array of DHCP option dhcpoption structs that lists the DHCP options
	// associated with the object.
	Options []*Dhcpoption `json:"options,omitempty"`

	// The PXE lease time value for a range object. Some hosts use PXE (Preboot
	// Execution Environment) to boot remotely from a server. To better manage your
	// IP resources, set a different lease time for PXE boot requests. You can
	// configure the DHCP server to allocate an IP address with a shorter lease
	// time to hosts that send PXE boot requests, so IP addresses are not leased
	// longer than necessary. A 32-bit unsigned integer that represents the
	// duration, in seconds, for which the update is cached. Zero indicates that
	// the update is not cached.
	PxeLeaseTime *uint32 `json:"pxe_lease_time,omitempty"`

	// If the field is set to True, the leases are kept in the Recycle Bin until
	// one week after expiration. Otherwise, the leases are permanently deleted.
	RecycleLeases *bool `json:"recycle_leases,omitempty"`

	// This field contains the Relay Agent filters to be applied to this range. The
	// appliance uses the matching rules of these filters to select the address
	// range from which it assigns a lease.
	RelayAgentFilterRules []*Filterrule `json:"relay_agent_filter_rules,omitempty"`

	// The type of server that is going to serve the range.
	ServerAssociationType string `json:"server_association_type,omitempty"`

	// Permission for unknown clients. If set to 'Deny' unknown clients will be
	// denied IP addresses. Known clients include roaming hosts and clients with
	// fixed addresses or DHCP host entries. Unknown clients include clients that
	// are not roaming hosts and clients that do not have fixed addresses or DHCP
	// host entries.
	UnknownClients string `json:"unknown_clients,omitempty"`

	// This field controls whether the DHCP server updates DNS when a DHCP lease is
	// renewed.
	UpdateDnsOnLeaseRenewal *bool `json:"update_dns_on_lease_renewal,omitempty"`

	// Use flag for: bootfile
	UseBootfile *bool `json:"use_bootfile,omitempty"`

	// Use flag for: bootserver
	UseBootserver *bool `json:"use_bootserver,omitempty"`

	// Use flag for: ddns_domainname
	UseDdnsDomainname *bool `json:"use_ddns_domainname,omitempty"`

	// Use flag for: ddns_generate_hostname
	UseDdnsGenerateHostname *bool `json:"use_ddns_generate_hostname,omitempty"`

	// Use flag for: deny_bootp
	UseDenyBootp *bool `json:"use_deny_bootp,omitempty"`

	// Use flag for: email_list
	UseEmailList *bool `json:"use_email_list,omitempty"`

	// Use flag for: enable_ddns
	UseEnableDdns *bool `json:"use_enable_ddns,omitempty"`

	// Use flag for: enable_dhcp_thresholds
	UseEnableDhcpThresholds *bool `json:"use_enable_dhcp_thresholds,omitempty"`

	// Use flag for: ignore_dhcp_option_list_request
	UseIgnoreDhcpOptionListRequest *bool `json:"use_ignore_dhcp_option_list_request,omitempty"`

	// Use flag for: known_clients
	UseKnownClients *bool `json:"use_known_clients,omitempty"`

	// Use flag for: lease_scavenge_time
	UseLeaseScavengeTime *bool `json:"use_lease_scavenge_time,omitempty"`

	// Use flag for: logic_filter_rules
	UseLogicFilterRules *bool `json:"use_logic_filter_rules,omitempty"`

	// Use flag for: ms_options
	UseMsOptions *bool `json:"use_ms_options,omitempty"`

	// Use flag for: nextserver
	UseNextserver *bool `json:"use_nextserver,omitempty"`

	// Use flag for: options
	UseOptions *bool `json:"use_options,omitempty"`

	// Use flag for: pxe_lease_time
	UsePxeLeaseTime *bool `json:"use_pxe_lease_time,omitempty"`

	// Use flag for: recycle_leases
	UseRecycleLeases *bool `json:"use_recycle_leases,omitempty"`

	// Use flag for: unknown_clients
	UseUnknownClients *bool `json:"use_unknown_clients,omitempty"`

	// Use flag for: update_dns_on_lease_renewal
	UseUpdateDnsOnLeaseRenewal *bool `json:"use_update_dns_on_lease_renewal,omitempty"`
}

Rangetemplate represents Infoblox object rangetemplate. The range template used to create a range objects in a quick and consistant way. Range object created from a range template will inherit most properties defined in range template object so most of the range template properties are the same as the range object properties.

func (Rangetemplate) ObjectType added in v2.4.0

func (Rangetemplate) ObjectType() string

func (Rangetemplate) ReturnFields added in v2.4.0

func (obj Rangetemplate) ReturnFields() []string

type Rdatasubfield added in v2.4.0

type Rdatasubfield struct {
	// String representation of subfield value.
	FieldValue string `json:"field_value,omitempty"`

	// Type of field. "B": unsigned 8-bit integer, "S": unsigned 16-bit integer,
	// "I": unsigned 32-bit integer. "H": BASE64, "6": an IPv6 address, "4": an
	// IPv4 address, "N": a domain name, "T": text string, "X": opaque binary data
	FieldType string `json:"field_type,omitempty"`

	// The 'size of 'length' sub-sub field to be included in RDATA.
	IncludeLength string `json:"include_length,omitempty"`
}

Rdatasubfield represents Infoblox struct rdatasubfield

type RecordA

type RecordA struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Aws Route 53 record information.
	AwsRte53RecordInfo *Awsrte53recordinfo `json:"aws_rte53_record_info,omitempty"`

	// Structure containing all cloud API related information for this object.
	CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`

	// Comment for the record; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// The time of the record creation in Epoch seconds format.
	CreationTime *UnixTime `json:"creation_time,omitempty"`

	// The record creator. Note that changing creator from or to 'SYSTEM' value is
	// not allowed.
	Creator string `json:"creator,omitempty"`

	// The GSS-TSIG principal that owns this record.
	DdnsPrincipal *string `json:"ddns_principal,omitempty"`

	// Determines if the DDNS updates for this record are allowed or not.
	DdnsProtected *bool `json:"ddns_protected,omitempty"`

	// Determines if the record is disabled or not. False means that the record is
	// enabled.
	Disable *bool `json:"disable,omitempty"`

	// The discovered data for this A record.
	DiscoveredData *Discoverydata `json:"discovered_data,omitempty"`

	// The name for an A record in punycode format.
	DnsName string `json:"dns_name,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// Determines if the reclamation is allowed for the record or not.
	ForbidReclamation *bool `json:"forbid_reclamation,omitempty"`

	// The IPv4 Address of the record.
	Ipv4Addr *string `json:"ipv4addr,omitempty"`

	// The time of the last DNS query in Epoch seconds format.
	LastQueried *UnixTime `json:"last_queried,omitempty"`

	// The Microsoft Active Directory user related information.
	MsAdUserData *MsserverAduserData `json:"ms_ad_user_data,omitempty"`

	// Name for A record in FQDN format. This value can be in unicode format.
	Name *string `json:"name,omitempty"`

	// Determines if the record is reclaimable or not.
	Reclaimable bool `json:"reclaimable,omitempty"`

	// Delete option that indicates whether the associated PTR records should be
	// removed while deleting the specified A record.
	RemoveAssociatedPtr bool `json:"remove_associated_ptr,omitempty"`

	// The name of the shared record group in which the record resides. This field
	// exists only on db_objects if this record is a shared record.
	SharedRecordGroup string `json:"shared_record_group,omitempty"`

	// The Time To Live (TTL) value for record. A 32-bit unsigned integer that
	// represents the duration, in seconds, for which the record is valid (cached).
	// Zero indicates that the record should not be cached.
	Ttl *uint32 `json:"ttl,omitempty"`

	// Use flag for: ttl
	UseTtl *bool `json:"use_ttl,omitempty"`

	// The name of the DNS view in which the record resides. Example: "external".
	View string `json:"view,omitempty"`

	// The name of the zone in which the record resides. Example: "zone.com". If a
	// view is not specified when searching by zone, the default view is used.
	Zone string `json:"zone,omitempty"`
}

RecordA represents Infoblox object record:a. An A (address) record maps a domain name to an IPv4 address. To define a specific name-to-address mapping, add an A record to a previously defined authoritative forward-mapping zone.

func NewEmptyRecordA

func NewEmptyRecordA() *RecordA

func NewRecordA

func NewRecordA(
	view string,
	zone string,
	name string,
	ipAddr string,
	ttl uint32,
	useTTL bool,
	comment string,
	eas EA,
	ref string) *RecordA

func (RecordA) ObjectType added in v2.4.0

func (RecordA) ObjectType() string

func (RecordA) ReturnFields added in v2.4.0

func (obj RecordA) ReturnFields() []string

type RecordAAAA

type RecordAAAA struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Aws Route 53 record information.
	AwsRte53RecordInfo *Awsrte53recordinfo `json:"aws_rte53_record_info,omitempty"`

	// Structure containing all cloud API related information for this object.
	CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`

	// Comment for the record; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// The time of the record creation in Epoch seconds format.
	CreationTime *UnixTime `json:"creation_time,omitempty"`

	// The record creator. Note that changing creator from or to 'SYSTEM' value is
	// not allowed.
	Creator string `json:"creator,omitempty"`

	// The GSS-TSIG principal that owns this record.
	DdnsPrincipal *string `json:"ddns_principal,omitempty"`

	// Determines if the DDNS updates for this record are allowed or not.
	DdnsProtected *bool `json:"ddns_protected,omitempty"`

	// Determines if the record is disabled or not. False means that the record is
	// enabled.
	Disable *bool `json:"disable,omitempty"`

	// The discovered data for this AAAA record.
	DiscoveredData *Discoverydata `json:"discovered_data,omitempty"`

	// The name for an AAAA record in punycode format.
	DnsName string `json:"dns_name,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// Determines if the reclamation is allowed for the record or not.
	ForbidReclamation *bool `json:"forbid_reclamation,omitempty"`

	// The IPv6 Address of the record.
	Ipv6Addr *string `json:"ipv6addr,omitempty"`

	// The time of the last DNS query in Epoch seconds format.
	LastQueried *UnixTime `json:"last_queried,omitempty"`

	// The Microsoft Active Directory user related information.
	MsAdUserData *MsserverAduserData `json:"ms_ad_user_data,omitempty"`

	// Name for the AAAA record in FQDN format. This value can be in unicode
	// format.
	Name *string `json:"name,omitempty"`

	// Determines if the record is reclaimable or not.
	Reclaimable bool `json:"reclaimable,omitempty"`

	// Delete option that indicates whether the associated PTR records should be
	// removed while deleting the specified A record.
	RemoveAssociatedPtr bool `json:"remove_associated_ptr,omitempty"`

	// The name of the shared record group in which the record resides. This field
	// exists only on db_objects if this record is a shared record.
	SharedRecordGroup string `json:"shared_record_group,omitempty"`

	// The Time To Live (TTL) value for the record. A 32-bit unsigned integer that
	// represents the duration, in seconds, for which the record is valid (cached).
	// Zero indicates that the record should not be cached.
	Ttl *uint32 `json:"ttl,omitempty"`

	// Use flag for: ttl
	UseTtl *bool `json:"use_ttl,omitempty"`

	// The name of the DNS view in which the record resides. Example: "external".
	View string `json:"view,omitempty"`

	// The name of the zone in which the record resides. Example: "zone.com". If a
	// view is not specified when searching by zone, the default view is used.
	Zone string `json:"zone,omitempty"`
}

RecordAAAA represents Infoblox object record:aaaa. An AAAA (address) record maps a domain name to an IPv6 address. To define a specific name-to-address mapping, add an AAAA record to a previously defined authoritative forward-mapping zone.

func NewEmptyRecordAAAA

func NewEmptyRecordAAAA() *RecordAAAA

func NewRecordAAAA

func NewRecordAAAA(
	view string,
	name string,
	ipAddr string,
	useTtl bool,
	ttl uint32,
	comment string,
	eas EA,
	ref string) *RecordAAAA

func (RecordAAAA) ObjectType added in v2.4.0

func (RecordAAAA) ObjectType() string

func (RecordAAAA) ReturnFields added in v2.4.0

func (obj RecordAAAA) ReturnFields() []string

type RecordAlias added in v2.4.0

type RecordAlias struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Aws Route 53 record information.
	AwsRte53RecordInfo *Awsrte53recordinfo `json:"aws_rte53_record_info,omitempty"`

	// Structure containing all cloud API related information for this object.
	CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`

	// Comment for the record; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// The record creator.
	Creator string `json:"creator,omitempty"`

	// Determines if the record is disabled or not. False means that the record is
	// enabled.
	Disable *bool `json:"disable,omitempty"`

	// The name for an Alias record in punycode format.
	DnsName string `json:"dns_name,omitempty"`

	// Target name in punycode format.
	DnsTargetName string `json:"dns_target_name,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The time of the last DNS query in Epoch seconds format.
	LastQueried *UnixTime `json:"last_queried,omitempty"`

	// The name for an Alias record in FQDN format. This value can be in unicode
	// format. Regular expression search is not supported for unicode values.
	Name *string `json:"name,omitempty"`

	// Target name in FQDN format. This value can be in unicode format.
	TargetName *string `json:"target_name,omitempty"`

	// Target type.
	TargetType string `json:"target_type,omitempty"`

	// The Time To Live (TTL) value for record. A 32-bit unsigned integer that
	// represents the duration, in seconds, for which the record is valid (cached).
	// Zero indicates that the record should not be cached.
	Ttl *uint32 `json:"ttl,omitempty"`

	// Use flag for: ttl
	UseTtl *bool `json:"use_ttl,omitempty"`

	// The name of the DNS View in which the record resides. Example: "external".
	View *string `json:"view,omitempty"`

	// The name of the zone in which the record resides. Example: "zone.com". If a
	// view is not specified when searching by zone, the default view is used.
	Zone string `json:"zone,omitempty"`
}

RecordAlias represents Infoblox object record:alias. Alias resource record allows you to create typed aliases for standard DNS resource records which are resolved dynamically by an authoritative server. Unlike CNAME Alias can be created in the zone apex.

func (RecordAlias) ObjectType added in v2.4.0

func (RecordAlias) ObjectType() string

func (RecordAlias) ReturnFields added in v2.4.0

func (obj RecordAlias) ReturnFields() []string

type RecordCNAME

type RecordCNAME struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Aws Route 53 record information.
	AwsRte53RecordInfo *Awsrte53recordinfo `json:"aws_rte53_record_info,omitempty"`

	// Canonical name in FQDN format. This value can be in unicode format.
	Canonical *string `json:"canonical,omitempty"`

	// Structure containing all cloud API related information for this object.
	CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`

	// Comment for the record; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// The time of the record creation in Epoch seconds format.
	CreationTime *UnixTime `json:"creation_time,omitempty"`

	// The record creator. Note that changing creator from or to 'SYSTEM' value is
	// not allowed.
	Creator string `json:"creator,omitempty"`

	// The GSS-TSIG principal that owns this record.
	DdnsPrincipal *string `json:"ddns_principal,omitempty"`

	// Determines if the DDNS updates for this record are allowed or not.
	DdnsProtected *bool `json:"ddns_protected,omitempty"`

	// Determines if the record is disabled or not. False means that the record is
	// enabled.
	Disable *bool `json:"disable,omitempty"`

	// Canonical name in punycode format.
	DnsCanonical string `json:"dns_canonical,omitempty"`

	// The name for the CNAME record in punycode format.
	DnsName string `json:"dns_name,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// Determines if the reclamation is allowed for the record or not.
	ForbidReclamation *bool `json:"forbid_reclamation,omitempty"`

	// The time of the last DNS query in Epoch seconds format.
	LastQueried *UnixTime `json:"last_queried,omitempty"`

	// The name for a CNAME record in FQDN format. This value can be in unicode
	// format. Regular expression search is not supported for unicode values.
	Name *string `json:"name,omitempty"`

	// Determines if the record is reclaimable or not.
	Reclaimable bool `json:"reclaimable,omitempty"`

	// The name of the shared record group in which the record resides. This field
	// exists only on db_objects if this record is a shared record.
	SharedRecordGroup string `json:"shared_record_group,omitempty"`

	// The Time To Live (TTL) value for record. A 32-bit unsigned integer that
	// represents the duration, in seconds, for which the record is valid (cached).
	// Zero indicates that the record should not be cached.
	Ttl *uint32 `json:"ttl,omitempty"`

	// Use flag for: ttl
	UseTtl *bool `json:"use_ttl,omitempty"`

	// The name of the DNS view in which the record resides. Example: "external".
	View *string `json:"view,omitempty"`

	// The name of the zone in which the record resides. Example: "zone.com". If a
	// view is not specified when searching by zone, the default view is used.
	Zone string `json:"zone,omitempty"`
}

RecordCNAME represents Infoblox object record:cname. A CNAME record maps an alias to a canonical name. You can use CNAME records in both forward- and IPv4 reverse-mapping zones to serve two different purposes. (At this time, you cannot use CNAME records with IPv6 reverse-mapping zones.)

func NewEmptyRecordCNAME

func NewEmptyRecordCNAME() *RecordCNAME

func NewRecordCNAME

func NewRecordCNAME(dnsView string,
	canonical string,
	recordName string,
	useTtl bool,
	ttl uint32,
	comment string,
	ea EA,
	ref string) *RecordCNAME

func (RecordCNAME) ObjectType added in v2.4.0

func (RecordCNAME) ObjectType() string

func (RecordCNAME) ReturnFields added in v2.4.0

func (obj RecordCNAME) ReturnFields() []string

type RecordCaa added in v2.4.0

type RecordCaa struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Flag of CAA record.
	CaFlag *uint32 `json:"ca_flag,omitempty"`

	// Tag of CAA record.
	CaTag *string `json:"ca_tag,omitempty"`

	// Value of CAA record
	CaValue *string `json:"ca_value,omitempty"`

	// Structure containing all cloud API related information for this object.
	CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`

	// Comment for the record; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// The creation time of the record.
	CreationTime *UnixTime `json:"creation_time,omitempty"`

	// The record creator. Note that changing creator from or to 'SYSTEM' value is
	// not allowed.
	Creator string `json:"creator,omitempty"`

	// The GSS-TSIG principal that owns this record.
	DdnsPrincipal *string `json:"ddns_principal,omitempty"`

	// Determines if the DDNS updates for this record are allowed or not.
	DdnsProtected *bool `json:"ddns_protected,omitempty"`

	// Determines if the record is disabled or not. False means that the record is
	// enabled.
	Disable *bool `json:"disable,omitempty"`

	// The name of the CAA record in punycode format.
	DnsName string `json:"dns_name,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// Determines if the reclamation is allowed for the record or not.
	ForbidReclamation *bool `json:"forbid_reclamation,omitempty"`

	// The time of the last DNS query in Epoch seconds format.
	LastQueried *UnixTime `json:"last_queried,omitempty"`

	// The CAA record name in FQDN format. This value can be in unicode format.
	Name *string `json:"name,omitempty"`

	// Determines if the record is reclaimable or not.
	Reclaimable bool `json:"reclaimable,omitempty"`

	// The Time to Live (TTL) value for the record. A 32-bit unsigned integer that
	// represents the duration, in seconds, for which the record is valid (cached).
	// Zero indicates that the record should not be cached.
	Ttl *uint32 `json:"ttl,omitempty"`

	// Use flag for: ttl
	UseTtl *bool `json:"use_ttl,omitempty"`

	// The name of the DNS view in which the record resides. Example: "external".
	View *string `json:"view,omitempty"`

	// The name of the zone in which the record resides. Example: "zone.com". If a
	// view is not specified when searching by zone, the default view is used.
	Zone string `json:"zone,omitempty"`
}

RecordCaa represents Infoblox object record:caa. The Certification Authority Authorization (CAA) DNS resource record (RR) is used to specify which certificate authorities (CAs) are allowed to issue certificates for a domain. For further details see RFC-6844.

func (RecordCaa) ObjectType added in v2.4.0

func (RecordCaa) ObjectType() string

func (RecordCaa) ReturnFields added in v2.4.0

func (obj RecordCaa) ReturnFields() []string

type RecordDhcid added in v2.4.0

type RecordDhcid struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The creation time of the record.
	CreationTime *UnixTime `json:"creation_time,omitempty"`

	// The record creator.
	Creator string `json:"creator,omitempty"`

	// The Base64 encoded DHCP client information.
	Dhcid string `json:"dhcid,omitempty"`

	// The name for the DHCID record in punycode format.
	DnsName string `json:"dns_name,omitempty"`

	// The name of the DHCID record in FQDN format.
	Name string `json:"name,omitempty"`

	// The Time To Live (TTL) value for the record. A 32-bit unsigned integer that
	// represents the duration, in seconds, for which the record is valid (cached).
	// Zero indicates that the record should not be cached.
	Ttl uint32 `json:"ttl,omitempty"`

	// Use flag for: ttl
	UseTtl bool `json:"use_ttl,omitempty"`

	// The name of the DNS view in which the record resides. Example: "external".
	View string `json:"view,omitempty"`

	// The name of the zone in which the record resides. Example: "zone.com". If a
	// view is not specified when searching by zone, the default view is used.
	Zone string `json:"zone,omitempty"`
}

RecordDhcid represents Infoblox object record:dhcid. The DHCID DNS resource record (RR) is used to associate the DNS domain names with the DHCP clients using the domain names.

func (RecordDhcid) ObjectType added in v2.4.0

func (RecordDhcid) ObjectType() string

func (RecordDhcid) ReturnFields added in v2.4.0

func (obj RecordDhcid) ReturnFields() []string

type RecordDname added in v2.4.0

type RecordDname struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The structure containing all cloud API related information for this object.
	CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`

	// The comment for the record.
	Comment *string `json:"comment,omitempty"`

	// The time of the record creation in Epoch seconds format.
	CreationTime *UnixTime `json:"creation_time,omitempty"`

	// The record creator.
	Creator string `json:"creator,omitempty"`

	// The GSS-TSIG principal that owns this record.
	DdnsPrincipal *string `json:"ddns_principal,omitempty"`

	// Determines if the DDNS updates for this record are allowed.
	DdnsProtected *bool `json:"ddns_protected,omitempty"`

	// Determines if the record is disabled.
	Disable *bool `json:"disable,omitempty"`

	// Name of a DNS DNAME record in punycode format.
	DnsName string `json:"dns_name,omitempty"`

	// The target domain name of the DNS DNAME record in punycode format.
	DnsTarget string `json:"dns_target,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// Determines if reclamation is allowed for the record.
	ForbidReclamation *bool `json:"forbid_reclamation,omitempty"`

	// The time of the last DNS query in Epoch seconds format.
	LastQueried *UnixTime `json:"last_queried,omitempty"`

	// The name of the DNS DNAME record in FQDN format.
	Name *string `json:"name,omitempty"`

	// Determines if the record is reclaimable.
	Reclaimable bool `json:"reclaimable,omitempty"`

	// The name of the shared record group in which the record resides. This field
	// exists only on db_objects if this record is a shared record.
	SharedRecordGroup string `json:"shared_record_group,omitempty"`

	// The target domain name of the DNS DNAME record in FQDN format.
	Target *string `json:"target,omitempty"`

	// Time To Live (TTL) value for the record. A 32-bit unsigned integer that
	// represents the duration, in seconds, that the record is valid (cached). Zero
	// indicates that the record should not be cached.
	Ttl *uint32 `json:"ttl,omitempty"`

	// Use flag for: ttl
	UseTtl *bool `json:"use_ttl,omitempty"`

	// The name of the DNS View in which the record resides, for example
	// "external".
	View string `json:"view,omitempty"`

	// The name of the zone in which the record resides. For example: "zone.com".
	// If a view is not specified when searching by zone, the default view is used.
	Zone string `json:"zone,omitempty"`
}

RecordDname represents Infoblox object record:dname. A DNAME record maps all the names in one domain to those in another domain, essentially substituting one domain name suffix with the other.

func (RecordDname) ObjectType added in v2.4.0

func (RecordDname) ObjectType() string

func (RecordDname) ReturnFields added in v2.4.0

func (obj RecordDname) ReturnFields() []string

type RecordDnskey added in v2.4.0

type RecordDnskey struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The public key encryption algorithm of a DNSKEY Record object.
	Algorithm string `json:"algorithm,omitempty"`

	// The comment for the record.
	Comment string `json:"comment,omitempty"`

	// The creation time of the record.
	CreationTime *UnixTime `json:"creation_time,omitempty"`

	// The record creator.
	Creator string `json:"creator,omitempty"`

	// Name of a DNSKEY record in punycode format.
	DnsName string `json:"dns_name,omitempty"`

	// The flags field is a 16-bit unsigned integer. Currently, only two bits of
	// this value are used: the least significant bit and bit 7. The other bits are
	// reserved for future use and must be zero. If bit 7 is set to 1, the key is a
	// DNS zone key. Otherwise, the key is not a zone key and cannot be used to
	// verify zone data. The least significant bit indicates "secure entry point
	// property". If it is not zero, the key is a key signing key (KSK type).
	// Otherwise, the key type is ZSK.
	Flags int `json:"flags,omitempty"`

	// The key tag identifying the public key of a DNSKEY Record object.
	KeyTag uint32 `json:"key_tag,omitempty"`

	// The time of the last DNS query in Epoch seconds format.
	LastQueried *UnixTime `json:"last_queried,omitempty"`

	// The name of the DNSKEY record in FQDN format. It has to be the same as the
	// zone, where the record resides.
	Name string `json:"name,omitempty"`

	// The public key. The format of the returned value depends on the key
	// algorithm.
	PublicKey string `json:"public_key,omitempty"`

	// The Time To Live (TTL) value for the record. A 32-bit unsigned integer that
	// represents the duration, in seconds, for which the record is valid (cached).
	// Zero indicates that the record should not be cached.
	Ttl uint32 `json:"ttl,omitempty"`

	// Use flag for: ttl
	UseTtl bool `json:"use_ttl,omitempty"`

	// The name of the DNS View in which the record resides. Example: "external".
	View string `json:"view,omitempty"`

	// The name of the zone in which the record resides. Example: "zone.com". If a
	// view is not specified when searching by zone, the default view is used.
	Zone string `json:"zone,omitempty"`
}

RecordDnskey represents Infoblox object record:dnskey. The DNSKEY resource record stores public keys for the DNSSEC authentication process. The DNSKEY records are generated automatically when the corresponding authoritative zone is signed. The DNSKEY resource record object is read-only.

func (RecordDnskey) ObjectType added in v2.4.0

func (RecordDnskey) ObjectType() string

func (RecordDnskey) ReturnFields added in v2.4.0

func (obj RecordDnskey) ReturnFields() []string

type RecordDs added in v2.4.0

type RecordDs struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The algorithm of the DNSKEY RR to which this DS RR refers. It uses the same
	// algorithm values and types as the corresponding DNSKEY RR.
	Algorithm string `json:"algorithm,omitempty"`

	// Structure containing all cloud API related information for this object.
	CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`

	// The comment for the record.
	Comment string `json:"comment,omitempty"`

	// The creation time of the record.
	CreationTime *UnixTime `json:"creation_time,omitempty"`

	// Creator of the record.
	Creator string `json:"creator,omitempty"`

	// The digest of the DNSKEY resource record that is stored in a DS Record
	// object.
	Digest string `json:"digest,omitempty"`

	// The algorithm used to construct the digest.
	DigestType string `json:"digest_type,omitempty"`

	// The name for the DS record in punycode format.
	DnsName string `json:"dns_name,omitempty"`

	// The key tag value that is used to determine which key to use to verify
	// signatures.
	KeyTag uint32 `json:"key_tag,omitempty"`

	// The time of the last DNS query in Epoch seconds format.
	LastQueried *UnixTime `json:"last_queried,omitempty"`

	// The name of the DNS DS record in FQDN format.
	Name string `json:"name,omitempty"`

	// The Time To Live (TTL) value for the record. A 32-bit unsigned integer that
	// represents the duration, in seconds, for which the record is valid (cached).
	// Zero indicates that the record should not be cached.
	Ttl uint32 `json:"ttl,omitempty"`

	// Use flag for: ttl
	UseTtl bool `json:"use_ttl,omitempty"`

	// The name of the DNS View in which the record resides. Example: "external".
	View string `json:"view,omitempty"`

	// The name of the zone in which the record resides. Example: "zone.com". If a
	// view is not specified when searching by zone, the default view is used.
	Zone string `json:"zone,omitempty"`
}

RecordDs represents Infoblox object record:ds. The DS key record is a part of the DNS security extension records. The DS RR contains a hash of a child zone’s KSK and can be used as a trust anchor in some security-aware resolvers and to create a secure delegation point for a signed subzone in DNS servers. It is used to authorize the DNSKEY records of the child zone and thus to establish the DNSSEC chain of trust.

func (RecordDs) ObjectType added in v2.4.0

func (RecordDs) ObjectType() string

func (RecordDs) ReturnFields added in v2.4.0

func (obj RecordDs) ReturnFields() []string

type RecordDtclbdn added in v2.4.0

type RecordDtclbdn struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The comment for the DTC LBDN record object; maximum 256 characters.
	Comment string `json:"comment,omitempty"`

	// Determines whether the DTC LBDN is disabled or not.
	Disable bool `json:"disable,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The time of the last DNS query in Epoch seconds format.
	LastQueried *UnixTime `json:"last_queried,omitempty"`

	// The DTC LBDN object.
	Lbdn string `json:"lbdn,omitempty"`

	// The display name of the DTC LBDN record.
	Name string `json:"name,omitempty"`

	// An FQDN pattern, LBDN wildcards can be used.
	Pattern string `json:"pattern,omitempty"`

	// The name of the DNS View in which the record resides.
	View string `json:"view,omitempty"`

	// The name of the zone in which the record resides.
	Zone string `json:"zone,omitempty"`
}

RecordDtclbdn represents Infoblox object record:dtclbdn. Load Balanced Domain Name (LBDN) is a Load balanced domain name record type, which is served by Infoblox Name Servers. LBDN is a qualified domain name associated with a specific service such as ftp.abc.com or www.abc.com. A LBDN record must be associated to a zone for which Infoblox is authoritative for. User may assign multiple “Resource Pools” to a LBDN record. User may also assign one or more DNS Distribution (Load balancing) methods an LBDN record. User must not be able to create multiple LBDNs for the same name.

func (RecordDtclbdn) ObjectType added in v2.4.0

func (RecordDtclbdn) ObjectType() string

func (RecordDtclbdn) ReturnFields added in v2.4.0

func (obj RecordDtclbdn) ReturnFields() []string

type RecordMX added in v2.3.0

type RecordMX struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Aws Route 53 record information.
	AwsRte53RecordInfo *Awsrte53recordinfo `json:"aws_rte53_record_info,omitempty"`

	// Structure containing all cloud API related information for this object.
	CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`

	// Comment for the record; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// The time of the record creation in Epoch seconds format.
	CreationTime *UnixTime `json:"creation_time,omitempty"`

	// The record creator. Note that changing creator from or to 'SYSTEM' value is
	// not allowed.
	Creator string `json:"creator,omitempty"`

	// The GSS-TSIG principal that owns this record.
	DdnsPrincipal *string `json:"ddns_principal,omitempty"`

	// Determines if the DDNS updates for this record are allowed or not.
	DdnsProtected *bool `json:"ddns_protected,omitempty"`

	// Determines if the record is disabled or not. False means that the record is
	// enabled.
	Disable *bool `json:"disable,omitempty"`

	// The Mail exchanger name in punycode format.
	DnsMailExchanger string `json:"dns_mail_exchanger,omitempty"`

	// The name for a MX record in punycode format.
	DnsName string `json:"dns_name,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// Determines if the reclamation is allowed for the record or not.
	ForbidReclamation *bool `json:"forbid_reclamation,omitempty"`

	// The time of the last DNS query in Epoch seconds format.
	LastQueried *UnixTime `json:"last_queried,omitempty"`

	// Mail exchanger name in FQDN format. This value can be in unicode format.
	MailExchanger *string `json:"mail_exchanger,omitempty"`

	// Name for the MX record in FQDN format. This value can be in unicode format.
	Name *string `json:"name,omitempty"`

	// Preference value, 0 to 65535 (inclusive) in 32-bit unsigned integer format.
	Preference *uint32 `json:"preference,omitempty"`

	// Determines if the record is reclaimable or not.
	Reclaimable bool `json:"reclaimable,omitempty"`

	// The name of the shared record group in which the record resides. This field
	// exists only on db_objects if this record is a shared record.
	SharedRecordGroup string `json:"shared_record_group,omitempty"`

	// The Time To Live (TTL) value for record. A 32-bit unsigned integer that
	// represents the duration, in seconds, for which the record is valid (cached).
	// Zero indicates that the record should not be cached.
	Ttl *uint32 `json:"ttl,omitempty"`

	// Use flag for: ttl
	UseTtl *bool `json:"use_ttl,omitempty"`

	// The name of the DNS view in which the record resides. Example: "external".
	View *string `json:"view,omitempty"`

	// The name of the zone in which the record resides. Example: "zone.com". If a
	// view is not specified when searching by zone, the default view is used.
	Zone string `json:"zone,omitempty"`
}

RecordMX represents Infoblox object record:mx. An MX (mail exchanger) record maps a domain name to a mail exchanger. A mail exchanger is a server that either delivers or forwards mail. You can specify one or more mail exchangers for a zone, as well as the preference for using each mail exchanger. A standard MX record applies to a particular domain or subdomain.

func NewEmptyRecordMX added in v2.3.0

func NewEmptyRecordMX() *RecordMX

func NewRecordMX added in v2.3.0

func NewRecordMX(rm RecordMX) *RecordMX

func (RecordMX) ObjectType added in v2.4.0

func (RecordMX) ObjectType() string

func (RecordMX) ReturnFields added in v2.4.0

func (obj RecordMX) ReturnFields() []string

type RecordNS

type RecordNS struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The list of zone name servers.
	Addresses []*ZoneNameServer `json:"addresses,omitempty"`

	// Structure containing all cloud API related information for this object.
	CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`

	// The record creator.
	Creator string `json:"creator,omitempty"`

	// The name of the NS record in punycode format.
	DnsName string `json:"dns_name,omitempty"`

	// The time of the last DNS query in Epoch seconds format.
	LastQueried *UnixTime `json:"last_queried,omitempty"`

	// The MS delegation point name.
	MsDelegationName *string `json:"ms_delegation_name,omitempty"`

	// The name of the NS record in FQDN format. This value can be in unicode
	// format.
	Name string `json:"name,omitempty"`

	// The domain name of an authoritative server for the redirected zone.
	Nameserver *string `json:"nameserver,omitempty"`

	// The host name policy for the record.
	Policy string `json:"policy,omitempty"`

	// The name of the DNS view in which the record resides. Example: "external".
	View string `json:"view,omitempty"`

	// The name of the zone in which the record resides. Example: "zone.com". If a
	// view is not specified when searching by zone, the default view is used.
	Zone string `json:"zone,omitempty"`
}

RecordNS represents Infoblox object record:ns. A DNS NS record identifies an authoritative DNS server for a domain. Each authoritative DNS server must have an NS record. The appliance automatically creates an NS record when you assign a grid member as the primary server for a zone. You can manually create NS records for other zones.

func (RecordNS) ObjectType added in v2.4.0

func (RecordNS) ObjectType() string

func (RecordNS) ReturnFields added in v2.4.0

func (obj RecordNS) ReturnFields() []string

type RecordNaptr added in v2.4.0

type RecordNaptr struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Structure containing all cloud API related information for this object.
	CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`

	// Comment for the record; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// The time of the record creation in Epoch seconds format.
	CreationTime *UnixTime `json:"creation_time,omitempty"`

	// The record creator. Note that changing creator from or to 'SYSTEM' value is
	// not allowed.
	Creator string `json:"creator,omitempty"`

	// The GSS-TSIG principal that owns this record.
	DdnsPrincipal *string `json:"ddns_principal,omitempty"`

	// Determines if the DDNS updates for this record are allowed or not.
	DdnsProtected *bool `json:"ddns_protected,omitempty"`

	// Determines if the record is disabled or not. False means that the record is
	// enabled.
	Disable *bool `json:"disable,omitempty"`

	// The name of the NAPTR record in punycode format.
	DnsName string `json:"dns_name,omitempty"`

	// The replacement field of the NAPTR record in punycode format.
	DnsReplacement string `json:"dns_replacement,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The flags used to control the interpretation of the fields for an NAPTR
	// record object. Supported values for the flags field are "U", "S", "P" and
	// "A".
	Flags *string `json:"flags,omitempty"`

	// Determines if the reclamation is allowed for the record or not.
	ForbidReclamation *bool `json:"forbid_reclamation,omitempty"`

	// The time of the last DNS query in Epoch seconds format.
	LastQueried *UnixTime `json:"last_queried,omitempty"`

	// The name of the NAPTR record in FQDN format. This value can be in unicode
	// format.
	Name *string `json:"name,omitempty"`

	// The order parameter of the NAPTR records. This parameter specifies the order
	// in which the NAPTR rules are applied when multiple rules are present. Valid
	// values are from 0 to 65535 (inclusive), in 32-bit unsigned integer format.
	Order *uint32 `json:"order,omitempty"`

	// The preference of the NAPTR record. The preference field determines the
	// order NAPTR records are processed when multiple records with the same order
	// parameter are present. Valid values are from 0 to 65535 (inclusive), in
	// 32-bit unsigned integer format.
	Preference *uint32 `json:"preference,omitempty"`

	// Determines if the record is reclaimable or not.
	Reclaimable bool `json:"reclaimable,omitempty"`

	// The regular expression-based rewriting rule of the NAPTR record. This should
	// be a POSIX compliant regular expression, including the substitution rule and
	// flags. Refer to RFC 2915 for the field syntax details.
	Regexp *string `json:"regexp,omitempty"`

	// The replacement field of the NAPTR record object. For nonterminal NAPTR
	// records, this field specifies the next domain name to look up. This value
	// can be in unicode format.
	Replacement *string `json:"replacement,omitempty"`

	// The services field of the NAPTR record object; maximum 128 characters. The
	// services field contains protocol and service identifiers, such as "http+E2U"
	// or "SIPS+D2T".
	Services *string `json:"services,omitempty"`

	// The Time to Live (TTL) value for the NAPTR record. A 32-bit unsigned integer
	// that represents the duration, in seconds, for which the record is valid
	// (cached). Zero indicates that the record should not be cached.
	Ttl *uint32 `json:"ttl,omitempty"`

	// Use flag for: ttl
	UseTtl *bool `json:"use_ttl,omitempty"`

	// The name of the DNS view in which the record resides. Example: "external".
	View string `json:"view,omitempty"`

	// The name of the zone in which the record resides. Example: "zone.com". If a
	// view is not specified when searching by zone, the default view is used.
	Zone string `json:"zone,omitempty"`
}

RecordNaptr represents Infoblox object record:naptr. A DNS NAPTR object represents a Naming Authority Pointer (NAPTR) resource record. This resource record specifies a regular expression-based rewrite rule that, when applied to an existing string, produces a new domain name or URI.

func (RecordNaptr) ObjectType added in v2.4.0

func (RecordNaptr) ObjectType() string

func (RecordNaptr) ReturnFields added in v2.4.0

func (obj RecordNaptr) ReturnFields() []string

type RecordNsec added in v2.4.0

type RecordNsec struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Structure containing all cloud API related information for this object.
	CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`

	// Time that the record was created.
	CreationTime *UnixTime `json:"creation_time,omitempty"`

	// Creator of the record.
	Creator string `json:"creator,omitempty"`

	// Name for an NSEC record in punycode format.
	DnsName string `json:"dns_name,omitempty"`

	// Name of the next owner in punycode format.
	DnsNextOwnerName string `json:"dns_next_owner_name,omitempty"`

	// The time of the last DNS query in Epoch seconds format.
	LastQueried *UnixTime `json:"last_queried,omitempty"`

	// The name of the NSEC record in FQDN format.
	Name string `json:"name,omitempty"`

	// Name of the next owner that has authoritative data or that contains a
	// delegation point NS record.
	NextOwnerName string `json:"next_owner_name,omitempty"`

	// The RRSet types that exist at the original owner name of the NSEC RR.
	RrsetTypes []string `json:"rrset_types,omitempty"`

	// The Time To Live (TTL) value for the record. A 32-bit unsigned integer that
	// represents the duration, in seconds, for which the record is valid (cached).
	// Zero indicates that the record should not be cached.
	Ttl uint32 `json:"ttl,omitempty"`

	// Use flag for: ttl
	UseTtl bool `json:"use_ttl,omitempty"`

	// The name of the DNS View in which the record resides. Example: "external".
	View string `json:"view,omitempty"`

	// The name of the zone in which the record resides. Example: "zone.com". If a
	// view is not specified when searching by zone, the default view is used.
	Zone string `json:"zone,omitempty"`
}

RecordNsec represents Infoblox object record:nsec. NSEC resource record is one of the resource records included in the DNS security extension mechanism (DNSSEC). This record is used to provide authenticated denial of existence of a resource record in response to a resolver query.

func (RecordNsec) ObjectType added in v2.4.0

func (RecordNsec) ObjectType() string

func (RecordNsec) ReturnFields added in v2.4.0

func (obj RecordNsec) ReturnFields() []string

type RecordNsec3 added in v2.4.0

type RecordNsec3 struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The hash algorithm that was used.
	Algorithm string `json:"algorithm,omitempty"`

	// Structure containing all cloud API related information for this object.
	CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`

	// The creation time of the record.
	CreationTime *UnixTime `json:"creation_time,omitempty"`

	// Creator of the record.
	Creator string `json:"creator,omitempty"`

	// Name for an NSEC3 record in punycode format.
	DnsName string `json:"dns_name,omitempty"`

	// The set of 8 one-bit flags, of which only one flag, the Opt-Out flag, is
	// defined by RFC 5155. The Opt-Out flag indicates whether the NSEC3 record
	// covers unsigned delegations.
	Flags uint32 `json:"flags,omitempty"`

	// The number of times the hash function was performed.
	Iterations uint32 `json:"iterations,omitempty"`

	// The time of the last DNS query in Epoch seconds format.
	LastQueried *UnixTime `json:"last_queried,omitempty"`

	// The name of the NSEC3 record in FQDN format.
	Name string `json:"name,omitempty"`

	// The hashed next owner name that has authoritative data or that contains a
	// delegation point NS record.
	NextOwnerName string `json:"next_owner_name,omitempty"`

	// The RRSet types that exist at the original owner name of the NSEC3 RR.
	RrsetTypes []string `json:"rrset_types,omitempty"`

	// A series of case-insensitive hexadecimal digits. It is appended to the
	// original owner name as protection against pre-calculated dictionary attacks.
	// A new salt value is generated when ZSK rolls over. You can control the
	// period of the rollover. For random salt values, the selected length is
	// between one and 15 octets.
	Salt string `json:"salt,omitempty"`

	// The Time To Live (TTL) value for the record. A 32-bit unsigned integer that
	// represents the duration, in seconds, for which the record is valid (cached).
	// Zero indicates that the record should not be cached.
	Ttl uint32 `json:"ttl,omitempty"`

	// Use flag for: ttl
	UseTtl bool `json:"use_ttl,omitempty"`

	// The name of the DNS View in which the record resides. Example: "external".
	View string `json:"view,omitempty"`

	// The name of the zone in which the record resides. Example: "zone.com". If a
	// view is not specified when searching by zone, the default view is used.
	Zone string `json:"zone,omitempty"`
}

RecordNsec3 represents Infoblox object record:nsec3. When a name server receives a request for a domain name that does not exist in a zone, the name server sends an authenticated negative response in the form of an NSEC or NSEC3 RR. NSEC and NSEC3 records contain the next secure domain name in a zone and list the RR types present at the NSEC or NSEC3 RR’s owner name. The difference between an NSEC and NSEC3 RRs is that the owner name in an NSEC3 RR is a cryptographic hash of the original owner name prepended to the name of the zone. NSEC3 RRs protect against zone enumeration.

func (RecordNsec3) ObjectType added in v2.4.0

func (RecordNsec3) ObjectType() string

func (RecordNsec3) ReturnFields added in v2.4.0

func (obj RecordNsec3) ReturnFields() []string

type RecordNsec3param added in v2.4.0

type RecordNsec3param struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The hash algorithm that was used.
	Algorithm string `json:"algorithm,omitempty"`

	// Structure containing all cloud API related information for this object.
	CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`

	// The creation time of the record.
	CreationTime *UnixTime `json:"creation_time,omitempty"`

	// Creator of the record.
	Creator string `json:"creator,omitempty"`

	// Name for an NSEC3PARAM record in punycode format.
	DnsName string `json:"dns_name,omitempty"`

	// The set of 8 one-bit flags, of which only one flag, the Opt-Out flag, is
	// defined by RFC 5155. The Opt-Out flag indicates whether the NSEC3 record
	// covers unsigned delegations.
	Flags uint32 `json:"flags,omitempty"`

	// The number of times the hash function was performed.
	Iterations uint32 `json:"iterations,omitempty"`

	// The time of the last DNS query in Epoch seconds format.
	LastQueried *UnixTime `json:"last_queried,omitempty"`

	// The name of the NSEC3PARAM record in FQDN format. It has to be the same as
	// the zone, where the record resides.
	Name string `json:"name,omitempty"`

	// A series of case-insensitive hexadecimal digits. It is appended to the
	// original owner name as protection against pre-calculated dictionary attacks.
	// A new salt value is generated when the ZSK rolls over, for which the user
	// can control the period. For a random salt value, the selected length is
	// between one and 15 octets.
	Salt string `json:"salt,omitempty"`

	// The Time To Live (TTL) value for the record. A 32-bit unsigned integer that
	// represents the duration, in seconds, for which the record is valid (cached).
	// Zero indicates that the record should not be cached.
	Ttl uint32 `json:"ttl,omitempty"`

	// Use flag for: ttl
	UseTtl bool `json:"use_ttl,omitempty"`

	// The name of the DNS View in which the record resides. Example: "external".
	View string `json:"view,omitempty"`

	// The name of the zone in which the record resides. Example: "zone.com". If a
	// view is not specified when searching by zone, the default view is used.
	Zone string `json:"zone,omitempty"`
}

RecordNsec3param represents Infoblox object record:nsec3param. An authoritative DNS server uses NSEC3PARAM RRs to determine which NSEC3 records it includes in its negative responses. An NSEC3PARAM RR contains the parameters that an authoritative server needs to calculate hashed owner names. As stated in RFC 5155, the presence of an NSEC3PARAM RR at a zone apex indicates that the specified parameters may be used by authoritative servers to choose an appropriate set of NSEC3 RRs for negative responses.

func (RecordNsec3param) ObjectType added in v2.4.0

func (RecordNsec3param) ObjectType() string

func (RecordNsec3param) ReturnFields added in v2.4.0

func (obj RecordNsec3param) ReturnFields() []string

type RecordPTR

type RecordPTR struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Aws Route 53 record information.
	AwsRte53RecordInfo *Awsrte53recordinfo `json:"aws_rte53_record_info,omitempty"`

	// Structure containing all cloud API related information for this object.
	CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`

	// Comment for the record; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// The time of the record creation in Epoch seconds format.
	CreationTime *UnixTime `json:"creation_time,omitempty"`

	// The record creator. Note that changing creator from or to 'SYSTEM' value is
	// not allowed.
	Creator string `json:"creator,omitempty"`

	// The GSS-TSIG principal that owns this record.
	DdnsPrincipal *string `json:"ddns_principal,omitempty"`

	// Determines if the DDNS updates for this record are allowed or not.
	DdnsProtected *bool `json:"ddns_protected,omitempty"`

	// Determines if the record is disabled or not. False means that the record is
	// enabled.
	Disable *bool `json:"disable,omitempty"`

	// The discovered data for this PTR record.
	DiscoveredData *Discoverydata `json:"discovered_data,omitempty"`

	// The name for a DNS PTR record in punycode format.
	DnsName string `json:"dns_name,omitempty"`

	// The domain name of the DNS PTR record in punycode format.
	DnsPtrdname string `json:"dns_ptrdname,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// Determines if the reclamation is allowed for the record or not.
	ForbidReclamation *bool `json:"forbid_reclamation,omitempty"`

	// The IPv4 Address of the record.
	Ipv4Addr *string `json:"ipv4addr,omitempty"`

	// The IPv6 Address of the record.
	Ipv6Addr *string `json:"ipv6addr,omitempty"`

	// The time of the last DNS query in Epoch seconds format.
	LastQueried *UnixTime `json:"last_queried,omitempty"`

	// The Microsoft Active Directory user related information.
	MsAdUserData *MsserverAduserData `json:"ms_ad_user_data,omitempty"`

	// The name of the DNS PTR record in FQDN format.
	Name *string `json:"name,omitempty"`

	// The domain name of the DNS PTR record in FQDN format.
	PtrdName *string `json:"ptrdname,omitempty"`

	// Determines if the record is reclaimable or not.
	Reclaimable bool `json:"reclaimable,omitempty"`

	// The name of the shared record group in which the record resides. This field
	// exists only on db_objects if this record is a shared record.
	SharedRecordGroup string `json:"shared_record_group,omitempty"`

	// Time To Live (TTL) value for the record. A 32-bit unsigned integer that
	// represents the duration, in seconds, that the record is valid (cached). Zero
	// indicates that the record should not be cached.
	Ttl *uint32 `json:"ttl,omitempty"`

	// Use flag for: ttl
	UseTtl *bool `json:"use_ttl,omitempty"`

	// Name of the DNS View in which the record resides, for example "external".
	View string `json:"view,omitempty"`

	// The name of the zone in which the record resides. For example: "zone.com".
	// If a view is not specified when searching by zone, the default view is used.
	Zone string `json:"zone,omitempty"`
}

RecordPTR represents Infoblox object record:ptr. In a forward-mapping zone, a PTR (pointer) record maps a domain name to another domain name. In a reverse-mapping zone, a PTR (pointer) record maps an address to a domain name. To define a specific address-to-name mapping, add a PTR record to a previously defined authoritative reverse-mapping zone.

func NewEmptyRecordPTR

func NewEmptyRecordPTR() *RecordPTR

func NewRecordPTR

func NewRecordPTR(dnsView string, ptrdname string, useTtl bool, ttl uint32, comment string, ea EA) *RecordPTR

func (RecordPTR) ObjectType added in v2.4.0

func (RecordPTR) ObjectType() string

func (RecordPTR) ReturnFields added in v2.4.0

func (obj RecordPTR) ReturnFields() []string

type RecordRpzA added in v2.4.0

type RecordRpzA struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The comment for the record; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// Determines if the record is disabled or not. False means that the record is
	// enabled.
	Disable *bool `json:"disable,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The IPv4 Address of the substitute rule.
	Ipv4Addr *string `json:"ipv4addr,omitempty"`

	// The name for a record in FQDN format. This value cannot be in unicode
	// format.
	Name *string `json:"name,omitempty"`

	// The name of a response policy zone in which the record resides.
	RpZone *string `json:"rp_zone,omitempty"`

	// The Time To Live (TTL) value for record. A 32-bit unsigned integer that
	// represents the duration, in seconds, for which the record is valid (cached).
	// Zero indicates that the record should not be cached.
	Ttl *uint32 `json:"ttl,omitempty"`

	// Use flag for: ttl
	UseTtl *bool `json:"use_ttl,omitempty"`

	// The name of the DNS View in which the record resides. Example: "external".
	View *string `json:"view,omitempty"`

	// The name of the zone in which the record resides. Example: "zone.com". If a
	// view is not specified when searching by zone, the default view is used.
	Zone string `json:"zone,omitempty"`
}

RecordRpzA represents Infoblox object record:rpz:a. An RPZ Substitute (A Record) Rule maps a domain name to a substitute IPv4 address. To define a specific name-to-address mapping, add an Substitute (A Record) Rule to a previously defined Response Policy Zone.

func (RecordRpzA) ObjectType added in v2.4.0

func (RecordRpzA) ObjectType() string

func (RecordRpzA) ReturnFields added in v2.4.0

func (obj RecordRpzA) ReturnFields() []string

type RecordRpzAIpaddress added in v2.4.0

type RecordRpzAIpaddress struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The comment for the record; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// Determines if the record is disabled or not. False means that the record is
	// enabled.
	Disable *bool `json:"disable,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The IPv4 Address of the substitute rule.
	Ipv4Addr *string `json:"ipv4addr,omitempty"`

	// The name for a record in FQDN format. This value cannot be in unicode
	// format.
	Name *string `json:"name,omitempty"`

	// The name of a response policy zone in which the record resides.
	RpZone *string `json:"rp_zone,omitempty"`

	// The Time To Live (TTL) value for record. A 32-bit unsigned integer that
	// represents the duration, in seconds, for which the record is valid (cached).
	// Zero indicates that the record should not be cached.
	Ttl *uint32 `json:"ttl,omitempty"`

	// Use flag for: ttl
	UseTtl *bool `json:"use_ttl,omitempty"`

	// The name of the DNS View in which the record resides. Example: "external".
	View *string `json:"view,omitempty"`

	// The name of the zone in which the record resides. Example: "zone.com". If a
	// view is not specified when searching by zone, the default view is used.
	Zone string `json:"zone,omitempty"`
}

RecordRpzAIpaddress represents Infoblox object record:rpz:a:ipaddress. An RPZ AIpAddress is an Substitute (IPv4 Address) Rule that maps an IP address represented by a host name to a substitute IPv4 address. To define a specific address-to-address mapping, add an Substitute (IPv4 Address) Rule to a previously defined Response Policy Zone.

func (RecordRpzAIpaddress) ObjectType added in v2.4.0

func (RecordRpzAIpaddress) ObjectType() string

func (RecordRpzAIpaddress) ReturnFields added in v2.4.0

func (obj RecordRpzAIpaddress) ReturnFields() []string

type RecordRpzAaaa added in v2.4.0

type RecordRpzAaaa struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The comment for the record; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// Determines if the record is disabled or not. False means that the record is
	// enabled.
	Disable *bool `json:"disable,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The IPv6 Address of the substitute rule.
	Ipv6Addr *string `json:"ipv6addr,omitempty"`

	// The name for a record in FQDN format. This value cannot be in unicode
	// format.
	Name *string `json:"name,omitempty"`

	// The name of a response policy zone in which the record resides.
	RpZone *string `json:"rp_zone,omitempty"`

	// The Time To Live (TTL) value for record. A 32-bit unsigned integer that
	// represents the duration, in seconds, for which the record is valid (cached).
	// Zero indicates that the record should not be cached.
	Ttl *uint32 `json:"ttl,omitempty"`

	// Use flag for: ttl
	UseTtl *bool `json:"use_ttl,omitempty"`

	// The name of the DNS View in which the record resides. Example: "external".
	View *string `json:"view,omitempty"`

	// The name of the zone in which the record resides. Example: "zone.com". If a
	// view is not specified when searching by zone, the default view is used.
	Zone string `json:"zone,omitempty"`
}

RecordRpzAaaa represents Infoblox object record:rpz:aaaa. An RPZ Substitute (AAAA Record) Rule, maps a domain name to a substitute IPv6 address. To define a specific name-to-address mapping, add an Substitute (AAAA Record) Rule to a previously defined Response Policy Zone.

func (RecordRpzAaaa) ObjectType added in v2.4.0

func (RecordRpzAaaa) ObjectType() string

func (RecordRpzAaaa) ReturnFields added in v2.4.0

func (obj RecordRpzAaaa) ReturnFields() []string

type RecordRpzAaaaIpaddress added in v2.4.0

type RecordRpzAaaaIpaddress struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The comment for the record; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// Determines if the record is disabled or not. False means that the record is
	// enabled.
	Disable *bool `json:"disable,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The IPv6 Address of the substitute rule.
	Ipv6Addr *string `json:"ipv6addr,omitempty"`

	// The name for a record in FQDN format. This value cannot be in unicode
	// format.
	Name *string `json:"name,omitempty"`

	// The name of a response policy zone in which the record resides.
	RpZone *string `json:"rp_zone,omitempty"`

	// The Time To Live (TTL) value for record. A 32-bit unsigned integer that
	// represents the duration, in seconds, for which the record is valid (cached).
	// Zero indicates that the record should not be cached.
	Ttl *uint32 `json:"ttl,omitempty"`

	// Use flag for: ttl
	UseTtl *bool `json:"use_ttl,omitempty"`

	// The name of the DNS View in which the record resides. Example: "external".
	View *string `json:"view,omitempty"`

	// The name of the zone in which the record resides. Example: "zone.com". If a
	// view is not specified when searching by zone, the default view is used.
	Zone string `json:"zone,omitempty"`
}

RecordRpzAaaaIpaddress represents Infoblox object record:rpz:aaaa:ipaddress. An RPZ Substitute (IPv6 Address) Rule maps an IP address represented by a host name to a substitute IPv6 address. To define a specific address-to-address mapping, add an RPZ Substitute (IPv6 Address) Rule to a previously defined Response Policy Zone.

func (RecordRpzAaaaIpaddress) ObjectType added in v2.4.0

func (RecordRpzAaaaIpaddress) ObjectType() string

func (RecordRpzAaaaIpaddress) ReturnFields added in v2.4.0

func (obj RecordRpzAaaaIpaddress) ReturnFields() []string

type RecordRpzCname added in v2.4.0

type RecordRpzCname struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The canonical name in FQDN format. This value can be in unicode format.
	Canonical *string `json:"canonical,omitempty"`

	// The comment for the record; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// Determines if the record is disabled or not. False means that the record is
	// enabled.
	Disable *bool `json:"disable,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The name for a record in FQDN format. This value cannot be in unicode
	// format.
	Name *string `json:"name,omitempty"`

	// The name of a response policy zone in which the record resides.
	RpZone *string `json:"rp_zone,omitempty"`

	// The Time To Live (TTL) value for record. A 32-bit unsigned integer that
	// represents the duration, in seconds, for which the record is valid (cached).
	// Zero indicates that the record should not be cached.
	Ttl *uint32 `json:"ttl,omitempty"`

	// Use flag for: ttl
	UseTtl *bool `json:"use_ttl,omitempty"`

	// The name of the DNS View in which the record resides. Example: "external".
	View *string `json:"view,omitempty"`

	// The name of the zone in which the record resides. Example: "zone.com". If a
	// view is not specified when searching by zone, the default view is used.
	Zone string `json:"zone,omitempty"`
}

RecordRpzCname represents Infoblox object record:rpz:cname. An RPZ CNAME record represents different RPZ rules, depending on the value of the canonical name. The intention of this object is to support QNAME Trigger policy. The QNAME policy trigger applies to requested domain names (QNAME). This record represents Passthru Domain Name Rule, Block Domain Name (No Such Domain) Rule, Block Domain Name (No Data) Rule and Substitute (Domain Name) Rule.

func (RecordRpzCname) ObjectType added in v2.4.0

func (RecordRpzCname) ObjectType() string

func (RecordRpzCname) ReturnFields added in v2.4.0

func (obj RecordRpzCname) ReturnFields() []string

type RecordRpzCnameClientipaddress added in v2.4.0

type RecordRpzCnameClientipaddress struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The canonical name in FQDN format. This value can be in unicode format.
	Canonical *string `json:"canonical,omitempty"`

	// The comment for the record; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// Determines if the record is disabled or not. False means that the record is
	// enabled.
	Disable *bool `json:"disable,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// Indicates whether the record is an IPv4 record. If the return value is
	// "true", it is an IPv4 record. Ohterwise, it is an IPv6 record.
	IsIpv4 bool `json:"is_ipv4,omitempty"`

	// The name for a record in FQDN format. This value cannot be in unicode
	// format.
	Name *string `json:"name,omitempty"`

	// The name of a response policy zone in which the record resides.
	RpZone *string `json:"rp_zone,omitempty"`

	// The Time To Live (TTL) value for record. A 32-bit unsigned integer that
	// represents the duration, in seconds, for which the record is valid (cached).
	// Zero indicates that the record should not be cached.
	Ttl *uint32 `json:"ttl,omitempty"`

	// Use flag for: ttl
	UseTtl *bool `json:"use_ttl,omitempty"`

	// The name of the DNS View in which the record resides. Example: "external".
	View *string `json:"view,omitempty"`

	// The name of the zone in which the record resides. Example: "zone.com". If a
	// view is not specified when searching by zone, the default view is used.
	Zone string `json:"zone,omitempty"`
}

RecordRpzCnameClientipaddress represents Infoblox object record:rpz:cname:clientipaddress. A DNS RPZ CNAMEClientIpAddress record represents different RPZ rules, depending on the value of the canonical name. This record represents Passthru IP Address Rule, Block IP Address (No Such Domain) Rule, Block IP Address (No Data) Rule.

func (RecordRpzCnameClientipaddress) ObjectType added in v2.4.0

func (RecordRpzCnameClientipaddress) ReturnFields added in v2.4.0

func (obj RecordRpzCnameClientipaddress) ReturnFields() []string

type RecordRpzCnameClientipaddressdn added in v2.4.0

type RecordRpzCnameClientipaddressdn struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The canonical name in FQDN format. This value can be in unicode format.
	Canonical *string `json:"canonical,omitempty"`

	// The comment for the record; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// Determines if the record is disabled or not. False means that the record is
	// enabled.
	Disable *bool `json:"disable,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// Indicates whether the record is an IPv4 record. If the return value is
	// "true", it is an IPv4 record. Ohterwise, it is an IPv6 record.
	IsIpv4 bool `json:"is_ipv4,omitempty"`

	// The name for a record in FQDN format. This value cannot be in unicode
	// format.
	Name *string `json:"name,omitempty"`

	// The name of a response policy zone in which the record resides.
	RpZone *string `json:"rp_zone,omitempty"`

	// The Time To Live (TTL) value for record. A 32-bit unsigned integer that
	// represents the duration, in seconds, for which the record is valid (cached).
	// Zero indicates that the record should not be cached.
	Ttl *uint32 `json:"ttl,omitempty"`

	// Use flag for: ttl
	UseTtl *bool `json:"use_ttl,omitempty"`

	// The name of the DNS View in which the record resides. Example: "external".
	View *string `json:"view,omitempty"`

	// The name of the zone in which the record resides. Example: "zone.com". If a
	// view is not specified when searching by zone, the default view is used.
	Zone string `json:"zone,omitempty"`
}

RecordRpzCnameClientipaddressdn represents Infoblox object record:rpz:cname:clientipaddressdn. A DNS Substitute Domain Name (Based on Client IP Address) rule represents different Response Policy Zone (RPZ) rules, depending on the value of the canonical name.

func (RecordRpzCnameClientipaddressdn) ObjectType added in v2.4.0

func (RecordRpzCnameClientipaddressdn) ReturnFields added in v2.4.0

func (obj RecordRpzCnameClientipaddressdn) ReturnFields() []string

type RecordRpzCnameIpaddress added in v2.4.0

type RecordRpzCnameIpaddress struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The canonical name in FQDN format. This value can be in unicode format.
	Canonical *string `json:"canonical,omitempty"`

	// The comment for the record; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// Determines if the record is disabled or not. False means that the record is
	// enabled.
	Disable *bool `json:"disable,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// Indicates whether the record is an IPv4 record. If the return value is
	// "true", it is an IPv4 record. Ohterwise, it is an IPv6 record.
	IsIpv4 bool `json:"is_ipv4,omitempty"`

	// The name for a record in FQDN format. This value cannot be in unicode
	// format.
	Name *string `json:"name,omitempty"`

	// The name of a response policy zone in which the record resides.
	RpZone *string `json:"rp_zone,omitempty"`

	// The Time To Live (TTL) value for record. A 32-bit unsigned integer that
	// represents the duration, in seconds, for which the record is valid (cached).
	// Zero indicates that the record should not be cached.
	Ttl *uint32 `json:"ttl,omitempty"`

	// Use flag for: ttl
	UseTtl *bool `json:"use_ttl,omitempty"`

	// The name of the DNS View in which the record resides. Example: "external".
	View *string `json:"view,omitempty"`

	// The name of the zone in which the record resides. Example: "zone.com". If a
	// view is not specified when searching by zone, the default view is used.
	Zone string `json:"zone,omitempty"`
}

RecordRpzCnameIpaddress represents Infoblox object record:rpz:cname:ipaddress. A DNS RPZ CNAMEIpAddress record represents different RPZ rules, depending on the value of the canonical name. This record represents Passthru IP Address Rule, Block IP Address (No Such Domain) Rule, Block IP Address (No Data) Rule.

func (RecordRpzCnameIpaddress) ObjectType added in v2.4.0

func (RecordRpzCnameIpaddress) ObjectType() string

func (RecordRpzCnameIpaddress) ReturnFields added in v2.4.0

func (obj RecordRpzCnameIpaddress) ReturnFields() []string

type RecordRpzCnameIpaddressdn added in v2.4.0

type RecordRpzCnameIpaddressdn struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The canonical name in FQDN format. This value can be in unicode format.
	Canonical *string `json:"canonical,omitempty"`

	// The comment for the record; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// Determines if the record is disabled or not. False means that the record is
	// enabled.
	Disable *bool `json:"disable,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// Indicates whether the record is an IPv4 record. If the return value is
	// "true", it is an IPv4 record. Ohterwise, it is an IPv6 record.
	IsIpv4 bool `json:"is_ipv4,omitempty"`

	// The name for a record in FQDN format. This value cannot be in unicode
	// format.
	Name *string `json:"name,omitempty"`

	// The name of a response policy zone in which the record resides.
	RpZone *string `json:"rp_zone,omitempty"`

	// The Time To Live (TTL) value for record. A 32-bit unsigned integer that
	// represents the duration, in seconds, for which the record is valid (cached).
	// Zero indicates that the record should not be cached.
	Ttl *uint32 `json:"ttl,omitempty"`

	// Use flag for: ttl
	UseTtl *bool `json:"use_ttl,omitempty"`

	// The name of the DNS View in which the record resides. Example: "external".
	View *string `json:"view,omitempty"`

	// The name of the zone in which the record resides. Example: "zone.com". If a
	// view is not specified when searching by zone, the default view is used.
	Zone string `json:"zone,omitempty"`
}

RecordRpzCnameIpaddressdn represents Infoblox object record:rpz:cname:ipaddressdn. A DNS Substitute Domain Name (Based on IP Address) rule represents different Response Policy Zone (RPZ) rules, depending on the value of the canonical name.

func (RecordRpzCnameIpaddressdn) ObjectType added in v2.4.0

func (RecordRpzCnameIpaddressdn) ObjectType() string

func (RecordRpzCnameIpaddressdn) ReturnFields added in v2.4.0

func (obj RecordRpzCnameIpaddressdn) ReturnFields() []string

type RecordRpzMx added in v2.4.0

type RecordRpzMx struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The comment for the record; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// Determines if the record is disabled or not. False means that the record is
	// enabled.
	Disable *bool `json:"disable,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// Mail exchanger name in FQDN format. This value can be in unicode format.
	MailExchanger *string `json:"mail_exchanger,omitempty"`

	// The name for a record in FQDN format. This value cannot be in unicode
	// format.
	Name *string `json:"name,omitempty"`

	// Preference value, 0 to 65535 (inclusive) in 32-bit unsigned integer format.
	Preference *uint32 `json:"preference,omitempty"`

	// The name of a response policy zone in which the record resides.
	RpZone *string `json:"rp_zone,omitempty"`

	// The Time To Live (TTL) value for record. A 32-bit unsigned integer that
	// represents the duration, in seconds, for which the record is valid (cached).
	// Zero indicates that the record should not be cached.
	Ttl *uint32 `json:"ttl,omitempty"`

	// Use flag for: ttl
	UseTtl *bool `json:"use_ttl,omitempty"`

	// The name of the DNS View in which the record resides. Example: "external".
	View *string `json:"view,omitempty"`

	// The name of the zone in which the record resides. Example: "zone.com". If a
	// view is not specified when searching by zone, the default view is used.
	Zone string `json:"zone,omitempty"`
}

RecordRpzMx represents Infoblox object record:rpz:mx. An RPZ Substitute (MX Record) Rule maps a domain name to a mail exchanger. A mail exchanger is a server that either delivers or forwards mail.

func (RecordRpzMx) ObjectType added in v2.4.0

func (RecordRpzMx) ObjectType() string

func (RecordRpzMx) ReturnFields added in v2.4.0

func (obj RecordRpzMx) ReturnFields() []string

type RecordRpzNaptr added in v2.4.0

type RecordRpzNaptr struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The comment for the record; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// Determines if the record is disabled or not. False means that the record is
	// enabled.
	Disable *bool `json:"disable,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The flags used to control the interpretation of the fields for a Substitute
	// (NAPTR Record) Rule object. Supported values for the flags field are "U",
	// "S", "P" and "A".
	Flags *string `json:"flags,omitempty"`

	// The time of the last DNS query in Epoch seconds format.
	LastQueried *UnixTime `json:"last_queried,omitempty"`

	// The name for a record in FQDN format. This value cannot be in unicode
	// format.
	Name *string `json:"name,omitempty"`

	// The order parameter of the Substitute (NAPTR Record) Rule records. This
	// parameter specifies the order in which the NAPTR rules are applied when
	// multiple rules are present. Valid values are from 0 to 65535 (inclusive), in
	// 32-bit unsigned integer format.
	Order *uint32 `json:"order,omitempty"`

	// The preference of the Substitute (NAPTR Record) Rule record. The preference
	// field determines the order NAPTR records are processed when multiple records
	// with the same order parameter are present. Valid values are from 0 to 65535
	// (inclusive), in 32-bit unsigned integer format.
	Preference *uint32 `json:"preference,omitempty"`

	// The regular expression-based rewriting rule of the Substitute (NAPTR Record)
	// Rule record. This should be a POSIX compliant regular expression, including
	// the substitution rule and flags. Refer to RFC 2915 for the field syntax
	// details.
	Regexp *string `json:"regexp,omitempty"`

	// The replacement field of the Substitute (NAPTR Record) Rule object. For
	// nonterminal NAPTR records, this field specifies the next domain name to look
	// up. This value can be in unicode format.
	Replacement *string `json:"replacement,omitempty"`

	// The name of a response policy zone in which the record resides.
	RpZone *string `json:"rp_zone,omitempty"`

	// The services field of the Substitute (NAPTR Record) Rule object; maximum 128
	// characters. The services field contains protocol and service identifiers,
	// such as "http+E2U" or "SIPS+D2T".
	Services *string `json:"services,omitempty"`

	// The Time To Live (TTL) value for record. A 32-bit unsigned integer that
	// represents the duration, in seconds, for which the record is valid (cached).
	// Zero indicates that the record should not be cached.
	Ttl *uint32 `json:"ttl,omitempty"`

	// Use flag for: ttl
	UseTtl *bool `json:"use_ttl,omitempty"`

	// The name of the DNS View in which the record resides. Example: "external".
	View *string `json:"view,omitempty"`

	// The name of the zone in which the record resides. Example: "zone.com". If a
	// view is not specified when searching by zone, the default view is used.
	Zone string `json:"zone,omitempty"`
}

RecordRpzNaptr represents Infoblox object record:rpz:naptr. An RPZ Substitute (NAPTR Record) Rule object represents the substitution rule for DNS Naming Authority Pointer (NAPTR) records. This rule specifies a regular expression-based rewrite rule that, when applied to an existing string, produces a new domain name or URI.

func (RecordRpzNaptr) ObjectType added in v2.4.0

func (RecordRpzNaptr) ObjectType() string

func (RecordRpzNaptr) ReturnFields added in v2.4.0

func (obj RecordRpzNaptr) ReturnFields() []string

type RecordRpzPtr added in v2.4.0

type RecordRpzPtr struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The comment for the record; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// Determines if the record is disabled or not. False means that the record is
	// enabled.
	Disable *bool `json:"disable,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The IPv4 Address of the substitute rule.
	Ipv4Addr *string `json:"ipv4addr,omitempty"`

	// The IPv6 Address of the substitute rule.
	Ipv6Addr *string `json:"ipv6addr,omitempty"`

	// The name of the RPZ Substitute (PTR Record) Rule object in FQDN format.
	Name *string `json:"name,omitempty"`

	// The domain name of the RPZ Substitute (PTR Record) Rule object in FQDN
	// format.
	PtrdName *string `json:"ptrdname,omitempty"`

	// The name of a response policy zone in which the record resides.
	RpZone *string `json:"rp_zone,omitempty"`

	// The Time To Live (TTL) value for record. A 32-bit unsigned integer that
	// represents the duration, in seconds, for which the record is valid (cached).
	// Zero indicates that the record should not be cached.
	Ttl *uint32 `json:"ttl,omitempty"`

	// Use flag for: ttl
	UseTtl *bool `json:"use_ttl,omitempty"`

	// The name of the DNS View in which the record resides. Example: "external".
	View *string `json:"view,omitempty"`

	// The name of the zone in which the record resides. Example: "zone.com". If a
	// view is not specified when searching by zone, the default view is used.
	Zone string `json:"zone,omitempty"`
}

RecordRpzPtr represents Infoblox object record:rpz:ptr. An RPZ Substitute (PTR Record) Rule object represents a Pointer (PTR) resource record. To define a specific address-to-name mapping, add an RPZ Substitute (PTR Record) Rule to a previously defined Response Policy Zone.

func (RecordRpzPtr) ObjectType added in v2.4.0

func (RecordRpzPtr) ObjectType() string

func (RecordRpzPtr) ReturnFields added in v2.4.0

func (obj RecordRpzPtr) ReturnFields() []string

type RecordRpzSrv added in v2.4.0

type RecordRpzSrv struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The comment for the record; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// Determines if the record is disabled or not. False means that the record is
	// enabled.
	Disable *bool `json:"disable,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The name for a record in FQDN format. This value cannot be in unicode
	// format.
	Name *string `json:"name,omitempty"`

	// The port of the Substitute (SRV Record) Rule. Valid values are from 0 to
	// 65535 (inclusive), in 32-bit unsigned integer format.
	Port *uint32 `json:"port,omitempty"`

	// The priority of the Substitute (SRV Record) Rule. Valid values are from 0 to
	// 65535 (inclusive), in 32-bit unsigned integer format.
	Priority *uint32 `json:"priority,omitempty"`

	// The name of a response policy zone in which the record resides.
	RpZone *string `json:"rp_zone,omitempty"`

	// The target of the Substitute (SRV Record) Rule in FQDN format. This value
	// can be in unicode format.
	Target *string `json:"target,omitempty"`

	// The Time To Live (TTL) value for record. A 32-bit unsigned integer that
	// represents the duration, in seconds, for which the record is valid (cached).
	// Zero indicates that the record should not be cached.
	Ttl *uint32 `json:"ttl,omitempty"`

	// Use flag for: ttl
	UseTtl *bool `json:"use_ttl,omitempty"`

	// The name of the DNS View in which the record resides. Example: "external".
	View *string `json:"view,omitempty"`

	// The weight of the Substitute (SRV Record) Rule. Valid values are from 0 to
	// 65535 (inclusive), in 32-bit unsigned integer format.
	Weight *uint32 `json:"weight,omitempty"`

	// The name of the zone in which the record resides. Example: "zone.com". If a
	// view is not specified when searching by zone, the default view is used.
	Zone string `json:"zone,omitempty"`
}

RecordRpzSrv represents Infoblox object record:rpz:srv. An RPZ Substitute (SRV Record) Rule object represents the substitution rule for DNS SRV records.

func (RecordRpzSrv) ObjectType added in v2.4.0

func (RecordRpzSrv) ObjectType() string

func (RecordRpzSrv) ReturnFields added in v2.4.0

func (obj RecordRpzSrv) ReturnFields() []string

type RecordRpzTxt added in v2.4.0

type RecordRpzTxt struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The comment for the record; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// Determines if the record is disabled or not. False means that the record is
	// enabled.
	Disable *bool `json:"disable,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The name for a record in FQDN format. This value cannot be in unicode
	// format.
	Name *string `json:"name,omitempty"`

	// The name of a response policy zone in which the record resides.
	RpZone *string `json:"rp_zone,omitempty"`

	// Text associated with the record. It can contain up to 255 bytes per
	// substring, up to a total of 512 bytes. To enter leading, trailing, or
	// embedded spaces in the text, add quotes around the text to preserve the
	// spaces.
	Text *string `json:"text,omitempty"`

	// The Time To Live (TTL) value for record. A 32-bit unsigned integer that
	// represents the duration, in seconds, for which the record is valid (cached).
	// Zero indicates that the record should not be cached.
	Ttl *uint32 `json:"ttl,omitempty"`

	// Use flag for: ttl
	UseTtl *bool `json:"use_ttl,omitempty"`

	// The name of the DNS View in which the record resides. Example: "external".
	View *string `json:"view,omitempty"`

	// The name of the zone in which the record resides. Example: "zone.com". If a
	// view is not specified when searching by zone, the default view is used.
	Zone string `json:"zone,omitempty"`
}

RecordRpzTxt represents Infoblox object record:rpz:txt. An RPZ Substitute (TXT Record) Rule object represents the substitution rule for DNS TXT records.

func (RecordRpzTxt) ObjectType added in v2.4.0

func (RecordRpzTxt) ObjectType() string

func (RecordRpzTxt) ReturnFields added in v2.4.0

func (obj RecordRpzTxt) ReturnFields() []string

type RecordRrsig added in v2.4.0

type RecordRrsig struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The cryptographic algorithm that was used to create the signature. It uses
	// the same algorithm types as the DNSKEY record indicated in the key tag
	// field.
	Algorithm string `json:"algorithm,omitempty"`

	// Structure containing all cloud API related information for this object.
	CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`

	// The creation time of the record.
	CreationTime *UnixTime `json:"creation_time,omitempty"`

	// The record creator.
	Creator string `json:"creator,omitempty"`

	// Name for an RRSIG record in punycode format.
	DnsName string `json:"dns_name,omitempty"`

	// The domain name, in punycode format, of the zone that contains the signed
	// RRset.
	DnsSignerName string `json:"dns_signer_name,omitempty"`

	// The expiry time of an RRSIG record in Epoch seconds format.
	ExpirationTime *UnixTime `json:"expiration_time,omitempty"`

	// The inception time of an RRSIG record in Epoch seconds format.
	InceptionTime *UnixTime `json:"inception_time,omitempty"`

	// The key tag value of the DNSKEY RR that validates the signature.
	KeyTag uint32 `json:"key_tag,omitempty"`

	// The number of labels in the name of the RRset signed with the RRSIG object.
	Labels uint32 `json:"labels,omitempty"`

	// The time of the last DNS query in Epoch seconds format.
	LastQueried *UnixTime `json:"last_queried,omitempty"`

	// The name of the RRSIG record in FQDN format.
	Name string `json:"name,omitempty"`

	// The TTL value of the RRset covered by the RRSIG record.
	OriginalTtl uint32 `json:"original_ttl,omitempty"`

	// The Base64 encoded cryptographic signature that covers the RRSIG RDATA of
	// the RRSIG Record object.
	Signature string `json:"signature,omitempty"`

	// The domain name of the zone in FQDN format that contains the signed RRset.
	SignerName string `json:"signer_name,omitempty"`

	// The Time To Live (TTL) value for the record. A 32-bit unsigned integer that
	// represents the duration, in seconds, for which the record is valid (cached).
	// Zero indicates that the record should not be cached.
	Ttl uint32 `json:"ttl,omitempty"`

	// The RR type covered by the RRSIG record.
	TypeCovered string `json:"type_covered,omitempty"`

	// Use flag for: ttl
	UseTtl bool `json:"use_ttl,omitempty"`

	// The name of the DNS View in which the record resides. Example: "external".
	View string `json:"view,omitempty"`

	// The name of the zone in which the record resides. Example: "zone.com". If a
	// view is not specified when searching by zone, the default view is used.
	Zone string `json:"zone,omitempty"`
}

RecordRrsig represents Infoblox object record:rrsig. RRSIG records are one of the resource records in DNSSEC. These records store digital signatures of resource record sets (RRsets). Digital signatures are used to authenticate data that is in the signed RRsets.

func (RecordRrsig) ObjectType added in v2.4.0

func (RecordRrsig) ObjectType() string

func (RecordRrsig) ReturnFields added in v2.4.0

func (obj RecordRrsig) ReturnFields() []string

type RecordSRV added in v2.3.0

type RecordSRV struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Aws Route 53 record information.
	AwsRte53RecordInfo *Awsrte53recordinfo `json:"aws_rte53_record_info,omitempty"`

	// Structure containing all cloud API related information for this object.
	CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`

	// Comment for the record; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// The time of the record creation in Epoch seconds format.
	CreationTime *UnixTime `json:"creation_time,omitempty"`

	// The record creator. Note that changing creator from or to 'SYSTEM' value is
	// not allowed.
	Creator string `json:"creator,omitempty"`

	// The GSS-TSIG principal that owns this record.
	DdnsPrincipal *string `json:"ddns_principal,omitempty"`

	// Determines if the DDNS updates for this record are allowed or not.
	DdnsProtected *bool `json:"ddns_protected,omitempty"`

	// Determines if the record is disabled or not. False means that the record is
	// enabled.
	Disable *bool `json:"disable,omitempty"`

	// The name for an SRV record in punycode format.
	DnsName string `json:"dns_name,omitempty"`

	// The name for a SRV record in punycode format.
	DnsTarget string `json:"dns_target,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// Determines if the reclamation is allowed for the record or not.
	ForbidReclamation *bool `json:"forbid_reclamation,omitempty"`

	// The time of the last DNS query in Epoch seconds format.
	LastQueried *UnixTime `json:"last_queried,omitempty"`

	// A name in FQDN format. This value can be in unicode format.
	Name *string `json:"name,omitempty"`

	// The port of the SRV record. Valid values are from 0 to 65535 (inclusive), in
	// 32-bit unsigned integer format.
	Port *uint32 `json:"port,omitempty"`

	// The priority of the SRV record. Valid values are from 0 to 65535
	// (inclusive), in 32-bit unsigned integer format.
	Priority *uint32 `json:"priority,omitempty"`

	// Determines if the record is reclaimable or not.
	Reclaimable bool `json:"reclaimable,omitempty"`

	// The name of the shared record group in which the record resides. This field
	// exists only on db_objects if this record is a shared record.
	SharedRecordGroup string `json:"shared_record_group,omitempty"`

	// The target of the SRV record in FQDN format. This value can be in unicode
	// format.
	Target *string `json:"target,omitempty"`

	// The Time to Live (TTL) value for the record. A 32-bit unsigned integer that
	// represents the duration, in seconds, for which the record is valid (cached).
	// Zero indicates that the record should not be cached.
	Ttl *uint32 `json:"ttl,omitempty"`

	// Use flag for: ttl
	UseTtl *bool `json:"use_ttl,omitempty"`

	// The name of the DNS view in which the record resides. Example: "external".
	View string `json:"view,omitempty"`

	// The weight of the SRV record. Valid values are from 0 to 65535 (inclusive),
	// in 32-bit unsigned integer format.
	Weight *uint32 `json:"weight,omitempty"`

	// The name of the zone in which the record resides. Example: "zone.com". If a
	// view is not specified when searching by zone, the default view is used.
	Zone string `json:"zone,omitempty"`
}

RecordSRV represents Infoblox object record:srv. A DNS SRV object represents an SRV resource record, which is also known as a service record. An SRV record provides information on available services.

func NewEmptyRecordSRV added in v2.3.0

func NewEmptyRecordSRV() *RecordSRV

func NewRecordSRV added in v2.3.0

func NewRecordSRV(rv RecordSRV) *RecordSRV

func (RecordSRV) ObjectType added in v2.4.0

func (RecordSRV) ObjectType() string

func (RecordSRV) ReturnFields added in v2.4.0

func (obj RecordSRV) ReturnFields() []string

type RecordTXT

type RecordTXT struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Aws Route 53 record information.
	AwsRte53RecordInfo *Awsrte53recordinfo `json:"aws_rte53_record_info,omitempty"`

	// Structure containing all cloud API related information for this object.
	CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`

	// Comment for the record; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// The time of the record creation in Epoch seconds format.
	CreationTime *UnixTime `json:"creation_time,omitempty"`

	// The record creator. Note that changing creator from or to 'SYSTEM' value is
	// not allowed.
	Creator string `json:"creator,omitempty"`

	// The GSS-TSIG principal that owns this record.
	DdnsPrincipal *string `json:"ddns_principal,omitempty"`

	// Determines if the DDNS updates for this record are allowed or not.
	DdnsProtected *bool `json:"ddns_protected,omitempty"`

	// Determines if the record is disabled or not. False means that the record is
	// enabled.
	Disable *bool `json:"disable,omitempty"`

	// The name for a TXT record in punycode format.
	DnsName string `json:"dns_name,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// Determines if the reclamation is allowed for the record or not.
	ForbidReclamation *bool `json:"forbid_reclamation,omitempty"`

	// The time of the last DNS query in Epoch seconds format.
	LastQueried *UnixTime `json:"last_queried,omitempty"`

	// Name for the TXT record in FQDN format. This value can be in unicode format.
	Name *string `json:"name,omitempty"`

	// Determines if the record is reclaimable or not.
	Reclaimable bool `json:"reclaimable,omitempty"`

	// The name of the shared record group in which the record resides. This field
	// exists only on db_objects if this record is a shared record.
	SharedRecordGroup string `json:"shared_record_group,omitempty"`

	// Text associated with the record. It can contain up to 255 bytes per
	// substring, up to a total of 512 bytes. To enter leading, trailing, or
	// embedded spaces in the text, add quotes around the text to preserve the
	// spaces.
	Text *string `json:"text,omitempty"`

	// The Time To Live (TTL) value for the record. A 32-bit unsigned integer that
	// represents the duration, in seconds, for which the record is valid (cached).
	// Zero indicates that the record should not be cached.
	Ttl *uint32 `json:"ttl,omitempty"`

	// Use flag for: ttl
	UseTtl *bool `json:"use_ttl,omitempty"`

	// The name of the DNS view in which the record resides. Example: "external".
	View *string `json:"view,omitempty"`

	// The name of the zone in which the record resides. Example: "zone.com". If a
	// view is not specified when searching by zone, the default view is used.
	Zone string `json:"zone,omitempty"`
}

RecordTXT represents Infoblox object record:txt. A TXT (text record) record contains supplemental information for a host. For example, if you have a sales server that serves only North America, you can create a text record stating this fact. You can create more than one text record for a domain name.

func NewEmptyRecordTXT added in v2.2.0

func NewEmptyRecordTXT() *RecordTXT

func NewRecordTXT

func NewRecordTXT(
	dnsview string,
	zone string,
	recordname string,
	text string,
	ttl uint32,
	useTtl bool,
	comment string,
	eas EA) *RecordTXT

func (RecordTXT) ObjectType added in v2.4.0

func (RecordTXT) ObjectType() string

func (RecordTXT) ReturnFields added in v2.4.0

func (obj RecordTXT) ReturnFields() []string

type RecordTlsa added in v2.4.0

type RecordTlsa struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Hex dump of either raw data for matching type 0, or the hash of the raw data
	// for matching types 1 and 2.
	CertificateData *string `json:"certificate_data,omitempty"`

	// Specifies the provided association that will be used to match the
	// certificate presented in the TLS handshake. Based on RFC-6698.
	CertificateUsage *uint32 `json:"certificate_usage,omitempty"`

	// Structure containing all cloud API related information for this object.
	CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`

	// Comment for the record; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// The record creator. Note that changing creator from or to 'SYSTEM' value is
	// not allowed.
	Creator string `json:"creator,omitempty"`

	// Determines if the record is disabled or not. False means that the record is
	// enabled.
	Disable *bool `json:"disable,omitempty"`

	// The name of the TLSA record in punycode format.
	DnsName string `json:"dns_name,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The time of the last DNS query in Epoch seconds format.
	LastQueried *UnixTime `json:"last_queried,omitempty"`

	// Specifies how the certificate association is presented. Based on RFC-6698.
	MatchedType *uint32 `json:"matched_type,omitempty"`

	// The TLSA record name in FQDN format. This value can be in unicode format.
	Name *string `json:"name,omitempty"`

	// Specifies which part of the TLS certificate presented by the server will be
	// matched against the association data. Based on RFC-6698.
	Selector *uint32 `json:"selector,omitempty"`

	// The Time to Live (TTL) value for the record. A 32-bit unsigned integer that
	// represents the duration, in seconds, for which the record is valid (cached).
	// Zero indicates that the record should not be cached.
	Ttl *uint32 `json:"ttl,omitempty"`

	// Use flag for: ttl
	UseTtl *bool `json:"use_ttl,omitempty"`

	// The name of the DNS view in which the record resides. Example: "external".
	View *string `json:"view,omitempty"`

	// The name of the zone in which the record resides. Example: "zone.com". If a
	// view is not specified when searching by zone, the default view is used.
	Zone string `json:"zone,omitempty"`
}

RecordTlsa represents Infoblox object record:tlsa. The TLSA DNS resource record (RR) is used to associate a TLS server certificate or public key with the domain name where the record is found, thus forming a ‘TLSA certificate association’. For further details see RFC-6698. Note that you must specify only one view for the attribute ‘views’.

func (RecordTlsa) ObjectType added in v2.4.0

func (RecordTlsa) ObjectType() string

func (RecordTlsa) ReturnFields added in v2.4.0

func (obj RecordTlsa) ReturnFields() []string

type RecordUnknown added in v2.4.0

type RecordUnknown struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Structure containing all cloud API related information for this object.
	CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`

	// Comment for the record; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// The record creator. Note that changing creator from or to 'SYSTEM' value is
	// not allowed.
	Creator string `json:"creator,omitempty"`

	// Determines if the record is disabled or not. False means that the record is
	// enabled.
	Disable *bool `json:"disable,omitempty"`

	// Standard textual representation of the RDATA.
	DisplayRdata string `json:"display_rdata,omitempty"`

	// The name of the unknown record in punycode format.
	DnsName string `json:"dns_name,omitempty"`

	// Determines if host name policy is applicable for the record.
	EnableHostNamePolicy *bool `json:"enable_host_name_policy,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The time of the last DNS query in Epoch seconds format.
	LastQueried *UnixTime `json:"last_queried,omitempty"`

	// The Unknown record name in FQDN format. This value can be in unicode format.
	Name *string `json:"name,omitempty"`

	// The host name policy for the record.
	Policy string `json:"policy,omitempty"`

	// Specifies type of unknown resource record.
	RecordType *string `json:"record_type,omitempty"`

	// The list of rdata subfield values of unknown resource record.
	SubfieldValues []*Rdatasubfield `json:"subfield_values,omitempty"`

	// The Time to Live (TTL) value for the record. A 32-bit unsigned integer that
	// represents the duration, in seconds, for which the record is valid (cached).
	// Zero indicates that the record should not be cached.
	Ttl *uint32 `json:"ttl,omitempty"`

	// Use flag for: ttl
	UseTtl *bool `json:"use_ttl,omitempty"`

	// The name of the DNS view in which the record resides. Example: "external".
	View *string `json:"view,omitempty"`

	// The name of the zone in which the record resides. Example: "zone.com". If a
	// view is not specified when searching by zone, the default view is used.
	Zone string `json:"zone,omitempty"`
}

RecordUnknown represents Infoblox object record:unknown. An “RR of unknown type” is an RR whose RDATA format is not known to the DNS implementation at hand, and whose type is not an assigned QTYPE or Meta-TYPE as specified in 2929] nor within the range reserved in that section for assignment only to QTYPEs and Meta-TYPEs. The purpose of the Unknown resource record is to allow future DNS implementations to handle new RR types transparently. For further details see RFC-3597.

func (RecordUnknown) ObjectType added in v2.4.0

func (RecordUnknown) ObjectType() string

func (RecordUnknown) ReturnFields added in v2.4.0

func (obj RecordUnknown) ReturnFields() []string

type Recordnamepolicy added in v2.4.0

type Recordnamepolicy struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Determines whether the record name policy is Grid default.
	IsDefault *bool `json:"is_default,omitempty"`

	// The name of the record name policy object.
	Name *string `json:"name,omitempty"`

	// Determines whether the record name policy is a predefined one.
	PreDefined bool `json:"pre_defined,omitempty"`

	// The POSIX regular expression the record names should match in order to
	// comply with the record name policy.
	Regex *string `json:"regex,omitempty"`
}

Recordnamepolicy represents Infoblox object recordnamepolicy. You can enforce naming policy for the hostnames of A, AAAA, Host, MX, NS and bulk host records based on user-defined or default patterns. For MX and NS records, the hostname restrictions apply to the text in the RDATA field of the resource record name. Records that you created before you enabled the hostname checking policy need not to comply with the hostname restriction that you specify.

func (Recordnamepolicy) ObjectType added in v2.4.0

func (Recordnamepolicy) ObjectType() string

func (Recordnamepolicy) ReturnFields added in v2.4.0

func (obj Recordnamepolicy) ReturnFields() []string

type Remoteddnszone added in v2.4.0

type Remoteddnszone struct {
	// The FQDN of the remote server.
	Fqdn string `json:"fqdn,omitempty"`

	// The remote server IP address.
	ServerAddress string `json:"server_address,omitempty"`

	// The principal name in which GSS-TSIG for dynamic updates is enabled.
	GssTsigDnsPrincipal string `json:"gss_tsig_dns_principal,omitempty"`

	// The domain in which GSS-TSIG for dynamic updates is enabled.
	GssTsigDomain string `json:"gss_tsig_domain,omitempty"`

	// The TSIG key value.
	TsigKey string `json:"tsig_key,omitempty"`

	// The TSIG key alorithm name.
	TsigKeyAlg string `json:"tsig_key_alg,omitempty"`

	// The name of the TSIG key. The key name entered here must match the TSIG key
	// name on the external name server.
	TsigKeyName string `json:"tsig_key_name,omitempty"`

	// The key type to be used.
	KeyType string `json:"key_type,omitempty"`
}

Remoteddnszone represents Infoblox struct remoteddnszone

type RequestBody

type RequestBody struct {
	Data               map[string]interface{} `json:"data,omitempty"`
	Args               map[string]string      `json:"args,omitempty"`
	Method             string                 `json:"method"`
	Object             string                 `json:"object,omitempty"`
	EnableSubstitution bool                   `json:"enable_substitution,omitempty"`
	AssignState        map[string]string      `json:"assign_state,omitempty"`
	Discard            bool                   `json:"discard,omitempty"`
}

type RequestType

type RequestType int
const (
	CREATE RequestType = iota
	GET
	DELETE
	UPDATE
)

type Restartservicestatus added in v2.4.0

type Restartservicestatus struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The status of the DHCP service.
	DhcpStatus string `json:"dhcp_status,omitempty"`

	// The status of the DNS service.
	DnsStatus string `json:"dns_status,omitempty"`

	// The name of this Grid member in FQDN format.
	Member string `json:"member,omitempty"`

	// The status of the reporting service.
	ReportingStatus string `json:"reporting_status,omitempty"`
}

Restartservicestatus represents Infoblox object restartservicestatus. This object represents the service status. Use the the requestrestartservicestatus function call in object grid or the requestrestartservicestatus function call in object member to refresh the status.

func (Restartservicestatus) ObjectType added in v2.4.0

func (Restartservicestatus) ObjectType() string

func (Restartservicestatus) ReturnFields added in v2.4.0

func (obj Restartservicestatus) ReturnFields() []string

type Rir added in v2.4.0

type Rir struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The communication mode for RIR.
	CommunicationMode string `json:"communication_mode,omitempty"`

	// The e-mail address for RIR.
	Email *string `json:"email,omitempty"`

	// The name of RIR.
	Name string `json:"name,omitempty"`

	// The WebAPI URL for RIR.
	Url *string `json:"url,omitempty"`

	// Use flag for: email
	UseEmail *bool `json:"use_email,omitempty"`

	// Use flag for: url
	UseUrl *bool `json:"use_url,omitempty"`
}

Rir represents Infoblox object rir. An RIR is an entity that manages the Internet number resources, which include IP addresses and autonomous system numbers, within a specific region of the world. RIRs use SWIP (Shared WHOIS Project) or RWhois (Referral WHOIS) servers to provide address allocation information for IP address blocks. Typically, an RIR determines the address blocks to be allocated for specific organizations (typically ISPs), while an ISP manages the allocated address blocks, associated organizations and corresponding RIR registrations. An organization can determine when to request for more address data with their RIRs every few months.

func (Rir) ObjectType added in v2.4.0

func (Rir) ObjectType() string

func (Rir) ReturnFields added in v2.4.0

func (obj Rir) ReturnFields() []string

type RirOrganization added in v2.4.0

type RirOrganization struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The RIR organization identifier.
	Id *string `json:"id,omitempty"`

	// The RIR organization maintainer.
	Maintainer *string `json:"maintainer,omitempty"`

	// The RIR organization name.
	Name *string `json:"name,omitempty"`

	// The password for the maintainer of RIR organization.
	Password *string `json:"password,omitempty"`

	// The RIR associated with RIR organization.
	Rir *string `json:"rir,omitempty"`

	// The sender e-mail address for RIR organization.
	SenderEmail *string `json:"sender_email,omitempty"`
}

RirOrganization represents Infoblox object rir:organization. An RIR organization provides information about an entity that has registered a network resource in the RIPE database. This entity can be a company (such as an ISP), a nonprofit group, or an individual. You can add RIR organizations defined in the RIPE database and start managing their data through NIOS.

func (RirOrganization) ObjectType added in v2.4.0

func (RirOrganization) ObjectType() string

func (RirOrganization) ReturnFields added in v2.4.0

func (obj RirOrganization) ReturnFields() []string

type RoamingHost added in v2.4.0

type RoamingHost struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The address type for this roaming host.
	AddressType string `json:"address_type,omitempty"`

	// The bootfile name for the roaming host. You can configure the DHCP server to
	// support clients that use the boot file name option in their DHCPREQUEST
	// messages.
	Bootfile *string `json:"bootfile,omitempty"`

	// The boot server address for the roaming host. You can specify the name
	// and/or IP address of the boot server that the host needs to boot. The boot
	// server IPv4 Address or name in FQDN format.
	Bootserver *string `json:"bootserver,omitempty"`

	// This field controls whether there is a prepend for the
	// dhcp-client-identifier of a roaming host.
	ClientIdentifierPrependZero *bool `json:"client_identifier_prepend_zero,omitempty"`

	// Comment for the roaming host; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// The DDNS domain name for this roaming host.
	DdnsDomainname *string `json:"ddns_domainname,omitempty"`

	// The DDNS host name for this roaming host.
	DdnsHostname *string `json:"ddns_hostname,omitempty"`

	// If set to true, BOOTP settings are disabled and BOOTP requests will be
	// denied.
	DenyBootp *bool `json:"deny_bootp,omitempty"`

	// The DHCP client ID for the roaming host.
	DhcpClientIdentifier *string `json:"dhcp_client_identifier,omitempty"`

	// Determines whether a roaming host is disabled or not. When this is set to
	// False, the roaming host is enabled.
	Disable *bool `json:"disable,omitempty"`

	// The dynamic DNS updates flag of the roaming host object. If set to True, the
	// DHCP server sends DDNS updates to DNS servers in the same Grid, and to
	// external DNS servers.
	EnableDdns *bool `json:"enable_ddns,omitempty"`

	// Set this to True if you want the DHCP server to use a different lease time
	// for PXE clients.
	EnablePxeLeaseTime *bool `json:"enable_pxe_lease_time,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// Set this to True to use the roaming host name as its ddns_hostname.
	ForceRoamingHostname *bool `json:"force_roaming_hostname,omitempty"`

	// If this field is set to False, the appliance returns all the DHCP options
	// the client is eligible to receive, rather than only the list of options the
	// client has requested.
	IgnoreDhcpOptionListRequest *bool `json:"ignore_dhcp_option_list_request,omitempty"`

	// The client hostname of a DHCP roaming host object. This field specifies the
	// host name that the DHCP client sends to the Infoblox appliance using DHCP
	// option 12.
	Ipv6ClientHostname string `json:"ipv6_client_hostname,omitempty"`

	// The IPv6 DDNS domain name for this roaming host.
	Ipv6DdnsDomainname *string `json:"ipv6_ddns_domainname,omitempty"`

	// The IPv6 DDNS host name for this roaming host.
	Ipv6DdnsHostname *string `json:"ipv6_ddns_hostname,omitempty"`

	// The IPv6 domain name for this roaming host.
	Ipv6DomainName *string `json:"ipv6_domain_name,omitempty"`

	// The IPv6 addresses of DNS recursive name servers to which the DHCP client
	// can send name resolution requests. The DHCP server includes this information
	// in the DNS Recursive Name Server option in Advertise, Rebind,
	// Information-Request, and Reply messages.
	Ipv6DomainNameServers []string `json:"ipv6_domain_name_servers,omitempty"`

	// The DUID value for this roaming host.
	Ipv6Duid *string `json:"ipv6_duid,omitempty"`

	// Set this to True to enable IPv6 DDNS.
	Ipv6EnableDdns *bool `json:"ipv6_enable_ddns,omitempty"`

	// Set this to True to use the roaming host name as its ddns_hostname.
	Ipv6ForceRoamingHostname *bool `json:"ipv6_force_roaming_hostname,omitempty"`

	// The identification method for an IPv6 or mixed IPv4/IPv6 roaming host.
	// Currently, the only supported value for this field is "DUID", which
	// corresponds to identification by DHCPv6 unique ID.
	Ipv6MatchOption string `json:"ipv6_match_option,omitempty"`

	// An array of DHCP option dhcpoption structs that lists the DHCP options
	// associated with the object.
	Ipv6Options []*Dhcpoption `json:"ipv6_options,omitempty"`

	// If set on creation, the roaming host will be created according to the values
	// specified in the named IPv6 roaming host template.
	Ipv6Template string `json:"ipv6_template,omitempty"`

	// The MAC address for this roaming host.
	Mac *string `json:"mac,omitempty"`

	// The match-client value for this roaming host. Valid values are:
	// "MAC_ADDRESS": The fixed IP address is leased to the matching MAC address.
	// "CLIENT_ID": The fixed IP address is leased to the matching DHCP client
	// identifier.
	MatchClient string `json:"match_client,omitempty"`

	// The name of this roaming host.
	Name *string `json:"name,omitempty"`

	// The name of the network view in which this roaming host resides.
	NetworkView *string `json:"network_view,omitempty"`

	// The name in FQDN and/or IPv4 Address format of the next server that the host
	// needs to boot.
	Nextserver *string `json:"nextserver,omitempty"`

	// An array of DHCP option dhcpoption structs that lists the DHCP options
	// associated with the object.
	Options []*Dhcpoption `json:"options,omitempty"`

	// The preferred lifetime value for this roaming host object.
	PreferredLifetime *uint32 `json:"preferred_lifetime,omitempty"`

	// The PXE lease time value for this roaming host object. Some hosts use PXE
	// (Preboot Execution Environment) to boot remotely from a server. To better
	// manage your IP resources, set a different lease time for PXE boot requests.
	// You can configure the DHCP server to allocate an IP address with a shorter
	// lease time to hosts that send PXE boot requests, so IP addresses are not
	// leased longer than necessary. A 32-bit unsigned integer that represents the
	// duration, in seconds, for which the update is cached. Zero indicates that
	// the update is not cached.
	PxeLeaseTime *uint32 `json:"pxe_lease_time,omitempty"`

	// If set on creation, the roaming host will be created according to the values
	// specified in the named template.
	Template string `json:"template,omitempty"`

	// Use flag for: bootfile
	UseBootfile *bool `json:"use_bootfile,omitempty"`

	// Use flag for: bootserver
	UseBootserver *bool `json:"use_bootserver,omitempty"`

	// Use flag for: ddns_domainname
	UseDdnsDomainname *bool `json:"use_ddns_domainname,omitempty"`

	// Use flag for: deny_bootp
	UseDenyBootp *bool `json:"use_deny_bootp,omitempty"`

	// Use flag for: enable_ddns
	UseEnableDdns *bool `json:"use_enable_ddns,omitempty"`

	// Use flag for: ignore_dhcp_option_list_request
	UseIgnoreDhcpOptionListRequest *bool `json:"use_ignore_dhcp_option_list_request,omitempty"`

	// Use flag for: ipv6_ddns_domainname
	UseIpv6DdnsDomainname *bool `json:"use_ipv6_ddns_domainname,omitempty"`

	// Use flag for: ipv6_domain_name
	UseIpv6DomainName *bool `json:"use_ipv6_domain_name,omitempty"`

	// Use flag for: ipv6_domain_name_servers
	UseIpv6DomainNameServers *bool `json:"use_ipv6_domain_name_servers,omitempty"`

	// Use flag for: ipv6_enable_ddns
	UseIpv6EnableDdns *bool `json:"use_ipv6_enable_ddns,omitempty"`

	// Use flag for: ipv6_options
	UseIpv6Options *bool `json:"use_ipv6_options,omitempty"`

	// Use flag for: nextserver
	UseNextserver *bool `json:"use_nextserver,omitempty"`

	// Use flag for: options
	UseOptions *bool `json:"use_options,omitempty"`

	// Use flag for: preferred_lifetime
	UsePreferredLifetime *bool `json:"use_preferred_lifetime,omitempty"`

	// Use flag for: pxe_lease_time
	UsePxeLeaseTime *bool `json:"use_pxe_lease_time,omitempty"`

	// Use flag for: valid_lifetime
	UseValidLifetime *bool `json:"use_valid_lifetime,omitempty"`

	// The valid lifetime value for this roaming host object.
	ValidLifetime *uint32 `json:"valid_lifetime,omitempty"`
}

RoamingHost represents Infoblox object roaminghost. A roaming host is a specific host that a DHCP server always assigns when a lease request comes from a particular MAC address of the client.

func (RoamingHost) ObjectType added in v2.4.0

func (RoamingHost) ObjectType() string

func (RoamingHost) ReturnFields added in v2.4.0

func (obj RoamingHost) ReturnFields() []string

type Ruleset added in v2.4.0

type Ruleset struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Descriptive comment about the Ruleset object.
	Comment *string `json:"comment,omitempty"`

	// The flag that indicates if the Ruleset object is disabled.
	Disabled *bool `json:"disabled,omitempty"`

	// The name of this Ruleset object.
	Name *string `json:"name,omitempty"`

	// The list of Rules assigned to this Ruleset object. Rules can be set only
	// when the Ruleset type is set to "NXDOMAIN".
	NxdomainRules []*Nxdomainrule `json:"nxdomain_rules,omitempty"`

	// The type of this Ruleset object.
	Type string `json:"type,omitempty"`
}

Ruleset represents Infoblox object ruleset. Represents a Ruleset object, which is a collection of rules that is used to match domain names.

func (Ruleset) ObjectType added in v2.4.0

func (Ruleset) ObjectType() string

func (Ruleset) ReturnFields added in v2.4.0

func (obj Ruleset) ReturnFields() []string

type SNMPUser added in v2.4.0

type SNMPUser struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Determines an authentication password for the user. This is a write-only
	// attribute.
	AuthenticationPassword *string `json:"authentication_password,omitempty"`

	// The authentication protocol to be used for this user.
	AuthenticationProtocol string `json:"authentication_protocol,omitempty"`

	// A descriptive comment for the SNMPv3 User.
	Comment *string `json:"comment,omitempty"`

	// Determines if SNMPv3 user is disabled or not.
	Disable *bool `json:"disable,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The name of the user.
	Name *string `json:"name,omitempty"`

	// Determines a password for the privacy protocol.
	PrivacyPassword *string `json:"privacy_password,omitempty"`

	// The privacy protocol to be used for this user.
	PrivacyProtocol string `json:"privacy_protocol,omitempty"`
}

SNMPUser represents Infoblox object snmpuser. This object contains information related to SNMPv3 users.

func (SNMPUser) ObjectType added in v2.4.0

func (SNMPUser) ObjectType() string

func (SNMPUser) ReturnFields added in v2.4.0

func (obj SNMPUser) ReturnFields() []string

type SamlAuthservice added in v2.4.0

type SamlAuthservice struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The descriptive comment for the SAML authentication service.
	Comment *string `json:"comment,omitempty"`

	// The SAML Identity Provider to use for authentication.
	Idp *SamlIdp `json:"idp,omitempty"`

	// The name of the SAML authentication service.
	Name *string `json:"name,omitempty"`

	// The session timeout in seconds.
	SessionTimeout *uint32 `json:"session_timeout,omitempty"`
}

SamlAuthservice represents Infoblox object saml:authservice. This object represents SAML authentication service.

func (SamlAuthservice) ObjectType added in v2.4.0

func (SamlAuthservice) ObjectType() string

func (SamlAuthservice) ReturnFields added in v2.4.0

func (obj SamlAuthservice) ReturnFields() []string

type SamlIdp added in v2.4.0

type SamlIdp struct {
	// SAML Identity Provider type.
	IdpType string `json:"idp_type,omitempty"`

	// The SAML Identity Provider descriptive comment.
	Comment string `json:"comment,omitempty"`

	// Identity Provider Metadata URL.
	MetadataUrl string `json:"metadata_url,omitempty"`

	// The token returned by the uploadinit function call in object fileop.
	MetadataToken string `json:"metadata_token,omitempty"`

	// The SAML groupname optional user group attribute.
	Groupname string `json:"groupname,omitempty"`

	// host name or IP address of the GM
	SsoRedirectUrl string `json:"sso_redirect_url,omitempty"`
}

SamlIdp represents Infoblox struct saml:idp

type Scavengingtask added in v2.4.0

type Scavengingtask struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The scavenging action.
	Action string `json:"action,omitempty"`

	// The reference to the object associated with the scavenging task.
	AssociatedObject string `json:"associated_object,omitempty"`

	// The scavenging process end time.
	EndTime *UnixTime `json:"end_time,omitempty"`

	// The number of processed during scavenging resource records.
	ProcessedRecords uint32 `json:"processed_records,omitempty"`

	// The number of resource records that are allowed to be reclaimed during the
	// scavenging process.
	ReclaimableRecords uint32 `json:"reclaimable_records,omitempty"`

	// The number of reclaimed during the scavenging process resource records.
	ReclaimedRecords uint32 `json:"reclaimed_records,omitempty"`

	// The scavenging process start time.
	StartTime *UnixTime `json:"start_time,omitempty"`

	// The scavenging process status. This is a read-only attribute.
	Status string `json:"status,omitempty"`
}

Scavengingtask represents Infoblox object scavengingtask. The DNS scavenging task object provides information on scavenging process state.

func (Scavengingtask) ObjectType added in v2.4.0

func (Scavengingtask) ObjectType() string

func (Scavengingtask) ReturnFields added in v2.4.0

func (obj Scavengingtask) ReturnFields() []string

type ScheduledTask added in v2.4.0

type ScheduledTask struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The approval status of the task.
	ApprovalStatus string `json:"approval_status,omitempty"`

	// The approver of the task.
	Approver string `json:"approver,omitempty"`

	// The comment specified by the approver of the task.
	ApproverComment *string `json:"approver_comment,omitempty"`

	// Indicates whether there will be an automatic restart when the appliance
	// executes the task.
	AutomaticRestart *bool `json:"automatic_restart,omitempty"`

	// A list of objects that are affected by the task.
	ChangedObjects []*Changedobject `json:"changed_objects,omitempty"`

	// If this scheduled task has dependent tasks, their references will be
	// returned in this field.
	DependentTasks []*ScheduledTask `json:"dependent_tasks,omitempty"`

	// If this field is set to True the specified task will be executed
	// immediately.
	ExecuteNow *bool `json:"execute_now,omitempty"`

	// Messages generated by the execution of the scheduled task after its
	// completion.
	ExecutionDetails []string `json:"execution_details,omitempty"`

	// The type of details generated by the execution of the scheduled task after
	// its completion.
	ExecutionDetailsType string `json:"execution_details_type,omitempty"`

	// The execution status of the task.
	ExecutionStatus string `json:"execution_status,omitempty"`

	// The time when the appliance executed the task.
	ExecutionTime *UnixTime `json:"execution_time,omitempty"`

	// Indicates whether this is a Network Insight scheduled task.
	IsNetworkInsightTask bool `json:"is_network_insight_task,omitempty"`

	// The member where this task was created.
	Member string `json:"member,omitempty"`

	// If this scheduled task has a predecessor task set, its reference will be
	// returned in this field.
	PredecessorTask string `json:"predecessor_task,omitempty"`

	// If set to True, if the scheduled task is a Network Insight task and it
	// failed, a new task will be cloned from this task and re-executed.
	ReExecuteTask *bool `json:"re_execute_task,omitempty"`

	// The time when the task is scheduled to occur.
	ScheduledTime *UnixTime `json:"scheduled_time,omitempty"`

	// The time when the task was submitted.
	SubmitTime *UnixTime `json:"submit_time,omitempty"`

	// The submitter of the task.
	Submitter string `json:"submitter,omitempty"`

	// The comment specified by the submitter of the task.
	SubmitterComment *string `json:"submitter_comment,omitempty"`

	// The task ID.
	TaskId uint32 `json:"task_id,omitempty"`

	// The task type.
	TaskType string `json:"task_type,omitempty"`

	// The task ticket number.
	TicketNumber string `json:"ticket_number,omitempty"`
}

ScheduledTask represents Infoblox object scheduledtask. This object represents a scheduled task.

func (ScheduledTask) ObjectType added in v2.4.0

func (ScheduledTask) ObjectType() string

func (ScheduledTask) ReturnFields added in v2.4.0

func (obj ScheduledTask) ReturnFields() []string

type Scheduledbackup added in v2.4.0

type Scheduledbackup struct {
	// The status of the scheduled backup.
	Status string `json:"status,omitempty"`

	// The state for scheduled backup or restore operation.
	Execute string `json:"execute,omitempty"`

	// The scheduled backup operation.
	Operation string `json:"operation,omitempty"`

	// The destination of the backup files.
	BackupType string `json:"backup_type,omitempty"`

	// Determines whether the local backup performed before uploading backup to
	// remote storage.
	KeepLocalCopy bool `json:"keep_local_copy,omitempty"`

	// The frequency of backups.
	BackupFrequency string `json:"backup_frequency,omitempty"`

	// The day of the week when the backup is performed.
	Weekday string `json:"weekday,omitempty"`

	// The hour of the day past 12:00 AM the backup is performed.
	HourOfDay uint32 `json:"hour_of_day,omitempty"`

	// The minute of the hour when the backup is performed.
	MinutesPastHour uint32 `json:"minutes_past_hour,omitempty"`

	// The user name on the backup server.
	Username string `json:"username,omitempty"`

	// The user password on the backup server.
	Password string `json:"password,omitempty"`

	// The IP address of the backup server.
	BackupServer string `json:"backup_server,omitempty"`

	// The directory path to the backup file stored on the server.
	Path string `json:"path,omitempty"`

	// The destination of the restore files.
	RestoreType string `json:"restore_type,omitempty"`

	// The IP address of the restore server.
	RestoreServer string `json:"restore_server,omitempty"`

	// The user name on the restore server.
	RestoreUsername string `json:"restore_username,omitempty"`

	// The password on the restore server.
	RestorePassword string `json:"restore_password,omitempty"`

	// The directory path to the restored file on the server.
	RestorePath string `json:"restore_path,omitempty"`

	// Determines whether the restore of the NIOS data is enabled.
	NiosData bool `json:"nios_data,omitempty"`

	// Determines whether the restore the NetMRI data is enabled.
	DiscoveryData bool `json:"discovery_data,omitempty"`

	// Determines whether the restore of the Splunk application data is enabled.
	SplunkAppData bool `json:"splunk_app_data,omitempty"`

	// Determines whether the scheduled backup is enabled.
	Enable bool `json:"enable,omitempty"`

	// If set, scp backup support based on keys
	UseKeys bool `json:"use_keys,omitempty"`

	// If set, scp backup support based on keys type
	KeyType string `json:"key_type,omitempty"`

	// If set, scp backup support to upload keys
	UploadKeys bool `json:"upload_keys,omitempty"`

	// If set, scp backup support to download keys
	DownloadKeys bool `json:"download_keys,omitempty"`
}

Scheduledbackup represents Infoblox struct scheduledbackup

type Search struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`
}

Search represents Infoblox object search. The search object is used to perform global searches for multiple object types in the database. This object contains only search parameters and returns objects that match the search criteria. The returned objects are base objects for the respective object types.

func (Search) ObjectType added in v2.4.0

func (Search) ObjectType() string

func (Search) ReturnFields added in v2.4.0

func (obj Search) ReturnFields() []string

type Servicestatus added in v2.4.0

type Servicestatus struct {
	// The description of the current service status.
	Description string `json:"description,omitempty"`

	// The service status.
	Status string `json:"status,omitempty"`

	// The service identifier.
	Service string `json:"service,omitempty"`
}

Servicestatus represents Infoblox struct servicestatus

type SettingAtpoutbound added in v2.4.0

type SettingAtpoutbound struct {
	// Flag to enable using DNS query FQDN for Outbound.
	EnableQueryFqdn bool `json:"enable_query_fqdn,omitempty"`

	// Max domain level for DNS Query FQDN
	QueryFqdnLimit uint32 `json:"query_fqdn_limit,omitempty"`
}

SettingAtpoutbound represents Infoblox struct setting:atpoutbound

type SettingAutomatedtrafficcapture added in v2.4.0

type SettingAutomatedtrafficcapture struct {
	// Enable automated traffic capture based on monitoring thresholds.
	TrafficCaptureEnable bool `json:"traffic_capture_enable,omitempty"`

	// Destination of traffic capture files. Save traffic capture locally or upload
	// to remote server using FTP or SCP.
	Destination string `json:"destination,omitempty"`

	// The time interval on which traffic will be captured(in sec).
	Duration uint32 `json:"duration,omitempty"`

	// Enable automatic download for support bundle.
	IncludeSupportBundle bool `json:"include_support_bundle,omitempty"`

	// Save traffic capture files locally.
	KeepLocalCopy bool `json:"keep_local_copy,omitempty"`

	// IP Address of the destination host.
	DestinationHost string `json:"destination_host,omitempty"`

	// Directory to store the traffic capture files on the remote server.
	TrafficCaptureDirectory string `json:"traffic_capture_directory,omitempty"`

	// Directory to store the support bundle on the remote server.
	SupportBundleDirectory string `json:"support_bundle_directory,omitempty"`

	// User name for accessing the FTP/SCP server.
	Username string `json:"username,omitempty"`

	// Password for accessing the FTP/SCP server. This field is not readable.
	Password string `json:"password,omitempty"`
}

SettingAutomatedtrafficcapture represents Infoblox struct setting:automatedtrafficcapture

type SettingDnsresolver added in v2.4.0

type SettingDnsresolver struct {
	// The resolvers of a Grid member. The Grid member sends queries to the first
	// name server address in the list. The second name server address is used if
	// first one does not response.
	Resolvers []string `json:"resolvers,omitempty"`

	// The Search Domain Group, which is a group of domain names that the Infoblox
	// device can add to partial queries that do not specify a domain name. Note
	// that you can set this parameter only when prefer_resolver or
	// alternate_resolver is set.
	SearchDomains []string `json:"search_domains,omitempty"`
}

SettingDnsresolver represents Infoblox struct setting:dnsresolver

type SettingDynamicratio added in v2.4.0

type SettingDynamicratio struct {
	// The method of the DTC dynamic ratio load balancing.
	Method string `json:"method,omitempty"`

	// The DTC monitor output of which will be used for dynamic ratio load
	// balancing.
	Monitor string `json:"monitor,omitempty"`

	// The metric of the DTC SNMP monitor that will be used for dynamic weighing.
	MonitorMetric string `json:"monitor_metric,omitempty"`

	// The DTC monitor weight. 'PRIORITY' means that all clients will be forwarded
	// to the least loaded server. 'RATIO' means that distribution will be
	// calculated based on dynamic weights.
	MonitorWeighing string `json:"monitor_weighing,omitempty"`

	// Determines whether the inverted values of the DTC SNMP monitor metric will
	// be used.
	InvertMonitorMetric bool `json:"invert_monitor_metric,omitempty"`
}

SettingDynamicratio represents Infoblox struct setting:dynamicratio

type SettingEmail added in v2.4.0

type SettingEmail struct {
	// Determines if email notification is enabled or not.
	Enabled bool `json:"enabled,omitempty"`

	// The email address of a Grid Member for 'from' field in notification.
	FromAddress string `json:"from_address,omitempty"`

	// The notification email address of a Grid member.
	Address string `json:"address,omitempty"`

	// Determines if email relay is enabled or not.
	RelayEnabled bool `json:"relay_enabled,omitempty"`

	// The relay name or IP address.
	Relay string `json:"relay,omitempty"`

	// Password to validate from address
	Password string `json:"password,omitempty"`

	// SMTP over TLS
	Smtps bool `json:"smtps,omitempty"`

	// SMTP port number
	PortNumber uint32 `json:"port_number,omitempty"`

	// Enable or disable SMTP auth
	UseAuthentication bool `json:"use_authentication,omitempty"`
}

SettingEmail represents Infoblox struct setting:email

type SettingHttpproxyserver added in v2.4.0

type SettingHttpproxyserver struct {
	// The address of the HTTP proxy server.
	Address string `json:"address,omitempty"`

	// The port on which the HTTP proxy server listens.
	Port uint32 `json:"port,omitempty"`

	// Determines if the HTTP proxy server is enabled or not.
	EnableProxy bool `json:"enable_proxy,omitempty"`

	// Determines if HTTPS content inspection by the HTTP proxy server is enabled
	// or not.
	EnableContentInspection bool `json:"enable_content_inspection,omitempty"`

	// Determines if the CNAME record query verification is enabled or not.
	VerifyCname bool `json:"verify_cname,omitempty"`

	// The descriptive comment for the HTTP proxy server configuration.
	Comment string `json:"comment,omitempty"`

	// The user name for the HTTP proxy server.
	Username string `json:"username,omitempty"`

	// The password for the HTTP proxy server.
	Password string `json:"password,omitempty"`

	// The token returned by the uploadinit function call in object fileop for the
	// CA certificate file used in the content inspection by an HTTP proxy server.
	Certificate string `json:"certificate,omitempty"`

	// Determines if username and password for HTTP Proxy Server connectivity is
	// used or not.
	EnableUsernameAndPassword bool `json:"enable_username_and_password,omitempty"`
}

SettingHttpproxyserver represents Infoblox struct setting:httpproxyserver

type SettingInactivelockout added in v2.4.0

type SettingInactivelockout struct {
	// Enable/disable the account inactivity lockout.
	AccountInactivityLockoutEnable bool `json:"account_inactivity_lockout_enable,omitempty"`

	// Number of days after which account gets locked out if user does not login.
	InactiveDays uint32 `json:"inactive_days,omitempty"`

	// The number of days before the account lockout date when the appliance sends
	// a reminder.
	ReminderDays uint32 `json:"reminder_days,omitempty"`

	// Enable/disable reactivating user account by logging in from serial console.
	ReactivateViaSerialConsoleEnable bool `json:"reactivate_via_serial_console_enable,omitempty"`

	// Enable/disable reactivating user account by logging in from remote console.
	ReactivateViaRemoteConsoleEnable bool `json:"reactivate_via_remote_console_enable,omitempty"`
}

SettingInactivelockout represents Infoblox struct setting:inactivelockout

type SettingIpamThreshold added in v2.4.0

type SettingIpamThreshold struct {
	// Indicates the percentage point which triggers the email/SNMP trap sending.
	TriggerValue uint32 `json:"trigger_value,omitempty"`

	// Indicates the percentage point which resets the email/SNMP trap sending.
	ResetValue uint32 `json:"reset_value,omitempty"`
}

SettingIpamThreshold represents Infoblox struct setting:ipam:threshold

type SettingIpamTrap added in v2.4.0

type SettingIpamTrap struct {
	// Determines whether sending warnings by email is enabled or not.
	EnableEmailWarnings bool `json:"enable_email_warnings,omitempty"`

	// Determines whether sending warnings by SNMP is enabled or not.
	EnableSnmpWarnings bool `json:"enable_snmp_warnings,omitempty"`
}

SettingIpamTrap represents Infoblox struct setting:ipam:trap

type SettingMsserver added in v2.4.0

type SettingMsserver struct {
	// The logging of synchronization messages to the syslog or mslog.
	LogDestination string `json:"log_destination,omitempty"`

	// Determines if the invalid MAC address synchronization for DHCP leases and
	// fixed addresses is enabled or not.
	EnableInvalidMac bool `json:"enable_invalid_mac,omitempty"`

	// Determines the maximum number of connections to Microsoft servers.
	MaxConnection uint32 `json:"max_connection,omitempty"`

	// Determines the timeout value (in seconds) for RPC connections to all
	// Microsoft servers.
	RpcTimeout uint32 `json:"rpc_timeout,omitempty"`

	// Determines if the monitoring and control of DHCP service on all Microsoft
	// servers in the Grid is enabled or not.
	EnableDhcpMonitoring bool `json:"enable_dhcp_monitoring,omitempty"`

	// Determines if the monitoring and control of DNS service on all Microsoft
	// servers in the Grid is enabled or not.
	EnableDnsMonitoring bool `json:"enable_dns_monitoring,omitempty"`

	// Determines an LDAP connection timeout interval (in seconds) for all
	// Microsoft servers.
	LdapTimeout uint32 `json:"ldap_timeout,omitempty"`

	// The default IP site link for sites created on NIOS for all Microsoft
	// servers.
	DefaultIpSiteLink string `json:"default_ip_site_link,omitempty"`

	// Determines if the Network Users creation is enabled or not.
	EnableNetworkUsers bool `json:"enable_network_users,omitempty"`

	// Determines if Active Directory user synchronization for all Microsoft
	// servers in the Grid is enabled or not.
	EnableAdUserSync bool `json:"enable_ad_user_sync,omitempty"`

	// Determines the default timeout value (in seconds) for Active Directory user
	// synchronization for all Microsoft servers.
	AdUserDefaultTimeout uint32 `json:"ad_user_default_timeout,omitempty"`

	// Determines if synchronization of DNS reporting data from all Microsoft
	// servers in the Grid is enabled or not.
	EnableDnsReportsSync bool `json:"enable_dns_reports_sync,omitempty"`
}

SettingMsserver represents Infoblox struct setting:msserver

type SettingNetwork added in v2.4.0

type SettingNetwork struct {
	// The IPv4 Address of the Grid Member.
	Address string `json:"address,omitempty"`

	// The default gateway for the Grid Member.
	Gateway string `json:"gateway,omitempty"`

	// The subnet mask for the Grid Member.
	SubnetMask string `json:"subnet_mask,omitempty"`

	// The identifier for the VLAN. Valid values are from 1 to 4096.
	VlanId uint32 `json:"vlan_id,omitempty"`

	// Determines if the current address is the primary VLAN address or not.
	Primary bool `json:"primary,omitempty"`

	// The DSCP (Differentiated Services Code Point) value determines relative
	// priorities for the type of services on your network. The appliance
	// implements QoS (Quality of Service) rules based on this configuration. Valid
	// values are from 0 to 63.
	Dscp uint32 `json:"dscp,omitempty"`

	// Use flag for: dscp
	UseDscp bool `json:"use_dscp,omitempty"`
}

SettingNetwork represents Infoblox struct setting:network

type SettingPassword added in v2.4.0

type SettingPassword struct {
	// The minimum length of the password.
	PasswordMinLength uint32 `json:"password_min_length,omitempty"`

	// The minimum number of lowercase characters.
	NumLowerChar uint32 `json:"num_lower_char,omitempty"`

	// The minimum number of uppercase characters.
	NumUpperChar uint32 `json:"num_upper_char,omitempty"`

	// The minimum number of numeric characters.
	NumNumericChar uint32 `json:"num_numeric_char,omitempty"`

	// The minimum number of symbol characters. The allowed characters are ! @ # $
	// % ^ & * ( ).
	NumSymbolChar uint32 `json:"num_symbol_char,omitempty"`

	// The minimum number of characters that must be changed when revising an admin
	// password.
	CharsToChange uint32 `json:"chars_to_change,omitempty"`

	// The number of days of the password expiration period (if enabled).
	ExpireDays uint32 `json:"expire_days,omitempty"`

	// The number of days before the password expiration date when the appliance
	// sends a reminder.
	ReminderDays uint32 `json:"reminder_days,omitempty"`

	// If set to True, all new users must change their passwords when they first
	// log in to the system, and existing users must change the passwords that were
	// just reset.
	ForceResetEnable bool `json:"force_reset_enable,omitempty"`

	// If set to True, password expiration is enabled.
	ExpireEnable bool `json:"expire_enable,omitempty"`

	// Enable/disable the password history.
	HistoryEnable bool `json:"history_enable,omitempty"`

	// Number of saved passwords if password history is enabled. Can be set between
	// 1 to 20.
	NumPasswordsSaved uint32 `json:"num_passwords_saved,omitempty"`

	// Minimum password age in days before password can be updated. Can be set
	// between 1 to 9998 days.
	MinPasswordAge uint32 `json:"min_password_age,omitempty"`
}

SettingPassword represents Infoblox struct setting:password

type SettingScavenging added in v2.4.0

type SettingScavenging struct {
	// This flag indicates if the resource record scavenging is enabled or not.
	EnableScavenging bool `json:"enable_scavenging,omitempty"`

	// This flag indicates if the recurrent resource record scavenging is enabled
	// or not.
	EnableRecurrentScavenging bool `json:"enable_recurrent_scavenging,omitempty"`

	// This flag indicates if the automatic resource record scavenging is enabled
	// or not.
	EnableAutoReclamation bool `json:"enable_auto_reclamation,omitempty"`

	// This flag indicates if the resource record last queried monitoring in
	// affected zones is enabled or not.
	EnableRrLastQueried bool `json:"enable_rr_last_queried,omitempty"`

	// This flag indicates if the last queried monitoring for affected zones is
	// enabled or not.
	EnableZoneLastQueried bool `json:"enable_zone_last_queried,omitempty"`

	// This flag indicates if the associated resource record scavenging is enabled
	// or not.
	ReclaimAssociatedRecords bool `json:"reclaim_associated_records,omitempty"`

	// Schedule setting for cloud discovery task.
	ScavengingSchedule *SettingSchedule `json:"scavenging_schedule,omitempty"`

	// The expression list. The particular record is treated as reclaimable if
	// expression condition evaluates to 'true' for given record if scavenging
	// hasn't been manually disabled on a given resource record.
	ExpressionList []*Expressionop `json:"expression_list,omitempty"`

	// The extensible attributes expression list. The particular record is treated
	// as reclaimable if extensible attributes expression condition evaluates to
	// 'true' for given record if scavenging hasn't been manually disabled on a
	// given resource record.
	EaExpressionList []*Eaexpressionop `json:"ea_expression_list,omitempty"`
}

SettingScavenging represents Infoblox struct setting:scavenging

type SettingSchedule added in v2.4.0

type SettingSchedule struct {
	// Days of the week when scheduling is triggered.
	Weekdays []string `json:"weekdays,omitempty"`

	// The time zone for the schedule.
	TimeZone string `json:"time_zone,omitempty"`

	// The recurring time for the schedule in Epoch seconds format. This field is
	// obsolete and is preserved only for backward compatibility purposes. Please
	// use other applicable fields to define the recurring schedule. DO NOT use
	// recurring_time together with these fields. If you use recurring_time with
	// other fields to define the recurring schedule, recurring_time has priority
	// over year, hour_of_day, and minutes_past_hour and will override the values
	// of these fields, although it does not override month and day_of_month. In
	// this case, the recurring time value might be different than the intended
	// value that you define.
	RecurringTime *UnixTime `json:"recurring_time,omitempty"`

	// The frequency for the scheduled task.
	Frequency string `json:"frequency,omitempty"`

	// The number of frequency to wait before repeating the scheduled task.
	Every uint32 `json:"every,omitempty"`

	// The minutes past the hour for the scheduled task.
	MinutesPastHour uint32 `json:"minutes_past_hour,omitempty"`

	// The hour of day for the scheduled task.
	HourOfDay uint32 `json:"hour_of_day,omitempty"`

	// The year for the scheduled task.
	Year uint32 `json:"year,omitempty"`

	// The month for the scheduled task.
	Month uint32 `json:"month,omitempty"`

	// The day of the month for the scheduled task.
	DayOfMonth uint32 `json:"day_of_month,omitempty"`

	// Indicates if the scheduled task will be repeated or run only once.
	Repeat string `json:"repeat,omitempty"`

	// If set to True, the scheduled task is disabled.
	Disable bool `json:"disable,omitempty"`
}

SettingSchedule represents Infoblox struct setting:schedule

type SettingSecurity added in v2.4.0

type SettingSecurity struct {
	// If set to True, rolling of audit logs is enabled.
	AuditLogRollingEnable bool `json:"audit_log_rolling_enable,omitempty"`

	// A list of access control settings used for security access.
	AdminAccessItems []*Addressac `json:"admin_access_items,omitempty"`

	// If set to True, HTTP connections are redirected to HTTPS.
	HttpRedirectEnable bool `json:"http_redirect_enable,omitempty"`

	// If set to True, the LCD buttons on the front panel of the NIOS appliance can
	// be used for IP address settings of the LAN1 port.
	LcdInputEnable bool `json:"lcd_input_enable,omitempty"`

	// If set to True, the login banner is enabled.
	LoginBannerEnable bool `json:"login_banner_enable,omitempty"`

	// The login banner text.
	LoginBannerText string `json:"login_banner_text,omitempty"`

	// If set to True, superuser admins can access the Infoblox CLI from a remote
	// location using an SSH (Secure Shell) v2 client.
	RemoteConsoleAccessEnable bool `json:"remote_console_access_enable,omitempty"`

	// If set to True, HTTP access restrictions are enabled.
	SecurityAccessEnable bool `json:"security_access_enable,omitempty"`

	// If set to True, remote console access restrictions will be enabled.
	SecurityAccessRemoteConsoleEnable bool `json:"security_access_remote_console_enable,omitempty"`

	// The session timeout interval in seconds.
	SessionTimeout uint32 `json:"session_timeout,omitempty"`

	// If set to False, SSH access is permanently disabled.
	SshPermEnable bool `json:"ssh_perm_enable,omitempty"`

	// If set to True, support access for the Grid has been enabled.
	SupportAccessEnable bool `json:"support_access_enable,omitempty"`

	// Information string to be used for support access requests.
	SupportAccessInfo string `json:"support_access_info,omitempty"`

	// Whether concurrent login allowed gridlevel
	DisableConcurrentLogin bool `json:"disable_concurrent_login,omitempty"`

	// The Admin Group security settings.
	InactivityLockoutSetting *SettingInactivelockout `json:"inactivity_lockout_setting,omitempty"`
}

SettingSecurity represents Infoblox struct setting:security

type SettingSecuritybanner added in v2.4.0

type SettingSecuritybanner struct {
	// The security level color.
	Color string `json:"color,omitempty"`

	// The security level.
	Level string `json:"level,omitempty"`

	// The classification message to be displayed.
	Message string `json:"message,omitempty"`

	// If set to True, the security banner will be displayed on the header and
	// footer of the Grid Manager screen, including the Login screen.
	Enable bool `json:"enable,omitempty"`
}

SettingSecuritybanner represents Infoblox struct setting:securitybanner

type SettingSnmp added in v2.4.0

type SettingSnmp struct {
	// The engine ID of the appliance that manages the SNMP agent.
	EngineId []string `json:"engine_id,omitempty"`

	// The community string for SNMP queries.
	QueriesCommunityString string `json:"queries_community_string,omitempty"`

	// If set to True, SNMP queries are enabled.
	QueriesEnable bool `json:"queries_enable,omitempty"`

	// If set to True, SNMPv3 queries are enabled.
	Snmpv3QueriesEnable bool `json:"snmpv3_queries_enable,omitempty"`

	// A list of SNMPv3 queries users.
	Snmpv3QueriesUsers []*Queriesuser `json:"snmpv3_queries_users,omitempty"`

	// If set to True, SNMPv3 traps are enabled.
	Snmpv3TrapsEnable bool `json:"snmpv3_traps_enable,omitempty"`

	// The name of the contact person for the appliance. Second value is applicable
	// only for HA pair. Otherwise second value is ignored.
	Syscontact []string `json:"syscontact,omitempty"`

	// Useful information about the appliance. Second value is applicable only for
	// HA pair. Otherwise second value is ignored.
	Sysdescr []string `json:"sysdescr,omitempty"`

	// The physical location of the appliance. Second value is applicable only for
	// HA pair. Otherwise second value is ignored.
	Syslocation []string `json:"syslocation,omitempty"`

	// The FQDN (Fully Qualified Domain Name) of the appliance. Second value is
	// applicable only for HA pair. Otherwise second value is ignored.
	Sysname []string `json:"sysname,omitempty"`

	// A list of trap receivers.
	TrapReceivers []*Trapreceiver `json:"trap_receivers,omitempty"`

	// A string the NIOS appliance sends to the management system together with its
	// traps. Note that this community string must match exactly what you enter in
	// the management system.
	TrapsCommunityString string `json:"traps_community_string,omitempty"`

	// If set to True, SNMP traps are enabled.
	TrapsEnable bool `json:"traps_enable,omitempty"`
}

SettingSnmp represents Infoblox struct setting:snmp

type SettingSyslogproxy added in v2.4.0

type SettingSyslogproxy struct {
	// If set to True, the member receives syslog messages from specified devices,
	// such as syslog servers and routers, and then forwards these messages to an
	// external syslog server.
	Enable bool `json:"enable,omitempty"`

	// If set to True, the appliance can receive messages from other devices via
	// TCP.
	TcpEnable bool `json:"tcp_enable,omitempty"`

	// The TCP port the appliance must listen on.
	TcpPort uint32 `json:"tcp_port,omitempty"`

	// If set to True, the appliance can receive messages from other devices via
	// UDP.
	UdpEnable bool `json:"udp_enable,omitempty"`

	// The UDP port the appliance must listen on.
	UdpPort uint32 `json:"udp_port,omitempty"`

	// This list controls the IP addresses and networks that are allowed to access
	// the syslog proxy.
	ClientAcls []*Addressac `json:"client_acls,omitempty"`
}

SettingSyslogproxy represents Infoblox struct setting:syslogproxy

type SettingTrafficcapturechr added in v2.4.0

type SettingTrafficcapturechr struct {
	// Enable triggering automated traffic capture based on cache hit ratio
	// thresholds.
	ChrTriggerEnable bool `json:"chr_trigger_enable,omitempty"`

	// DNS Cache hit ratio threshold(%) below which traffic capture will be
	// triggered.
	ChrThreshold uint32 `json:"chr_threshold,omitempty"`

	// DNS Cache hit ratio threshold(%) above which traffic capture will be
	// triggered.
	ChrReset uint32 `json:"chr_reset,omitempty"`

	// Minimum DNS cache utilization threshold(%) for triggering traffic capture
	// based on DNS cache hit ratio.
	ChrMinCacheUtilization uint32 `json:"chr_min_cache_utilization,omitempty"`
}

SettingTrafficcapturechr represents Infoblox struct setting:trafficcapturechr

type SettingTrafficcaptureqps added in v2.4.0

type SettingTrafficcaptureqps struct {
	// Enable triggering automated traffic capture based on DNS queries per second
	// threshold.
	QpsTriggerEnable bool `json:"qps_trigger_enable,omitempty"`

	// DNS queries per second threshold below which traffic capture will be
	// triggered.
	QpsThreshold uint32 `json:"qps_threshold,omitempty"`

	// DNS queries per second threshold below which traffic capture will be
	// stopped.
	QpsReset uint32 `json:"qps_reset,omitempty"`
}

SettingTrafficcaptureqps represents Infoblox struct setting:trafficcaptureqps

type SettingTriggerrecdnslatency added in v2.4.0

type SettingTriggerrecdnslatency struct {
	// Enable triggering automated traffic capture based on recursive DNS latency.
	RecDnsLatencyTriggerEnable bool `json:"rec_dns_latency_trigger_enable,omitempty"`

	// Recursive DNS latency below which traffic capture will be triggered.
	RecDnsLatencyThreshold uint32 `json:"rec_dns_latency_threshold,omitempty"`

	// Recursive DNS latency above which traffic capture will be stopped.
	RecDnsLatencyReset uint32 `json:"rec_dns_latency_reset,omitempty"`

	// The local IP DNS service is listen on ( for recursive DNS latency trigger).
	RecDnsLatencyListenOnSource string `json:"rec_dns_latency_listen_on_source,omitempty"`

	// The DNS listen-on IP address used if rec_dns_latency_listen_on_source is IP.
	RecDnsLatencyListenOnIp string `json:"rec_dns_latency_listen_on_ip,omitempty"`

	// List of domains monitored by 'Recursive DNS Latency Threshold' trigger.
	KpiMonitoredDomains []*Monitoreddomains `json:"kpi_monitored_domains,omitempty"`
}

SettingTriggerrecdnslatency represents Infoblox struct setting:triggerrecdnslatency

type SettingTriggerrecqueries added in v2.4.0

type SettingTriggerrecqueries struct {
	// Enable triggering automated traffic capture based on outgoing recursive
	// queries count.
	RecursiveClientsCountTriggerEnable bool `json:"recursive_clients_count_trigger_enable,omitempty"`

	// Concurrent outgoing recursive queries count below which traffic capture will
	// be triggered.
	RecursiveClientsCountThreshold uint32 `json:"recursive_clients_count_threshold,omitempty"`

	// Concurrent outgoing recursive queries count below which traffic capture will
	// be stopped.
	RecursiveClientsCountReset uint32 `json:"recursive_clients_count_reset,omitempty"`
}

SettingTriggerrecqueries represents Infoblox struct setting:triggerrecqueries

type SettingTriggeruthdnslatency added in v2.4.0

type SettingTriggeruthdnslatency struct {
	// Enabling trigger automated traffic capture based on authoritative DNS
	// latency.
	AuthDnsLatencyTriggerEnable bool `json:"auth_dns_latency_trigger_enable,omitempty"`

	// Authoritative DNS latency below which traffic capture will be triggered.
	AuthDnsLatencyThreshold uint32 `json:"auth_dns_latency_threshold,omitempty"`

	// Authoritative DNS latency above which traffic capture will stopped.
	AuthDnsLatencyReset uint32 `json:"auth_dns_latency_reset,omitempty"`

	// The local IP DNS service is listen on (for authoritative DNS latency
	// trigger).
	AuthDnsLatencyListenOnSource string `json:"auth_dns_latency_listen_on_source,omitempty"`

	// The DNS listen-on IP address used if auth_dns_latency_on_source is IP.
	AuthDnsLatencyListenOnIp string `json:"auth_dns_latency_listen_on_ip,omitempty"`
}

SettingTriggeruthdnslatency represents Infoblox struct setting:triggeruthdnslatency

type SettingViewaddress added in v2.4.0

type SettingViewaddress struct {
	// The reference to DNS View
	ViewName string `json:"view_name,omitempty"`

	// Determines which IP address is used as the source for DDNS notify and
	// transfer operations.
	DnsNotifyTransferSource string `json:"dns_notify_transfer_source,omitempty"`

	// The source address used if dns_notify_transfer_source type is "IP".
	DnsNotifyTransferSourceAddress string `json:"dns_notify_transfer_source_address,omitempty"`

	// Determines which IP address is used as the source for DDNS query operations.
	DnsQuerySourceInterface string `json:"dns_query_source_interface,omitempty"`

	// The source address used if dns_query_source_interface type is "IP".
	DnsQuerySourceAddress string `json:"dns_query_source_address,omitempty"`

	// Determines if the notify source port for a view is enabled or not.
	EnableNotifySourcePort bool `json:"enable_notify_source_port,omitempty"`

	// The source port for notify messages. When requesting zone transfers from the
	// primary server, some secondary DNS servers use the source port number (the
	// primary server used to send the notify message) as the destination port
	// number in the zone transfer request. This setting overrides Grid static
	// source port settings. Valid values are between 1 and 63999. The default is
	// selected by BIND.
	NotifySourcePort uint32 `json:"notify_source_port,omitempty"`

	// Determines if the query source port for a view is enabled or not.
	EnableQuerySourcePort bool `json:"enable_query_source_port,omitempty"`

	// The source port for queries. Specifying a source port number for recursive
	// queries ensures that a firewall will allow the response. Valid values are
	// between 1 and 63999. The default is selected by BIND.
	QuerySourcePort uint32 `json:"query_source_port,omitempty"`

	// Specifies the number of seconds of delay the notify messages are sent to
	// secondaries.
	NotifyDelay uint32 `json:"notify_delay,omitempty"`

	// Use flag for: enable_notify_source_port , notify_source_port,
	// enable_query_source_port, query_source_port
	UseSourcePorts bool `json:"use_source_ports,omitempty"`

	// Use flag for: notify_delay
	UseNotifyDelay bool `json:"use_notify_delay,omitempty"`
}

SettingViewaddress represents Infoblox struct setting:viewaddress

type SharedNetwork added in v2.4.0

type SharedNetwork struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Authority for the shared network.
	Authority *bool `json:"authority,omitempty"`

	// The bootfile name for the shared network. You can configure the DHCP server
	// to support clients that use the boot file name option in their DHCPREQUEST
	// messages.
	Bootfile *string `json:"bootfile,omitempty"`

	// The bootserver address for the shared network. You can specify the name
	// and/or IP address of the boot server that the host needs to boot. The boot
	// server IPv4 Address or name in FQDN format.
	Bootserver *string `json:"bootserver,omitempty"`

	// Comment for the shared network, maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// If this field is set to True, the DHCP server generates a hostname and
	// updates DNS with it when the DHCP client request does not contain a
	// hostname.
	DdnsGenerateHostname *bool `json:"ddns_generate_hostname,omitempty"`

	// This field controls whether only the DHCP server is allowed to update DNS,
	// regardless of the DHCP clients requests. Note that changes for this field
	// take effect only if ddns_use_option81 is True.
	DdnsServerAlwaysUpdates *bool `json:"ddns_server_always_updates,omitempty"`

	// The DNS update Time to Live (TTL) value of a shared network object. The TTL
	// is a 32-bit unsigned integer that represents the duration, in seconds, for
	// which the update is cached. Zero indicates that the update is not cached.
	DdnsTtl *uint32 `json:"ddns_ttl,omitempty"`

	// By default, the DHCP server does not update DNS when it allocates a fixed
	// address to a client. You can configure the DHCP server to update the A and
	// PTR records of a client with a fixed address. When this feature is enabled
	// and the DHCP server adds A and PTR records for a fixed address, the DHCP
	// server never discards the records.
	DdnsUpdateFixedAddresses *bool `json:"ddns_update_fixed_addresses,omitempty"`

	// The support for DHCP Option 81 at the shared network level.
	DdnsUseOption81 *bool `json:"ddns_use_option81,omitempty"`

	// If set to true, BOOTP settings are disabled and BOOTP requests will be
	// denied.
	DenyBootp *bool `json:"deny_bootp,omitempty"`

	// The percentage of the total DHCP utilization of the networks belonging to
	// the shared network multiplied by 1000. This is the percentage of the total
	// number of available IP addresses from all the networks belonging to the
	// shared network versus the total number of all IP addresses in all of the
	// networks in the shared network.
	DhcpUtilization uint32 `json:"dhcp_utilization,omitempty"`

	// A string describing the utilization level of the shared network.
	DhcpUtilizationStatus string `json:"dhcp_utilization_status,omitempty"`

	// Determines whether a shared network is disabled or not. When this is set to
	// False, the shared network is enabled.
	Disable *bool `json:"disable,omitempty"`

	// The total number of DHCP leases issued for the shared network.
	DynamicHosts uint32 `json:"dynamic_hosts,omitempty"`

	// The dynamic DNS updates flag of a shared network object. If set to True, the
	// DHCP server sends DDNS updates to DNS servers in the same Grid, and to
	// external DNS servers.
	EnableDdns *bool `json:"enable_ddns,omitempty"`

	// Set this to True if you want the DHCP server to use a different lease time
	// for PXE clients.
	EnablePxeLeaseTime *bool `json:"enable_pxe_lease_time,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// If set to true, the client identifier will be ignored.
	IgnoreClientIdentifier *bool `json:"ignore_client_identifier,omitempty"`

	// If this field is set to False, the appliance returns all DHCP options the
	// client is eligible to receive, rather than only the list of options the
	// client has requested.
	IgnoreDhcpOptionListRequest *bool `json:"ignore_dhcp_option_list_request,omitempty"`

	// Indicates whether the appliance will ignore DHCP client IDs or MAC
	// addresses. Valid values are "NONE", "CLIENT", or "MACADDR". The default is
	// "NONE".
	IgnoreId string `json:"ignore_id,omitempty"`

	// A list of MAC addresses the appliance will ignore.
	IgnoreMacAddresses []string `json:"ignore_mac_addresses,omitempty"`

	// An integer that specifies the period of time (in seconds) that frees and
	// backs up leases remained in the database before they are automatically
	// deleted. To disable lease scavenging, set the parameter to -1. The minimum
	// positive value must be greater than 86400 seconds (1 day).
	LeaseScavengeTime int `json:"lease_scavenge_time,omitempty"`

	// This field contains the logic filters to be applied on the this shared
	// network. This list corresponds to the match rules that are written to the
	// dhcpd configuration file.
	LogicFilterRules []*Logicfilterrule `json:"logic_filter_rules,omitempty"`

	// The Microsoft Active Directory user related information.
	MsAdUserData *MsserverAduserData `json:"ms_ad_user_data,omitempty"`

	// The name of the IPv6 Shared Network.
	Name *string `json:"name,omitempty"`

	// The name of the network view in which this shared network resides.
	NetworkView string `json:"network_view,omitempty"`

	// A list of networks belonging to the shared network Each individual list item
	// must be specified as an object containing a '_ref' parameter to a network
	// reference, for example:: [{ "_ref":
	// "network/ZG5zLm5ldHdvcmskMTAuMwLvMTYvMA", }] if the reference of the wanted
	// network is not known, it is possible to specify search parameters for the
	// network instead in the following way:: [{ "_ref": { 'network': '10.0.0.0/8',
	// } }] note that in this case the search must match exactly one network for
	// the assignment to be successful.
	Networks []*Ipv4Network `json:"networks,omitempty"`

	// The name in FQDN and/or IPv4 Address of the next server that the host needs
	// to boot.
	Nextserver *string `json:"nextserver,omitempty"`

	// An array of DHCP option dhcpoption structs that lists the DHCP options
	// associated with the object.
	Options []*Dhcpoption `json:"options,omitempty"`

	// The PXE lease time value of a shared network object. Some hosts use PXE
	// (Preboot Execution Environment) to boot remotely from a server. To better
	// manage your IP resources, set a different lease time for PXE boot requests.
	// You can configure the DHCP server to allocate an IP address with a shorter
	// lease time to hosts that send PXE boot requests, so IP addresses are not
	// leased longer than necessary. A 32-bit unsigned integer that represents the
	// duration, in seconds, for which the update is cached. Zero indicates that
	// the update is not cached.
	PxeLeaseTime *uint32 `json:"pxe_lease_time,omitempty"`

	// The number of static DHCP addresses configured in the shared network.
	StaticHosts uint32 `json:"static_hosts,omitempty"`

	// The total number of DHCP addresses configured in the shared network.
	TotalHosts uint32 `json:"total_hosts,omitempty"`

	// This field controls whether the DHCP server updates DNS when a DHCP lease is
	// renewed.
	UpdateDnsOnLeaseRenewal *bool `json:"update_dns_on_lease_renewal,omitempty"`

	// Use flag for: authority
	UseAuthority *bool `json:"use_authority,omitempty"`

	// Use flag for: bootfile
	UseBootfile *bool `json:"use_bootfile,omitempty"`

	// Use flag for: bootserver
	UseBootserver *bool `json:"use_bootserver,omitempty"`

	// Use flag for: ddns_generate_hostname
	UseDdnsGenerateHostname *bool `json:"use_ddns_generate_hostname,omitempty"`

	// Use flag for: ddns_ttl
	UseDdnsTtl *bool `json:"use_ddns_ttl,omitempty"`

	// Use flag for: ddns_update_fixed_addresses
	UseDdnsUpdateFixedAddresses *bool `json:"use_ddns_update_fixed_addresses,omitempty"`

	// Use flag for: ddns_use_option81
	UseDdnsUseOption81 *bool `json:"use_ddns_use_option81,omitempty"`

	// Use flag for: deny_bootp
	UseDenyBootp *bool `json:"use_deny_bootp,omitempty"`

	// Use flag for: enable_ddns
	UseEnableDdns *bool `json:"use_enable_ddns,omitempty"`

	// Use flag for: ignore_client_identifier
	UseIgnoreClientIdentifier *bool `json:"use_ignore_client_identifier,omitempty"`

	// Use flag for: ignore_dhcp_option_list_request
	UseIgnoreDhcpOptionListRequest *bool `json:"use_ignore_dhcp_option_list_request,omitempty"`

	// Use flag for: ignore_id
	UseIgnoreId *bool `json:"use_ignore_id,omitempty"`

	// Use flag for: lease_scavenge_time
	UseLeaseScavengeTime *bool `json:"use_lease_scavenge_time,omitempty"`

	// Use flag for: logic_filter_rules
	UseLogicFilterRules *bool `json:"use_logic_filter_rules,omitempty"`

	// Use flag for: nextserver
	UseNextserver *bool `json:"use_nextserver,omitempty"`

	// Use flag for: options
	UseOptions *bool `json:"use_options,omitempty"`

	// Use flag for: pxe_lease_time
	UsePxeLeaseTime *bool `json:"use_pxe_lease_time,omitempty"`

	// Use flag for: update_dns_on_lease_renewal
	UseUpdateDnsOnLeaseRenewal *bool `json:"use_update_dns_on_lease_renewal,omitempty"`
}

SharedNetwork represents Infoblox object sharednetwork. A shared network is a network segment to which you assign two or more subnets. When subnets in a shared network contain IP addresses that are available for dynamic allocation, the addresses are put into a common pool for allocation when client requests arise. When you create a shared network, the DHCP server can assign IP addresses to client requests from any subnet (that resides on the same network interface) in the shared network.

func (SharedNetwork) ObjectType added in v2.4.0

func (SharedNetwork) ObjectType() string

func (SharedNetwork) ReturnFields added in v2.4.0

func (obj SharedNetwork) ReturnFields() []string

type SharedRecordA added in v2.4.0

type SharedRecordA struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Comment for this shared record; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// Determines if this shared record is disabled or not. False means that the
	// record is enabled.
	Disable *bool `json:"disable,omitempty"`

	// The name for this shared record in punycode format.
	DnsName string `json:"dns_name,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The IPv4 Address of the shared record.
	Ipv4Addr *string `json:"ipv4addr,omitempty"`

	// Name for this shared record. This value can be in unicode format.
	Name *string `json:"name,omitempty"`

	// The name of the shared record group in which the record resides.
	SharedRecordGroup *string `json:"shared_record_group,omitempty"`

	// The Time To Live (TTL) value for this shared record. A 32-bit unsigned
	// integer that represents the duration, in seconds, for which the shared
	// record is valid (cached). Zero indicates that the shared record should not
	// be cached.
	Ttl *uint32 `json:"ttl,omitempty"`

	// Use flag for: ttl
	UseTtl *bool `json:"use_ttl,omitempty"`
}

SharedRecordA represents Infoblox object sharedrecord:a. A shared A (address) record is similar to a regular A record. It maps a domain name to an IPv4 address. The difference is that a shared A record should be added to a shared record group. If the shared record group is associated with other zones, the shared A record is shared among these zones.

func (SharedRecordA) ObjectType added in v2.4.0

func (SharedRecordA) ObjectType() string

func (SharedRecordA) ReturnFields added in v2.4.0

func (obj SharedRecordA) ReturnFields() []string

type SharedRecordAAAA added in v2.4.0

type SharedRecordAAAA struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Comment for this shared record; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// Determines if this shared record is disabled or not. False means that the
	// record is enabled.
	Disable *bool `json:"disable,omitempty"`

	// The name for this shared record in punycode format.
	DnsName string `json:"dns_name,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The IPv6 Address of the shared record.
	Ipv6Addr *string `json:"ipv6addr,omitempty"`

	// Name for this shared record. This value can be in unicode format.
	Name *string `json:"name,omitempty"`

	// The name of the shared record group in which the record resides.
	SharedRecordGroup *string `json:"shared_record_group,omitempty"`

	// The Time To Live (TTL) value for this shared record. A 32-bit unsigned
	// integer that represents the duration, in seconds, for which the shared
	// record is valid (cached). Zero indicates that the shared record should not
	// be cached.
	Ttl *uint32 `json:"ttl,omitempty"`

	// Use flag for: ttl
	UseTtl *bool `json:"use_ttl,omitempty"`
}

SharedRecordAAAA represents Infoblox object sharedrecord:aaaa. A shared AAAA (address) record is similar to a regular AAAA record. It maps a domain name to an IPv6 address. The difference is that a shared AAAA record should be added to a shared record group. If the shared record group is associated with other zones, the shared AAAA record is shared among these zones.

func (SharedRecordAAAA) ObjectType added in v2.4.0

func (SharedRecordAAAA) ObjectType() string

func (SharedRecordAAAA) ReturnFields added in v2.4.0

func (obj SharedRecordAAAA) ReturnFields() []string

type SharedRecordMX added in v2.4.0

type SharedRecordMX struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Comment for this shared record; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// Determines if this shared record is disabled or not. False means that the
	// record is enabled.
	Disable *bool `json:"disable,omitempty"`

	// The name of the mail exchanger in punycode format.
	DnsMailExchanger string `json:"dns_mail_exchanger,omitempty"`

	// The name for this shared record in punycode format.
	DnsName string `json:"dns_name,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The name of the mail exchanger in FQDN format. This value can be in unicode
	// format.
	MailExchanger *string `json:"mail_exchanger,omitempty"`

	// Name for this shared record. This value can be in unicode format.
	Name *string `json:"name,omitempty"`

	// The preference value. Valid values are from 0 to 65535 (inclusive), in
	// 32-bit unsigned integer format.
	Preference *uint32 `json:"preference,omitempty"`

	// The name of the shared record group in which the record resides.
	SharedRecordGroup *string `json:"shared_record_group,omitempty"`

	// The Time To Live (TTL) value for this shared record. A 32-bit unsigned
	// integer that represents the duration, in seconds, for which the shared
	// record is valid (cached). Zero indicates that the shared record should not
	// be cached.
	Ttl *uint32 `json:"ttl,omitempty"`

	// Use flag for: ttl
	UseTtl *bool `json:"use_ttl,omitempty"`
}

SharedRecordMX represents Infoblox object sharedrecord:mx. A shared MX (mail exchanger) record is similar to a regular MX record. It maps a domain name to a mail exchanger. The difference is that a shared MX record should be added to a shared record group. If the shared record group is associated with other zones, the shared MX record is shared among these zones.

func (SharedRecordMX) ObjectType added in v2.4.0

func (SharedRecordMX) ObjectType() string

func (SharedRecordMX) ReturnFields added in v2.4.0

func (obj SharedRecordMX) ReturnFields() []string

type SharedRecordTXT added in v2.4.0

type SharedRecordTXT struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Comment for this shared record; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// Determines if this shared record is disabled or not. False means that the
	// record is enabled.
	Disable *bool `json:"disable,omitempty"`

	// The name for this shared record in punycode format.
	DnsName string `json:"dns_name,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// Name for this shared record. This value can be in unicode format.
	Name *string `json:"name,omitempty"`

	// The name of the shared record group in which the record resides.
	SharedRecordGroup *string `json:"shared_record_group,omitempty"`

	// Text associated with the shared record. It can contain up to 255 bytes per
	// substring and up a total of 512 bytes. To enter leading, trailing or
	// embedded spaces in the text, add quotes (" ") around the text to preserve
	// the spaces.
	Text *string `json:"text,omitempty"`

	// The Time To Live (TTL) value for this shared record. A 32-bit unsigned
	// integer that represents the duration, in seconds, for which the shared
	// record is valid (cached). Zero indicates that the shared record should not
	// be cached.
	Ttl *uint32 `json:"ttl,omitempty"`

	// Use flag for: ttl
	UseTtl *bool `json:"use_ttl,omitempty"`
}

SharedRecordTXT represents Infoblox object sharedrecord:txt. A shared TXT (text) record is similar to a regular TXT record. It contains supplemental information for a host. SPF (Sender Policy Framework) records are specialized TXT records that identify the servers that send mail from a domain. The difference is that a shared TXT record should be added to a shared record group. If the shared record group is associated with other zones, the shared TXT record is shared among these zones.

func (SharedRecordTXT) ObjectType added in v2.4.0

func (SharedRecordTXT) ObjectType() string

func (SharedRecordTXT) ReturnFields added in v2.4.0

func (obj SharedRecordTXT) ReturnFields() []string

type SharedrecordCname added in v2.4.0

type SharedrecordCname struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Canonical name in FQDN format. This value can be in unicode format.
	Canonical *string `json:"canonical,omitempty"`

	// Comment for this shared record; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// Determines if this shared record is disabled or not. False means that the
	// record is enabled.
	Disable *bool `json:"disable,omitempty"`

	// Canonical name in punycode format.
	DnsCanonical string `json:"dns_canonical,omitempty"`

	// The name for this shared record in punycode format.
	DnsName string `json:"dns_name,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// Name for this shared record. This value can be in unicode format.
	Name *string `json:"name,omitempty"`

	// The name of the shared record group in which the record resides.
	SharedRecordGroup *string `json:"shared_record_group,omitempty"`

	// The Time To Live (TTL) value for this shared record. A 32-bit unsigned
	// integer that represents the duration, in seconds, for which the shared
	// record is valid (cached). Zero indicates that the shared record should not
	// be cached.
	Ttl *uint32 `json:"ttl,omitempty"`

	// Use flag for: ttl
	UseTtl *bool `json:"use_ttl,omitempty"`
}

SharedrecordCname represents Infoblox object sharedrecord:cname. A shared CNAME (canonical name) record is similar to a regular CNAME record. The difference is that a shared CNAME record should be added to a shared record group. If the shared record group is associated with other zones, the shared CNAME record is shared among these zones.

func (SharedrecordCname) ObjectType added in v2.4.0

func (SharedrecordCname) ObjectType() string

func (SharedrecordCname) ReturnFields added in v2.4.0

func (obj SharedrecordCname) ReturnFields() []string

type SharedrecordSrv added in v2.4.0

type SharedrecordSrv struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Comment for this shared record; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// Determines if this shared record is disabled or not. False means that the
	// record is enabled.
	Disable *bool `json:"disable,omitempty"`

	// The name for this shared record in punycode format.
	DnsName string `json:"dns_name,omitempty"`

	// The name for a shared SRV record in punycode format.
	DnsTarget string `json:"dns_target,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// Name for this shared record. This value can be in unicode format.
	Name *string `json:"name,omitempty"`

	// The port of the shared SRV record. Valid values are from 0 to 65535
	// (inclusive), in 32-bit unsigned integer format.
	Port *uint32 `json:"port,omitempty"`

	// The priority of the shared SRV record. Valid values are from 0 to 65535
	// (inclusive), in 32-bit unsigned integer format.
	Priority *uint32 `json:"priority,omitempty"`

	// The name of the shared record group in which the record resides.
	SharedRecordGroup *string `json:"shared_record_group,omitempty"`

	// The target of the shared SRV record in FQDN format. This value can be in
	// unicode format.
	Target *string `json:"target,omitempty"`

	// The Time To Live (TTL) value for this shared record. A 32-bit unsigned
	// integer that represents the duration, in seconds, for which the shared
	// record is valid (cached). Zero indicates that the shared record should not
	// be cached.
	Ttl *uint32 `json:"ttl,omitempty"`

	// Use flag for: ttl
	UseTtl *bool `json:"use_ttl,omitempty"`

	// The weight of the shared SRV record. Valid values are from 0 to 65535
	// (inclusive), in 32-bit unsigned integer format.
	Weight *uint32 `json:"weight,omitempty"`
}

SharedrecordSrv represents Infoblox object sharedrecord:srv. A shared SRV (service) record is similar to a regular SRV record. It provides information about available services. The difference is that a shared SRV record should be added to a shared record group. If the shared record group is associated with other zones, the shared SRV record is shared among these zones.

func (SharedrecordSrv) ObjectType added in v2.4.0

func (SharedrecordSrv) ObjectType() string

func (SharedrecordSrv) ReturnFields added in v2.4.0

func (obj SharedrecordSrv) ReturnFields() []string

type Sharedrecordgroup added in v2.4.0

type Sharedrecordgroup struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The descriptive comment of this shared record group.
	Comment *string `json:"comment,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The name of this shared record group.
	Name *string `json:"name,omitempty"`

	// The record name policy of this shared record group.
	RecordNamePolicy *string `json:"record_name_policy,omitempty"`

	// Use flag for: record_name_policy
	UseRecordNamePolicy *bool `json:"use_record_name_policy,omitempty"`

	// The list of zones associated with this shared record group.
	ZoneAssociations []string `json:"zone_associations,omitempty"`
}

Sharedrecordgroup represents Infoblox object sharedrecordgroup. A shared record group (SRG) is created to contain DNS shared records and share them between different zones. For example, if a group of DNS records needs to be in three different zones, you can include the records in a shared record group and assign the group to the three zones. For more information about shared record groups and shared records, please refer to Infoblox Administrator Guide.

func (Sharedrecordgroup) ObjectType added in v2.4.0

func (Sharedrecordgroup) ObjectType() string

func (Sharedrecordgroup) ReturnFields added in v2.4.0

func (obj Sharedrecordgroup) ReturnFields() []string

type SingleRequest

type SingleRequest struct {
	IBBase `json:"-"`
	Body   *RequestBody
}

func NewRequest

func NewRequest(body *RequestBody) *SingleRequest

func (SingleRequest) ObjectType added in v2.4.0

func (SingleRequest) ObjectType() string

type SmartfolderChildren added in v2.4.0

type SmartfolderChildren struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The object retuned by the Smart Folder query.
	Resource string `json:"resource,omitempty"`

	// The value returned by the Smart Folder query.
	Value *SmartfolderQueryitemvalue `json:"value,omitempty"`

	// The type of the returned value.
	ValueType string `json:"value_type,omitempty"`
}

SmartfolderChildren represents Infoblox object smartfolder:children. The Smart Folder children object is used to read the objects that are associated with either a Smart Folder (global or personal) or a set of queries that users can make without saving a Smart Folder object on the appliance.

func (SmartfolderChildren) ObjectType added in v2.4.0

func (SmartfolderChildren) ObjectType() string

func (SmartfolderChildren) ReturnFields added in v2.4.0

func (obj SmartfolderChildren) ReturnFields() []string

type SmartfolderGlobal added in v2.4.0

type SmartfolderGlobal struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The global Smart Folder descriptive comment.
	Comment *string `json:"comment,omitempty"`

	// Global Smart Folder grouping rules.
	GroupBys []*SmartfolderGroupby `json:"group_bys,omitempty"`

	// The global Smart Folder name.
	Name *string `json:"name,omitempty"`

	// The global Smart Folder filter queries.
	QueryItems []*SmartfolderQueryitem `json:"query_items,omitempty"`
}

SmartfolderGlobal represents Infoblox object smartfolder:global. Smart Folders are used to organize your core network services data. Depending on your administrative roles and business needs, you can filter your data object types, names, extensible attributes and discovered data and then place the filtered results in a Smart Folder.

func (SmartfolderGlobal) ObjectType added in v2.4.0

func (SmartfolderGlobal) ObjectType() string

func (SmartfolderGlobal) ReturnFields added in v2.4.0

func (obj SmartfolderGlobal) ReturnFields() []string

type SmartfolderGroupby added in v2.4.0

type SmartfolderGroupby struct {
	// The name of the Smart Folder grouping attribute.
	Value string `json:"value,omitempty"`

	// The type of the Smart Folder grouping attribute value.
	ValueType string `json:"value_type,omitempty"`

	// Determines whether the grouping is enabled.
	EnableGrouping bool `json:"enable_grouping,omitempty"`
}

SmartfolderGroupby represents Infoblox struct smartfolder:groupby

type SmartfolderPersonal added in v2.4.0

type SmartfolderPersonal struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The personal Smart Folder descriptive comment.
	Comment *string `json:"comment,omitempty"`

	// The personal Smart Folder groupping rules.
	GroupBys []*SmartfolderGroupby `json:"group_bys,omitempty"`

	// Determines whether the personal Smart Folder is a shortcut.
	IsShortcut bool `json:"is_shortcut,omitempty"`

	// The personal Smart Folder name.
	Name *string `json:"name,omitempty"`

	// The personal Smart Folder filter queries.
	QueryItems []*SmartfolderQueryitem `json:"query_items,omitempty"`
}

SmartfolderPersonal represents Infoblox object smartfolder:personal. Smart Folders are used to organize your core network services data. Depending on your administrative roles and business needs, you can filter your data object types, names, extensible attributes and discovered data and then place the filtered results in a Smart Folder.

func (SmartfolderPersonal) ObjectType added in v2.4.0

func (SmartfolderPersonal) ObjectType() string

func (SmartfolderPersonal) ReturnFields added in v2.4.0

func (obj SmartfolderPersonal) ReturnFields() []string

type SmartfolderQueryitem added in v2.4.0

type SmartfolderQueryitem struct {
	// The Smart Folder query name.
	Name string `json:"name,omitempty"`

	// The Smart Folder query field type.
	FieldType string `json:"field_type,omitempty"`

	// The Smart Folder operator used in query.
	Operator string `json:"operator,omitempty"`

	// Determines whether the query operator should match.
	OpMatch bool `json:"op_match,omitempty"`

	// The Smart Folder query value type.
	ValueType string `json:"value_type,omitempty"`

	// The Smart Folder query value.
	Value *SmartfolderQueryitemvalue `json:"value,omitempty"`
}

SmartfolderQueryitem represents Infoblox struct smartfolder:queryitem

type SmartfolderQueryitemvalue added in v2.4.0

type SmartfolderQueryitemvalue struct {
	// The integer value of the Smart Folder query.
	ValueInteger int `json:"value_integer,omitempty"`

	// The string value of the Smart Folder query.
	ValueString string `json:"value_string,omitempty"`

	// The timestamp value of the Smart Folder query.
	ValueDate *UnixTime `json:"value_date,omitempty"`

	// The boolean value of the Smart Folder query.
	ValueBoolean bool `json:"value_boolean,omitempty"`
}

SmartfolderQueryitemvalue represents Infoblox struct smartfolder:queryitemvalue

type Sortlist added in v2.4.0

type Sortlist struct {
	// The source address of a sortlist object.
	Address string `json:"address,omitempty"`

	// The match list of a sortlist.
	MatchList []string `json:"match_list,omitempty"`
}

Sortlist represents Infoblox struct sortlist

type SshKey added in v2.4.0

type SshKey struct {
	// Unique identifier for the key
	KeyName string `json:"key_name,omitempty"`

	// ssh_key_types
	KeyType string `json:"key_type,omitempty"`

	// ssh key text
	KeyValue string `json:"key_value,omitempty"`
}

SshKey represents Infoblox struct ssh_key

type Superhost added in v2.4.0

type Superhost struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The comment for Super Host.
	Comment *string `json:"comment,omitempty"`

	// True if we have to delete all DNS/DHCP associated objects with Super Host,
	// false by default.
	DeleteAssociatedObjects *bool `json:"delete_associated_objects,omitempty"`

	// A list of DHCP objects refs which are associated with Super Host.
	DhcpAssociatedObjects []*Ipv4FixedAddress `json:"dhcp_associated_objects,omitempty"`

	// Disable all DNS/DHCP associated objects with Super Host if True, False by
	// default.
	Disabled *bool `json:"disabled,omitempty"`

	// A list of object refs of the DNS resource records which are associated with
	// Super Host.
	DnsAssociatedObjects []*RecordA `json:"dns_associated_objects,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// Name of the Superhost.
	Name *string `json:"name,omitempty"`
}

Superhost represents Infoblox object superhost. The collection of correlated IPAM records which is related to single device.

func (Superhost) ObjectType added in v2.4.0

func (Superhost) ObjectType() string

func (Superhost) ReturnFields added in v2.4.0

func (obj Superhost) ReturnFields() []string

type Superhostchild added in v2.4.0

type Superhostchild struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The record object, if supported by the WAPI. Otherwise, the value is "None".
	AssociatedObject string `json:"associated_object,omitempty"`

	// The record comment.
	Comment string `json:"comment,omitempty"`

	// Time at which DNS RR was created.
	CreationTimestamp *UnixTime `json:"creation_timestamp,omitempty"`

	// Specific data of DNS/DHCP records.
	Data string `json:"data,omitempty"`

	// True if the child DNS/DHCP object is disabled.
	Disabled bool `json:"disabled,omitempty"`

	// Name of the associated DNS/DHCP object.
	Name string `json:"name,omitempty"`

	// The name of the network view in which this network record resides.
	NetworkView string `json:"network_view,omitempty"`

	// Name of the Super Host object in which record resides.
	Parent string `json:"parent,omitempty"`

	// Name of a parent zone/network.
	RecordParent string `json:"record_parent,omitempty"`

	// The record type. When searching for an unspecified record type, the search
	// is performed for all records.
	Type string `json:"type,omitempty"`

	// Name of the DNS View in which the record resides.
	View string `json:"view,omitempty"`
}

Superhostchild represents Infoblox object superhostchild. The superhostchild object is a read-only synthetic object used to retrieve records assigned to superhost.

func (Superhostchild) ObjectType added in v2.4.0

func (Superhostchild) ObjectType() string

func (Superhostchild) ReturnFields added in v2.4.0

func (obj Superhostchild) ReturnFields() []string

type SyslogEndpoint added in v2.4.0

type SyslogEndpoint struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The log level for a notification REST endpoint.
	LogLevel string `json:"log_level,omitempty"`

	// The name of a Syslog endpoint.
	Name *string `json:"name,omitempty"`

	// The outbound member that will generate events.
	OutboundMemberType string `json:"outbound_member_type,omitempty"`

	// The list of members for outbound events.
	OutboundMembers []string `json:"outbound_members,omitempty"`

	// List of syslog servers
	SyslogServers []*SyslogEndpointServers `json:"syslog_servers,omitempty"`

	// The Syslog template instance. You cannot change the parameters of the Syslog
	// endpoint template instance.
	TemplateInstance *NotificationRestTemplateinstance `json:"template_instance,omitempty"`

	// The timeout of session management (in seconds).
	Timeout *uint32 `json:"timeout,omitempty"`

	// The vendor identifier.
	VendorIdentifier *string `json:"vendor_identifier,omitempty"`

	// The user name for WAPI integration.
	WapiUserName *string `json:"wapi_user_name,omitempty"`

	// The user password for WAPI integration.
	WapiUserPassword *string `json:"wapi_user_password,omitempty"`
}

SyslogEndpoint represents Infoblox object syslog:endpoint. The name part of the syslog:endpoint object reference has the following components:

func (SyslogEndpoint) ObjectType added in v2.4.0

func (SyslogEndpoint) ObjectType() string

func (SyslogEndpoint) ReturnFields added in v2.4.0

func (obj SyslogEndpoint) ReturnFields() []string

type SyslogEndpointServers added in v2.4.0

type SyslogEndpointServers struct {
	// Syslog Server IP address
	Address string `json:"address,omitempty"`

	// Connection type values
	ConnectionType string `json:"connection_type,omitempty"`

	// The port this server listens on.
	Port uint32 `json:"port,omitempty"`

	// List of hostnames
	Hostname string `json:"hostname,omitempty"`

	// Format vlues for syslog endpoint server
	Format string `json:"format,omitempty"`

	// Facility values for syslog endpoint server
	Facility string `json:"facility,omitempty"`

	// Severity values for syslog endpoint server.
	Severity string `json:"severity,omitempty"`

	// Reference for creating sysog endpoint server.
	Certificate string `json:"certificate,omitempty"`

	// The token returned by the uploadinit function call in object fileop.
	CertificateToken string `json:"certificate_token,omitempty"`
}

SyslogEndpointServers represents Infoblox struct syslog:endpoint:servers

type Syslogserver added in v2.4.0

type Syslogserver struct {
	// The server address.
	Address string `json:"address,omitempty"`

	// Reference to the underlying X509Certificate object grid:x509certificate.
	Certificate string `json:"certificate,omitempty"`

	// The token returned by the uploadinit function call in object fileop.
	CertificateToken string `json:"certificate_token,omitempty"`

	// The connection type for communicating with this server.
	ConnectionType string `json:"connection_type,omitempty"`

	// The port this server listens on.
	Port uint32 `json:"port,omitempty"`

	// The local interface through which the appliance sends syslog messages to the
	// syslog server.
	LocalInterface string `json:"local_interface,omitempty"`

	// The source of syslog messages to be sent to the external syslog server. If
	// set to 'INTERNAL', only messages the appliance generates will be sent to the
	// syslog server. If set to 'EXTERNAL', the appliance sends syslog messages
	// that it receives from other devices, such as syslog servers and routers. If
	// set to 'ANY', the appliance sends both internal and external syslog
	// messages.
	MessageSource string `json:"message_source,omitempty"`

	// Identify the node in the syslog message.
	MessageNodeId string `json:"message_node_id,omitempty"`

	// The severity filter. The appliance sends log messages of the specified
	// severity and above to the external syslog server.
	Severity string `json:"severity,omitempty"`

	// The list of all syslog logging categories.
	CategoryList []string `json:"category_list,omitempty"`

	// The list of selected syslog logging categories. The appliance forwards
	// syslog messages that belong to the selected categories.
	OnlyCategoryList bool `json:"only_category_list,omitempty"`
}

Syslogserver represents Infoblox struct syslogserver

type TacacsplusAuthservice added in v2.4.0

type TacacsplusAuthservice struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The number of the accounting retries before giving up and moving on to the
	// next server.
	AcctRetries *uint32 `json:"acct_retries,omitempty"`

	// The accounting retry period in milliseconds.
	AcctTimeout *uint32 `json:"acct_timeout,omitempty"`

	// The number of the authentication/authorization retries before giving up and
	// moving on to the next server.
	AuthRetries *uint32 `json:"auth_retries,omitempty"`

	// The authentication/authorization timeout period in milliseconds.
	AuthTimeout *uint32 `json:"auth_timeout,omitempty"`

	// The TACACS+ authentication service descriptive comment.
	Comment *string `json:"comment,omitempty"`

	// Determines whether the TACACS+ authentication service object is disabled.
	Disable *bool `json:"disable,omitempty"`

	// The TACACS+ authentication service name.
	Name *string `json:"name,omitempty"`

	// The list of the TACACS+ servers used for authentication.
	Servers []*TacacsplusServer `json:"servers,omitempty"`
}

TacacsplusAuthservice represents Infoblox object tacacsplus:authservice. This object is used to supply configuration for TACACS+ authentication service.

func (TacacsplusAuthservice) ObjectType added in v2.4.0

func (TacacsplusAuthservice) ObjectType() string

func (TacacsplusAuthservice) ReturnFields added in v2.4.0

func (obj TacacsplusAuthservice) ReturnFields() []string

type TacacsplusServer added in v2.4.0

type TacacsplusServer struct {
	// The valid IP address or FQDN of the TACACS+ server.
	Address string `json:"address,omitempty"`

	// The TACACS+ server port.
	Port uint32 `json:"port,omitempty"`

	// The secret key with which to connect to the TACACS+ server.
	SharedSecret string `json:"shared_secret,omitempty"`

	// The authentication protocol.
	AuthType string `json:"auth_type,omitempty"`

	// The TACACS+ descriptive comment.
	Comment string `json:"comment,omitempty"`

	// Determines whether the TACACS+ server is disabled.
	Disable bool `json:"disable,omitempty"`

	// Determines whether the TACACS+ server is connected via the management
	// interface.
	UseMgmtPort bool `json:"use_mgmt_port,omitempty"`

	// Determines whether the TACACS+ accounting server is used.
	UseAccounting bool `json:"use_accounting,omitempty"`
}

TacacsplusServer represents Infoblox struct tacacsplus:server

type Taxii added in v2.4.0

type Taxii struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Indicates whether the Taxii service is running on the given member or not.
	EnableService *bool `json:"enable_service,omitempty"`

	// The IPv4 Address of the Grid member.
	Ipv4Addr string `json:"ipv4addr,omitempty"`

	// The IPv6 Address of the Grid member.
	Ipv6Addr string `json:"ipv6addr,omitempty"`

	// The name of the Taxii Member.
	Name string `json:"name,omitempty"`

	// Taxii service RPZ configuration list.
	TaxiiRpzConfig []*TaxiiRpzconfig `json:"taxii_rpz_config,omitempty"`
}

Taxii represents Infoblox object taxii. The Taxii Member object provides information about Taxii service configuration such as the start/stop flag and RPZ (Response Policy Zone) configuration.

func (Taxii) ObjectType added in v2.4.0

func (Taxii) ObjectType() string

func (Taxii) ReturnFields added in v2.4.0

func (obj Taxii) ReturnFields() []string

type TaxiiRpzconfig added in v2.4.0

type TaxiiRpzconfig struct {
	// The STIX collection name.
	CollectionName string `json:"collection_name,omitempty"`

	// The reference to the RPZ in which rules are created through the Taxii
	// protocol requests.
	Zone string `json:"zone,omitempty"`
}

TaxiiRpzconfig represents Infoblox struct taxii:rpzconfig

type Tftpfiledir added in v2.4.0

type Tftpfiledir struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The path to the directory that contains file or subdirectory.
	Directory string `json:"directory,omitempty"`

	// Determines whether the TFTP entity is synchronized to Grid Master.
	IsSyncedToGm bool `json:"is_synced_to_gm,omitempty"`

	// The time when the file or directory was last modified.
	LastModify *UnixTime `json:"last_modify,omitempty"`

	// The TFTP directory or file name.
	Name *string `json:"name,omitempty"`

	// The type of TFTP file system entity (directory or file).
	Type string `json:"type,omitempty"`

	// The replication members with TFTP client addresses where this virtual folder
	// is applicable.
	VtftpDirMembers []*Vtftpdirmember `json:"vtftp_dir_members,omitempty"`
}

Tftpfiledir represents Infoblox object tftpfiledir. The TFTP file/directory object provides facilities for creating a directory structure for file distribution, modifying the directory name and permission, creating virtual TFTP root directories, and browsing the contents of the directories.

func (Tftpfiledir) ObjectType added in v2.4.0

func (Tftpfiledir) ObjectType() string

func (Tftpfiledir) ReturnFields added in v2.4.0

func (obj Tftpfiledir) ReturnFields() []string

type ThreatanalyticsAnalyticsWhitelist added in v2.4.0

type ThreatanalyticsAnalyticsWhitelist struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Whitelist version string.
	Version string `json:"version,omitempty"`
}

ThreatanalyticsAnalyticsWhitelist represents Infoblox object threatanalytics:analytics_whitelist. The threat analytics whitelist object contains trusted domains on which NIOS allows DNS traffic.

func (ThreatanalyticsAnalyticsWhitelist) ObjectType added in v2.4.0

func (ThreatanalyticsAnalyticsWhitelist) ReturnFields added in v2.4.0

func (obj ThreatanalyticsAnalyticsWhitelist) ReturnFields() []string

type ThreatanalyticsModuleset added in v2.4.0

type ThreatanalyticsModuleset struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The version number of the threat analytics module set.
	Version string `json:"version,omitempty"`
}

ThreatanalyticsModuleset represents Infoblox object threatanalytics:moduleset. The threat analytics module set represents the installation or update of module information.

func (ThreatanalyticsModuleset) ObjectType added in v2.4.0

func (ThreatanalyticsModuleset) ObjectType() string

func (ThreatanalyticsModuleset) ReturnFields added in v2.4.0

func (obj ThreatanalyticsModuleset) ReturnFields() []string

type ThreatanalyticsWhitelist added in v2.4.0

type ThreatanalyticsWhitelist struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The descriptive comment for the threat analytics whitelist.
	Comment *string `json:"comment,omitempty"`

	// Determines whether the threat analytics whitelist is disabled.
	Disable *bool `json:"disable,omitempty"`

	// The FQDN of the threat analytics whitelist.
	Fqdn *string `json:"fqdn,omitempty"`

	// The type of the threat analytics whitelist.
	Type string `json:"type,omitempty"`
}

ThreatanalyticsWhitelist represents Infoblox object threatanalytics:whitelist. The threat analytics whitelist object contains trusted domains on which NIOS allows DNS traffic.

func (ThreatanalyticsWhitelist) ObjectType added in v2.4.0

func (ThreatanalyticsWhitelist) ObjectType() string

func (ThreatanalyticsWhitelist) ReturnFields added in v2.4.0

func (obj ThreatanalyticsWhitelist) ReturnFields() []string

type ThreatinsightCloudclient added in v2.4.0

type ThreatinsightCloudclient struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The RPZs to which you apply newly detected domains through the Infoblox
	// Threat Insight Cloud Client.
	BlacklistRpzList []*ZoneRp `json:"blacklist_rpz_list,omitempty"`

	// Determines whether the Threat Insight in Cloud Client is enabled.
	Enable *bool `json:"enable,omitempty"`

	// Force a refresh if at least one RPZ is configured.
	ForceRefresh *bool `json:"force_refresh,omitempty"`

	// The time interval (in seconds) for requesting newly detected domains by the
	// Infoblox Threat Insight Cloud Client and applying them to the list of
	// configured RPZs.
	Interval *uint32 `json:"interval,omitempty"`
}

ThreatinsightCloudclient represents Infoblox object threatinsight:cloudclient. You can use the Threat Insight Cloud Client object to configure the detection and authentication of domains in the Cloud, and then apply them to on-premises DNS firewall RPZ zones within a configurable time frame.

func (ThreatinsightCloudclient) ObjectType added in v2.4.0

func (ThreatinsightCloudclient) ObjectType() string

func (ThreatinsightCloudclient) ReturnFields added in v2.4.0

func (obj ThreatinsightCloudclient) ReturnFields() []string

type ThreatprotectionGridRule added in v2.4.0

type ThreatprotectionGridRule struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The list of allowed actions of the custom rule.
	AllowedActions []string `json:"allowed_actions,omitempty"`

	// The rule category the custom rule assigned to.
	Category string `json:"category,omitempty"`

	// The human readable comment for the custom rule.
	Comment *string `json:"comment,omitempty"`

	// The rule config of the template.
	Config *ThreatprotectionRuleconfig `json:"config,omitempty"`

	// The description of the custom rule.
	Description string `json:"description,omitempty"`

	// Determines if the custom rule is disabled.
	Disabled *bool `json:"disabled,omitempty"`

	// Determines if factory reset is enabled for the custom rule.
	IsFactoryResetEnabled bool `json:"is_factory_reset_enabled,omitempty"`

	// The name of the rule custom rule concatenated with its rule config
	// parameters.
	Name string `json:"name,omitempty"`

	// The version of the ruleset the custom rule assigned to.
	Ruleset string `json:"ruleset,omitempty"`

	// The Rule ID.
	Sid uint32 `json:"sid,omitempty"`

	// The threat protection rule template used to create this rule.
	Template *string `json:"template,omitempty"`

	// The type of the custom rule.
	Type string `json:"type,omitempty"`
}

ThreatprotectionGridRule represents Infoblox object threatprotection:grid:rule. This object provides information about the threat protection custom rule settings.

func (ThreatprotectionGridRule) ObjectType added in v2.4.0

func (ThreatprotectionGridRule) ObjectType() string

func (ThreatprotectionGridRule) ReturnFields added in v2.4.0

func (obj ThreatprotectionGridRule) ReturnFields() []string

type ThreatprotectionNatport added in v2.4.0

type ThreatprotectionNatport struct {
	// The start port value for the NAT port configuration object.
	StartPort uint32 `json:"start_port,omitempty"`

	// The end port value for the NAT port configuration object.
	EndPort uint32 `json:"end_port,omitempty"`

	// The block size for the NAT Port configuration object.
	BlockSize uint32 `json:"block_size,omitempty"`
}

ThreatprotectionNatport represents Infoblox struct threatprotection:natport

type ThreatprotectionNatrule added in v2.4.0

type ThreatprotectionNatrule struct {
	// The rule type for the threat protection NAT mapping rule.
	RuleType string `json:"rule_type,omitempty"`

	// The IP address for the threat protection NAT mapping rule.
	Address string `json:"address,omitempty"`

	// The network address for the threat protection NAT mapping rule.
	Network string `json:"network,omitempty"`

	// The network CIDR for the threat protection NAT mapping rule.
	Cidr uint32 `json:"cidr,omitempty"`

	// The start address for the range of the threat protection NAT mapping rule.
	StartAddress string `json:"start_address,omitempty"`

	// The end address for the range of the threat protection NAT mapping rule.
	EndAddress string `json:"end_address,omitempty"`

	// The NAT port configuration for the threat protection NAT mapping rule.
	NatPorts []*ThreatprotectionNatport `json:"nat_ports,omitempty"`
}

ThreatprotectionNatrule represents Infoblox struct threatprotection:natrule

type ThreatprotectionProfile added in v2.4.0

type ThreatprotectionProfile struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The comment for the Threat Protection profile.
	Comment *string `json:"comment,omitempty"`

	// The current Threat Protection profile ruleset.
	CurrentRuleset *string `json:"current_ruleset,omitempty"`

	// Determines if multiple BIND responses via TCP connection are disabled.
	DisableMultipleDnsTcpRequest *bool `json:"disable_multiple_dns_tcp_request,omitempty"`

	// The number of events logged per second per rule.
	EventsPerSecondPerRule *uint32 `json:"events_per_second_per_rule,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The list of members that are associated with the profile.
	Members []string `json:"members,omitempty"`

	// The name of the Threat Protection profile.
	Name *string `json:"name,omitempty"`

	// The source member. It can be used only during the create operation for
	// cloning a profile from an existing member.
	SourceMember string `json:"source_member,omitempty"`

	// The source profile. It can be used only during the create operation for
	// cloning a profile from an existing profile.
	SourceProfile string `json:"source_profile,omitempty"`

	// Use flag for: current_ruleset
	UseCurrentRuleset *bool `json:"use_current_ruleset,omitempty"`

	// Use flag for: disable_multiple_dns_tcp_request
	UseDisableMultipleDnsTcpRequest *bool `json:"use_disable_multiple_dns_tcp_request,omitempty"`

	// Use flag for: events_per_second_per_rule
	UseEventsPerSecondPerRule *bool `json:"use_events_per_second_per_rule,omitempty"`
}

ThreatprotectionProfile represents Infoblox object threatprotection:profile. The Threat Protection profile object facilitates configuring groups of Threat Protection members that have similar traffic properties. A member can be either associated with a Threat Protection profile or inherit the ruleset from the Grid or override the ruleset individually at the member level.

func (ThreatprotectionProfile) ObjectType added in v2.4.0

func (ThreatprotectionProfile) ObjectType() string

func (ThreatprotectionProfile) ReturnFields added in v2.4.0

func (obj ThreatprotectionProfile) ReturnFields() []string

type ThreatprotectionProfileRule added in v2.4.0

type ThreatprotectionProfileRule struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The threat protection rule configuration.
	Config *ThreatprotectionRuleconfig `json:"config,omitempty"`

	// Determines if the rule is enabled or not for the profile.
	Disable *bool `json:"disable,omitempty"`

	// The name of the Threat protection profile.
	Profile string `json:"profile,omitempty"`

	// The rule object name.
	Rule string `json:"rule,omitempty"`

	// The snort rule ID.
	Sid uint32 `json:"sid,omitempty"`

	// Use flag for: config
	UseConfig *bool `json:"use_config,omitempty"`

	// Use flag for: disable
	UseDisable *bool `json:"use_disable,omitempty"`
}

ThreatprotectionProfileRule represents Infoblox object threatprotection:profile:rule. This object provides information about the Threat protection profile rule settings.

func (ThreatprotectionProfileRule) ObjectType added in v2.4.0

func (ThreatprotectionProfileRule) ObjectType() string

func (ThreatprotectionProfileRule) ReturnFields added in v2.4.0

func (obj ThreatprotectionProfileRule) ReturnFields() []string

type ThreatprotectionRule added in v2.4.0

type ThreatprotectionRule struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The threat protection rule configuration.
	Config *ThreatprotectionRuleconfig `json:"config,omitempty"`

	// Determines if the rule is enabled or not for the member.
	Disable *bool `json:"disable,omitempty"`

	// The name of the Threat protection member.
	Member string `json:"member,omitempty"`

	// The rule object name.
	Rule string `json:"rule,omitempty"`

	// The Rule ID.
	Sid uint32 `json:"sid,omitempty"`

	// Use flag for: config
	UseConfig *bool `json:"use_config,omitempty"`

	// Use flag for: disable
	UseDisable *bool `json:"use_disable,omitempty"`
}

ThreatprotectionRule represents Infoblox object threatprotection:rule. This object provides information about the member Threat protection rule settings.

func (ThreatprotectionRule) ObjectType added in v2.4.0

func (ThreatprotectionRule) ObjectType() string

func (ThreatprotectionRule) ReturnFields added in v2.4.0

func (obj ThreatprotectionRule) ReturnFields() []string

type ThreatprotectionRulecategory added in v2.4.0

type ThreatprotectionRulecategory struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Determines if factory reset is enabled for this rule category.
	IsFactoryResetEnabled bool `json:"is_factory_reset_enabled,omitempty"`

	// The name of the rule category.
	Name string `json:"name,omitempty"`

	// The version of the ruleset the category assigned to.
	Ruleset string `json:"ruleset,omitempty"`
}

ThreatprotectionRulecategory represents Infoblox object threatprotection:rulecategory. This object provides information about the threat protection rule category settings.

func (ThreatprotectionRulecategory) ObjectType added in v2.4.0

func (ThreatprotectionRulecategory) ObjectType() string

func (ThreatprotectionRulecategory) ReturnFields added in v2.4.0

func (obj ThreatprotectionRulecategory) ReturnFields() []string

type ThreatprotectionRuleconfig added in v2.4.0

type ThreatprotectionRuleconfig struct {
	// The rule action.
	Action string `json:"action,omitempty"`

	// The rule log severity.
	LogSeverity string `json:"log_severity,omitempty"`

	// The threat protection rule parameters.
	Params []*ThreatprotectionRuleparam `json:"params,omitempty"`
}

ThreatprotectionRuleconfig represents Infoblox struct threatprotection:ruleconfig

type ThreatprotectionRuleparam added in v2.4.0

type ThreatprotectionRuleparam struct {
	// The rule parameter name.
	Name string `json:"name,omitempty"`

	// The rule parameter description.
	Description string `json:"description,omitempty"`

	// The rule parameter syntax.
	Syntax string `json:"syntax,omitempty"`

	// The rule parameter value.
	Value string `json:"value,omitempty"`

	// The rule parameter minimum.
	Min uint32 `json:"min,omitempty"`

	// The rule parameter maximum.
	Max uint32 `json:"max,omitempty"`

	// Determines if parameter value is editable at member level.
	ReadOnly bool `json:"read_only,omitempty"`

	// The rule parameter enum values.
	EnumValues []string `json:"enum_values,omitempty"`
}

ThreatprotectionRuleparam represents Infoblox struct threatprotection:ruleparam

type ThreatprotectionRuleset added in v2.4.0

type ThreatprotectionRuleset struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Determines the way the ruleset was added.
	AddType string `json:"add_type,omitempty"`

	// The time when the ruleset was added.
	AddedTime *UnixTime `json:"added_time,omitempty"`

	// The human readable comment for the ruleset.
	Comment *string `json:"comment,omitempty"`

	// Determines if the ruleset will not be deleted during upgrade.
	DoNotDelete *bool `json:"do_not_delete,omitempty"`

	// Determines if factory reset is enabled for this ruleset.
	IsFactoryResetEnabled bool `json:"is_factory_reset_enabled,omitempty"`

	// The users of the ruleset.
	UsedBy []string `json:"used_by,omitempty"`

	// The ruleset version.
	Version string `json:"version,omitempty"`
}

ThreatprotectionRuleset represents Infoblox object threatprotection:ruleset. This object represent the Grid protection ruleset information.

func (ThreatprotectionRuleset) ObjectType added in v2.4.0

func (ThreatprotectionRuleset) ObjectType() string

func (ThreatprotectionRuleset) ReturnFields added in v2.4.0

func (obj ThreatprotectionRuleset) ReturnFields() []string

type ThreatprotectionRuletemplate added in v2.4.0

type ThreatprotectionRuletemplate struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The list of allowed actions of rhe rule template.
	AllowedActions []string `json:"allowed_actions,omitempty"`

	// The rule category this template assigned to.
	Category string `json:"category,omitempty"`

	// The rule config of this template.
	DefaultConfig *ThreatprotectionRuleconfig `json:"default_config,omitempty"`

	// The description of the rule template.
	Description string `json:"description,omitempty"`

	// The name of the rule template.
	Name string `json:"name,omitempty"`

	// The version of the ruleset the template assigned to.
	Ruleset string `json:"ruleset,omitempty"`

	// The Rule ID.
	Sid uint32 `json:"sid,omitempty"`
}

ThreatprotectionRuletemplate represents Infoblox object threatprotection:ruletemplate. This object provides information about the threat protection rule template settings.

func (ThreatprotectionRuletemplate) ObjectType added in v2.4.0

func (ThreatprotectionRuletemplate) ObjectType() string

func (ThreatprotectionRuletemplate) ReturnFields added in v2.4.0

func (obj ThreatprotectionRuletemplate) ReturnFields() []string

type ThreatprotectionStatinfo added in v2.4.0

type ThreatprotectionStatinfo struct {
	// The timestamp when data was collected.
	Timestamp *UnixTime `json:"timestamp,omitempty"`

	// The number of critical events.
	Critical uint64 `json:"critical,omitempty"`

	// The number of major events.
	Major uint64 `json:"major,omitempty"`

	// The number of warning events.
	Warning uint64 `json:"warning,omitempty"`

	// The number of informational events.
	Informational uint64 `json:"informational,omitempty"`

	// The total number of events.
	Total uint64 `json:"total,omitempty"`
}

ThreatprotectionStatinfo represents Infoblox struct threatprotection:statinfo

type ThreatprotectionStatistics added in v2.4.0

type ThreatprotectionStatistics struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The Grid member name to get threat protection statistics. If nothing is
	// specified then event statistics is returned for the Grid.
	Member string `json:"member,omitempty"`

	// The list of event statistical information for the Grid or particular
	// members.
	StatInfos []*ThreatprotectionStatinfo `json:"stat_infos,omitempty"`
}

ThreatprotectionStatistics represents Infoblox object threatprotection:statistics. This object provides information about the threat protection statistics.

func (ThreatprotectionStatistics) ObjectType added in v2.4.0

func (ThreatprotectionStatistics) ObjectType() string

func (ThreatprotectionStatistics) ReturnFields added in v2.4.0

func (obj ThreatprotectionStatistics) ReturnFields() []string

type Thresholdtrap added in v2.4.0

type Thresholdtrap struct {
	// Determines the type of a given trap.
	TrapType string `json:"trap_type,omitempty"`

	// Determines the threshold value to reset the trap.
	TrapReset uint32 `json:"trap_reset,omitempty"`

	// Determines the threshold value to trigger the trap.
	TrapTrigger uint32 `json:"trap_trigger,omitempty"`
}

Thresholdtrap represents Infoblox struct thresholdtrap

type TransportConfig

type TransportConfig struct {
	SslVerify bool

	HttpRequestTimeout  time.Duration // in seconds
	HttpPoolConnections int
	ProxyUrl            *url.URL
	// contains filtered or unexported fields
}

func NewTransportConfig

func NewTransportConfig(sslVerify string, httpRequestTimeout int, httpPoolConnections int) (cfg TransportConfig)

type Trapnotification added in v2.4.0

type Trapnotification struct {
	// Determines the type of a given trap.
	TrapType string `json:"trap_type,omitempty"`

	// Determines if the email notifications for the given trap are enabled or not.
	EnableEmail bool `json:"enable_email,omitempty"`

	// Determines if the trap is enabled or not.
	EnableTrap bool `json:"enable_trap,omitempty"`
}

Trapnotification represents Infoblox struct trapnotification

type Trapreceiver added in v2.4.0

type Trapreceiver struct {
	// The address of the trap receiver.
	Address string `json:"address,omitempty"`

	// The SNMPv3 user for this trap receiver.
	User string `json:"user,omitempty"`

	// A descriptive comment for this trap receiver.
	Comment string `json:"comment,omitempty"`
}

Trapreceiver represents Infoblox struct trapreceiver

type Tsigac added in v2.4.0

type Tsigac struct {
	// The address this rule applies to or "Any".
	Address string `json:"address,omitempty"`

	// The permission to use for this address.
	Permission string `json:"permission,omitempty"`

	// A generated TSIG key. If the external primary server is a NIOS appliance
	// running DNS One 2.x code, this can be set to :2xCOMPAT.
	TsigKey string `json:"tsig_key,omitempty"`

	// The TSIG key algorithm.
	TsigKeyAlg string `json:"tsig_key_alg,omitempty"`

	// The name of the TSIG key. If 2.x TSIG compatibility is used, this is set to
	// 'tsig_xfer' on retrieval, and ignored on insert or update.
	TsigKeyName string `json:"tsig_key_name,omitempty"`

	// Use flag for: tsig_key_name
	UseTsigKeyName bool `json:"use_tsig_key_name,omitempty"`
}

Tsigac represents Infoblox struct tsigac

type UnixTime added in v2.4.0

type UnixTime struct {
	time.Time
}

UnixTime is used to marshall/unmarshall epoch seconds presented in different parts of WAPI objects

func (UnixTime) MarshalJSON added in v2.4.0

func (u UnixTime) MarshalJSON() ([]byte, error)

func (*UnixTime) UnmarshalJSON added in v2.4.0

func (u *UnixTime) UnmarshalJSON(b []byte) error

type Updatesdownloadmemberconfig added in v2.4.0

type Updatesdownloadmemberconfig struct {
	// The name of the updates download member.
	Member string `json:"member,omitempty"`

	// The source interface for updates download requests.
	Interface string `json:"interface,omitempty"`

	// Determines if the updates download member is online or not.
	IsOnline bool `json:"is_online,omitempty"`
}

Updatesdownloadmemberconfig represents Infoblox struct updatesdownloadmemberconfig

type UpgradeStatus

type UpgradeStatus struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Determines if distribution is allowed for the Grid.
	AllowDistribution bool `json:"allow_distribution,omitempty"`

	// Determines if distribution scheduling is allowed.
	AllowDistributionScheduling bool `json:"allow_distribution_scheduling,omitempty"`

	// Determines if upgrade is allowed for the Grid.
	AllowUpgrade bool `json:"allow_upgrade,omitempty"`

	// Determines if the Grid is allowed to cancel an upgrade.
	AllowUpgradeCancel bool `json:"allow_upgrade_cancel,omitempty"`

	// Determines if the Grid is allowed to pause an upgrade.
	AllowUpgradePause bool `json:"allow_upgrade_pause,omitempty"`

	// Determines if the Grid is allowed to resume an upgrade.
	AllowUpgradeResume bool `json:"allow_upgrade_resume,omitempty"`

	// Determine if the Grid is allowed to schedule an upgrade.
	AllowUpgradeScheduling bool `json:"allow_upgrade_scheduling,omitempty"`

	// Determines if the Grid is allowed to test an upgrade.
	AllowUpgradeTest bool `json:"allow_upgrade_test,omitempty"`

	// Determine if the Grid is allowed to upload a build.
	AllowUpload bool `json:"allow_upload,omitempty"`

	// The alternative version.
	AlternateVersion string `json:"alternate_version,omitempty"`

	// Comment in readable format for an upgrade group a or virtual node.
	Comment string `json:"comment,omitempty"`

	// The current version.
	CurrentVersion string `json:"current_version,omitempty"`

	// Current version summary for the 'type' requested. This field can be
	// requested for the Grid, a certain group that has virtual nodes as
	// subelements, or for the overall group status.
	CurrentVersionSummary string `json:"current_version_summary,omitempty"`

	// Determines if the distribution schedule is active for the Grid.
	DistributionScheduleActive bool `json:"distribution_schedule_active,omitempty"`

	// The Grid master distribution schedule time.
	DistributionScheduleTime *UnixTime `json:"distribution_schedule_time,omitempty"`

	// The current state of distribution process.
	DistributionState string `json:"distribution_state,omitempty"`

	// The version that is distributed.
	DistributionVersion string `json:"distribution_version,omitempty"`

	// Distribution version summary for the 'type' requested. This field can be
	// requested for the Grid, a certain group that has virtual nodes as
	// subelements, or for the overall group status.
	DistributionVersionSummary string `json:"distribution_version_summary,omitempty"`

	// The status of a certain element with regards to the type requested.
	ElementStatus string `json:"element_status,omitempty"`

	// The state of the Grid.
	GridState string `json:"grid_state,omitempty"`

	// The state of a group.
	GroupState string `json:"group_state,omitempty"`

	// Status of the HA pair.
	HaStatus string `json:"ha_status,omitempty"`

	// The list of hotfixes.
	Hotfixes []*Hotfix `json:"hotfixes,omitempty"`

	// The IPv4 Address of virtual node or physical one.
	Ipv4Address string `json:"ipv4_address,omitempty"`

	// The IPv6 Address of virtual node or physical one.
	Ipv6Address string `json:"ipv6_address,omitempty"`

	// Member that participates in the upgrade process.
	Member string `json:"member,omitempty"`

	// The Grid message.
	Message string `json:"message,omitempty"`

	// Status of the physical node in the HA pair.
	PnodeRole string `json:"pnode_role,omitempty"`

	// Determines if the upgrade process is reverted.
	Reverted bool `json:"reverted,omitempty"`

	// The status time.
	StatusTime *UnixTime `json:"status_time,omitempty"`

	// Status of a certain group, virtual node or physical node.
	StatusValue string `json:"status_value,omitempty"`

	// Timestamp of when the status was updated.
	StatusValueUpdateTime *UnixTime `json:"status_value_update_time,omitempty"`

	// The list of upgrade process steps.
	Steps []*Upgradestep `json:"steps,omitempty"`

	// The number of steps done.
	StepsCompleted int `json:"steps_completed,omitempty"`

	// Total number steps in the upgrade process.
	StepsTotal int `json:"steps_total,omitempty"`

	// The type of subelements to be requested. If 'type' is 'GROUP', or 'VNODE',
	// then 'upgrade_group' or 'member' should have proper values for an operation
	// to return data specific for the values passed. Otherwise, overall data is
	// returned for every group or physical node.
	SubelementType string `json:"subelement_type,omitempty"`

	// Number of subelements that have accomplished an upgrade.
	SubelementsCompleted int `json:"subelements_completed,omitempty"`

	// The upgrade process information of subelements.
	SubelementsStatus []*UpgradeStatus `json:"subelements_status,omitempty"`

	// Number of subelements number in a certain group, virtual node, or the Grid.
	SubelementsTotal int `json:"subelements_total,omitempty"`

	// The type of upper level elements to be requested.
	Type string `json:"type,omitempty"`

	// Upgrade group that participates in the upgrade process.
	UpgradeGroup string `json:"upgrade_group,omitempty"`

	// Determines if the upgrade schedule is active.
	UpgradeScheduleActive bool `json:"upgrade_schedule_active,omitempty"`

	// The upgrade state of the Grid.
	UpgradeState string `json:"upgrade_state,omitempty"`

	// The upgrade test status of the Grid.
	UpgradeTestStatus string `json:"upgrade_test_status,omitempty"`

	// The version that is uploaded.
	UploadVersion string `json:"upload_version,omitempty"`

	// Upload version summary for the 'type' requested. This field can be requested
	// for the Grid, a certain group that has virtual nodes as subelements, or
	// overall group status.
	UploadVersionSummary string `json:"upload_version_summary,omitempty"`
}

UpgradeStatus represents Infoblox object upgradestatus. The Upgrade Status object is used to view the upgrade status of Infoblox Grid elements.

func NewUpgradeStatus

func NewUpgradeStatus(upgradeStatus UpgradeStatus) *UpgradeStatus

func (UpgradeStatus) ObjectType added in v2.4.0

func (UpgradeStatus) ObjectType() string

func (UpgradeStatus) ReturnFields added in v2.4.0

func (obj UpgradeStatus) ReturnFields() []string

type Upgradegroup added in v2.4.0

type Upgradegroup struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The upgrade group descriptive comment.
	Comment *string `json:"comment,omitempty"`

	// The distribution dependent group name.
	DistributionDependentGroup *string `json:"distribution_dependent_group,omitempty"`

	// The distribution scheduling policy.
	DistributionPolicy string `json:"distribution_policy,omitempty"`

	// The time of the next scheduled distribution.
	DistributionTime *UnixTime `json:"distribution_time,omitempty"`

	// The upgrade group members.
	Members []*UpgradegroupMember `json:"members,omitempty"`

	// The upgrade group name.
	Name *string `json:"name,omitempty"`

	// The time zone for scheduling operations.
	TimeZone string `json:"time_zone,omitempty"`

	// The upgrade dependent group name.
	UpgradeDependentGroup *string `json:"upgrade_dependent_group,omitempty"`

	// The upgrade scheduling policy.
	UpgradePolicy string `json:"upgrade_policy,omitempty"`

	// The time of the next scheduled upgrade.
	UpgradeTime *UnixTime `json:"upgrade_time,omitempty"`
}

Upgradegroup represents Infoblox object upgradegroup. To minimize the impact of Grid upgrades on system operations, you can organize members into upgrade groups and schedule their software distributions. The upgrade group object provides configuration of upgrade and software distribution for members included in the upgrade group.

func (Upgradegroup) ObjectType added in v2.4.0

func (Upgradegroup) ObjectType() string

func (Upgradegroup) ReturnFields added in v2.4.0

func (obj Upgradegroup) ReturnFields() []string

type UpgradegroupMember added in v2.4.0

type UpgradegroupMember struct {
	// The upgrade group member name.
	Member string `json:"member,omitempty"`

	// The upgrade group member time zone.
	TimeZone string `json:"time_zone,omitempty"`
}

UpgradegroupMember represents Infoblox struct upgradegroup:member

type UpgradegroupSchedule added in v2.4.0

type UpgradegroupSchedule struct {
	// The upgrade group name.
	Name string `json:"name,omitempty"`

	// The time zone for scheduling operations.
	TimeZone string `json:"time_zone,omitempty"`

	// The distribution dependent group name.
	DistributionDependentGroup string `json:"distribution_dependent_group,omitempty"`

	// The upgrade dependent group name.
	UpgradeDependentGroup string `json:"upgrade_dependent_group,omitempty"`

	// The time of the next scheduled distribution.
	DistributionTime *UnixTime `json:"distribution_time,omitempty"`

	// The time of the next scheduled upgrade.
	UpgradeTime *UnixTime `json:"upgrade_time,omitempty"`
}

UpgradegroupSchedule represents Infoblox struct upgradegroup:schedule

type Upgradeschedule added in v2.4.0

type Upgradeschedule struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Determines whether the upgrade schedule is active.
	Active *bool `json:"active,omitempty"`

	// The start time of the upgrade.
	StartTime *UnixTime `json:"start_time,omitempty"`

	// The time zone for upgrade start time.
	TimeZone string `json:"time_zone,omitempty"`

	// The upgrade groups scheduling settings.
	UpgradeGroups []*UpgradegroupSchedule `json:"upgrade_groups,omitempty"`
}

Upgradeschedule represents Infoblox object upgradeschedule. You can schedule lite and full upgrades for certain NIOS versions. When you schedule an upgrade, you schedule the upgrade for the Grid Master and the upgrade groups, including the Default group. The Grid Master must always upgrade before the upgrade groups.

func (Upgradeschedule) ObjectType added in v2.4.0

func (Upgradeschedule) ObjectType() string

func (Upgradeschedule) ReturnFields added in v2.4.0

func (obj Upgradeschedule) ReturnFields() []string

type Upgradestep added in v2.4.0

type Upgradestep struct {
	// The status value of a step.
	StatusValue string `json:"status_value,omitempty"`

	// The status text that describes a step.
	StatusText string `json:"status_text,omitempty"`
}

Upgradestep represents Infoblox struct upgradestep

type UserProfile

type UserProfile struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Determines the active dashboard type.
	ActiveDashboardType string `json:"active_dashboard_type,omitempty"`

	// The Admin Group object to which the admin belongs. An admin user can belong
	// to only one admin group at a time.
	AdminGroup string `json:"admin_group,omitempty"`

	// The number of days left before the admin's password expires.
	DaysToExpire int `json:"days_to_expire,omitempty"`

	// The email address of the admin.
	Email *string `json:"email,omitempty"`

	// Determines if extensible attribute values will be returned by global search
	// or not.
	GlobalSearchOnEa *bool `json:"global_search_on_ea,omitempty"`

	// Determines if global search will search for network insight devices and
	// interfaces or not.
	GlobalSearchOnNiData *bool `json:"global_search_on_ni_data,omitempty"`

	// List of Admin Group objects that the current user is mapped to.
	GridAdminGroups []string `json:"grid_admin_groups,omitempty"`

	// The timestamp when the admin last logged in.
	LastLogin *UnixTime `json:"last_login,omitempty"`

	// Determines how many nodes are displayed at generation levels.
	LbTreeNodesAtGenLevel *uint32 `json:"lb_tree_nodes_at_gen_level,omitempty"`

	// Determines how many nodes are displayed at the last level.
	LbTreeNodesAtLastLevel *uint32 `json:"lb_tree_nodes_at_last_level,omitempty"`

	// The maximum count of widgets that can be added to one dashboard.
	MaxCountWidgets *uint32 `json:"max_count_widgets,omitempty"`

	// The admin name.
	Name string `json:"name,omitempty"`

	// The current password that will be replaced by a new password. To change a
	// password in the database, you must provide both the current and new password
	// values. This is a write-only attribute.
	OldPassword *string `json:"old_password,omitempty"`

	// The new password of the admin. To change a password in the database, you
	// must provide both the current and new password values. This is a write-only
	// attribute.
	Password *string `json:"password,omitempty"`

	// The number of lines of data a table or a single list view can contain.
	TableSize *uint32 `json:"table_size,omitempty"`

	// The time zone of the admin user.
	TimeZone string `json:"time_zone,omitempty"`

	// Use flag for: time_zone
	UseTimeZone *bool `json:"use_time_zone,omitempty"`

	// The admin type.
	UserType string `json:"user_type,omitempty"`
}

UserProfile represents Infoblox object userprofile. The user profile of the admin who has logged in.

func NewUserProfile

func NewUserProfile(userprofile UserProfile) *UserProfile

func (UserProfile) ObjectType added in v2.4.0

func (UserProfile) ObjectType() string

func (UserProfile) ReturnFields added in v2.4.0

func (obj UserProfile) ReturnFields() []string

type Vdiscoverytask added in v2.4.0

type Vdiscoverytask struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Allow unsecured connection over HTTPS and bypass validation of the remote
	// SSL certificate.
	AllowUnsecuredConnection *bool `json:"allow_unsecured_connection,omitempty"`

	// Whether to insert or update cloud EAs with discovery data.
	AutoConsolidateCloudEa *bool `json:"auto_consolidate_cloud_ea,omitempty"`

	// Whether to replace managed tenant with discovery tenant data.
	AutoConsolidateManagedTenant *bool `json:"auto_consolidate_managed_tenant,omitempty"`

	// Whether to replace managed virtual machine with discovery vm data.
	AutoConsolidateManagedVm *bool `json:"auto_consolidate_managed_vm,omitempty"`

	// Template string used to generate host name.
	AutoCreateDnsHostnameTemplate *string `json:"auto_create_dns_hostname_template,omitempty"`

	// Control whether to create or update DNS record using discovered data.
	AutoCreateDnsRecord *bool `json:"auto_create_dns_record,omitempty"`

	// Indicates the type of record to create if the auto create DNS record is
	// enabled.
	AutoCreateDnsRecordType string `json:"auto_create_dns_record_type,omitempty"`

	// Comment on the task.
	Comment *string `json:"comment,omitempty"`

	// Credentials type used for connecting to the cloud management platform.
	CredentialsType string `json:"credentials_type,omitempty"`

	// The DNS view name for private IPs.
	DnsViewPrivateIp *string `json:"dns_view_private_ip,omitempty"`

	// The DNS view name for public IPs.
	DnsViewPublicIp *string `json:"dns_view_public_ip,omitempty"`

	// The name of the domain to use with keystone v3.
	DomainName *string `json:"domain_name,omitempty"`

	// Type of discovery driver.
	DriverType string `json:"driver_type,omitempty"`

	// Whether to enabled the cloud discovery or not.
	Enabled *bool `json:"enabled,omitempty"`

	// FQDN or IP of the cloud management platform.
	FqdnOrIp *string `json:"fqdn_or_ip,omitempty"`

	// Identity service version.
	IdentityVersion string `json:"identity_version,omitempty"`

	// Timestamp of last run.
	LastRun *UnixTime `json:"last_run,omitempty"`

	// Member on which cloud discovery will be run.
	Member *string `json:"member,omitempty"`

	// Whether to replace the old data with new or not.
	MergeData *bool `json:"merge_data,omitempty"`

	// Name of this cloud discovery task. Uniquely identify a task.
	Name *string `json:"name,omitempty"`

	// Password used for connecting to the cloud management platform.
	Password *string `json:"password,omitempty"`

	// Connection port used for connecting to the cloud management platform.
	Port *uint32 `json:"port,omitempty"`

	// Network view for private IPs.
	PrivateNetworkView *string `json:"private_network_view,omitempty"`

	// Mapping policy for the network view for private IPs in discovery data.
	PrivateNetworkViewMappingPolicy string `json:"private_network_view_mapping_policy,omitempty"`

	// Connection protocol used for connecting to the cloud management platform.
	Protocol string `json:"protocol,omitempty"`

	// Network view for public IPs.
	PublicNetworkView *string `json:"public_network_view,omitempty"`

	// Mapping policy for the network view for public IPs in discovery data.
	PublicNetworkViewMappingPolicy string `json:"public_network_view_mapping_policy,omitempty"`

	// Schedule setting for cloud discovery task.
	ScheduledRun *SettingSchedule `json:"scheduled_run,omitempty"`

	// The service_account_file for GCP.
	ServiceAccountFile *string `json:"service_account_file,omitempty"`

	// Current state of this task.
	State string `json:"state,omitempty"`

	// State message of the complete discovery process.
	StateMsg string `json:"state_msg,omitempty"`

	// If set to true, the appliance uses a specific DNS view for private IPs.
	UpdateDnsViewPrivateIp *bool `json:"update_dns_view_private_ip,omitempty"`

	// If set to true, the appliance uses a specific DNS view for public IPs.
	UpdateDnsViewPublicIp *bool `json:"update_dns_view_public_ip,omitempty"`

	// Whether to update metadata as a result of this network discovery.
	UpdateMetadata *bool `json:"update_metadata,omitempty"`

	// If set true, all keystone connection will use "/identity" endpoint and port
	// value will be ignored.
	UseIdentity *bool `json:"use_identity,omitempty"`

	// Username used for connecting to the cloud management platform.
	Username *string `json:"username,omitempty"`
}

Vdiscoverytask represents Infoblox object vdiscoverytask. This object represents vDiscovery Task.

func (Vdiscoverytask) ObjectType added in v2.4.0

func (Vdiscoverytask) ObjectType() string

func (Vdiscoverytask) ReturnFields added in v2.4.0

func (obj Vdiscoverytask) ReturnFields() []string

type View added in v2.4.0

type View struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The action to perform when a domain name matches the pattern defined in a
	// rule that is specified by the blacklist_ruleset method. Valid values are
	// "REDIRECT" or "REFUSE". The default value is "REFUSE".
	BlacklistAction string `json:"blacklist_action,omitempty"`

	// The flag that indicates whether blacklist redirection queries are logged.
	// Specify "true" to enable logging, or "false" to disable it. The default
	// value is "false".
	BlacklistLogQuery *bool `json:"blacklist_log_query,omitempty"`

	// The array of IP addresses the appliance includes in the response it sends in
	// place of a blacklisted IP address.
	BlacklistRedirectAddresses []string `json:"blacklist_redirect_addresses,omitempty"`

	// The Time To Live (TTL) value of the synthetic DNS responses resulted from
	// blacklist redirection. The TTL value is a 32-bit unsigned integer that
	// represents the TTL in seconds.
	BlacklistRedirectTtl *uint32 `json:"blacklist_redirect_ttl,omitempty"`

	// The name of the Ruleset object assigned at the Grid level for blacklist
	// redirection.
	BlacklistRulesets []string `json:"blacklist_rulesets,omitempty"`

	// Structure containing all cloud API related information for this object.
	CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`

	// Comment for the DNS view; maximum 64 characters.
	Comment *string `json:"comment,omitempty"`

	// The list of customized root name servers. You can either select and use
	// Internet root name servers or specify custom root name servers by providing
	// a host name and IP address to which the Infoblox appliance can send queries.
	// Include the specified parameter to set the attribute value. Omit the
	// parameter to retrieve the attribute value.
	CustomRootNameServers []NameServer `json:"custom_root_name_servers,omitempty"`

	// Defines whether creation timestamp of RR should be updated ' when DDNS
	// update happens even if there is no change to ' the RR.
	DdnsForceCreationTimestampUpdate *bool `json:"ddns_force_creation_timestamp_update,omitempty"`

	// The DDNS Principal cluster group name.
	DdnsPrincipalGroup *string `json:"ddns_principal_group,omitempty"`

	// The flag that indicates whether the DDNS principal track is enabled or
	// disabled.
	DdnsPrincipalTracking *bool `json:"ddns_principal_tracking,omitempty"`

	// The flag that indicates whether an option to restrict DDNS update request
	// based on FQDN patterns is enabled or disabled.
	DdnsRestrictPatterns *bool `json:"ddns_restrict_patterns,omitempty"`

	// The unordered list of restriction patterns for an option of to restrict DDNS
	// updates based on FQDN patterns.
	DdnsRestrictPatternsList []string `json:"ddns_restrict_patterns_list,omitempty"`

	// The flag that indicates whether an option to restrict DDNS update request to
	// protected resource records is enabled or disabled.
	DdnsRestrictProtected *bool `json:"ddns_restrict_protected,omitempty"`

	// The flag that indicates whether DDNS update request for principal other than
	// target resource record's principal is restricted.
	DdnsRestrictSecure *bool `json:"ddns_restrict_secure,omitempty"`

	// The flag that indicates whether an option to restrict DDNS update request to
	// resource records which are marked as 'STATIC' is enabled or disabled.
	DdnsRestrictStatic *bool `json:"ddns_restrict_static,omitempty"`

	// Determines if the DNS view is disabled or not. When this is set to False,
	// the DNS view is enabled.
	Disable *bool `json:"disable,omitempty"`

	// Determines if the DNS64 s enabled or not.
	Dns64Enabled *bool `json:"dns64_enabled,omitempty"`

	// The list of DNS64 synthesis groups associated with this DNS view.
	Dns64Groups []string `json:"dns64_groups,omitempty"`

	// Determines if the DNS security extension is enabled or not.
	DnssecEnabled *bool `json:"dnssec_enabled,omitempty"`

	// Determines if the DNS security extension accepts expired signatures or not.
	DnssecExpiredSignaturesEnabled *bool `json:"dnssec_expired_signatures_enabled,omitempty"`

	// A list of zones for which the server does not perform DNSSEC validation.
	DnssecNegativeTrustAnchors []string `json:"dnssec_negative_trust_anchors,omitempty"`

	// The list of trusted keys for the DNS security extension.
	DnssecTrustedKeys []*Dnssectrustedkey `json:"dnssec_trusted_keys,omitempty"`

	// Determines if the DNS security validation is enabled or not.
	DnssecValidationEnabled *bool `json:"dnssec_validation_enabled,omitempty"`

	// Advertises the EDNS0 buffer size to the upstream server. The value should be
	// between 512 and 4096 bytes. The recommended value is between 512 and 1220
	// bytes.
	EdnsUdpSize *uint32 `json:"edns_udp_size,omitempty"`

	// Determines if the blacklist in a DNS view is enabled or not.
	EnableBlacklist *bool `json:"enable_blacklist,omitempty"`

	// Determines if the fixed RRset order FQDN is enabled or not.
	EnableFixedRrsetOrderFqdns *bool `json:"enable_fixed_rrset_order_fqdns,omitempty"`

	// Determines if the 'match-recursive-only' option in a DNS view is enabled or
	// not.
	EnableMatchRecursiveOnly *bool `json:"enable_match_recursive_only,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The type of AAAA filtering for this DNS view object.
	FilterAaaa string `json:"filter_aaaa,omitempty"`

	// Applies AAAA filtering to a named ACL, or to a list of IPv4/IPv6 addresses
	// and networks from which queries are received. This field does not allow TSIG
	// keys.
	FilterAaaaList []*Addressac `json:"filter_aaaa_list,omitempty"`

	// The fixed RRset order FQDN. If this field does not contain an empty value,
	// the appliance will automatically set the enable_fixed_rrset_order_fqdns
	// field to 'true', unless the same request sets the enable field to 'false'.
	FixedRrsetOrderFqdns []*GridDnsFixedrrsetorderfqdn `json:"fixed_rrset_order_fqdns,omitempty"`

	// Determines if this DNS view sends queries to forwarders only or not. When
	// the value is True, queries are sent to forwarders only, and not to other
	// internal or Internet root servers.
	ForwardOnly *bool `json:"forward_only,omitempty"`

	// The list of forwarders for the DNS view. A forwarder is a name server to
	// which other name servers first send their off-site queries. The forwarder
	// builds up a cache of information, avoiding the need for other name servers
	// to send queries off-site.
	Forwarders []string `json:"forwarders,omitempty"`

	// The NIOS appliance provides one default DNS view. You can rename the default
	// view and change its settings, but you cannot delete it. There must always be
	// at least one DNS view in the appliance.
	IsDefault bool `json:"is_default,omitempty"`

	// The number of seconds to cache lame delegations or lame servers.
	LameTtl *uint32 `json:"lame_ttl,omitempty"`

	// Determines last queried ACL for the specified IPv4 or IPv6 addresses and
	// networks in scavenging settings.
	LastQueriedAcl []*Addressac `json:"last_queried_acl,omitempty"`

	// A list of forwarders for the match clients. This list specifies a named ACL,
	// or a list of IPv4/IPv6 addresses, networks, TSIG keys of clients that are
	// allowed or denied access to the DNS view.
	MatchClients []*Addressac `json:"match_clients,omitempty"`

	// A list of forwarders for the match destinations. This list specifies a name
	// ACL, or a list of IPv4/IPv6 addresses, networks, TSIG keys of clients that
	// are allowed or denied access to the DNS view.
	MatchDestinations []*Addressac `json:"match_destinations,omitempty"`

	// The maximum number of seconds to cache ordinary (positive) answers.
	MaxCacheTtl *uint32 `json:"max_cache_ttl,omitempty"`

	// The maximum number of seconds to cache negative (NXDOMAIN) answers.
	MaxNcacheTtl *uint32 `json:"max_ncache_ttl,omitempty"`

	// The value is used by authoritative DNS servers to never send DNS responses
	// larger than the configured value. The value should be between 512 and 4096
	// bytes. The recommended value is between 512 and 1220 bytes.
	MaxUdpSize *uint32 `json:"max_udp_size,omitempty"`

	// Name of the DNS view.
	Name *string `json:"name,omitempty"`

	// The name of the network view object associated with this DNS view.
	NetworkView *string `json:"network_view,omitempty"`

	// The number of seconds of delay the notify messages are sent to secondaries.
	NotifyDelay *uint32 `json:"notify_delay,omitempty"`

	// The flag that indicates whether NXDOMAIN redirection queries are logged.
	// Specify "true" to enable logging, or "false" to disable it. The default
	// value is "false".
	NxdomainLogQuery *bool `json:"nxdomain_log_query,omitempty"`

	// Determines if NXDOMAIN redirection in a DNS view is enabled or not.
	NxdomainRedirect *bool `json:"nxdomain_redirect,omitempty"`

	// The array with IPv4 addresses the appliance includes in the response it
	// sends in place of an NXDOMAIN response.
	NxdomainRedirectAddresses []string `json:"nxdomain_redirect_addresses,omitempty"`

	// The array with IPv6 addresses the appliance includes in the response it
	// sends in place of an NXDOMAIN response.
	NxdomainRedirectAddressesV6 []string `json:"nxdomain_redirect_addresses_v6,omitempty"`

	// The Time To Live (TTL) value of the synthetic DNS responses resulted from
	// NXDOMAIN redirection. The TTL value is a 32-bit unsigned integer that
	// represents the TTL in seconds.
	NxdomainRedirectTtl *uint32 `json:"nxdomain_redirect_ttl,omitempty"`

	// The names of the Ruleset objects assigned at the grid level for NXDOMAIN
	// redirection.
	NxdomainRulesets []string `json:"nxdomain_rulesets,omitempty"`

	// Determines if recursion is enabled or not.
	Recursion *bool `json:"recursion,omitempty"`

	// The response rate limiting settings for the DNS View.
	ResponseRateLimiting *GridResponseratelimiting `json:"response_rate_limiting,omitempty"`

	// Determines the type of root name servers.
	RootNameServerType string `json:"root_name_server_type,omitempty"`

	// Enables the appliance to ignore RPZ-IP triggers with prefix lengths less
	// than the specified minimum prefix length.
	RpzDropIpRuleEnabled *bool `json:"rpz_drop_ip_rule_enabled,omitempty"`

	// The minimum prefix length for IPv4 RPZ-IP triggers. The appliance ignores
	// RPZ-IP triggers with prefix lengths less than the specified minimum IPv4
	// prefix length.
	RpzDropIpRuleMinPrefixLengthIpv4 *uint32 `json:"rpz_drop_ip_rule_min_prefix_length_ipv4,omitempty"`

	// The minimum prefix length for IPv6 RPZ-IP triggers. The appliance ignores
	// RPZ-IP triggers with prefix lengths less than the specified minimum IPv6
	// prefix length.
	RpzDropIpRuleMinPrefixLengthIpv6 *uint32 `json:"rpz_drop_ip_rule_min_prefix_length_ipv6,omitempty"`

	// The flag that indicates whether recursive RPZ lookups are enabled.
	RpzQnameWaitRecurse *bool `json:"rpz_qname_wait_recurse,omitempty"`

	// The scavenging settings.
	ScavengingSettings *SettingScavenging `json:"scavenging_settings,omitempty"`

	// A sort list that determines the order of IP addresses in responses sent to
	// DNS queries.
	Sortlist []*Sortlist `json:"sortlist,omitempty"`

	// Use flag for: blacklist_action , blacklist_log_query,
	// blacklist_redirect_addresses, blacklist_redirect_ttl, blacklist_rulesets,
	// enable_blacklist
	UseBlacklist *bool `json:"use_blacklist,omitempty"`

	// Use flag for: ddns_force_creation_timestamp_update
	UseDdnsForceCreationTimestampUpdate *bool `json:"use_ddns_force_creation_timestamp_update,omitempty"`

	// Use flag for: ddns_restrict_patterns_list , ddns_restrict_patterns
	UseDdnsPatternsRestriction *bool `json:"use_ddns_patterns_restriction,omitempty"`

	// Use flag for: ddns_restrict_secure , ddns_principal_tracking,
	// ddns_principal_group
	UseDdnsPrincipalSecurity *bool `json:"use_ddns_principal_security,omitempty"`

	// Use flag for: ddns_restrict_protected
	UseDdnsRestrictProtected *bool `json:"use_ddns_restrict_protected,omitempty"`

	// Use flag for: ddns_restrict_static
	UseDdnsRestrictStatic *bool `json:"use_ddns_restrict_static,omitempty"`

	// Use flag for: dns64_enabled , dns64_groups
	UseDns64 *bool `json:"use_dns64,omitempty"`

	// Use flag for: dnssec_enabled , dnssec_expired_signatures_enabled,
	// dnssec_validation_enabled, dnssec_trusted_keys
	UseDnssec *bool `json:"use_dnssec,omitempty"`

	// Use flag for: edns_udp_size
	UseEdnsUdpSize *bool `json:"use_edns_udp_size,omitempty"`

	// Use flag for: filter_aaaa , filter_aaaa_list
	UseFilterAaaa *bool `json:"use_filter_aaaa,omitempty"`

	// Use flag for: fixed_rrset_order_fqdns , enable_fixed_rrset_order_fqdns
	UseFixedRrsetOrderFqdns *bool `json:"use_fixed_rrset_order_fqdns,omitempty"`

	// Use flag for: forwarders , forward_only
	UseForwarders *bool `json:"use_forwarders,omitempty"`

	// Use flag for: lame_ttl
	UseLameTtl *bool `json:"use_lame_ttl,omitempty"`

	// Use flag for: max_cache_ttl
	UseMaxCacheTtl *bool `json:"use_max_cache_ttl,omitempty"`

	// Use flag for: max_ncache_ttl
	UseMaxNcacheTtl *bool `json:"use_max_ncache_ttl,omitempty"`

	// Use flag for: max_udp_size
	UseMaxUdpSize *bool `json:"use_max_udp_size,omitempty"`

	// Use flag for: nxdomain_redirect , nxdomain_redirect_addresses,
	// nxdomain_redirect_addresses_v6, nxdomain_redirect_ttl, nxdomain_log_query,
	// nxdomain_rulesets
	UseNxdomainRedirect *bool `json:"use_nxdomain_redirect,omitempty"`

	// Use flag for: recursion
	UseRecursion *bool `json:"use_recursion,omitempty"`

	// Use flag for: response_rate_limiting
	UseResponseRateLimiting *bool `json:"use_response_rate_limiting,omitempty"`

	// Use flag for: custom_root_name_servers , root_name_server_type
	UseRootNameServer *bool `json:"use_root_name_server,omitempty"`

	// Use flag for: rpz_drop_ip_rule_enabled ,
	// rpz_drop_ip_rule_min_prefix_length_ipv4,
	// rpz_drop_ip_rule_min_prefix_length_ipv6
	UseRpzDropIpRule *bool `json:"use_rpz_drop_ip_rule,omitempty"`

	// Use flag for: rpz_qname_wait_recurse
	UseRpzQnameWaitRecurse *bool `json:"use_rpz_qname_wait_recurse,omitempty"`

	// Use flag for: scavenging_settings , last_queried_acl
	UseScavengingSettings *bool `json:"use_scavenging_settings,omitempty"`

	// Use flag for: sortlist
	UseSortlist *bool `json:"use_sortlist,omitempty"`
}

View represents Infoblox object view. DNS views provide the ability to serve one version of DNS data to one set of clients and another version to another set of clients. With DNS views, the appliance can provide a different answer to the same query, depending on the source of the query.

func NewEmptyDNSView added in v2.2.0

func NewEmptyDNSView() *View

func (View) ObjectType added in v2.4.0

func (View) ObjectType() string

func (View) ReturnFields added in v2.4.0

func (obj View) ReturnFields() []string

type Vlan added in v2.4.0

type Vlan struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// List of objects VLAN is assigned to.
	AssignedTo []*Ipv4Network `json:"assigned_to,omitempty"`

	// A descriptive comment for this VLAN.
	Comment *string `json:"comment,omitempty"`

	// Contact information for person/team managing or using VLAN.
	Contact *string `json:"contact,omitempty"`

	// Department where VLAN is used.
	Department *string `json:"department,omitempty"`

	// Description for the VLAN object, may be potentially used for longer VLAN
	// names.
	Description *string `json:"description,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// VLAN ID value.
	Id *uint32 `json:"id,omitempty"`

	// Name of the VLAN.
	Name *string `json:"name,omitempty"`

	// The VLAN View or VLAN Range to which this VLAN belongs.
	Parent *string `json:"parent,omitempty"`

	// When set VLAN can only be assigned to IPAM object manually.
	Reserved *bool `json:"reserved,omitempty"`

	// Status of VLAN object. Can be Assigned, Unassigned, Reserved.
	Status string `json:"status,omitempty"`
}

Vlan represents Infoblox object vlan. References to vlan are object references.

func (Vlan) ObjectType added in v2.4.0

func (Vlan) ObjectType() string

func (Vlan) ReturnFields added in v2.4.0

func (obj Vlan) ReturnFields() []string
type Vlanlink struct {
	// VLAN ID value.
	Id uint32 `json:"id,omitempty"`

	// Name of the VLAN.
	Name string `json:"name,omitempty"`
}

Vlanlink represents Infoblox struct vlanlink

type Vlanrange added in v2.4.0

type Vlanrange struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// A descriptive comment for this VLAN Range.
	Comment *string `json:"comment,omitempty"`

	// Vlans delete option. Determines whether all child objects should be removed
	// alongside with the VLAN Range or child objects should be assigned to another
	// parental VLAN Range/View. By default child objects are re-parented.
	DeleteVlans bool `json:"delete_vlans,omitempty"`

	// End ID for VLAN Range.
	EndVlanId *uint32 `json:"end_vlan_id,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// Name of the VLAN Range.
	Name *string `json:"name,omitempty"`

	// If set on creation VLAN objects will be created once VLAN Range created.
	PreCreateVlan *bool `json:"pre_create_vlan,omitempty"`

	// Start ID for VLAN Range.
	StartVlanId *uint32 `json:"start_vlan_id,omitempty"`

	// If set on creation prefix string will be used for VLAN name.
	VlanNamePrefix *string `json:"vlan_name_prefix,omitempty"`

	// The VLAN View to which this VLAN Range belongs.
	VlanView *string `json:"vlan_view,omitempty"`
}

Vlanrange represents Infoblox object vlanrange. References to vlanrange are object references.

func (Vlanrange) ObjectType added in v2.4.0

func (Vlanrange) ObjectType() string

func (Vlanrange) ReturnFields added in v2.4.0

func (obj Vlanrange) ReturnFields() []string

type Vlanview added in v2.4.0

type Vlanview struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// When set to true VLAN Ranges under VLAN View can have overlapping ID.
	AllowRangeOverlapping *bool `json:"allow_range_overlapping,omitempty"`

	// A descriptive comment for this VLAN View.
	Comment *string `json:"comment,omitempty"`

	// End ID for VLAN View.
	EndVlanId *uint32 `json:"end_vlan_id,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// Name of the VLAN View.
	Name *string `json:"name,omitempty"`

	// If set on creation VLAN objects will be created once VLAN View created.
	PreCreateVlan *bool `json:"pre_create_vlan,omitempty"`

	// Start ID for VLAN View.
	StartVlanId *uint32 `json:"start_vlan_id,omitempty"`

	// If set on creation prefix string will be used for VLAN name.
	VlanNamePrefix *string `json:"vlan_name_prefix,omitempty"`
}

Vlanview represents Infoblox object vlanview. References to vlanview are object references.

func (Vlanview) ObjectType added in v2.4.0

func (Vlanview) ObjectType() string

func (Vlanview) ReturnFields added in v2.4.0

func (obj Vlanview) ReturnFields() []string

type Vtftpdirmember added in v2.4.0

type Vtftpdirmember struct {
	// The Grid member on which to create the virtual TFTP directory.
	Member string `json:"member,omitempty"`

	// The IP type of the virtual TFTP root directory.
	IpType string `json:"ip_type,omitempty"`

	// The IP address of the clients which will see the virtual TFTP directory as
	// the root directory.
	Address string `json:"address,omitempty"`

	// The start IP address of the range within which the clients will see the
	// virtual TFTP directory as the root directory.
	StartAddress string `json:"start_address,omitempty"`

	// The end IP address of the range within which the clients will see the
	// virtual TFTP directory as the root directory.
	EndAddress string `json:"end_address,omitempty"`

	// The IP address of network the clients from which will see the virtual TFTP
	// directory as the root directory.
	Network string `json:"network,omitempty"`

	// The CIDR of network the clients from which will see the virtual TFTP
	// directory as the root directory.
	Cidr uint32 `json:"cidr,omitempty"`
}

Vtftpdirmember represents Infoblox struct vtftpdirmember

type WapiHttpRequestor

type WapiHttpRequestor struct {
	// contains filtered or unexported fields
}

func (*WapiHttpRequestor) Init

func (whr *WapiHttpRequestor) Init(authCfg AuthConfig, trCfg TransportConfig)

func (*WapiHttpRequestor) SendRequest

func (whr *WapiHttpRequestor) SendRequest(req *http.Request) (res []byte, err error)

type WapiRequestBuilder

type WapiRequestBuilder struct {
	// contains filtered or unexported fields
}

func NewWapiRequestBuilder added in v2.2.0

func NewWapiRequestBuilder(hostCfg HostConfig, authCfg AuthConfig) (*WapiRequestBuilder, error)

func (*WapiRequestBuilder) BuildBody

func (wrb *WapiRequestBuilder) BuildBody(t RequestType, obj IBObject) []byte

func (*WapiRequestBuilder) BuildRequest

func (wrb *WapiRequestBuilder) BuildRequest(t RequestType, obj IBObject, ref string, queryParams *QueryParams) (req *http.Request, err error)

func (*WapiRequestBuilder) BuildUrl

func (wrb *WapiRequestBuilder) BuildUrl(t RequestType, objType string, ref string, returnFields []string, queryParams *QueryParams) (urlStr string)

func (*WapiRequestBuilder) Init

func (wrb *WapiRequestBuilder) Init(hostCfg HostConfig, authCfg AuthConfig)

type WapiRequestBuilderWithHeaders added in v2.6.0

type WapiRequestBuilderWithHeaders struct {
	HttpRequestBuilder
	// contains filtered or unexported fields
}

func NewWapiRequestBuilderWithHeaders added in v2.6.0

func NewWapiRequestBuilderWithHeaders(wrb *WapiRequestBuilder, header http.Header) (*WapiRequestBuilderWithHeaders, error)

func (*WapiRequestBuilderWithHeaders) BuildRequest added in v2.6.0

func (wrbh *WapiRequestBuilderWithHeaders) BuildRequest(r RequestType, obj IBObject, ref string, queryParams *QueryParams) (req *http.Request, err error)

type ZoneAuth

type ZoneAuth struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The IP address of the server that is serving this zone.
	Address string `json:"address,omitempty"`

	// This field allows the zone to receive GSS-TSIG authenticated DDNS updates
	// from DHCP clients and servers in an AD domain. Note that addresses specified
	// in this field ignore the permission set in the struct which will be set to
	// 'ALLOW'.
	AllowActiveDir []*Addressac `json:"allow_active_dir,omitempty"`

	// The flag that allows to enable or disable fixed RRset ordering for
	// authoritative forward-mapping zones.
	AllowFixedRrsetOrder *bool `json:"allow_fixed_rrset_order,omitempty"`

	// The flag that allows DHCP clients to perform GSS-TSIG signed updates for
	// underscore zones.
	AllowGssTsigForUnderscoreZone *bool `json:"allow_gss_tsig_for_underscore_zone,omitempty"`

	// The flag that enables or disables the zone for GSS-TSIG updates.
	AllowGssTsigZoneUpdates *bool `json:"allow_gss_tsig_zone_updates,omitempty"`

	// Determines whether DNS queries are allowed from a named ACL, or from a list
	// of IPv4/IPv6 addresses, networks, and TSIG keys for the hosts.
	AllowQuery []*Addressac `json:"allow_query,omitempty"`

	// Determines whether zone transfers are allowed from a named ACL, or from a
	// list of IPv4/IPv6 addresses, networks, and TSIG keys for the hosts.
	AllowTransfer []*Addressac `json:"allow_transfer,omitempty"`

	// Determines whether dynamic DNS updates are allowed from a named ACL, or from
	// a list of IPv4/IPv6 addresses, networks, and TSIG keys for the hosts.
	AllowUpdate []*Addressac `json:"allow_update,omitempty"`

	// The list with IP addresses, networks or TSIG keys for clients, from which
	// forwarded dynamic updates are allowed.
	AllowUpdateForwarding *bool `json:"allow_update_forwarding,omitempty"`

	// Additional information for Route53 zone.
	AwsRte53ZoneInfo *Awsrte53zoneinfo `json:"aws_rte53_zone_info,omitempty"`

	// Structure containing all cloud API related information for this object.
	CloudInfo *GridCloudapiInfo `json:"cloud_info,omitempty"`

	// Comment for the zone; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// If this flag is set to True then copy allowed IPs from Allow Transfer to
	// Also Notify.
	CopyXferToNotify *bool `json:"copy_xfer_to_notify,omitempty"`

	// Determines if PTR records are created for hosts automatically, if necessary,
	// when the zone data is imported. This field is meaningful only when
	// import_from is set.
	CreatePtrForBulkHosts *bool `json:"create_ptr_for_bulk_hosts,omitempty"`

	// Determines if PTR records are created for hosts automatically, if necessary,
	// when the zone data is imported. This field is meaningful only when
	// import_from is set.
	CreatePtrForHosts *bool `json:"create_ptr_for_hosts,omitempty"`

	// Determines whether automatic creation of subzones is enabled or not.
	CreateUnderscoreZones *bool `json:"create_underscore_zones,omitempty"`

	// Defines whether creation timestamp of RR should be updated ' when DDNS
	// update happens even if there is no change to ' the RR.
	DdnsForceCreationTimestampUpdate *bool `json:"ddns_force_creation_timestamp_update,omitempty"`

	// The DDNS Principal cluster group name.
	DdnsPrincipalGroup *string `json:"ddns_principal_group,omitempty"`

	// The flag that indicates whether the DDNS principal track is enabled or
	// disabled.
	DdnsPrincipalTracking *bool `json:"ddns_principal_tracking,omitempty"`

	// The flag that indicates whether an option to restrict DDNS update request
	// based on FQDN patterns is enabled or disabled.
	DdnsRestrictPatterns *bool `json:"ddns_restrict_patterns,omitempty"`

	// The unordered list of restriction patterns for an option of to restrict DDNS
	// updates based on FQDN patterns.
	DdnsRestrictPatternsList []string `json:"ddns_restrict_patterns_list,omitempty"`

	// The flag that indicates whether an option to restrict DDNS update request to
	// protected resource records is enabled or disabled.
	DdnsRestrictProtected *bool `json:"ddns_restrict_protected,omitempty"`

	// The flag that indicates whether DDNS update request for principal other than
	// target resource record's principal is restricted.
	DdnsRestrictSecure *bool `json:"ddns_restrict_secure,omitempty"`

	// The flag that indicates whether an option to restrict DDNS update request to
	// resource records which are marked as 'STATIC' is enabled or disabled.
	DdnsRestrictStatic *bool `json:"ddns_restrict_static,omitempty"`

	// Determines whether a zone is disabled or not. When this is set to False, the
	// zone is enabled.
	Disable *bool `json:"disable,omitempty"`

	// Determines whether the name servers that host the zone should forward
	// queries (ended with the domain name of the zone) to any configured
	// forwarders.
	DisableForwarding *bool `json:"disable_forwarding,omitempty"`

	// The displayed name of the DNS zone.
	DisplayDomain string `json:"display_domain,omitempty"`

	// The name of this DNS zone in punycode format. For a reverse zone, this is in
	// "address/cidr" format. For other zones, this is in FQDN format in punycode
	// format.
	DnsFqdn string `json:"dns_fqdn,omitempty"`

	// If this is set to True, DNS integrity check is enabled for this zone.
	DnsIntegrityEnable *bool `json:"dns_integrity_enable,omitempty"`

	// The frequency, in seconds, of DNS integrity checks for this zone.
	DnsIntegrityFrequency *uint32 `json:"dns_integrity_frequency,omitempty"`

	// The Grid member that performs DNS integrity checks for this zone.
	DnsIntegrityMember *string `json:"dns_integrity_member,omitempty"`

	// If this is set to True, more information is logged for DNS integrity checks
	// for this zone.
	DnsIntegrityVerboseLogging *bool `json:"dns_integrity_verbose_logging,omitempty"`

	// The SOA email for the zone in punycode format.
	DnsSoaEmail string `json:"dns_soa_email,omitempty"`

	// This structure contains the DNSSEC key parameters for this zone.
	DnssecKeyParams *Dnsseckeyparams `json:"dnssec_key_params,omitempty"`

	// A list of DNSSEC keys for the zone.
	DnssecKeys []*Dnsseckey `json:"dnssec_keys,omitempty"`

	// The rollover date for the Key Signing Key.
	DnssecKskRolloverDate *UnixTime `json:"dnssec_ksk_rollover_date,omitempty"`

	// The rollover date for the Zone Signing Key.
	DnssecZskRolloverDate *UnixTime `json:"dnssec_zsk_rollover_date,omitempty"`

	// Determines if hosts and bulk hosts are automatically created when the zone
	// data is imported. This field is meaningful only when import_from is set.
	DoHostAbstraction *bool `json:"do_host_abstraction,omitempty"`

	// The value of the check names policy, which indicates the action the
	// appliance takes when it encounters host names that do not comply with the
	// Strict Hostname Checking policy. This value applies only if the host name
	// restriction policy is set to "Strict Hostname Checking".
	EffectiveCheckNamesPolicy string `json:"effective_check_names_policy,omitempty"`

	// The selected hostname policy for records under this zone.
	EffectiveRecordNamePolicy string `json:"effective_record_name_policy,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The list of external primary servers.
	ExternalPrimaries []NameServer `json:"external_primaries,omitempty"`

	// The list of external secondary servers.
	ExternalSecondaries []NameServer `json:"external_secondaries,omitempty"`

	// The name of this DNS zone. For a reverse zone, this is in "address/cidr"
	// format. For other zones, this is in FQDN format. This value can be in
	// unicode format. Note that for a reverse zone, the corresponding zone_format
	// value should be set.
	Fqdn string `json:"fqdn,omitempty"`

	// The grid primary servers for this zone.
	GridPrimary []*Memberserver `json:"grid_primary,omitempty"`

	// Determines if the server is duplicated with parent delegation.
	GridPrimarySharedWithMsParentDelegation bool `json:"grid_primary_shared_with_ms_parent_delegation,omitempty"`

	// The list with Grid members that are secondary servers for this zone.
	GridSecondaries []*Memberserver `json:"grid_secondaries,omitempty"`

	// The IP address of the Infoblox appliance from which zone data is imported.
	// Setting this address to '255.255.255.255' and do_host_abstraction to 'true'
	// will create Host records from A records in this zone without importing zone
	// data.
	ImportFrom *string `json:"import_from,omitempty"`

	// This flag is set to True if DNSSEC is enabled for the zone.
	IsDnssecEnabled bool `json:"is_dnssec_enabled,omitempty"`

	// Determines if the zone is DNSSEC signed.
	IsDnssecSigned bool `json:"is_dnssec_signed,omitempty"`

	// Determines if multi-master DNS is enabled for the zone.
	IsMultimaster bool `json:"is_multimaster,omitempty"`

	// The time the zone was last queried on.
	LastQueried *UnixTime `json:"last_queried,omitempty"`

	// Determines last queried ACL for the specified IPv4 or IPv6 addresses and
	// networks in scavenging settings.
	LastQueriedAcl []*Addressac `json:"last_queried_acl,omitempty"`

	// If you enable this flag, other administrators cannot make conflicting
	// changes. This is for administration purposes only. The zone will continue to
	// serve DNS data even when it is locked.
	Locked *bool `json:"locked,omitempty"`

	// The name of a superuser or the administrator who locked this zone.
	LockedBy string `json:"locked_by,omitempty"`

	// IPv4 Netmask or IPv6 prefix for this zone.
	MaskPrefix string `json:"mask_prefix,omitempty"`

	// The list of per-member SOA MNAME information.
	MemberSoaMnames []*GridmemberSoamname `json:"member_soa_mnames,omitempty"`

	// The list of per-member SOA serial information.
	MemberSoaSerials []*GridmemberSoaserial `json:"member_soa_serials,omitempty"`

	// The flag that determines whether Active Directory is integrated or not. This
	// field is valid only when ms_managed is "STUB", "AUTH_PRIMARY", or
	// "AUTH_BOTH".
	MsAdIntegrated *bool `json:"ms_ad_integrated,omitempty"`

	// The list of DNS clients that are allowed to perform zone transfers from a
	// Microsoft DNS server. This setting applies only to zones with Microsoft DNS
	// servers that are either primary or secondary servers. This setting does not
	// inherit any value from the Grid or from any member that defines an
	// allow_transfer value. This setting does not apply to any grid member. Use
	// the allow_transfer field to control which DNS clients are allowed to perform
	// zone transfers on Grid members.
	MsAllowTransfer []*Addressac `json:"ms_allow_transfer,omitempty"`

	// Determines which DNS clients are allowed to perform zone transfers from a
	// Microsoft DNS server. Valid values are: "ADDRESS_AC", to use
	// ms_allow_transfer field for specifying IP addresses, networks and
	// Transaction Signature (TSIG) keys for clients that are allowed to do zone
	// transfers. "ANY", to allow any client. "ANY_NS", to allow only the
	// nameservers listed in this zone. "NONE", to deny all zone transfer requests.
	MsAllowTransferMode string `json:"ms_allow_transfer_mode,omitempty"`

	// The list of domain controllers that are allowed to create NS records for
	// authoritative zones.
	MsDcNsRecordCreation []*MsserverDcnsrecordcreation `json:"ms_dc_ns_record_creation,omitempty"`

	// Determines whether an Active Directory-integrated zone with a Microsoft DNS
	// server as primary allows dynamic updates. Valid values are: "SECURE" if the
	// zone allows secure updates only. "NONE" if the zone forbids dynamic updates.
	// "ANY" if the zone accepts both secure and nonsecure updates. This field is
	// valid only if ms_managed is either "AUTH_PRIMARY" or "AUTH_BOTH". If the
	// flag ms_ad_integrated is false, the value "SECURE" is not allowed.
	MsDdnsMode string `json:"ms_ddns_mode,omitempty"`

	// The flag that indicates whether the zone is assigned to a Microsoft DNS
	// server. This flag returns the authoritative name server type of the
	// Microsoft DNS server. Valid values are: "NONE" if the zone is not assigned
	// to any Microsoft DNS server. "STUB" if the zone is assigned to a Microsoft
	// DNS server as a stub zone. "AUTH_PRIMARY" if only the primary server of the
	// zone is a Microsoft DNS server. "AUTH_SECONDARY" if only the secondary
	// server of the zone is a Microsoft DNS server. "AUTH_BOTH" if both the
	// primary and secondary servers of the zone are Microsoft DNS servers.
	MsManaged string `json:"ms_managed,omitempty"`

	// The list with the Microsoft DNS servers that are primary servers for the
	// zone. Although a zone typically has just one primary name server, you can
	// specify up to ten independent servers for a single zone.
	MsPrimaries []*Msdnsserver `json:"ms_primaries,omitempty"`

	// Determines if a Grid member manages the zone served by a Microsoft DNS
	// server in read-only mode. This flag is true when a Grid member manages the
	// zone in read-only mode, false otherwise. When the zone has the ms_read_only
	// flag set to True, no changes can be made to this zone.
	MsReadOnly bool `json:"ms_read_only,omitempty"`

	// The list with the Microsoft DNS servers that are secondary servers for the
	// zone.
	MsSecondaries []*Msdnsserver `json:"ms_secondaries,omitempty"`

	// This flag controls whether this zone is synchronized with Microsoft DNS
	// servers.
	MsSyncDisabled *bool `json:"ms_sync_disabled,omitempty"`

	// The name of MS synchronization master for this zone.
	MsSyncMasterName string `json:"ms_sync_master_name,omitempty"`

	// The list with the associated network/network container information.
	NetworkAssociations []*Ipv4Network `json:"network_associations,omitempty"`

	// The name of the network view in which this zone resides.
	NetworkView string `json:"network_view,omitempty"`

	// The number of seconds in delay with which notify messages are sent to
	// secondaries.
	NotifyDelay *uint32 `json:"notify_delay,omitempty"`

	// The name server group that serves DNS for this zone.
	NsGroup *string `json:"ns_group"`

	// The parent zone of this zone. Note that when searching for reverse zones,
	// the "in-addr.arpa" notation should be used.
	Parent string `json:"parent,omitempty"`

	// The RFC2317 prefix value of this DNS zone. Use this field only when the
	// netmask is greater than 24 bits; that is, for a mask between 25 and 31 bits.
	// Enter a prefix, such as the name of the allocated address block. The prefix
	// can be alphanumeric characters, such as 128/26 , 128-189 , or sub-B.
	Prefix *string `json:"prefix,omitempty"`

	// The type of the primary server.
	PrimaryType string `json:"primary_type,omitempty"`

	// The hostname policy for records under this zone.
	RecordNamePolicy *string `json:"record_name_policy,omitempty"`

	// Determines if this zone is also monitoring resource records.
	RecordsMonitored bool `json:"records_monitored,omitempty"`

	// Restarts the member service.
	RestartIfNeeded *bool `json:"restart_if_needed,omitempty"`

	// The time data collection for Not Queried Resource Record was enabled for
	// this zone.
	RrNotQueriedEnabledTime *UnixTime `json:"rr_not_queried_enabled_time,omitempty"`

	// The scavenging settings.
	ScavengingSettings *SettingScavenging `json:"scavenging_settings,omitempty"`

	// The serial number in the SOA record incrementally changes every time the
	// record is modified. The Infoblox appliance allows you to change the serial
	// number (in the SOA record) for the primary server so it is higher than the
	// secondary server, thereby ensuring zone transfers come from the primary
	// server (as they should). To change the serial number you need to set a new
	// value at "soa_serial_number" and pass "set_soa_serial_number" as True.
	SetSoaSerialNumber *bool `json:"set_soa_serial_number,omitempty"`

	// The Time to Live (TTL) value of the SOA record of this zone. This value is
	// the number of seconds that data is cached.
	SoaDefaultTtl *uint32 `json:"soa_default_ttl,omitempty"`

	// The SOA email value for this zone. This value can be in unicode format.
	SoaEmail *string `json:"soa_email,omitempty"`

	// This setting defines the amount of time, in seconds, after which the
	// secondary server stops giving out answers about the zone because the zone
	// data is too old to be useful. The default is one week.
	SoaExpire *uint32 `json:"soa_expire,omitempty"`

	// The negative Time to Live (TTL) value of the SOA of the zone indicates how
	// long a secondary server can cache data for "Does Not Respond" responses.
	SoaNegativeTtl *uint32 `json:"soa_negative_ttl,omitempty"`

	// This indicates the interval at which a secondary server sends a message to
	// the primary server for a zone to check that its data is current, and
	// retrieve fresh data if it is not.
	SoaRefresh *uint32 `json:"soa_refresh,omitempty"`

	// This indicates how long a secondary server must wait before attempting to
	// recontact the primary server after a connection failure between the two
	// servers occurs.
	SoaRetry *uint32 `json:"soa_retry,omitempty"`

	// The serial number in the SOA record incrementally changes every time the
	// record is modified. The Infoblox appliance allows you to change the serial
	// number (in the SOA record) for the primary server so it is higher than the
	// secondary server, thereby ensuring zone transfers come from the primary
	// server (as they should). To change the serial number you need to set a new
	// value at "soa_serial_number" and pass "set_soa_serial_number" as True.
	SoaSerialNumber *uint32 `json:"soa_serial_number,omitempty"`

	// The associated shared record groups of a DNS zone. If a shared record group
	// is associated with a zone, then all shared records in a shared record group
	// will be shared in the zone.
	Srgs []string `json:"srgs,omitempty"`

	// Use this field to allow or deny dynamic DNS updates that are forwarded from
	// specific IPv4/IPv6 addresses, networks, or a named ACL. You can also provide
	// TSIG keys for clients that are allowed or denied to perform zone updates.
	// This setting overrides the member-level setting.
	UpdateForwarding []*Addressac `json:"update_forwarding,omitempty"`

	// Use flag for: allow_active_dir
	UseAllowActiveDir *bool `json:"use_allow_active_dir,omitempty"`

	// Use flag for: allow_query
	UseAllowQuery *bool `json:"use_allow_query,omitempty"`

	// Use flag for: allow_transfer
	UseAllowTransfer *bool `json:"use_allow_transfer,omitempty"`

	// Use flag for: allow_update
	UseAllowUpdate *bool `json:"use_allow_update,omitempty"`

	// Use flag for: allow_update_forwarding
	UseAllowUpdateForwarding *bool `json:"use_allow_update_forwarding,omitempty"`

	// Apply policy to dynamic updates and inbound zone transfers (This value
	// applies only if the host name restriction policy is set to "Strict Hostname
	// Checking".)
	UseCheckNamesPolicy *bool `json:"use_check_names_policy,omitempty"`

	// Use flag for: copy_xfer_to_notify
	UseCopyXferToNotify *bool `json:"use_copy_xfer_to_notify,omitempty"`

	// Use flag for: ddns_force_creation_timestamp_update
	UseDdnsForceCreationTimestampUpdate *bool `json:"use_ddns_force_creation_timestamp_update,omitempty"`

	// Use flag for: ddns_restrict_patterns_list , ddns_restrict_patterns
	UseDdnsPatternsRestriction *bool `json:"use_ddns_patterns_restriction,omitempty"`

	// Use flag for: ddns_restrict_secure , ddns_principal_tracking,
	// ddns_principal_group
	UseDdnsPrincipalSecurity *bool `json:"use_ddns_principal_security,omitempty"`

	// Use flag for: ddns_restrict_protected
	UseDdnsRestrictProtected *bool `json:"use_ddns_restrict_protected,omitempty"`

	// Use flag for: ddns_restrict_static
	UseDdnsRestrictStatic *bool `json:"use_ddns_restrict_static,omitempty"`

	// Use flag for: dnssec_key_params
	UseDnssecKeyParams *bool `json:"use_dnssec_key_params,omitempty"`

	// This flag controls whether the zone is using an external primary.
	UseExternalPrimary *bool `json:"use_external_primary,omitempty"`

	// Use flag for: soa_default_ttl , soa_expire, soa_negative_ttl, soa_refresh,
	// soa_retry
	UseGridZoneTimer *bool `json:"use_grid_zone_timer,omitempty"`

	// Use flag for: import_from
	UseImportFrom *bool `json:"use_import_from,omitempty"`

	// Use flag for: notify_delay
	UseNotifyDelay *bool `json:"use_notify_delay,omitempty"`

	// Use flag for: record_name_policy
	UseRecordNamePolicy *bool `json:"use_record_name_policy,omitempty"`

	// Use flag for: scavenging_settings , last_queried_acl
	UseScavengingSettings *bool `json:"use_scavenging_settings,omitempty"`

	// Use flag for: soa_email
	UseSoaEmail *bool `json:"use_soa_email,omitempty"`

	// This is true if the zone is associated with a shared record group.
	UsingSrgAssociations bool `json:"using_srg_associations,omitempty"`

	// The name of the DNS view in which the zone resides. Example "external".
	View *string `json:"view,omitempty"`

	// Determines the format of this zone.
	ZoneFormat string `json:"zone_format,omitempty"`

	// The time when "DNS Zones Last Queried" was turned on for this zone.
	ZoneNotQueriedEnabledTime *UnixTime `json:"zone_not_queried_enabled_time,omitempty"`
}

ZoneAuth represents Infoblox object zone_auth. An authoritative zone is a zone for which the local (primary or secondary) server references its own data when responding to queries. The local server is authoritative for the data in this zone and responds to queries for this data without referencing another server.

func NewZoneAuth

func NewZoneAuth(za ZoneAuth) *ZoneAuth

func (ZoneAuth) ObjectType added in v2.4.0

func (ZoneAuth) ObjectType() string

func (ZoneAuth) ReturnFields added in v2.4.0

func (obj ZoneAuth) ReturnFields() []string

type ZoneAuthDiscrepancy added in v2.4.0

type ZoneAuthDiscrepancy struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// Information about the discrepancy.
	Description string `json:"description,omitempty"`

	// The severity of the discrepancy reported.
	Severity string `json:"severity,omitempty"`

	// The time when the DNS integrity check was last run for this zone.
	Timestamp *UnixTime `json:"timestamp,omitempty"`

	// The reference of the zone during a search. Otherwise, this is the zone
	// object of the zone to which the discrepancy refers.
	Zone string `json:"zone,omitempty"`
}

ZoneAuthDiscrepancy represents Infoblox object zone_auth_discrepancy. This object contains information about discrepancies found when performing a DNS integrity check for a zone.

func (ZoneAuthDiscrepancy) ObjectType added in v2.4.0

func (ZoneAuthDiscrepancy) ObjectType() string

func (ZoneAuthDiscrepancy) ReturnFields added in v2.4.0

func (obj ZoneAuthDiscrepancy) ReturnFields() []string

type ZoneDelegated

type ZoneDelegated struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The IP address of the server that is serving this zone.
	Address string `json:"address,omitempty"`

	// Comment for the zone; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// This provides information for the remote name server that maintains data for
	// the delegated zone. The Infoblox appliance redirects queries for data for
	// the delegated zone to this remote name server.
	DelegateTo NullableNameServers `json:"delegate_to,omitempty"`

	// You can specify the Time to Live (TTL) values of auto-generated NS and glue
	// records for a delegated zone. This value is the number of seconds that data
	// is cached.
	DelegatedTtl *uint32 `json:"delegated_ttl,omitempty"`

	// Determines whether a zone is disabled or not. When this is set to False, the
	// zone is enabled.
	Disable *bool `json:"disable,omitempty"`

	// The displayed name of the DNS zone.
	DisplayDomain string `json:"display_domain,omitempty"`

	// The name of this DNS zone in punycode format. For a reverse zone, this is in
	// "address/cidr" format. For other zones, this is in FQDN format in punycode
	// format.
	DnsFqdn string `json:"dns_fqdn,omitempty"`

	// This flag controls whether automatic generation of RFC 2317 CNAMEs for
	// delegated reverse zones overwrite existing PTR records. The default behavior
	// is to overwrite all the existing records in the range; this corresponds to
	// "allow_ptr_creation_in_parent" set to False. However, when this flag is set
	// to True the existing PTR records are not overwritten.
	EnableRfc2317Exclusion *bool `json:"enable_rfc2317_exclusion,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The name of this DNS zone. For a reverse zone, this is in "address/cidr"
	// format. For other zones, this is in FQDN format. This value can be in
	// unicode format. Note that for a reverse zone, the corresponding zone_format
	// value should be set.
	Fqdn string `json:"fqdn,omitempty"`

	// If you enable this flag, other administrators cannot make conflicting
	// changes. This is for administration purposes only. The zone will continue to
	// serve DNS data even when it is locked.
	Locked *bool `json:"locked,omitempty"`

	// The name of a superuser or the administrator who locked this zone.
	LockedBy string `json:"locked_by,omitempty"`

	// IPv4 Netmask or IPv6 prefix for this zone.
	MaskPrefix string `json:"mask_prefix,omitempty"`

	// The flag that determines whether Active Directory is integrated or not. This
	// field is valid only when ms_managed is "STUB", "AUTH_PRIMARY", or
	// "AUTH_BOTH".
	MsAdIntegrated *bool `json:"ms_ad_integrated,omitempty"`

	// Determines whether an Active Directory-integrated zone with a Microsoft DNS
	// server as primary allows dynamic updates. Valid values are: "SECURE" if the
	// zone allows secure updates only. "NONE" if the zone forbids dynamic updates.
	// "ANY" if the zone accepts both secure and nonsecure updates. This field is
	// valid only if ms_managed is either "AUTH_PRIMARY" or "AUTH_BOTH". If the
	// flag ms_ad_integrated is false, the value "SECURE" is not allowed.
	MsDdnsMode string `json:"ms_ddns_mode,omitempty"`

	// The flag that indicates whether the zone is assigned to a Microsoft DNS
	// server. This flag returns the authoritative name server type of the
	// Microsoft DNS server. Valid values are: "NONE" if the zone is not assigned
	// to any Microsoft DNS server. "STUB" if the zone is assigned to a Microsoft
	// DNS server as a stub zone. "AUTH_PRIMARY" if only the primary server of the
	// zone is a Microsoft DNS server. "AUTH_SECONDARY" if only the secondary
	// server of the zone is a Microsoft DNS server. "AUTH_BOTH" if both the
	// primary and secondary servers of the zone are Microsoft DNS servers.
	MsManaged string `json:"ms_managed,omitempty"`

	// Determines if a Grid member manages the zone served by a Microsoft DNS
	// server in read-only mode. This flag is true when a Grid member manages the
	// zone in read-only mode, false otherwise. When the zone has the ms_read_only
	// flag set to True, no changes can be made to this zone.
	MsReadOnly bool `json:"ms_read_only,omitempty"`

	// The name of MS synchronization master for this zone.
	MsSyncMasterName string `json:"ms_sync_master_name,omitempty"`

	// The delegation NS group bound with delegated zone.
	NsGroup *string `json:"ns_group"`

	// The parent zone of this zone. Note that when searching for reverse zones,
	// the "in-addr.arpa" notation should be used.
	Parent string `json:"parent,omitempty"`

	// The RFC2317 prefix value of this DNS zone. Use this field only when the
	// netmask is greater than 24 bits; that is, for a mask between 25 and 31 bits.
	// Enter a prefix, such as the name of the allocated address block. The prefix
	// can be alphanumeric characters, such as 128/26 , 128-189 , or sub-B.
	Prefix *string `json:"prefix,omitempty"`

	// Use flag for: delegated_ttl
	UseDelegatedTtl *bool `json:"use_delegated_ttl,omitempty"`

	// This is true if the zone is associated with a shared record group.
	UsingSrgAssociations bool `json:"using_srg_associations,omitempty"`

	// The name of the DNS view in which the zone resides. Example "external".
	View *string `json:"view,omitempty"`

	// Determines the format of this zone.
	ZoneFormat string `json:"zone_format,omitempty"`
}

ZoneDelegated represents Infoblox object zone_delegated. Instead of a local name server, remote name servers (which the local server knows) maintain delegated zone data. When the local name server receives a query for a delegated zone, it either responds with the NS record for the delegated zone server (if recursion is disabled on the local server) or it queries the delegated zone server on behalf of the resolver (if recursion is enabled).

func NewEmptyZoneDelegated added in v2.8.0

func NewEmptyZoneDelegated() *ZoneDelegated

func NewZoneDelegated

func NewZoneDelegated(za ZoneDelegated) *ZoneDelegated

func (ZoneDelegated) ObjectType added in v2.4.0

func (ZoneDelegated) ObjectType() string

func (ZoneDelegated) ReturnFields added in v2.4.0

func (obj ZoneDelegated) ReturnFields() []string

type ZoneForward added in v2.4.0

type ZoneForward struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The IP address of the server that is serving this zone.
	Address string `json:"address,omitempty"`

	// Comment for the zone; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// Determines whether a zone is disabled or not. When this is set to False, the
	// zone is enabled.
	Disable *bool `json:"disable,omitempty"`

	// Determines whether a auto-generation of NS records in parent zone is
	// disabled or not. When this is set to False, the auto-generation is enabled.
	DisableNsGeneration *bool `json:"disable_ns_generation,omitempty"`

	// The displayed name of the DNS zone.
	DisplayDomain string `json:"display_domain,omitempty"`

	// The name of this DNS zone in punycode format. For a reverse zone, this is in
	// "address/cidr" format. For other zones, this is in FQDN format in punycode
	// format.
	DnsFqdn string `json:"dns_fqdn,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// A forward stub server name server group.
	ExternalNsGroup *string `json:"external_ns_group"`

	// The information for the remote name servers to which you want the Infoblox
	// appliance to forward queries for a specified domain name.
	ForwardTo NullableNameServers `json:"forward_to,omitempty"`

	// Determines if the appliance sends queries to forwarders only, and not to
	// other internal or Internet root servers.
	ForwardersOnly *bool `json:"forwarders_only,omitempty"`

	// The information for the Grid members to which you want the Infoblox
	// appliance to forward queries for a specified domain name.
	ForwardingServers *NullableForwardingServers `json:"forwarding_servers,omitempty"`

	// The name of this DNS zone. For a reverse zone, this is in "address/cidr"
	// format. For other zones, this is in FQDN format. This value can be in
	// unicode format. Note that for a reverse zone, the corresponding zone_format
	// value should be set.
	Fqdn string `json:"fqdn,omitempty"`

	// If you enable this flag, other administrators cannot make conflicting
	// changes. This is for administration purposes only. The zone will continue to
	// serve DNS data even when it is locked.
	Locked *bool `json:"locked,omitempty"`

	// The name of a superuser or the administrator who locked this zone.
	LockedBy string `json:"locked_by,omitempty"`

	// IPv4 Netmask or IPv6 prefix for this zone.
	MaskPrefix string `json:"mask_prefix,omitempty"`

	// The flag that determines whether Active Directory is integrated or not. This
	// field is valid only when ms_managed is "STUB", "AUTH_PRIMARY", or
	// "AUTH_BOTH".
	MsAdIntegrated *bool `json:"ms_ad_integrated,omitempty"`

	// Determines whether an Active Directory-integrated zone with a Microsoft DNS
	// server as primary allows dynamic updates. Valid values are: "SECURE" if the
	// zone allows secure updates only. "NONE" if the zone forbids dynamic updates.
	// "ANY" if the zone accepts both secure and nonsecure updates. This field is
	// valid only if ms_managed is either "AUTH_PRIMARY" or "AUTH_BOTH". If the
	// flag ms_ad_integrated is false, the value "SECURE" is not allowed.
	MsDdnsMode string `json:"ms_ddns_mode,omitempty"`

	// The flag that indicates whether the zone is assigned to a Microsoft DNS
	// server. This flag returns the authoritative name server type of the
	// Microsoft DNS server. Valid values are: "NONE" if the zone is not assigned
	// to any Microsoft DNS server. "STUB" if the zone is assigned to a Microsoft
	// DNS server as a stub zone. "AUTH_PRIMARY" if only the primary server of the
	// zone is a Microsoft DNS server. "AUTH_SECONDARY" if only the secondary
	// server of the zone is a Microsoft DNS server. "AUTH_BOTH" if both the
	// primary and secondary servers of the zone are Microsoft DNS servers.
	MsManaged string `json:"ms_managed,omitempty"`

	// Determines if a Grid member manages the zone served by a Microsoft DNS
	// server in read-only mode. This flag is true when a Grid member manages the
	// zone in read-only mode, false otherwise. When the zone has the ms_read_only
	// flag set to True, no changes can be made to this zone.
	MsReadOnly bool `json:"ms_read_only,omitempty"`

	// The name of MS synchronization master for this zone.
	MsSyncMasterName string `json:"ms_sync_master_name,omitempty"`

	// A forwarding member name server group.
	NsGroup *string `json:"ns_group"`

	// The parent zone of this zone. Note that when searching for reverse zones,
	// the "in-addr.arpa" notation should be used.
	Parent string `json:"parent,omitempty"`

	// The RFC2317 prefix value of this DNS zone. Use this field only when the
	// netmask is greater than 24 bits; that is, for a mask between 25 and 31 bits.
	// Enter a prefix, such as the name of the allocated address block. The prefix
	// can be alphanumeric characters, such as 128/26 , 128-189 , or sub-B.
	Prefix *string `json:"prefix,omitempty"`

	// This is true if the zone is associated with a shared record group.
	UsingSrgAssociations bool `json:"using_srg_associations,omitempty"`

	// The name of the DNS view in which the zone resides. Example "external".
	View *string `json:"view,omitempty"`

	// Determines the format of this zone.
	ZoneFormat string `json:"zone_format,omitempty"`
}

ZoneForward represents Infoblox object zone_forward. When you want to forward queries for data in a particular zone, define the zone as a forward zone and specify one or more name servers that can resolve queries for the zone. For example, define a forward zone so that the NIOS appliance forwards queries about a partners internal site to a name server, which the partner hosts, configured just for other partners to access.

func NewEmptyZoneForward added in v2.7.0

func NewEmptyZoneForward() *ZoneForward

func NewZoneForward added in v2.7.0

func NewZoneForward(comment string,
	disable bool,
	eas EA,
	forwardTo NullableNameServers,
	forwardersOnly bool,
	forwardingServers *NullableForwardingServers,
	fqdn string,
	nsGroup string,
	view string,
	zoneFormat string,
	ref string,
	externalNsGroup string) *ZoneForward

func (ZoneForward) ObjectType added in v2.4.0

func (ZoneForward) ObjectType() string

func (ZoneForward) ReturnFields added in v2.4.0

func (obj ZoneForward) ReturnFields() []string

type ZoneNameServer

type ZoneNameServer struct {
	// The address of the Zone Name Server.
	Address string `json:"address,omitempty"`

	// Flag to indicate if ptr records need to be auto created.
	AutoCreatePtr bool `json:"auto_create_ptr,omitempty"`
}

ZoneNameServer represents Infoblox struct zonenameserver

type ZoneRp added in v2.4.0

type ZoneRp struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The IP address of the server that is serving this zone.
	Address string `json:"address,omitempty"`

	// Comment for the zone; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// Determines whether a zone is disabled or not. When this is set to False, the
	// zone is enabled.
	Disable *bool `json:"disable,omitempty"`

	// The displayed name of the DNS zone.
	DisplayDomain string `json:"display_domain,omitempty"`

	// The SOA email for the zone in punycode format.
	DnsSoaEmail string `json:"dns_soa_email,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// The list of external primary servers.
	ExternalPrimaries []NameServer `json:"external_primaries,omitempty"`

	// The list of external secondary servers.
	ExternalSecondaries []NameServer `json:"external_secondaries,omitempty"`

	// Rules to map fireeye alerts.
	FireeyeRuleMapping *FireeyeRulemapping `json:"fireeye_rule_mapping,omitempty"`

	// The name of this DNS zone in FQDN format.
	Fqdn string `json:"fqdn,omitempty"`

	// The grid primary servers for this zone.
	GridPrimary []*Memberserver `json:"grid_primary,omitempty"`

	// The list with Grid members that are secondary servers for this zone.
	GridSecondaries []*Memberserver `json:"grid_secondaries,omitempty"`

	// If you enable this flag, other administrators cannot make conflicting
	// changes. This is for administration purposes only. The zone will continue to
	// serve DNS data even when it is locked.
	Locked *bool `json:"locked,omitempty"`

	// The name of a superuser or the administrator who locked this zone.
	LockedBy string `json:"locked_by,omitempty"`

	// Determines whether RPZ logging enabled or not at zone level. When this is
	// set to False, the logging is disabled.
	LogRpz *bool `json:"log_rpz,omitempty"`

	// IPv4 Netmask or IPv6 prefix for this zone.
	MaskPrefix string `json:"mask_prefix,omitempty"`

	// The list of per-member SOA MNAME information.
	MemberSoaMnames []*GridmemberSoamname `json:"member_soa_mnames,omitempty"`

	// The list of per-member SOA serial information.
	MemberSoaSerials []*GridmemberSoaserial `json:"member_soa_serials,omitempty"`

	// The name of the network view in which this zone resides.
	NetworkView string `json:"network_view,omitempty"`

	// The name server group that serves DNS for this zone.
	NsGroup *string `json:"ns_group,omitempty"`

	// The parent zone of this zone. Note that when searching for reverse zones,
	// the "in-addr.arpa" notation should be used.
	Parent string `json:"parent,omitempty"`

	// The RFC2317 prefix value of this DNS zone. Use this field only when the
	// netmask is greater than 24 bits; that is, for a mask between 25 and 31 bits.
	// Enter a prefix, such as the name of the allocated address block. The prefix
	// can be alphanumeric characters, such as 128/26 , 128-189 , or sub-B.
	Prefix *string `json:"prefix,omitempty"`

	// The type of the primary server.
	PrimaryType string `json:"primary_type,omitempty"`

	// The hostname policy for records under this zone.
	RecordNamePolicy *string `json:"record_name_policy,omitempty"`

	// Enables the appliance to ignore RPZ-IP triggers with prefix lengths less
	// than the specified minimum prefix length.
	RpzDropIpRuleEnabled *bool `json:"rpz_drop_ip_rule_enabled,omitempty"`

	// The minimum prefix length for IPv4 RPZ-IP triggers. The appliance ignores
	// RPZ-IP triggers with prefix lengths less than the specified minimum IPv4
	// prefix length.
	RpzDropIpRuleMinPrefixLengthIpv4 *uint32 `json:"rpz_drop_ip_rule_min_prefix_length_ipv4,omitempty"`

	// The minimum prefix length for IPv6 RPZ-IP triggers. The appliance ignores
	// RPZ-IP triggers with prefix lengths less than the specified minimum IPv6
	// prefix length.
	RpzDropIpRuleMinPrefixLengthIpv6 *uint32 `json:"rpz_drop_ip_rule_min_prefix_length_ipv6,omitempty"`

	// The timestamp of the last update for zone data.
	RpzLastUpdatedTime *UnixTime `json:"rpz_last_updated_time,omitempty"`

	// The response policy zone override policy.
	RpzPolicy string `json:"rpz_policy,omitempty"`

	// The priority of this response policy zone.
	RpzPriority uint32 `json:"rpz_priority,omitempty"`

	// This number is for UI to identify the end of qualified zone list.
	RpzPriorityEnd uint32 `json:"rpz_priority_end,omitempty"`

	// The severity of this response policy zone.
	RpzSeverity string `json:"rpz_severity,omitempty"`

	// The type of rpz zone.
	RpzType string `json:"rpz_type,omitempty"`

	// The serial number in the SOA record incrementally changes every time the
	// record is modified. The Infoblox appliance allows you to change the serial
	// number (in the SOA record) for the primary server so it is higher than the
	// secondary server, thereby ensuring zone transfers come from the primary
	// server (as they should). To change the serial number you need to set a new
	// value at "soa_serial_number" and pass "set_soa_serial_number" as True.
	SetSoaSerialNumber *bool `json:"set_soa_serial_number,omitempty"`

	// The Time to Live (TTL) value of the SOA record of this zone. This value is
	// the number of seconds that data is cached.
	SoaDefaultTtl *uint32 `json:"soa_default_ttl,omitempty"`

	// The SOA email value for this zone. This value can be in unicode format.
	SoaEmail *string `json:"soa_email,omitempty"`

	// This setting defines the amount of time, in seconds, after which the
	// secondary server stops giving out answers about the zone because the zone
	// data is too old to be useful. The default is one week.
	SoaExpire *uint32 `json:"soa_expire,omitempty"`

	// The negative Time to Live (TTL) value of the SOA of the zone indicates how
	// long a secondary server can cache data for "Does Not Respond" responses.
	SoaNegativeTtl *uint32 `json:"soa_negative_ttl,omitempty"`

	// This indicates the interval at which a secondary server sends a message to
	// the primary server for a zone to check that its data is current, and
	// retrieve fresh data if it is not.
	SoaRefresh *uint32 `json:"soa_refresh,omitempty"`

	// This indicates how long a secondary server must wait before attempting to
	// recontact the primary server after a connection failure between the two
	// servers occurs.
	SoaRetry *uint32 `json:"soa_retry,omitempty"`

	// The serial number in the SOA record incrementally changes every time the
	// record is modified. The Infoblox appliance allows you to change the serial
	// number (in the SOA record) for the primary server so it is higher than the
	// secondary server, thereby ensuring zone transfers come from the primary
	// server (as they should). To change the serial number you need to set a new
	// value at "soa_serial_number" and pass "set_soa_serial_number" as True.
	SoaSerialNumber *uint32 `json:"soa_serial_number,omitempty"`

	// The canonical name of redirect target in substitute policy of response
	// policy zone.
	SubstituteName *string `json:"substitute_name,omitempty"`

	// This flag controls whether the zone is using an external primary.
	UseExternalPrimary *bool `json:"use_external_primary,omitempty"`

	// Use flag for: soa_default_ttl , soa_expire, soa_negative_ttl, soa_refresh,
	// soa_retry
	UseGridZoneTimer *bool `json:"use_grid_zone_timer,omitempty"`

	// Use flag for: log_rpz
	UseLogRpz *bool `json:"use_log_rpz,omitempty"`

	// Use flag for: record_name_policy
	UseRecordNamePolicy *bool `json:"use_record_name_policy,omitempty"`

	// Use flag for: rpz_drop_ip_rule_enabled ,
	// rpz_drop_ip_rule_min_prefix_length_ipv4,
	// rpz_drop_ip_rule_min_prefix_length_ipv6
	UseRpzDropIpRule *bool `json:"use_rpz_drop_ip_rule,omitempty"`

	// Use flag for: soa_email
	UseSoaEmail *bool `json:"use_soa_email,omitempty"`

	// The name of the DNS view in which the zone resides. Example "external".
	View *string `json:"view,omitempty"`
}

ZoneRp represents Infoblox object zone_rp. DNS RPZs (Response Policy Zones), a technology developed by ISC (Internet System Consortium) for allowing reputable sources to dynamically communicate domain name reputation so you can implement policy controls for DNS lookups. You can configure RPZs and define RPZ rules to block DNS resolution for malicious or unauthorized domain names, or redirect clients to a walled garden by substituting responses. You can assign actions to RPZ rules. For example, abc.com can have an action of pass thru or substitute (domain) with the domain xyz.com. You can also configure a Grid member to act as a lead secondary that receives RPZ updates from external reputation sources and redistributes the updates to other Grid members.

func (ZoneRp) ObjectType added in v2.4.0

func (ZoneRp) ObjectType() string

func (ZoneRp) ReturnFields added in v2.4.0

func (obj ZoneRp) ReturnFields() []string

type ZoneStub added in v2.4.0

type ZoneStub struct {
	IBBase `json:"-"`

	Ref string `json:"_ref,omitempty"`

	// The IP address of the server that is serving this zone.
	Address string `json:"address,omitempty"`

	// Comment for the zone; maximum 256 characters.
	Comment *string `json:"comment,omitempty"`

	// Determines whether a zone is disabled or not. When this is set to False, the
	// zone is enabled.
	Disable *bool `json:"disable,omitempty"`

	// Determines if the name servers that host the zone should not forward queries
	// that end with the domain name of the zone to any configured forwarders.
	DisableForwarding *bool `json:"disable_forwarding,omitempty"`

	// The displayed name of the DNS zone.
	DisplayDomain string `json:"display_domain,omitempty"`

	// The name of this DNS zone in punycode format. For a reverse zone, this is in
	// "address/cidr" format. For other zones, this is in FQDN format in punycode
	// format.
	DnsFqdn string `json:"dns_fqdn,omitempty"`

	// Extensible attributes associated with the object. For valid values for
	// extensible attributes, see {extattrs:values}.
	Ea EA `json:"extattrs"`

	// A forward stub server name server group.
	ExternalNsGroup *string `json:"external_ns_group,omitempty"`

	// The name of this DNS zone. For a reverse zone, this is in "address/cidr"
	// format. For other zones, this is in FQDN format. This value can be in
	// unicode format. Note that for a reverse zone, the corresponding zone_format
	// value should be set.
	Fqdn string `json:"fqdn,omitempty"`

	// If you enable this flag, other administrators cannot make conflicting
	// changes. This is for administration purposes only. The zone will continue to
	// serve DNS data even when it is locked.
	Locked *bool `json:"locked,omitempty"`

	// The name of a superuser or the administrator who locked this zone.
	LockedBy string `json:"locked_by,omitempty"`

	// IPv4 Netmask or IPv6 prefix for this zone.
	MaskPrefix string `json:"mask_prefix,omitempty"`

	// The flag that determines whether Active Directory is integrated or not. This
	// field is valid only when ms_managed is "STUB", "AUTH_PRIMARY", or
	// "AUTH_BOTH".
	MsAdIntegrated *bool `json:"ms_ad_integrated,omitempty"`

	// Determines whether an Active Directory-integrated zone with a Microsoft DNS
	// server as primary allows dynamic updates. Valid values are: "SECURE" if the
	// zone allows secure updates only. "NONE" if the zone forbids dynamic updates.
	// "ANY" if the zone accepts both secure and nonsecure updates. This field is
	// valid only if ms_managed is either "AUTH_PRIMARY" or "AUTH_BOTH". If the
	// flag ms_ad_integrated is false, the value "SECURE" is not allowed.
	MsDdnsMode string `json:"ms_ddns_mode,omitempty"`

	// The flag that indicates whether the zone is assigned to a Microsoft DNS
	// server. This flag returns the authoritative name server type of the
	// Microsoft DNS server. Valid values are: "NONE" if the zone is not assigned
	// to any Microsoft DNS server. "STUB" if the zone is assigned to a Microsoft
	// DNS server as a stub zone. "AUTH_PRIMARY" if only the primary server of the
	// zone is a Microsoft DNS server. "AUTH_SECONDARY" if only the secondary
	// server of the zone is a Microsoft DNS server. "AUTH_BOTH" if both the
	// primary and secondary servers of the zone are Microsoft DNS servers.
	MsManaged string `json:"ms_managed,omitempty"`

	// Determines if a Grid member manages the zone served by a Microsoft DNS
	// server in read-only mode. This flag is true when a Grid member manages the
	// zone in read-only mode, false otherwise. When the zone has the ms_read_only
	// flag set to True, no changes can be made to this zone.
	MsReadOnly bool `json:"ms_read_only,omitempty"`

	// The name of MS synchronization master for this zone.
	MsSyncMasterName string `json:"ms_sync_master_name,omitempty"`

	// A stub member name server group.
	NsGroup *string `json:"ns_group,omitempty"`

	// The parent zone of this zone. Note that when searching for reverse zones,
	// the "in-addr.arpa" notation should be used.
	Parent string `json:"parent,omitempty"`

	// The RFC2317 prefix value of this DNS zone. Use this field only when the
	// netmask is greater than 24 bits; that is, for a mask between 25 and 31 bits.
	// Enter a prefix, such as the name of the allocated address block. The prefix
	// can be alphanumeric characters, such as 128/26 , 128-189 , or sub-B.
	Prefix *string `json:"prefix,omitempty"`

	// The SOA email for the zone. This value can be in unicode format.
	SoaEmail string `json:"soa_email,omitempty"`

	// This setting defines the amount of time, in seconds, after which the
	// secondary server stops giving out answers about the zone because the zone
	// data is too old to be useful.
	SoaExpire uint32 `json:"soa_expire,omitempty"`

	// The SOA mname value for this zone. The Infoblox appliance allows you to
	// change the name of the primary server on the SOA record that is
	// automatically created when you initially configure a zone. Use this method
	// to change the name of the primary server on the SOA record. For example, you
	// may want to hide the primary server for a zone. If your device is named
	// dns1.zone.tld, and for security reasons, you want to show a secondary server
	// called dns2.zone.tld as the primary server. To do so, you would go to
	// dns1.zone.tld zone (being the true primary) and change the primary server on
	// the SOA to dns2.zone.tld to hide the true identity of the real primary
	// server. This value can be in unicode format.
	SoaMname string `json:"soa_mname,omitempty"`

	// The negative Time to Live (TTL) value of the SOA of the zone indicates how
	// long a secondary server can cache data for "Does Not Respond" responses.
	SoaNegativeTtl uint32 `json:"soa_negative_ttl,omitempty"`

	// This indicates the interval at which a secondary server sends a message to
	// the primary server for a zone to check that its data is current, and
	// retrieve fresh data if it is not.
	SoaRefresh uint32 `json:"soa_refresh,omitempty"`

	// This indicates how long a secondary server must wait before attempting to
	// recontact the primary server after a connection failure between the two
	// servers occurs.
	SoaRetry uint32 `json:"soa_retry,omitempty"`

	// The serial number in the SOA record incrementally changes every time the
	// record is modified. The Infoblox appliance allows you to change the serial
	// number (in the SOA record) for the primary server so it is higher than the
	// secondary server, thereby ensuring zone transfers come from the primary
	// server.
	SoaSerialNumber uint32 `json:"soa_serial_number,omitempty"`

	// The primary servers (masters) of this stub zone.
	StubFrom []NameServer `json:"stub_from,omitempty"`

	// The Grid member servers of this stub zone. Note that the
	// lead/stealth/grid_replicate/
	// preferred_primaries/override_preferred_primaries fields of the struct will
	// be ignored when set in this field.
	StubMembers []*Memberserver `json:"stub_members,omitempty"`

	// The Microsoft DNS servers of this stub zone. Note that the stealth field of
	// the struct will be ignored when set in this field.
	StubMsservers []*Msdnsserver `json:"stub_msservers,omitempty"`

	// This is true if the zone is associated with a shared record group.
	UsingSrgAssociations bool `json:"using_srg_associations,omitempty"`

	// The name of the DNS view in which the zone resides. Example "external".
	View *string `json:"view,omitempty"`

	// Determines the format of this zone.
	ZoneFormat string `json:"zone_format,omitempty"`
}

ZoneStub represents Infoblox object zone_stub. A stub zone contains records that identify the authoritative name servers in the zone. It does not contain resource records for resolving IP addresses to hosts in the zone. Instead, it contains the following records:

func (ZoneStub) ObjectType added in v2.4.0

func (ZoneStub) ObjectType() string

func (ZoneStub) ReturnFields added in v2.4.0

func (obj ZoneStub) ReturnFields() []string

type Zoneassociation added in v2.4.0

type Zoneassociation struct {
	// The FQDN of the authoritative forward zone.
	Fqdn string `json:"fqdn,omitempty"`

	// True if this is the default zone.
	IsDefault bool `json:"is_default,omitempty"`

	// The view to which the zone belongs. If a view is not specified, the default
	// view is used.
	View string `json:"view,omitempty"`
}

Zoneassociation represents Infoblox struct zoneassociation

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL