�
�Udac @` s� d d l m Z m Z m Z e Z i d d 6d g d 6d d 6Z d Z d Z d
Z e
Z y d d l m
Z
Wn e k
r� e Z n Xd d l m Z d d
l m Z m Z d Z d � Z d � Z d � Z d � Z d � Z e d k r� e � n d S( i ( t absolute_importt divisiont print_functions 1.1t metadata_versiont previewt statust communityt supported_bys�
---
module: purefb_network
version_added: "2.8"
short_description: Manage network interfaces in a Pure Storage FlashBlade
description:
- This module manages network interfaces on Pure Storage FlashBlade.
- When creating a network interface a subnet must already exist with
a network prefix that covers the IP address of the interface being
created.
author: Pure Storage Ansible Team (@sdodsley) <[email protected]>
options:
name:
description:
- Interface Name.
required: true
type: str
state:
description:
- Create, delete or modifies a network interface.
required: false
default: present
choices: [ "present", "absent" ]
type: str
address:
description:
- IP address of interface.
required: false
type: str
services:
description:
- Define which services are configured for the interfaces.
required: false
choices: [ "data" ]
default: data
type: str
itype:
description:
- Type of interface.
required: false
choices: [ "vip" ]
default: vip
type: str
extends_documentation_fragment:
- purestorage.fb
sI
- name: Create new network interface named foo
purefb_network:
name: foo
address: 10.21.200.23
state: present
fb_url: 10.10.10.2
api_token: T-55a68eb5-c785-4720-a2ca-8b03903bf641
- name: Change IP address of network interface named foo
purefb_network:
name: foo
state: present
address: 10.21.200.123
fb_url: 10.10.10.2
api_token: T-55a68eb5-c785-4720-a2ca-8b03903bf641
- name: Delete network interface named foo
purefb_network:
name: foo
state: absent
fb_url: 10.10.10.2
api_token: T-55a68eb5-c785-4720-a2ca-8b03903bf641t
( t NetworkInterface( t
AnsibleModule( t get_bladet purefb_argument_specs 1.3c C` sW g } | j | j d � y$ | j j d | � } | j d SWn t k
rR d SXd S( s Return Filesystem or Nonet namet namesi N( t appendt paramst network_interfacest list_network_interfacest itemst Exceptiont None( t modulet bladet ifacet res( ( sV /usr/lib/python2.7/site-packages/ansible/modules/storage/purestorage/purefb_network.pyt get_ifaceg s
c C` s� g } g } | j | j d � | j | j d � yF | j j d | d t d | j d d | d | j d � � t } Wn7 t k
r� | j d d j | j d � � t } n X| j
d
| � d S( s Create Network InterfaceR
t servicesR t network_interfacet addresst typet itypet msgsG Interface creation failed. Check valid subnet exists for IP address {0}t changedN( R R R t create_network_interfacesR t TrueR t fail_jsont formatt Falset exit_json( R R R R R! ( ( sV /usr/lib/python2.7/site-packages/ansible/modules/storage/purestorage/purefb_network.pyt create_ifacer s
c C` s� t } t | | � } g } | j | j d � | j d | j k r� y3 | j j d | d t d | j d � � t } Wq� t k
r� t } q� Xn | j
d | � d S( s# Modify Network Interface IP addressR
R R R R! N( R&