Skip to content
This repository has been archived by the owner on Apr 26, 2024. It is now read-only.

Releases: CiscoDevNet/catalystwan

v0.9.4

30 May 10:12
68a1485
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.9.3...v0.9.4

vManage-client v0.9.3

18 May 08:05
ae6a3ff
Compare
Choose a tag to compare

What's Changed

  • Fr/use device models by @tehAgitto in #264
  • Update available_versions default value to empty list by @lapson97 in #268

New Contributors

Full Changelog: v0.9.2...v0.9.3

vManage-client v0.9.2

16 May 12:58
e3597dc
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.9.1...v0.9.2

vManage-client v0.9.1

16 May 11:41
764b2ce
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.9.0...v0.9.1

vManage-client v0.9.0

12 May 11:41
e501b4b
Compare
Choose a tag to compare

What's Changed

📈 Enhancements:

  • Dashboard - add new additional endpoints
  • Add primitive edit() Feature Template
  • Refresh closed session
  • Add schema for L2/L3 layer separation (more info soon)
  • Add View decorator
# API calls can now be tagged from within 
# the vmngclient on which view they function
@View({ProviderView})
def create_tenant(self, tenant: Tenant) -> Tenant:
	...
  • Add tenant management API primitives
  • Add DeviceModel support in Feature Templates
  • Custom Exception Tree was created. Now every Exception inherits from vManageClientError. Every Exception regarding Already existing entity was removed, and vManage response message is now being used.
  • Add possibility to catch Exception error from the response
try:
    session.api.users.delete_user("ABC")
except vManageBadRequestError as error:
    response = error.response.text
    print(response)
>>> {"error":{"message":"Delete users request failed","code":"USER0006","details":"No user with name ABC was found"}}

🔨 Fixes:

  • Fixed Tasks status (get_all_tasks() has been removed, because not every user is able to request API call)
  • Fixed ProviderAsTenant usage
  • Fixed not logged Exception messages

📖 Documentation:

  • Fix docstrings in multiple packages
  • Add new contributing API guideline
  • Clarify README

vManage-client v0.8.2

13 Apr 09:36
c1dcc69
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.8.1...v0.8.2

v0.8.1

29 Mar 18:34
48baffa
Compare
Choose a tag to compare

What's Changed

Full Changelog: 0.8.0...v0.8.1

vManage-client v0.8.0

28 Mar 17:03
eb5090e
Compare
Choose a tag to compare

📈 Enhancements:

  • asdict(dataclass: AttrsInstance) -> dict works for nested dataclasses now #202
>>> asdict(TenantTacacsServer(1, "2", [TacacsServer(*range(7)])
{
    "timeout": 1,
    "authentication": "2",
    "server": [
        {
            "address": 0,
            "authPort": 1,
            "vpn": 2,
            "vpnIpSubnet": 3,
            "key": 4,
            "secretKey": 5,
            "priority": 6,
        }
    ]
}
>>> json.dumps(asdict(TenantTacacsServer(1, "2", [TacacsServer(*range(7)])) # If you would like to send information as json to vManage
  • Device Template creation #139
dev_temp = DeviceTemplate(
    name="test",
    description="test",
    general_templates=[
        "Factory_Default_AAA_CISCO_Template",
        "Default_BFD_Cisco_V01",
        "Factory_Default_Cisco_OMP_ipv46_Template",
        "Default_Security_Cisco_V01",
        "Factory_Default_Global_CISCO_Template",
    ]
)

template_api.create(dev_temp)
  • FeatureTemplate creation #139
cisco_system = CiscoSystemModel(
    name="test",
    description="test",
    site_id=1,
    hostname='vm123',
    system_ip='1.1.1.1',
    multitenant=True,
    console_baud_rate=9600
)
vm123 = session.api.devices.get().filter(hostname="vm123").single_or_default()

template_api.attach(
    name="template_name", # CLI or Feature based
    device=vm123,
    device_specific_vars={
        "//system/site-id": 123,
        "//system/host-name": "vm123",
        "//system/system-ip": "1.1.1.1"
    }
)
  • Moreover, new templates are now being made through a generator (no jinja templates, less maintenance code, a lot faster to deploy new templates) #157. There is also new flag for debug purposes (it generates response and payload which is being sent to vManage)
user_admin = User(
    name="admin", 
    password="$6$2e73eede849e64b4d1c9301a6a76c2adc02f33fG.Ve849e64b4d1c9301a6a76c2adc02f33f.", # Hash generated by vManage server 
    secret="$9$3/Ue849e64b4d1c9301a6a76c2adc02f33f", # Hash generated by vManage server 
    privilege=15
)

aaa = CiscoAAAModel(
    name="vm81_aaa_fixed", 
    description="vm81_aaa_fix", 
    user=[user_admin], 
    authentication_group=True
) 

session.api.templates.create(aaa, debug=True)
  • InstallSpecHelper removed from user's interface - upgrades are now more cleaner #186
#Prepare vSmarts List
devices = DevicesAPI(provider_as_tenant).get()
vsmarts = devices.filter(personality=Personality.VSMART)
software_image = <path_to_your_software_image>

#Upload image to vManage Repository
RepositoryAPI(session).upload_image(software_image)

# Upgrade
software_action = SoftwareActionAPI(session, DeviceCategory.VEDGES)
upgrade_id = software_action.upgrade_software(devices=vsmarts, software_image)

# Check action status
wait_for_completed(session, software_action_id) 
  • Add first(self) -> T method to DataSequence (#195)[https://github.com//pull/195]
# Returns the first element of a sequence.
>>> seq = DataSequence(Device, [Device(hostname="dev-1"), Device(hostname="dev-2"), Device(hostname="dev-3")])
>>> seq.first()
Device(hostname="dev-1", personality=Personality.EDGE, ...)

# Raises: InvalidOperationError: Raises when there is no elements in the sequence.

# Returns: [T]: The single element of the input sequence.

🔨 Fixes:

  • Refactored CLITemplate #184

📖 Documentation:

  • README updated #183

Add more unittests and attributes to dataclasses.

Full Changelog: v0.7.2...v0.8.0

vManage-client v0.7.2

22 Mar 16:15
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.7.1...v0.7.2

vManage-client v0.7.2

Fix release for vtest.

🔨 Fixes:

  • Fix TenantInfo (flakeId does not appear in vManage 20.6 response)

📖 Documentation:

  • Fix typos
  • Align documentation for DataSequence usage

Workflows are being run only on pull requests instead of push and pull request.

v0.7.1

16 Mar 14:06
caa2539
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 0.7.0...v0.7.1