ibclient

package module
v2.7.0 Latest Latest
Warning

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

Go to latest
Published: Jun 20, 2024 License: Apache-2.0 Imports: 21 Imported by: 12

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.7.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
  • AllocateNetwork
  • 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"
)
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