huaweidatacom / huaweidatacom.ac / 1.0.0 / module / ac_endport Manages EndPort on HUAWEI iMaster NCE-Fabric Controller. Authors: ZhiwenZhang (@maomao1995)huaweidatacom.ac.ac_endport (1.0.0) — module
Install with ansible-galaxy collection install huaweidatacom.ac:==1.0.0
collections: - name: huaweidatacom.ac version: 1.0.0
Manages EndPort on HUAWEI iMaster NCE-Fabric Controller(AC).
- name: Create EndPort hosts: localhost serial: True vars: now_time: "{{ansible_date_time.date}} {{ansible_date_time.time}}" token_id: "{{lookup('file','/tmp/ansible-temp')}}" vars_prompt: - name: "endport_name" prompt: "Please input end port name " private: no - name: "logicnetwork_id" prompt: "Please input logic network id " private: no - name: "endport_desc" prompt: "Please input end port description " private: no - name: "logicport_id" prompt: "Please input logic port id " private: no tasks: - name: check endport_name is null fail: msg: "Create EndPort fail! endport_name is null" when: endport_name == '' - name: check logicnetwork_id is null fail: msg: "Create EndPort fail! logicnetwork_id is null" when: logicnetwork_id == '' - name: check logicport_id is null fail: msg: "Create EndPort fail! logicport_id is null" when: logicport_id == '' - name: Create endport "{{endport_name}}" tags: create_endport vars: endport_info: endPort: id: "{{ansible_date_time.iso8601_micro | to_uuid}}" name: "{{endport_name}}" description: "{{endport_desc}}" logicNetworkId: "{{logicnetwork_id}}" logicPortId: "{{logicport_id}}" uri: url: 'https://{{north_ip}}:{{north_port}}/controller/dc/v3/logicnetwork/endports' method: POST body: '{{endport_info}}' body_format: json validate_certs: False return_content: yes headers: X-ACCESS-TOKEN: "{{token_id}}" Accept: application/json Content_Type: application/json status_code: 204 register: endport_result - name: response from create end port debug: msg: "{{endport_result}}"
- name: Update EndPort hosts: localhost serial: True vars: now_time: "{{ansible_date_time.date}} {{ansible_date_time.time}}" token_id: "{{lookup('file','/tmp/ansible-temp')}}" vars_prompt: - name: "endport_id" prompt: "Please input the end port id that you want to update " private: no - name: "endport_name" prompt: "Please input end port name " private: no - name: "endport_desc" prompt: "Please input end port description " private: no tasks: - name: check endport_id is null fail: msg: "Update EndPort fail! endport_id is null" when: endport_id == '' - name: check endport_name is null fail: msg: "Update EndPort fail! endport_name is null" when: endport_name == '' - name: Update end port "{{endport_id}}" tags: update_endport vars: endport_info: endPort: id: "{{endport_id}}" name: "{{endport_name}}" description: "{{endport_desc}}" additional: updateAt: "{{now_time}}" uri: url: 'https://{{north_ip}}:{{north_port}}/controller/dc/v3/logicnetwork/endports/endport/{{endport_id}}' method: PUT body: '{{endport_info}}' body_format: json validate_certs: False return_content: yes headers: X-ACCESS-TOKEN: "{{token_id}}" Accept: application/json Content_Type: application/json status_code: 200 register: endport_result ignore_errors: yes - name: response from update a end port debug: msg: "{{endport_result}}"
- name: Query EndPort hosts: localhost serial: True vars: token_id: "{{lookup('file','/tmp/ansible-temp')}}" vars_prompt: - name: "endport_id" prompt: "Please input the end port id that you want to query " private: no tasks: - name: qeury endports tags: qeury_endports when: endport_id == '' uri: url: 'https://{{north_ip}}:{{north_port}}/controller/dc/v3/logicnetwork/endports' method: GET validate_certs: False return_content: yes headers: X-ACCESS-TOKEN: "{{token_id}}" Accept: application/json Content_Type: application/json status_code: 200 register: endports_result ignore_errors: yes - name: qeury endport "{{endport_id}}" tags: qeury_endport when: endport_id != '' uri: url: 'https://{{north_ip}}:{{north_port}}/controller/dc/v3/logicnetwork/endports/endport/{{endport_id}}' method: GET validate_certs: False return_content: yes headers: X-ACCESS-TOKEN: "{{token_id}}" Accept: application/json Content_Type: application/json status_code: 200 register: endport_result ignore_errors: yes - name: response from get endports when: endport_id == '' debug: msg: "{{endports_result.json.endPorts}}" - name: response from query a endport when: endport_id != '' debug: msg: "{{endport_result.json.endPort}}"
- name: Delete EndPort hosts: localhost serial: True vars: token_id: "{{lookup('file','/tmp/ansible-temp')}}" vars_prompt: - name: "endport_id" prompt: "Please input the end port id that you want to delete " private: no tasks: - name: check endport_id is null fail: msg: "Delete EndPort fail! endport_id is null" when: endport_id == '' - name: Delete endport "{{endport_id}}" tags: delete_endport uri: url: 'https://{{north_ip}}:{{north_port}}/controller/dc/v3/logicnetwork/endports/endport/{{endport_id}}' method: DELETE validate_certs: False return_content: yes headers: X-ACCESS-TOKEN: "{{token_id}}" Accept: application/json Content_Type: application/json status_code: 204 register: endport_result ignore_errors: yes - name: response from delete a endport debug: msg: "{{endport_result}}"
endport_id: description: - AC EndPort id. endport_desc: description: - AC EndPort description. endport_name: description: - AC EndPort name. logicport_id: description: - AC LogicPort id.