cisco.dnac.nfv_profile module -- Resource module for Nfv Profile

Note

This module is part of the cisco.dnac collection (version 6.24.0).

To install it, use: ansible-galaxy collection install cisco.dnac. You need further requirements to be able to use this module, see Requirements for details.

To use it in a playbook, specify: cisco.dnac.nfv_profile.

New in cisco.dnac 3.1.0

Synopsis

  • Manage operations create, update and delete of the resource Nfv Profile.

  • API to create network profile for different NFV topologies.

  • API to delete nfv network profile.

  • API to update a NFV Network profile.

Note

This module has a corresponding action plugin.

Requirements

The below requirements are needed on the host that executes this module.

  • dnacentersdk >= 2.7.2

  • python >= 3.9

Parameters

Parameter

Comments

device

list / elements=dictionary

Nfv Profile's device.

customNetworks

list / elements=dictionary

Nfv Profile's customNetworks.

connectionType

string

Type of network connection from custom network (eg lan).

networkName

string

Name of custom network (eg cust-1).

servicesToConnect

list / elements=dictionary

Nfv Profile's servicesToConnect.

serviceName

string

Name of service to be connected to the custom network (eg router-1).

vlanId

integer

Vlan id for the custom network(eg 4000).

vlanMode

string

Network mode (eg Access or Trunk).

customTemplate

list / elements=dictionary

Nfv Profile's customTemplate.

deviceType

string

Type of the device(eg Cisco 5400 Enterprise Network Compute System).

template

string

Name of the template(eg NFVIS template).

templateType

string

Name of the template type to which template is associated (eg Cloud DayN Templates).

deviceTag

string

Device Tag name(eg dev1).

deviceType

string

Name of the device used in creating nfv profile.

directInternetAccessForFirewall

boolean

Direct internet access value should be boolean (eg false or true).

Choices:

serviceProviderProfile

list / elements=dictionary

Nfv Profile's serviceProviderProfile.

connect

boolean

Connection of service provider and device value should be boolean (eg true).

Choices:

connectDefaultGatewayOnWan

boolean

Connect default gateway connect value as boolean (eg true).

Choices:

linkType

string

Name of connection type(eg GigabitEthernet).

serviceProvider

string

Name of the service provider(eg Airtel).

services

list / elements=dictionary

Nfv Profile's services.

firewallMode

string

Firewall mode details example (routed, transparent).

imageName

string

Service image name (eg isrv-universalk9.16.12.01a.tar.gz).

profileType

string

Profile type of service (eg ISRv-mini).

serviceName

string

Name of the service (eg Router-1).

serviceType

string

Service type (eg ISRV).

vNicMapping

list / elements=dictionary

Nfv Profile's vNicMapping.

assignIpAddressToNetwork

string

Assign ip address to network (eg true or false).

networkType

string

Type of connection (eg wan, lan or internal).

vlanForL2

list / elements=dictionary

Nfv Profile's vlanForL2.

vlanDescription

string

Vlan description(eg Access 4018).

vlanId

integer

Vlan id (eg 4018).

vlanType

string

Vlan type(eg Access or Trunk).

dnac_debug

boolean

Flag for Cisco DNA Center SDK to enable debugging.

Choices:

dnac_host

string / required

The Cisco DNA Center hostname.

dnac_password

string

The Cisco DNA Center password to authenticate.

dnac_port

integer

The Cisco DNA Center port.

Default: :ansible-option-default:`443`

dnac_username

aliases: user

string

The Cisco DNA Center username to authenticate.

Default: :ansible-option-default:`"admin"`

dnac_verify

boolean

Flag to enable or disable SSL certificate verification.

Choices:

dnac_version

string

Informs the SDK which version of Cisco DNA Center to use.

Default: :ansible-option-default:`"2.3.7.6"`

id

string

Id path parameter. Id of the NFV profile to be updated.

name

string

Name query parameter. Name of the profile to be updated.

profileName

string

Name of the profile to create NFV profile.

validate_response_schema

boolean

Flag for Cisco DNA Center SDK to enable the validation of request bodies against a JSON schema.

Choices:

Notes

Note

  • SDK Method used are site_design.SiteDesign.create_nfv_profile, site_design.SiteDesign.delete_nfv_profile, site_design.SiteDesign.update_nfv_profile,

  • Paths used are post /dna/intent/api/v1/nfv/network-profile, delete /dna/intent/api/v1/nfv/network-profile/{id}, put /dna/intent/api/v1/nfv/network-profile/{id},

  • Does not support check_mode

  • The plugin runs on the control node and does not use any ansible connection plugins, but instead the embedded connection manager from Cisco DNAC SDK

  • The parameters starting with dnac_ are used by the Cisco DNAC Python SDK to establish the connection

See Also

See also

Cisco DNA Center documentation for Site Design CreateNFVProfile

Complete reference of the CreateNFVProfile API.

Cisco DNA Center documentation for Site Design DeleteNFVProfile

Complete reference of the DeleteNFVProfile API.

Cisco DNA Center documentation for Site Design UpdateNFVProfile

Complete reference of the UpdateNFVProfile API.

Examples

- name: Create
  cisco.dnac.nfv_profile:
    dnac_host: "{{dnac_host}}"
    dnac_username: "{{dnac_username}}"
    dnac_password: "{{dnac_password}}"
    dnac_verify: "{{dnac_verify}}"
    dnac_port: "{{dnac_port}}"
    dnac_version: "{{dnac_version}}"
    dnac_debug: "{{dnac_debug}}"
    state: present
    device:
    - customNetworks:
      - connectionType: string
        networkName: string
        servicesToConnect:
        - serviceName: string
        vlanId: 0
        vlanMode: string
      customTemplate:
      - deviceType: string
        template: string
        templateType: string
      deviceTag: string
      deviceType: string
      directInternetAccessForFirewall: true
      serviceProviderProfile:
      - connect: true
        connectDefaultGatewayOnWan: true
        linkType: string
        serviceProvider: string
      services:
      - firewallMode: string
        imageName: string
        profileType: string
        serviceName: string
        serviceType: string
        vNicMapping:
        - assignIpAddressToNetwork: string
          networkType: string
      vlanForL2:
      - vlanDescription: string
        vlanId: 0
        vlanType: string
    profileName: string

- name: Update by id
  cisco.dnac.nfv_profile:
    dnac_host: "{{dnac_host}}"
    dnac_username: "{{dnac_username}}"
    dnac_password: "{{dnac_password}}"
    dnac_verify: "{{dnac_verify}}"
    dnac_port: "{{dnac_port}}"
    dnac_version: "{{dnac_version}}"
    dnac_debug: "{{dnac_debug}}"
    state: present
    device:
    - currentDeviceTag: string
      customNetworks:
      - connectionType: string
        networkName: string
        servicesToConnect:
        - serviceName: string
        vlanId: 0
        vlanMode: string
      customTemplate:
      - deviceType: string
        template: string
        templateType: string
      deviceTag: string
      directInternetAccessForFirewall: true
      services:
      - firewallMode: string
        imageName: string
        profileType: string
        serviceName: string
        serviceType: string
        vNicMapping:
        - assignIpAddressToNetwork: string
          networkType: string
      vlanForL2:
      - vlanDescription: string
        vlanId: 0
        vlanType: string
    id: string
    name: string

- name: Delete by id
  cisco.dnac.nfv_profile:
    dnac_host: "{{dnac_host}}"
    dnac_username: "{{dnac_username}}"
    dnac_password: "{{dnac_password}}"
    dnac_verify: "{{dnac_verify}}"
    dnac_port: "{{dnac_port}}"
    dnac_version: "{{dnac_version}}"
    dnac_debug: "{{dnac_debug}}"
    state: absent
    id: string
    name: string

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key

Description

dnac_response

dictionary

A dictionary or list with the response returned by the Cisco DNAC Python SDK

Returned: always

Sample: :ansible-rv-sample-value:`{"executionId": "string", "executionStatusUrl": "string", "message": "string"}`

Authors

  • Rafael Campos (@racampos)