Module infoblox¶
License: Inmanta EULA
Version: 0.1.4
Typedefs¶
- typedef infoblox::ip_reservation_comment¶
Base type
stringType constraint
(std::length(self) <= 256)
Entities¶
- entity infoblox::CNAME¶
Parents:
infoblox::InfobloxResourceDNS CNAME record (Infoblox WAPI record:cname).
This entity is static: both the alias name and the canonical target must be specified explicitly. Any logic that decides which names should exist (for example, naming conventions or service-based aliases) should be handled outside of this entity and passed in as values.
- Fields:
cname : Alias / owner name (FQDN). This is the name clients query. canonical_name : Target / canonical FQDN the alias points to. dns_view : DNS view (“default” by default). comment : Optional description / audit comment. extattrs : Optional Infoblox extensible attributes.
- attribute string canonical_name¶
- attribute string cname¶
- attribute string dns_view='default'¶
- attribute string comment=''¶
- attribute dict extattrs={}¶
The following implements statements select implementations for this entity:
infoblox::providerRequireconstrainttrue
- entity infoblox::DhcpRange¶
Parents:
infoblox::InfobloxResourceDHCP range (Infoblox WAPI range).
A range defines a contiguous block of IPv4 addresses within a network that the DHCP server is allowed to hand out dynamically.
This entity is static: start_addr and end_addr must be set explicitly. Any logic that computes the range boundaries from an allocated subnet should be handled by a higher-level service or plugin.
- Fields:
range_index : Stable unique identifier for this range. network : Network this range belongs to. start_addr : First address of the range (inclusive). end_addr : Last address of the range (inclusive). network_view : Infoblox network view (derived from the related Network). comment : Optional description. disabled : When true, the DHCP range is administratively disabled. extattrs : Optional Infoblox extensible attributes.
- attribute string range_index¶
- attribute std::ipv4_address start_addr¶
- attribute std::ipv4_address end_addr¶
- attribute string comment=''¶
- attribute bool disabled=false¶
- attribute dict extattrs={}¶
- relation infoblox::Network network [1]¶
The following implements statements select implementations for this entity:
infoblox::providerRequireconstrainttrue
- entity infoblox::HostRecord¶
Parents:
infoblox::InfobloxResourceIPv4 host record (Infoblox WAPI record:host).
A host record combines a DNS A record with an optional DHCP reservation into a single Infoblox object. This makes it an alternative to using separate fixedaddress + record:a objects.
This entity is static: the ip field must always be set to the reserved address. Any “next available IP” behaviour should be handled by a higher-level allocator plugin that computes the address and sets ip before this entity is instantiated.
- Fields:
network : Network this record belongs to. fqdn : Fully qualified domain name of the host. ip : IPv4 address to associate with the host. mac : Optional MAC address of the client. dns_view : DNS view for the record (“default” by default). comment : Optional description. disabled : When true, the host record is disabled. configure_for_dhcp : When true, enables DHCP for the associated address
(requires mac to be set).
extattrs : Optional Infoblox extensible attributes.
- attribute string fqdn¶
- attribute std::ipv4_address ip¶
- attribute string? mac=null¶
- attribute string dns_view='default'¶
- attribute string comment=''¶
- attribute bool disabled=false¶
- attribute bool configure_for_dhcp=false¶
- attribute dict extattrs={}¶
- relation infoblox::Network network [1]¶
The following implements statements select implementations for this entity:
infoblox::providerRequireconstrainttrue
- entity infoblox::InfobloxResource¶
Parents:
std::PurgeableResource,std::ManagedResourceBase class for all Infoblox-managed resources.
- All subclasses:
Are tied to exactly one Provider.
Inherit send_event=true so dependent resources can react to changes.
- attribute bool send_event=true¶
- relation infoblox::Provider provider [1]¶
The following implementations are defined for this entity:
- entity infoblox::IpReservation¶
Parents:
infoblox::InfobloxResourceIPv4 reservation (Infoblox WAPI fixedaddress).
This entity is static: the ip field must always be set to the reserved address. Any “next available IP” behaviour should be handled by a higher-level allocator plugin that computes the address and sets ip before this entity is instantiated.
- Fields:
network : Network this reservation belongs to. name : Optional name for the ip reservation. ip : IPv4 address to reserve. mac : Optional MAC address of the client. match_client : How Infoblox matches the client identifier
(e.g. “RESERVED”, “MAC_ADDRESS”, “CLIENT_ID”).
comment : Optional description, at most 256 characters. disabled : When true, the reservation is disabled. extattrs : Optional Infoblox extensible attributes.
- attribute string? name=null¶
- attribute std::ipv4_address ip¶
- attribute string? mac=null¶
- attribute string match_client='RESERVED'¶
- attribute infoblox::ip_reservation_comment comment=''¶
- attribute bool disabled=false¶
- attribute dict extattrs={}¶
- relation infoblox::Network network [1]¶
The following implements statements select implementations for this entity:
infoblox::providerRequireconstrainttrue
- entity infoblox::Ipv6DhcpRange¶
Parents:
infoblox::InfobloxResourceDHCPv6 range (Infoblox WAPI ipv6range).
A range defines a contiguous block of IPv6 addresses within an IPv6 network that the DHCPv6 server is allowed to hand out dynamically.
This entity is static: start_addr and end_addr must be set explicitly. Any logic that computes the range boundaries from an allocated subnet should be handled by a higher-level service or plugin.
- Fields:
range_index : Stable unique identifier for this DHCPv6 range. network : Ipv6Network this range belongs to. start_addr : First address of the range (inclusive). end_addr : Last address of the range (inclusive). network_view : Infoblox network view (derived from the related Ipv6Network). comment : Optional description. disabled : When true, the DHCPv6 range is administratively disabled. extattrs : Optional Infoblox extensible attributes.
- attribute string range_index¶
- attribute std::ipv6_address start_addr¶
- attribute std::ipv6_address end_addr¶
- attribute string comment=''¶
- attribute bool disabled=false¶
- attribute dict extattrs={}¶
- relation infoblox::Ipv6Network network [1]¶
The following implements statements select implementations for this entity:
infoblox::providerRequireconstrainttrue
- entity infoblox::Ipv6HostRecord¶
Parents:
infoblox::InfobloxResourceIPv6 host record (Infoblox WAPI record:host).
A host record combines a DNS AAAA record with an optional DHCPv6 reservation into a single Infoblox object. This makes it an alternative to using separate ipv6fixedaddress + record:aaaa objects.
This entity is static: the ip field must always be set to the reserved address. Any “next available IP” behaviour should be handled by a higher-level allocator plugin that computes the address and sets ip before this entity is instantiated.
- Fields:
network : IPv6 Network this record belongs to. fqdn : Fully qualified domain name of the host. ip : IPv6 address to associate with the host. duid : Optional DHCPv6 DUID for the client. dns_view : DNS view for the record (“default” by default). comment : Optional description. disabled : When true, the host record is disabled. configure_for_dhcp : When true, enables DHCP for the associated address
(requires duid to be set).
extattrs : Optional Infoblox extensible attributes.
- attribute string fqdn¶
- attribute std::ipv6_address ip¶
- attribute string? duid=null¶
- attribute string dns_view='default'¶
- attribute string comment=''¶
- attribute bool disabled=false¶
- attribute bool configure_for_dhcp=false¶
- attribute dict extattrs={}¶
- relation infoblox::Ipv6Network network [1]¶
The following implements statements select implementations for this entity:
infoblox::providerRequireconstrainttrue
- entity infoblox::Ipv6Network¶
Parents:
infoblox::InfobloxResourceIPv6 network (Infoblox WAPI ipv6network).
This entity is purely static: the cidr must always be set to the desired network. Any “next available network” logic should be handled by a higher-level service or allocator plugin that computes the CIDR up front and passes it into this entity.
- Fields:
cidr : IPv6 network. network_view : Infoblox network view (“default” by default). comment : Optional description. extattrs : Optional Infoblox extensible attributes.
- attribute std::ipv6_network cidr¶
- attribute string network_view='default'¶
- attribute string comment=''¶
- attribute dict extattrs={}¶
The following implements statements select implementations for this entity:
infoblox::providerRequireconstrainttrue
- entity infoblox::Ipv6Reservation¶
Parents:
infoblox::InfobloxResourceIPv6 reservation (Infoblox WAPI ipv6fixedaddress).
This entity is static: the ip field must always be set to the reserved address. Any “next available IP” behaviour should be handled by a higher-level allocator plugin that computes the address and sets ip before this entity is instantiated.
- Fields:
network : Network this reservation belongs to. name : Optional name for the ip reservation. ip : IPv6 address to reserve. duid : DHCPv6 client DUID tied to this reservation. comment : Optional description. disabled : When true, the reservation is disabled. extattrs : Optional Infoblox extensible attributes.
- attribute string? name=null¶
- attribute std::ipv6_address ip¶
- attribute string duid¶
- attribute string comment=''¶
- attribute bool disabled=false¶
- attribute dict extattrs={}¶
- relation infoblox::Ipv6Network network [1]¶
The following implements statements select implementations for this entity:
infoblox::providerRequireconstrainttrue
- entity infoblox::Network¶
Parents:
infoblox::InfobloxResourceIPv4 network (Infoblox WAPI network).
This entity is purely static: the cidr must always be set to the desired network. Any “next available network” logic should be handled by a higher-level service or allocator plugin that computes the CIDR up front and passes it into this entity.
- Fields:
cidr : IPv4 network. network_view : Infoblox network view (“default” by default). comment : Optional description. extattrs : Optional Infoblox extensible attributes.
- attribute std::ipv4_network cidr¶
- attribute string network_view='default'¶
- attribute string comment=''¶
- attribute dict extattrs={}¶
The following implements statements select implementations for this entity:
infoblox::providerRequireconstrainttrue
- entity infoblox::Provider¶
Parents:
std::EntityInfoblox NIOS WAPI connection configuration.
- Fields:
name : Logical name of this provider. wapi_url : Full WAPI base URL without trailing slash,
username : HTTP basic auth username. password : HTTP basic auth password. wapi_version : WAPI version string, e.g. “v2.13.1”. verify_ssl : Verify TLS certificate. auto_agent : When true, create a local agent for this provider.
- attribute string name¶
- attribute string wapi_url¶
- attribute string username¶
- attribute string password¶
- attribute string wapi_version='v2.13.1'¶
- attribute bool verify_ssl=true¶
- attribute bool auto_agent=true¶
The following implements statements select implementations for this entity:
std::noneconstrainttrue
Implementations¶
- implementation infoblox::providerRequire¶
Resources¶
- class infoblox.cname.CNAMEResource¶
Exported resource for an Infoblox DNS CNAME record (record:cname).
- Fields (mirroring the DSL entity):
cname : Alias / owner name (FQDN).
canonical_name : Target / canonical FQDN.
dns_view : DNS view in which the record exists.
comment : Optional description or audit comment.
extattrs : Optional Infoblox extensible attributes.
Resource for entity
infoblox::CNAMEId attribute
cnameAgent name
provider.nameHandlers
infoblox.cname.CNAMEHandler
- class infoblox.dhcp_range.DhcpRangeResource¶
Exported resource for the infoblox::DhcpRange entity.
This represents an Infoblox IPv4 range object – a contiguous block of IPv4 addresses within a network that the DHCP server may assign.
Fields (mirroring the DSL entity + derived view):
range_index : Stable unique identifier.
start_addr : First address of the range (inclusive).
end_addr : Last address of the range (inclusive).
network_cidr : IPv4 network CIDR (derived from the related Network).
network_view : Infoblox network view (derived from the related Network).
comment : Optional description.
disabled : When true, the DHCP range is administratively disabled.
extattrs : Optional Infoblox extensible attributes.
Resource for entity
infoblox::DhcpRangeId attribute
range_indexAgent name
provider.nameHandlers
infoblox.dhcp_range.DhcpRangeHandler
- class infoblox.host_record.HostRecordResource¶
Exported resource for the infoblox::HostRecord entity.
This represents an Infoblox IPv4 record:host object.
- Fields (mirroring the DSL entity + derived view):
fqdn : Fully qualified domain name of the host.
ip : IPv4 address associated with the host.
mac : Optional MAC address of the client.
dns_view : DNS view for the record.
comment : Optional description.
disabled : When true, the host record is disabled.
configure_for_dhcp : When true, enables DHCP for the associated address.
extattrs : Optional Infoblox extensible attributes.
network_view : Infoblox network view (derived from the related Network).
Resource for entity
infoblox::HostRecordId attribute
fqdnAgent name
provider.name
- class infoblox.ip_reservation.IpReservationResource¶
Exported resource for the infoblox::IpReservation entity.
This represents an Infoblox IPv4 fixedaddress object.
- Fields (mirroring the DSL entity + derived view):
ip : IPv4 address to reserve.
mac : Optional MAC address of the client.
match_client : Client matching mode (“RESERVED”, “MAC_ADDRESS”, …).
comment : Optional description.
disabled : When true, the reservation is disabled.
extattrs : Optional Infoblox extensible attributes.
network_view : Infoblox network view (derived from the related Network).
Resource for entity
infoblox::IpReservationId attribute
ipAgent name
provider.name
- class infoblox.dhcp_range.Ipv6DhcpRangeResource¶
Exported resource for the infoblox::Ipv6DhcpRange entity.
This represents an Infoblox IPv6 ipv6range object – a contiguous block of IPv6 addresses within an IPv6 network that the DHCPv6 server may assign.
Fields (mirroring the DSL entity + derived view):
range_index : Stable unique identifier.
start_addr : First address of the range (inclusive).
end_addr : Last address of the range (inclusive).
network_cidr : IPv6 network CIDR (derived from Ipv6Network).
network_view : Infoblox network view (derived from Ipv6Network).
comment : Optional description.
disabled : When true, the DHCPv6 range is administratively disabled.
extattrs : Optional Infoblox extensible attributes.
Resource for entity
infoblox::Ipv6DhcpRangeId attribute
range_indexAgent name
provider.name
- class infoblox.host_record.Ipv6HostRecordResource¶
Exported resource for the infoblox::Ipv6HostRecord entity.
This represents an Infoblox IPv6 record:host object.
- Fields (mirroring the DSL entity + derived view):
fqdn : Fully qualified domain name of the host.
ip : IPv6 address associated with the host.
duid : Optional DHCPv6 DUID of the client.
dns_view : DNS view for the record.
comment : Optional description.
disabled : When true, the host record is disabled.
configure_for_dhcp : When true, enables DHCP for the associated address.
extattrs : Optional Infoblox extensible attributes.
network_view : Infoblox network view (derived from the related Ipv6Network).
Resource for entity
infoblox::Ipv6HostRecordId attribute
fqdnAgent name
provider.name
- class infoblox.network.Ipv6NetworkResource¶
Exported resource for the infoblox::Ipv6Network entity.
This resource is purely static: it represents a concrete IPv6 network (CIDR) in a given Infoblox network view. Any “next available network” behaviour must be implemented in a higher-level service or allocator that computes the CIDR up front and sets cidr accordingly.
- Fields (mirroring the DSL entity):
cidr : IPv6 network CIDR (string form).
network_view : Infoblox network view.
comment : Optional description.
extattrs : Optional Infoblox extensible attributes.
Resource for entity
infoblox::Ipv6NetworkId attribute
cidrAgent name
provider.nameHandlers
infoblox.network.Ipv6NetworkHandler
- class infoblox.ip_reservation.Ipv6ReservationResource¶
Exported resource for the infoblox::Ipv6Reservation entity.
This represents an Infoblox IPv6 ipv6fixedaddress object.
- Fields (mirroring the DSL entity + derived view):
ip : IPv6 address to reserve.
duid : DHCPv6 client DUID.
comment : Optional description.
disabled : When true, the reservation is disabled.
extattrs : Optional Infoblox extensible attributes.
network_view : Infoblox network view (derived from the related Ipv6Network).
Resource for entity
infoblox::Ipv6ReservationId attribute
ipAgent name
provider.name
- class infoblox.network.NetworkResource¶
Exported resource for the infoblox::Network entity.
This resource is purely static: it represents a concrete IPv4 network (CIDR) in a given Infoblox network view. Any “next available network” behaviour must be implemented in a higher-level service or allocator that computes the CIDR up front and sets cidr accordingly.
- Fields (mirroring the DSL entity):
cidr : IPv4 network CIDR (string form).
network_view : Infoblox network view.
comment : Optional description.
extattrs : Optional Infoblox extensible attributes.
Resource for entity
infoblox::NetworkId attribute
cidrAgent name
provider.nameHandlers
infoblox.network.NetworkHandler
Handlers¶
- class infoblox.cname.CNAMEHandler¶
Handler for Infoblox DNS CNAME records.
- Behavior:
Ensures a CNAME alias exists in the specified DNS view.
Alias (cname) is the unique identity.
Canonical target changes are not supported in-place.
Prevents collisions with other DNS record types.
Handler for entity
infoblox::CNAME
- class infoblox.dhcp_range.DhcpRangeHandler¶
Handler for Infoblox IPv4 range objects.
Handler for entity
infoblox::DhcpRange
- class infoblox.dhcp_range.Ipv6DhcpRangeHandler¶
Handler for Infoblox IPv6 ipv6range objects.
Handler for entity
infoblox::Ipv6DhcpRange
- class infoblox.host_record.HostRecordHandler¶
Handler for IPv4 Infoblox record:host objects.
Handler for entity
infoblox::HostRecord
- class infoblox.host_record.Ipv6HostRecordHandler¶
Handler for IPv6 Infoblox record:host objects.
Handler for entity
infoblox::Ipv6HostRecord
- class infoblox.ip_reservation.IpReservationHandler¶
Handler for Infoblox fixedaddress objects (IPv4 reservations).
- Behaviour:
Ensures a fixedaddress exists for the given ip + network_view.
Does not perform “next available IP” logic: that must be handled by an allocator plugin that computes ip up front.
Handler for entity
infoblox::IpReservation
- class infoblox.ip_reservation.Ipv6ReservationHandler¶
Handler for Infoblox ipv6fixedaddress objects (IPv6 reservations).
- Behaviour:
Ensures an ipv6fixedaddress exists for the given ip + network_view.
Does not perform “next available IP” logic: that must be handled by an allocator plugin that computes ip up front.
Handler for entity
infoblox::Ipv6Reservation
- class infoblox.network.NetworkHandler¶
Handler for Infoblox network / networkcontainer objects.
- Behaviour:
Ensures a specific CIDR exists in the given view.
Reads either a network or a networkcontainer (to cope with Infoblox promoting parents when children are created).
Does not perform any allocation: CIDR must be provided.
Handler for entity
infoblox::Network
- class infoblox.network.Ipv6NetworkHandler¶
Handler for Infoblox ipv6network / ipv6networkcontainer objects.
- Behaviour:
Ensures a specific IPv6 CIDR exists in the given view.
Reads either an ipv6network or an ipv6networkcontainer (to cope with Infoblox promoting parents when children are created).
Does not perform any allocation: CIDR must be provided.
Handler for entity
infoblox::Ipv6Network