This repository has been archived by the owner on Apr 26, 2024. It is now read-only.
Releases: CiscoDevNet/catalystwan
Releases · CiscoDevNet/catalystwan
v0.9.4
What's Changed
- Task status validation by @danielui in #255
- vSmart system template by @danielui in #254
- Set port as a string. by @tehAgitto in #270
- Additional alarms examples in readme by @tomaszwarda in #271
- AlarmData pretty print and additional fields by @tomaszwarda in #274
- Task status api enhancements by @danielui in #273
- Readme upgrade code fix by @tomaszwarda in #275
- handle empty stack by @sbasan in #278
- Handle emty data case in task status by @danielui in #279
- bump to 0.9.4 by @danielui in #280
Full Changelog: v0.9.3...v0.9.4
vManage-client v0.9.3
vManage-client v0.9.2
What's Changed
- fix: change filter field name for tenant subdomain by @sbasan in #263
- Missing device fix by @mateuszslugocki in #265
- [vManageAuth] enhance logging message with text by @cicharka in #260
Full Changelog: v0.9.1...v0.9.2
vManage-client v0.9.1
What's Changed
- Improve fr generator by @tehAgitto in #246
- vSmart security template by @tomaszwarda in #251
- Issue fix: #261, #259 by @mateuszslugocki in #262
New Contributors
- @mateuszslugocki made their first contribution in #262
Full Changelog: v0.9.0...v0.9.1
vManage-client v0.9.0
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
What's Changed
- DashboardAPI first methods by @tomaszwarda in #198
- Template unittest by @tzietkowski in #207
- create resource pool by @tzietkowski in #206
- Subtasks handler in wait_for_completed by @danielui in #190
- Remove device category from upgrades by @danielui in #208
- Upgrades returns Task() by @danielui in #212
- [Fix]
json
as list by @tehAgitto in #215
Full Changelog: v0.8.1...v0.8.2
v0.8.1
vManage-client v0.8.0
📈 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)
# 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
What's Changed
- Typo fix in README.md by @tomaszwarda in #168
- update readme by @danielui in #170
- Set DataSequnce typing in upgrades by @danielui in #179
- Workflows only on pull request by @tomaszwarda in #177
- Optional field flakeId in TenantInfo by @tomaszwarda in #182
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
What's Changed
- Speedtest docstring update by @tomaszwarda in #173
- Workflow fix by @tomaszwarda in #175
- logging-improvements by @sbasan in #167
- Template API: Added method for editing device or CLI template by @ravindra-h in #169
- bump version before new release by @sbasan in #176
New Contributors
- @ravindra-h made their first contribution in #169
Full Changelog: 0.7.0...v0.7.1