class bluecat.view.View
(api, api_entity)
Bases: bluecat.dns.DNS
A DNS view.
ALLOW_QUERY = 'allow-query'
add_alias_record(absolute_name, linked_record, ttl=- 1, properties='')
Add a new CNAME record for an existing host record.
This method adds the record under a zone.
Parameters | Description |
---|---|
absolute_name | The FQDN of the alias. If you are adding a record in a zone that is linked to a incremental Naming Policy, a single hash (#) sign must be added at the appropriate location in the FQDN. Depending on the policy order value, the location of the single hash (#) sign varies. |
linked_record | The name of the record to which this alias will link. |
ttl | The time-to-live value for the record. TTL is ignored by default. |
properties | Adds object properties, including comments and user-defined fields. |
Returns: An instance of alias_record.
Example:
api = g.user.get_api() # get api object
configuration_name = 'test_config' # configuration name
view_name = 'test_view' # view name
configuration = api.get_configuration(configuration_name)
view = configuration.get_view(view_name)
alias_record = view.add_alias_record('test_alias.zone_name', 'test_record')
add_dns_deployment_option(dns_option, value, properties='')
Parameters | Description |
---|---|
dns_option | The name of the DNS option being added. |
value | The value being assigned to the option. |
properties | Adds object properties, including comments and user-defined fields. |
Returns: Instance of DNSOption added.
add_dns_deployment_role(server_interface, role_type, properties='')
Adds a DNS deployment role to a specified object.
Parameters | Description |
---|---|
server_interface | The object ID/server interface object to which the role is to be added. |
role_type | The type of DNS role to be added. The type must be one of: NONE MASTER MASTER_HIDDEN SLAVE SLAVE_STEALTH FORWARDER STUB RECURSION AD_MASTER |
properties | Adds object properties, including the view associated with this DNS deployment role and user-defined fields. |
Returns: Added DNS deployment role object.
add_enum_zone(prefix, deployable=False, properties='')
Add a new ENUM zone.
Parameters | Description |
---|---|
prefix | The number prefix for the ENUM zone. |
deployable | Sets whether this zone is deployable. Default is False. |
properties | Adds object properties, including user-defined fields. |
Returns: An instance of ENUM zone.
add_external_host_record(absolute_name, properties='')
Add a new External Host record.
This method adds the record under a zone.
Parameters | Description |
---|---|
absolute_name | FQDN for the host record. |
properties | Adds object properties, including comments and user-defined fields. |
Returns: An instance of external_host_record.
Example:
api = g.user.get_api() # get api object
configuration_name = 'test_config' # configuration name
view_name = 'test_view' # view name
configuration = api.get_configuration(configuration_name)
view = configuration.get_view(view_name)
external_record = view.add_external_host_record('test_name.bluecatexternal.com')
add_generic_record(absolute_name, record_type, rdata, ttl=- 1, properties='')
Add a new Generic record of specified type.
Parameters | Description |
---|---|
absolute_name | The FQDN of the record. If you are adding a record in a zone that is linked to a incremental Naming Policy, a single hash (#) sign must be added at the appropriate location in the FQDN. Depending on the policy order value, the location of the single hash (#) sign varies. |
record_type | The type of record being added. Valid settings for this parameter are the generic resource record types supported in Address Manager: A6, AAAA, AFSDB, APL, CERT, DNAME, DNSKEY, DS, ISDN, KEY, KX, LOC, MB, MG, MINFO, MR, NS, NSAP, PX, RP, RT, SINK, SSHFP, WKS, and X25. |
rdata | The data for the resource record in BIND format (for example, for A records, A 10.0.0.4). |
ttl | The time-to-live value for the record. TTL is ignored by default. |
properties | Adds object properties, including comments and user-defined fields. |
Returns: An instance of generic_record.
Example:
from bluecat.constants import RecordTypes
api = g.user.get_api() # get api object
configuration_name = 'test_config' # configuration name
view_name = 'test_view' # view name
configuration = api.get_configuration(configuration_name)
view = configuration.get_view(view_name)
generic_record = view.add_generic_record('test_generic_record.test_zone',
RecordTypes.AAAA, '10.0.0.222')
add_hinfo_record(absolute_name, cpu, os, ttl=- 1, properties='')
Add a new Host Info HINFO record.
Parameters | Description |
---|---|
absolute_name | The FQDN of the HINFO record. If you are adding a record in a zone that is linked to a incremental Naming Policy, a single hash (#) sign must be added at the appropriate location in the FQDN. Depending on the policy order value, the location of the single hash (#) sign varies. |
cpu | A string providing central processing unit information. |
os | A string providing operating system information. |
ttl | The time-to-live value for the record. TTL is ignored by default. |
properties | Adds object properties, including comments and user-defined fields. |
Returns: An instance of host_info_record.
Example:
api = g.user.get_api() # get api object
configuration_name = 'test_config' # configuration name
view_name = 'test_view' # view name
configuration = api.get_configuration(configuration_name)
view = configuration.get_view(view_name)
hinfo_record = view.add_hinfo_record('test_hinfo_record.test_zone', 'cpu1', 'windows7')
add_host_record(absolute_name, addresses, ttl=- 1, properties='')
Add a Host record.
Parameters | Description |
---|---|
absolute_name | The FQDN for the host record. |
addresses | A list of comma-separated IP addresses (for example, 10.0.0.5,130.4.5.2). |
ttl | The time-to-live value for the record. To ignore the ttl, set this value to -1. |
properties | Adds object properties, including comments and user-defined fields. |
Returns: An instance of hostRecord.
Example:
api = g.user.get_api() # get api object
configuration_name = 'test_config' # configuration name
view_name = 'test_view' # view name
configuration = api.get_configuration(configuration_name)
view = configuration.get_view(view_name)
host_record = view.add_host_record('new.test_hostrecord.com', ['172.27.19.102'])
add_mx_record(absolute_name, priority, linked_record_name, ttl=- 1, properties='')
Add a new Mail Exchanger MX record.
This method adds the record under a zone.
Parameters | Description |
---|---|
absolute_name | The FQDN for the record. If you are adding a record in a zone that is linked to a incremental Naming Policy, a single hash (#) sign must be added at the appropriate location in the FQDN. Depending on the policy order value, the location of the single hash (#) sign varies. |
priority | Specifies which mail server to send clients to first when multiple matching MX records are present. Multiple MX records with equal priority values are referred to in a round-robin fashion. |
linked_record_name | The FQDN of the host record to which this MX record is linked. |
ttl | The time-to-live value for the record. TTL is ignored by default. |
properties | Adds object properties, including comments and user-defined fields. |
Returns: An instance of mx_record.
Example:
api = g.user.get_api() # get api object
configuration_name = 'test_config' # configuration name
view_name = 'test_view' # view name
configuration = api.get_configuration(configuration_name)
view = configuration.get_view(view_name)
mx_record = view.add_mx_record('test_name.test_zone', 1, 'host_record.test.zone')
add_naptr_record(absolute_name, order, preference, service, regexp, replacement, flags, ttl=- 1, properties='')
Add a new NAPTR record.
Parameters | Description |
---|---|
absolute_name | The FQDN for the record. If you are adding a record in a zone that is linked to a incremental Naming Policy, a single hash (#) sign must be added at the appropriate location in the FQDN. Depending on the policy order value, the location of the single hash (#) sign varies. |
order | Specifies the order in which NAPTR records are read if several are present and are possible matches. The lower ordervalue takes precedence. |
preference | Specifies the order in which NAPTR records are read if the ordervalues are the same in multiple records. The lower preferencevalue takes precedence. |
service | Specifies the service used for the NAPTR record. Valid settings for this parameter are listed in ENUM Services on page 192 in BAM API Guide. |
regexp | A regular expression, enclosed in double quotation marks, used to transform the client data. If a regular expression is not specified, a domain name must be specified in the replacement parameter. |
replacement | Specifies a domain name as an alternative to the regexp. This parameter replaces client data with a domain name. |
flags | An optional parameter used to set flag values for the record. |
ttl | The time-to-live value for the record. TTL is ignored by default. |
properties | Adds object properties, including comments and user-defined fields. |
Returns: An instance of naptr_record.
Example:
api = g.user.get_api() # get api object
configuration_name = 'test_config' # configuration name
view_name = 'test_view' # view name
configuration = api.get_configuration(configuration_name)
view = configuration.get_view(view_name)
naptr_record = view.add_naptr_record('test_naptr.test_zone', order=1, preference=1,
service='voice_tel', regexp='*', replacement='test_zone', flags='')
add_raw_deployment_option(option_type, raw_data, properties='')
Parameters | Description |
---|---|
option_type | the option types for Raw Deployment Options, the Three options are DNS_RAW, DHCP_RAW, DHCPV6_RAW. |
raw_data | the raw option value for the deployment option. |
properties | the properties of the raw option, if it is an DNSRawOption you need to set server in properties |
Returns: Returns an instance of the type DNSOption that represents the DNS deployment option.
add_resource_record(absolute_name, record_type, rdata, ttl=- 1, properties='')
Generic method for adding resource records of any type.
Parameters | Description |
---|---|
absolute_name | The absolute name of the record, specified as an FQDN. If you are adding a record in a zone that is linked to a incremental Naming Policy, a single hash (#) sign must be added at the appropriate location in the FQDN. Depending on the policy order value, the location of the single hash (#) sign varies. |
record_type | The type of record being added. Supported types using this method: AliasRecord HINFORecord HostRecord MXRecord TXTRecord |
rdata | The data for the resource record in BIND format (for example, for A records, A 10.0.0.4). You can specify either a single IPv4 or IPv6 address for the record. |
ttl | The time-to-live value for the record. |
properties | Adds object properties, including user-defined fields. |
Returns: An instance of the resource record type that was added.
Example:
api = g.user.get_api() # get api object
configuration_name = 'test_config' # configuration name
view_name = 'test_view' # view name
configuration = api.get_configuration(configuration_name)
view = configuration.get_view(view_name)
resource_record = zone.add_resource_record('test_name', view.AliasRecord, 10.0.0.2)
add_srv_record(absolute_name, priority, port, weight, linked_record_name, ttl=- 1, properties='')
Add a new SRV record.
This method adds the record under a zone.
Parameters | Description |
---|---|
absolute_name | The FQDN of the SRV record. If you are adding a record in a zone that is linked to a incremental Naming Policy, a single hash (#) sign must be added at the appropriate location in the FQDN. Depending on the policy order value, the location of the single hash (#) sign varies. |
priority | Specifies which SRV record to use when multiple matching SRV records are present. The record with the lowest value takes precedence. |
port | The TCP/UDP port on which the service is available. |
weight | If two matching SRV records within a zone have equal priority, the weight value is checked. If the weight value for one object is higher than the other, the record with the highest weight has its resource records returned first. |
linked_record_name | The FQDN of the host record to which this SRV record is linked. |
ttl | The time-to-live value for the record. TTL is ignored by default. |
properties | Adds object properties, including comments and user-defined fields. |
Returns: An instance of srv_record.
Example:
api = g.user.get_api() # get api object
configuration_name = 'test_config' # configuration name
view_name = 'test_view' # view name
configuration = api.get_configuration(configuration_name)
view = configuration.get_view(view_name)
srv_record = view.add_srv_record('test_srv_record.test_zone', 1, 500, 1, 'test_host_record.test_zone')
add_text_record(absolute_name, txt, ttl=- 1, properties='')
Add a new text record.
This method adds the record under a zone.
Example:
Parameters | Description |
---|---|
absolute_name | The FQDN of the text record. If you are adding a record in a zone that is linked to a incremental Naming Policy, a single hash (#) sign must be added at the appropriate location in the FQDN. Depending on the policy order value, the location of the single hash (#) sign varies. |
txt | The text data for the record. |
ttl | The time-to-live value for the record. TTL is ignored by default. |
properties | Adds object properties, including comments and user-defined fields. |
Returns: An instance of text_record.
add_txt_record(absolute_name, txt, ttl=- 1, properties='')
Add a new text record.
This method adds the record under a zone.
Example:
Parameters | Description |
---|---|
absolute_name(str) | The FQDN of the text record. If you are adding a record in a zone that is linked to a incremental Naming Policy, a single hash (#) sign must be added at the appropriate location in the FQDN. Depending on the policy order value, the location of the single hash (#) sign varies. |
txt(str) | The text data for the record. |
ttl(int, optional) | The time-to-live value for the record. TTL is ignored by default. |
properties(str, optional) | Adds object properties, including comments and user-defined fields. |
Returns: An instance of text_record.
add_zone(absolute_name, deployable=False, template=0, **kwargs)
Adds DNS zones.
You can use . (dot) characters to create the top level domain and subzones.
Parameters | Description |
---|---|
absolute_name | Fully qualified name of the DNS zone to add (eg. example.com). |
deployable | Boolean. Default is False. |
template | ID of the associated network template. |
kwargs | Keyword arguments of user-defined fields and values. |
Returns: Zone instance of the new DNS zone.
get_alias_record(absolute_name)
Get an alias record.
Parameters | Description |
---|---|
absolute_name | The FQDN of the host record to get. |
Returns: An instance of alias_record.
get_configuration()
Return the parent Configuration object.
get_deployment_options(option_types, server)
Get deployment Option for the entity.
Parameters | Description |
---|---|
option_types | the Deployment option type you would like to search, Includes
|
server | the server which the deployment option is attached to, there are 3 options:
|
get_dns_deployment_option(dns_option, server)
Parameters | Description |
---|---|
dns_option | The name of the DNS option. |
server | Specifies the server to which this option is assigned. |
Returns: Returns an instance of the type DNSOption that represents the DNS deployment option.
get_dns_deployment_role(server_interface)
Retrieves a DNS deployment role from a specified object.
Parameters | Description |
---|---|
server_interface | The object ID/server interface object to which the DNS deployment role is assigned. |
get_enum_zone(prefix)
Get Enum Zone with the specified prefix.
Parameters | Description |
---|---|
prefix | The prefix of the enum zone |
Returns: An enum_zone instance.
get_enum_zones()
Get list of all enum zones in this view.
get_external_host_record(absolute_name)
Get an external host record.
Parameters | Description |
---|---|
absolute_name | The FQDN of the host record to get. |
Returns: An instance of external_host_record.
get_generic_record(absolute_name)
Get a generic record.
Parameters | Description |
---|---|
absolute_name | The FQDN of the host record to get. |
Returns: An instance of generic_record.
get_hinfo_record(absolute_name)
Get a host info record.
Parameters | Description |
---|---|
absolute_name | The FQDN of the host record to get. |
Returns: An instance of host_info_record.
get_host_record(absolute_name)
Get a host record.
Parameters | Description |
---|---|
absolute_name | The FQDN of the host record to get. |
Returns: An instance of hostRecord.
get_mx_record(absolute_name)
Get a MX record.
Parameters | Description |
---|---|
absolute_name | The FQDN of the host record to get. |
Returns: An instance of mx_record.
get_naptr_record(absolute_name)
Get a NAPTR record.
Parameters | Description |
---|---|
absolute_name | The FQDN of the host record to get. |
Returns: An instance of naptr_record.
get_resource_record(absolute_name, resource_type)
Get a resource record of the specified type.
Parameters | Description |
---|---|
absolute_name | The FQDN of the resource record to get. |
resource_type | The type of resource record to get. |
Returns: An instance of the specified resource record type.
get_server_interface_id()
Returns: Server Interface Id.
get_service()
Returns: DeploymentServices enum service type.
get_srv_record(absolute_name)
Get a SRV record.
Parameters | Description |
---|---|
absolute_name | The FQDN of the host record to get. |
Returns: An instance of srv_record.
get_text_record(absolute_name)
Get a text record.
Parameters | Description |
---|---|
absolute_name | The FQDN of the host record to get. |
Returns: An instance of text_record.
get_zone(name)
Get an immediate child zone by name without dot character.
Parameters | Description |
---|---|
name | Name of the child zone. |
Returns: Instance of the child zone or None.
get_zones()
Get all immediate child zones.
Returns: Iterator for Zone entities.
get_zones_by_hint(hint)
Search for zones by hint under the parent zone. Returns an array of maximum 10 elements of accessible zones under the parent zone.
Parameters | Description |
---|---|
hint | Partial or full name of zone to find. |
Returns: FQDN list of any zones that match the given hint as data in list format