libcloud.loadbalancer.drivers.nttcis module
- class libcloud.loadbalancer.drivers.nttcis.NttCisLBDriver(key, network_domain_id, secret=None, secure=True, host=None, port=None, api_version=None, region='na', **kwargs)[source]
Bases:
Driver
NttCis LB driver.
- Parameters:
key (
str
) – API key or username to be used (required)secret (
str
) – Secret password to be used (required)secure (
bool
) – Whether to use HTTPS or HTTP. Note: Some providers only support HTTPS, and it is on by default.host (
str
) – Override hostname used for connections.port (
int
) – Override port used for connections.api_version (
str
) – Optional API version. Only used by drivers which support multiple API versions.region (
str
) – Optional driver region. Only used by drivers which support multiple regions.
- Return type:
None
- api_version = 1.0
- balancer_attach_member(balancer, member)[source]
Attach a member to balancer
- Parameters:
balancer (
LoadBalancer
) – LoadBalancer which should be usedmember (
Member
) – Member to join to the balancer
- Returns:
Member after joining the balancer.
- Return type:
Member
- balancer_detach_member(balancer, member)[source]
Detach member from balancer
- Parameters:
balancer (
LoadBalancer
) – LoadBalancer which should be usedmember (
Member
) – Member which should be used
- Returns:
True
if member detach was successful, otherwiseFalse
.- Return type:
bool
- balancer_list_members(balancer)[source]
Return list of members attached to balancer.
In NTTC-CIS terminology these are the members of the pools within a virtual listener.
- Parameters:
balancer (
LoadBalancer
) – LoadBalancer which should be used- Return type:
list
ofMember
- connectionCls
alias of
NttCisConnection
- create_balancer(name, listener_port=None, port=None, protocol=None, algorithm=None, members=None, optimization_profile='TCP', ex_listener_ip_address=None)[source]
Create a new load balancer instance
- Parameters:
name (
str
) – Name of the new load balancer (required)listener_port – An integer in the range of 1-65535. If not supplied, it will be taken to mean ‘Any Port’
port (
int
) – An integer in the range of 1-65535. If not supplied, it will be taken to mean ‘Any Port’ Assumed that node ports will different from listener port.protocol (
str
) – Loadbalancer protocol, defaults to http.members (
list
ofMember
) – list of Members to attach to balancer (optional)algorithm (
Algorithm
) – Load balancing algorithm, defaults to ROUND_ROBIN.optimization_profile – For STANDARD type and protocol TCP an optimization type of TCP, LAN_OPT, WAN_OPT, MOBILE_OPT, or TCP_LEGACY is required. Default is TCP
ex_listener_ip_address (
str
) – Must be a valid IPv4 in dot-decimal notation (x.x.x.x).
- Return type:
LoadBalancer
- destroy_balancer(balancer)[source]
Destroy a load balancer (virtual listener)
- Parameters:
balancer (
LoadBalancer
) – LoadBalancer which should be used- Returns:
True
if the destroy was successful, otherwiseFalse
.- Return type:
bool
- ex_create_node(network_domain_id, name, ip, ex_description=None, connection_limit=25000, connection_rate_limit=2000)[source]
Create a new node
- Parameters:
network_domain_id – Network Domain ID (required)
name (
str
) – name of the node (required)ip (
str
) – IPv4 address of the node (required)ex_description (
str
) – Description of the node (required)connection_limit (
int
) – Maximum number of concurrent connections per secconnection_rate_limit (
int
) – Maximum number of concurrent sessions
- Returns:
Instance of
NttCisVIPNode
- Return type:
NttCisVIPNode
- ex_create_pool(network_domain_id, name, balancer_method, ex_description, health_monitors=None, service_down_action='NONE', slow_ramp_time=30)[source]
Create a new pool
- Parameters:
network_domain_id – Network Domain ID (required)
name (
str
) – name of the node (required)balancer_method (
str
) – The load balancer algorithm (required)ex_description (
str
) – Description of the node (required)health_monitors (
list
ofNttCisDefaultHealthMonitor
) – A list of health monitors to use for the pool.service_down_action (
str
) – What to do when node is unavailable NONE, DROP or RESELECTslow_ramp_time (
int
) – Number of seconds to stagger ramp up of nodes
- Returns:
Instance of
NttCisPool
- Return type:
NttCisPool
- ex_create_pool_member(pool, node, port=None)[source]
Create a new member in an existing pool from an existing node
- Parameters:
pool (
NttCisPool
) – Instance ofNttCisPool
(required)node (
NttCisVIPNode
) – Instance ofNttCisVIPNode
(required)port (
str
) – Port the the service will listen on
- Returns:
The node member, instance of
NttCisPoolMember
- Return type:
NttCisPoolMember
- ex_create_ssl_offload_profile(netowrk_domain_id, name, ssl_domain_cert_id, description=None, ciphers=None, ssl_cert_chain_id=None)[source]
Creates an SSL Offload profile
- Parameters:
network_domain_id – The network domain’s Id
name (
str
) – Offload profile’s namessl_domain_cert_id (
str
) – Certificate’s Iddescription (
str
) – (Optional) Profile’s descriptionciphers – (Optional) The default cipher string is:
“MEDIUM:HIGH:!EXPORT:!ADH:!MD5:!RC4:!SSLv2:!SSLv3: !ECDHE+AES-GCM:!ECDHE+AES:!ECDHE+3DES:!ECDHE_ECDSA: !ECDH_RSA:!ECDH_ECDSA:@SPEED” It is possible to choose just a subset of this string :type ciphers:
str
:param ssl_cert_chain_id: (Optional) Bind the certificate chain to the profile. :type ssl_cert_chain_id: str` :returns:bool
- ex_create_virtual_listener(network_domain_id, name, ex_description, port=None, pool=None, listener_ip_address=None, persistence_profile=None, fallback_persistence_profile=None, irule=None, protocol='TCP', optimization_profile='TCP', connection_limit=25000, connection_rate_limit=2000, source_port_preservation='PRESERVE')[source]
Create a new virtual listener (load balancer)
- Parameters:
network_domain_id – Network Domain ID (required)
name (
str
) – name of the listener (required)ex_description (
str
) – Description of the node (required)port (
int
) – An integer in the range of 1-65535. If not supplied, it will be taken to mean ‘Any Port’pool (
NttCisPool
) – The pool to use for the listenerlistener_ip_address (
str
) – The IPv4 Address of the virtual listenerpersistence_profile (
NttCisPersistenceProfile
) – Persistence profilefallback_persistence_profile (
NttCisPersistenceProfile
) – Fallback persistence profileirule (
NttCisDefaultiRule
) – The iRule to applyprotocol (
str
) – For STANDARD type, ANY, TCP or UDP for PERFORMANCE_LAYER_4 choice of ANY, TCP, UDP, HTTPoptimization_profile – For STANDARD type and protocol TCP an optimization type of TCP, LAN_OPT, WAN_OPT, MOBILE_OPT, or TCP_LEGACY is required. Default is ‘TCP’.
connection_limit (
int
) – Maximum number of concurrent connections per secconnection_rate_limit (
int
) – Maximum number of concurrent sessionssource_port_preservation (
str
) – Choice of PRESERVE, PRESERVE_STRICT or CHANGE
- Returns:
Instance of the listener
- Return type:
NttCisVirtualListener
- ex_delete_ssl_certificate_chain(cert_chain_id)[source]
Deletes a certificate chain
- Parameters:
cert_chain_id (
str
) – Id of certificate chain to delete
:return
bool
- ex_delete_ssl_domain_certificate(dom_cert_id)[source]
Deletes an SSL domain certificate
- Parameters:
dom_cert_id (
str
) – Id of certificate to delete- Returns:
bool
- ex_delete_ssl_offload_profile(profile_id)[source]
Delete an offload profile
- Parameters:
profile_id (
str
) – Id of profile to be deleted- Returns:
bool
- ex_destroy_node(node_id)[source]
Destroy a specific node
- Parameters:
node_id (
str
) – The ID of of aNttCisVIPNode
- Returns:
True
for success,False
for failure- Return type:
bool
- ex_destroy_pool(pool)[source]
Destroy an existing pool
- Parameters:
pool (
NttCisPool
) – The instance ofNttCisPool
to destroy- Returns:
True
for success,False
for failure- Return type:
bool
- ex_destroy_pool_member(member, destroy_node=False)[source]
Destroy a specific member of a pool
- Parameters:
pool (
NttCisPoolMember
) – The instance of a pool memberdestroy_node (
bool
) – Also destroy the associated node
- Returns:
True
for success,False
for failure- Return type:
bool
- ex_edit_ssl_offload_profile(profile_id, name, ssl_domain_cert_id, description=None, ciphers=None, ssl_cert_chain_id=None)[source]
The function edits the ssl offload profile
- Parameters:
profil_id – The id of the profile to be edited
name (
str
) – The name of the profile, new name or previous namessl_domain_cert_id (
str
) – The certificate id to use, new or currentdescription (
str
) – (Optional) Profile’s descriptionciphers (
str
) – (Optional) String of acceptable ciphers to usessl_cert_chain_id – If using a certificate chain
or changing to a new one :type: ssl_cert_chain_id:
str
:returns:bool
- ex_get_current_network_domain()[source]
Get the current network domain ID of the driver.
- Returns:
ID of the network domain
- Return type:
str
- ex_get_default_health_monitors(network_domain)[source]
Get the default health monitors available for a network domain
- Parameters:
network_domain_id (
str
) – The ID of of aNttCisNetworkDomain
- Return type:
list of
NttCisDefaultHealthMonitor
- ex_get_default_irules(network_domain_id)[source]
Get the default iRules available for a network domain
- Parameters:
network_domain_id (
str
) – The ID of of aNttCisNetworkDomain
- Return type:
list of
NttCisDefaultiRule
- ex_get_default_persistence_profiles(network_domain_id)[source]
Get the default persistence profiles available for a network domain
- Parameters:
network_domain_id (
str
) – The ID of of aNttCisNetworkDomain
- Return type:
list of
NttCisPersistenceProfile
- ex_get_node(node_id)[source]
Get the node specified by node_id
- Returns:
Returns an instance of
NttCisVIPNode
- Return type:
Instance of
NttCisVIPNode
- ex_get_nodes(ex_network_domain_id=None)[source]
Get the nodes within this geography or in given network.
- Parameters:
ex_network_domain_id (
str
) – UUID of Network Domain if not None returns only balancers in the given network if None then returns all pools for the organization- Returns:
Returns an
list
ofNttCisVIPNode
- Return type:
list
ofNttCisVIPNode
- ex_get_pool(pool_id)[source]
Get a specific pool inside the current geography
- Parameters:
pool_id (
str
) – The identifier of the pool- Returns:
Returns an instance of
NttCisPool
- Return type:
NttCisPool
- ex_get_pool_member(pool_member_id)[source]
Get a specific member of a pool
- Parameters:
pool (
str
) – The id of a pool member- Returns:
Returns an instance of
NttCisPoolMember
- Return type:
NttCisPoolMember
- ex_get_pool_members(pool_id)[source]
Get the members of a pool
- Parameters:
pool (
NttCisPool
) – The instance of a pool- Returns:
Returns an
list
ofNttCisPoolMember
- Return type:
list
ofNttCisPoolMember
- ex_get_pools(ex_network_domain_id=None)[source]
Get all of the pools inside the current geography or in given network.
- Parameters:
ex_network_domain_id (
str
) – UUID of Network Domain if not None returns only balancers in the given network if None then returns all pools for the organization- Returns:
Returns a
list
of typeNttCisPool
- Return type:
list
ofNttCisPool
- ex_get_ssl_certificate_chain(chain_id)[source]
Function gets the certificate chain by id. Use this if only if the id is already known :param cert_id: The id of the specific cert :return: :class: `NttCiscertificatechain
- ex_get_ssl_domain_cert(cert_id)[source]
Function gets the cert by id. Use this if only if the id is already known
- Parameters:
cert_id (
str
) – The id of the specific cert- Returns:
- class:
`NttCisdomaincertificate
- ex_import_ssl_cert_chain(network_domain_id, name, chain_crt_file, description=None)[source]
Import an ssl certificate chain for ssl offloading onto the the load balancer
- Parameters:
network_domain_id (
str
) – The Network Domain’s Id.name (
str
) – The name of the ssl certificate chainchain_crt_file (
str
) – The complete path to the certificate chain filedescription (
str
) – (Optional) A description of the certificate chain
- Returns:
bool
- ex_import_ssl_domain_certificate(network_domain_id, name, crt_file, key_file, description=None)[source]
Import an ssl cert for ssl offloading onto the the load balancer
- Parameters:
network_domain_id (
str
) – The Network Domain’s Id.name (
str
) – The name of the ssl certificatecrt_file (
str
) – The complete path to the certificate filekey_file (
str
) – The complete pathy to the key filedescription – (Optional) A description of the certificate
- Returns:
bool
- ex_list_ssl_certificate_chains(params={})[source]
Functions takes a named parameter that can be one or none of the following to filter returned items
- Parameters:
params – A sequence of comma separated keyword arguments
- and a value
id=
network_domain_id=
name=
state=
create_time=
expiry_time=
- Returns:
list of :class: NttCissslcertficiatechain
- ex_list_ssl_domain_certs(params={})[source]
Functions takes a named parameter that can be one or none of the following
- Parameters:
params – A sequence of comma separated keyword arguments
- and a value
id=
network_domain_id=
name=
state=
create_time=
expiry_time=
- Returns:
list of :class: NttCisDomaincertificate
- ex_list_ssl_offload_profiles(params={})[source]
Functions takes a named parameter that can be one or none of the following to filter returned items
- Parameters:
params – A sequence of comma separated keyword arguments
- and a value
id=
network_domain_id=
datacenter_id=
name=
state=
ssl_domain_certificate_id=
ssl_domain_certificate_name=
ssl_certificate_chain_id=
ssl_certificate_chain_name=
create_time=
- Returns:
list of :class: NttCisSslssloffloadprofile
- ex_set_current_network_domain(network_domain_id)[source]
Set the network domain (part of the network) of the driver
- Parameters:
network_domain_id (
str
) – ID of the pool (required)
- ex_set_node_state(node, enabled)[source]
Change the state of a node (enable/disable)
- Parameters:
pool (
NttCisNode
) – The instance ofNttCisNode
to updateenabled (
bool
) – The target state of the node
- Returns:
The instance of
NttCisNode
- Return type:
NttCisNode
- ex_update_listener(virtual_listener, **kwargs)[source]
Update a current virtual listener. :param virtual_listener: The listener to be updated :return: The edited version of the listener
- ex_update_node(node)[source]
Update the properties of a node
- Parameters:
pool (
NttCisNode
) – The instance ofNttCisNode
to update- Returns:
The instance of
NttCisNode
- Return type:
NttCisNode
- ex_update_pool(pool)[source]
Update the properties of an existing pool only method, serviceDownAction and slowRampTime are updated
- Parameters:
pool (
NttCisPool
) – The instance ofNttCisPool
to update- Returns:
True
for success,False
for failure- Return type:
bool
- ex_wait_for_state(state, func, poll_interval=2, timeout=60, *args, **kwargs)[source]
Wait for the function which returns a instance with field status to match
Keep polling func until one of the desired states is matched
- Parameters:
state (
str
orlist
) – Either the desired state (str) or a list of statesfunc (
function
) – The function to call, e.g. ex_get_vlanpoll_interval (int) – The number of seconds to wait between checks
timeout (int) – The total number of seconds to wait to reach a state
args (Positional arguments) – The arguments for func
kwargs (Keyword arguments) – The arguments for func
- get_balancer(balancer_id)[source]
Return a
LoadBalancer
object.- Parameters:
balancer_id (
str
) – id of a load balancer you want to fetch- Return type:
LoadBalancer
- list_balancers(ex_network_domain_id=None)[source]
List all loadbalancers inside a geography or in given network.
In NTTC-CIS terminology these are known as virtual listeners
- Parameters:
ex_network_domain_id (
str
) – UUID of Network Domain if not None returns only balancers in the given network if None then returns all pools for the organization- Return type:
list
ofLoadBalancer
- list_protocols()[source]
Return a list of supported protocols.
Since all protocols are support by NTTC-CIS, this is a list of common protocols.
- Return type:
list
ofstr
- name = 'NTTC-CIS Load Balancer'
- selected_region = None
- type = 'nttcis'
- website = 'https://cloud.nttcis.com/'