From 82447e53fdd11036d20e2d3c45f1ca98ae1ac8fc Mon Sep 17 00:00:00 2001 From: CoprDistGit Date: Thu, 18 May 2023 07:24:25 +0000 Subject: automatic import of python-ciscoaxl --- .gitignore | 1 + python-ciscoaxl.spec | 1272 ++++++++++++++++++++++++++++++++++++++++++++++++++ sources | 1 + 3 files changed, 1274 insertions(+) create mode 100644 python-ciscoaxl.spec create mode 100644 sources diff --git a/.gitignore b/.gitignore index e69de29..bc802cd 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/ciscoaxl-0.163.tar.gz diff --git a/python-ciscoaxl.spec b/python-ciscoaxl.spec new file mode 100644 index 0000000..2cd1385 --- /dev/null +++ b/python-ciscoaxl.spec @@ -0,0 +1,1272 @@ +%global _empty_manifest_terminate_build 0 +Name: python-ciscoaxl +Version: 0.163 +Release: 1 +Summary: Cisco CUCM AXL Library. simple to use. +License: MIT +URL: https://github.com/levensailor/ciscoaxl +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/f5/6c/572918191430d573cc2d4395c33537e9f3838bc4b9097fece136cc74a54e/ciscoaxl-0.163.tar.gz +BuildArch: noarch + +Requires: python3-zeep +Requires: python3-requests +Requires: python3-termcolor + +%description +## Create an AXL Service Account +> Step 1 - Create an AXL User Group +CUCM > User Management > User Group > Add. +> Step 2 - Assign the AXL role to the group +On the top right drop down list "Related Links". +Select "Assign Role to User Group" and select "Standard AXL API Access" +![](docs/2020-06-01-11-29-06.png) +> Step 3 - Create a new Application User +CUCM > User Management > Application User > Add. +![](docs/2020-06-01-11-33-25.png) +Add the User Group "AXL Group" to this user so that after saving the roles of the new Application User appear as in the following screen: +![](docs/2020-06-01-11-43-34.png) +## SDK Usage +```python +from ciscoaxl import axl +cucm = '10.10.20.1' +username = 'axlaccess' +password = 'axlpassword' +version = '12.5' +ucm = axl(username=username,password=password,cucm=cucm,cucm_version=version) +``` +> Note: all get methods that return more than 1 item have a tagfilter property that can allow more fields to return. Fields are filtered by default to increase performance, but if you need additional fields returned from the axl call, simply add the tagfilter={} to the request. Example: +```python +get_phones(tagfilter={ "name": "", + "product": "", + "description": "", + "protocol": "", + "locationName": "", + "callingSearchSpaceName": "", + "devicePoolName": "" + }) +``` +## Users +#### Get All Users +```python +for user in ucm.get_users(): + print(user.firstName) +``` +#### Get Specific User +```python +user = ucm.get_user(user_id='mscott') +print(user.email) +``` +#### Add User +```python +ucm.add_user(user_id='jlevensailor', last_name='Levensailor', first_name='Jeff') +``` +#### Delete User +```python +ucm.delete_user(user_id='jlevensailor') +``` +#### Update User +```python +ucm.update_user(user_id='jlevensailor', password='Lagavulin16', pin='5432') +``` +## Phones +#### Get Phones +```python +for phone in ucm.get_phones(): + print(phone.name) +``` +#### Get Specific Phone +```python +phone = ucm.get_phone(name='SEP001122445566') +print(phone.name) +``` +#### Add Phone +```python +ucm.add_phone( + name='SEP0023AF482340', + description='Robert - 1102', + product='Cisco 8861', + device_pool='RTP_DP', + location='RTP_LOC', + phone_template='Standard 8861 SIP', + protocol='SIP', + css='AVST-CSS', + subscribe_css='AVST-CSS', + lines=[ + ('1102', 'ABQ_PT', 'Robert Smith', 'Robert Smith', 'Robert Smith - 1102', '+1408202XXXX') + ] +) +``` +#### Delete Phone +```python +ucm.delete_phone(name='SEP004433220043') +``` +## Translations and Transformations +#### Get Translation Patterns +```python +for trans in ucm.get_translations(): + detailed = ucm.get_translation(uuid=trans.uuid) + print(detailed.description) +``` +#### Get Specific Translation Pattern +```python +trans = ucm.get_translation(pattern='2XXX', routePartitionName='xlates-pt') +print(trans.description) +``` +#### Add Translation Pattern +```python +ported = ['12324625544', '12324625545', '12324625546'] +for num in ported: + ucm.add_translation(pattern=num, routePartitionName='pstn_pt',calledPartyTransformationMask='1102', callingSearchSpaceName='GW_CSS') +``` +#### Delete Translation Pattern +```python +ucm.delete_translation(pattern='34567', routePartitionName='xlates-pt') +``` +#### Update Translation Pattern +```python +ucm.update_translation(pattern='1234', routePartitionName='xlates-pt', newPattern='4567') +``` +## Device Pools +#### Get Device Pools +```python +for dp in ucm.get_device_pools(): + print(dp.name) +``` +#### Get Specific Device Pool +```python +dp = ucm.get_device_pool(name='RTP_DP') +print(dp.name) +``` +#### Add Device Pool +```python +ucm.add_device_pool(device_pool='Hollywood_DP') +``` +#### Delete Device Pool +```python +ucm.delete_device_pool(device_pool='Hollywood_DP') +``` +#### Update Device Pool +```python +ucm.update_device_pool(name='RTP_DP', regionName='G711_RGN') +``` +## CSS and Partitions +#### Get Calling Search Spaces +```python +for css in ucm.get_calling_search_spaces(): + print(css.name) +``` +#### Get Specific Calling Search Space +```python +css = ucm.get_calling_search_space(calling_search_space='pstn-css') +print(css.name) +``` +#### Add Calling Search Space +```python +ucm.add_calling_search_space( + calling_search_space='VIP_CSS', + description='Very Important Stuff' + members=['losfeliz-pt','silverlake-pt','pstn-pt'] + ) +``` +#### Delete Calling Search Space +```python +ucm.update_calling_search_space(calling_search_space='VIP_CSS') +``` +#### Delete Calling Search Space +```python +ucm.delete_calling_search_space(calling_search_space='VIP_CSS') +``` +#### Get Partitions +```python +for pt in ucm.get_partitions(): + print(pt.name) +``` +#### Get Specific Partition +```python +pt = ucm.get_partition(routePartitionName='pstn-pt') +print(pt.name) +``` +#### Add Partition +```python +ucm.add_partition(routePartitionName='VIP_PT', description='Very Important Peep') +``` +#### Delete Partition +```python +ucm.delete_partition(name='VIP_PT') +``` +## Regions and Locations +#### Get Regions +```python +for reg in ucm.get_regions(): + print(reg.uuid) +``` +#### Get Specific Region +```python +reg = ucm.get_region(region='losfeliz_reg') +print(reg.name) +``` +#### Add Region +```python +ucm.add_region(region='Hollywood-REG') +``` +#### Delete Region +```python +ucm.delete_region(region='Hollywood-REG') +``` +#### Get Locations +```python +for loc in ucm.get_locations(): + print(loc.name) +``` +#### Get Specific Location +```python +loc = ucm.get_location(name='Shadow') +print(loc.name) +``` +#### Add Location +```python +ucm.add_location(location='Hollywood-LOC') +``` +#### Delete Location +```python +ucm.delete_location(location='Hollywood-LOC') +``` +## Directory Numbers +#### Get Directory Numbers +```python +for dn in ucm.get_directory_numbers(): + print(dn.uuid) +``` +#### Get Specific Directory Number +```python +dn = ucm.get_directory_number(pattern='2888',routePartitionName='losfeliz-pt') +print(dn.uuid) +``` +#### Add Directory Number +```python +ucm.add_directory_number( + pattern='1102', + routePartitionName='ABQ_PT' + ) +``` +#### Delete Directory Number +```python +ucm.delete_directory_number(uuid='{0B0CDC93-EC9C-7255-1B09-40A3CE727D5A}') +``` +## Device Profiles +#### Get User Device Profiles +```python +for udp in ucm.get_device_profiles(): + print(udp.name) +``` +#### Get Specific User Device Profile +```python +udp = ucm.get_device_profile(name='udp-bsimpson') +print(udp.name) +``` +#### Add User Device Profile +```python +ucm.add_device_profile( + name='UDP_MScott', + description='Michael Scott - 2901', + product='Cisco 8861', + phone_template='Standard 8861 SIP', + protocol='SIP', + lines=[ + ('2901', 'losfeliz-pt', 'Michael Scott', 'Michael Scott', 'Michael Scott - 2901', '+1408202XXXX'), + ('2902', 'losfeliz-pt', 'Pam Beesley', 'Pam Beesley', 'Pam Beesley - 2902', '+1408202XXXX') + ] +) +``` +#### Delete User Device Profile +```python +ucm.delete_device_profile('UDP_Mscott') +``` +## CTI Route Points +#### Get CTI Route Points +```python +for cti in ucm.get_cti_route_points(): + print(cti.name) +``` +#### Get Specific CTI Route Point +```python +cti = ucm.get_cti_route_point(cti_route_point='AutoAttendant') +print(cti.name) +``` +#### Add CTI Route Point +```python +ucm.add_cti_route_point( + cti_route_point='aa-pilot', + description='pilot to unity', + device_pool='LosFeliz_DP', + css='allphone-css', + lines=[ + ('2908', 'losfeliz-pt'), + ('2909', 'losfeliz-pt') + ] +) +``` +#### Delete CTI Route Point +```python +ucm.delete_cti_route_point(name='OneArch') +``` +## Route Groups, Lists, and Patterns +#### List Route Plan +```python +nums = ['19197016707', '19197016712', '19197016713', '19197016706', '191970167016'] +for num in nums: + for route in ucm.list_route_plan(num): + print(route.dnOrPattern) +for route in ucm.list_route_plan('2901'): + print(route.uuid) +``` +#### Get Route Groups +```python +for rg in ucm.get_route_groups(): + print(rg.name) +``` +#### Get Specific Route Group +```python +rg = ucm.get_route_group(route_group='losfeliz-rg') +print(rg.uuid) +``` +#### Add Route Group +```python +ucm.add_route_group( + route_group='hollywood-rg', + distribution_algorithm='Circular', + members=[('america-online-sip'), ('h323')]) +``` +#### Delete Route Group +```python +ucm.delete_route_group(route_group='hollywood-rg') +``` +#### Get Route Lists +```python +for rl in ucm.get_route_lists(): + print(rl.name) +``` +#### Get Specific Route List +```python +rl = ucm.get_route_list(route_list='stdloc-rl') +print(rl.description) +``` +#### Add Route List +```python +ucm.add_route_list( + route_list='hollywood-rl', + description='hollywood', + run_on_all_nodes='true', + cm_group_name='Default', + members=[ + ('losfeliz-rg'), + ('silverlake-rg') + ]) +``` +#### Delete Route List +```python +ucm.delete_route_list(route_list='hollywood-rl') +``` +#### Get Route Patterns +```python +for rp in ucm.get_route_patterns(): + print(rp.pattern) +``` +#### Get Specific Route Pattern +```python +rp = ucm.get_route_pattern(pattern='911') +print(rp.description) +``` +#### Add Route Pattern +```python +ucm.add_route_pattern( + pattern='999', + routePartitionName='losfeliz-pt', + description='Movie Times', + route_list='stdloc-rl' + ) +``` +#### Delete Route Pattern +```python +ucm.delete_route_pattern(pattern='999', routePartitionName='losfeliz-pt') +``` +## Runs and Dos +#### Execute SQL Query +```sh +for sql in ucm.run_sql_query('select * from device where description like "Bart%"'): + print(sql.name) +``` +#### Do LDAP Sync on all agreements +```sh +for ldap in ucm.get_ldap_dir(): + ucm.do_ldap_sync(uuid=ldap.uuid) +``` +#### Reset Device +```python +ucm.do_device_reset(device='SEP001100220033') +``` +#### Extension Mobility Login +```python +ucm.do_device_login(device='SEP001100220033', userId='bsimpson') +``` +#### Extension Mobility Logout +```python +ucm.do_device_logout(device='SEP001100220033', userId='bsimpson') +``` + +%package -n python3-ciscoaxl +Summary: Cisco CUCM AXL Library. simple to use. +Provides: python-ciscoaxl +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-ciscoaxl +## Create an AXL Service Account +> Step 1 - Create an AXL User Group +CUCM > User Management > User Group > Add. +> Step 2 - Assign the AXL role to the group +On the top right drop down list "Related Links". +Select "Assign Role to User Group" and select "Standard AXL API Access" +![](docs/2020-06-01-11-29-06.png) +> Step 3 - Create a new Application User +CUCM > User Management > Application User > Add. +![](docs/2020-06-01-11-33-25.png) +Add the User Group "AXL Group" to this user so that after saving the roles of the new Application User appear as in the following screen: +![](docs/2020-06-01-11-43-34.png) +## SDK Usage +```python +from ciscoaxl import axl +cucm = '10.10.20.1' +username = 'axlaccess' +password = 'axlpassword' +version = '12.5' +ucm = axl(username=username,password=password,cucm=cucm,cucm_version=version) +``` +> Note: all get methods that return more than 1 item have a tagfilter property that can allow more fields to return. Fields are filtered by default to increase performance, but if you need additional fields returned from the axl call, simply add the tagfilter={} to the request. Example: +```python +get_phones(tagfilter={ "name": "", + "product": "", + "description": "", + "protocol": "", + "locationName": "", + "callingSearchSpaceName": "", + "devicePoolName": "" + }) +``` +## Users +#### Get All Users +```python +for user in ucm.get_users(): + print(user.firstName) +``` +#### Get Specific User +```python +user = ucm.get_user(user_id='mscott') +print(user.email) +``` +#### Add User +```python +ucm.add_user(user_id='jlevensailor', last_name='Levensailor', first_name='Jeff') +``` +#### Delete User +```python +ucm.delete_user(user_id='jlevensailor') +``` +#### Update User +```python +ucm.update_user(user_id='jlevensailor', password='Lagavulin16', pin='5432') +``` +## Phones +#### Get Phones +```python +for phone in ucm.get_phones(): + print(phone.name) +``` +#### Get Specific Phone +```python +phone = ucm.get_phone(name='SEP001122445566') +print(phone.name) +``` +#### Add Phone +```python +ucm.add_phone( + name='SEP0023AF482340', + description='Robert - 1102', + product='Cisco 8861', + device_pool='RTP_DP', + location='RTP_LOC', + phone_template='Standard 8861 SIP', + protocol='SIP', + css='AVST-CSS', + subscribe_css='AVST-CSS', + lines=[ + ('1102', 'ABQ_PT', 'Robert Smith', 'Robert Smith', 'Robert Smith - 1102', '+1408202XXXX') + ] +) +``` +#### Delete Phone +```python +ucm.delete_phone(name='SEP004433220043') +``` +## Translations and Transformations +#### Get Translation Patterns +```python +for trans in ucm.get_translations(): + detailed = ucm.get_translation(uuid=trans.uuid) + print(detailed.description) +``` +#### Get Specific Translation Pattern +```python +trans = ucm.get_translation(pattern='2XXX', routePartitionName='xlates-pt') +print(trans.description) +``` +#### Add Translation Pattern +```python +ported = ['12324625544', '12324625545', '12324625546'] +for num in ported: + ucm.add_translation(pattern=num, routePartitionName='pstn_pt',calledPartyTransformationMask='1102', callingSearchSpaceName='GW_CSS') +``` +#### Delete Translation Pattern +```python +ucm.delete_translation(pattern='34567', routePartitionName='xlates-pt') +``` +#### Update Translation Pattern +```python +ucm.update_translation(pattern='1234', routePartitionName='xlates-pt', newPattern='4567') +``` +## Device Pools +#### Get Device Pools +```python +for dp in ucm.get_device_pools(): + print(dp.name) +``` +#### Get Specific Device Pool +```python +dp = ucm.get_device_pool(name='RTP_DP') +print(dp.name) +``` +#### Add Device Pool +```python +ucm.add_device_pool(device_pool='Hollywood_DP') +``` +#### Delete Device Pool +```python +ucm.delete_device_pool(device_pool='Hollywood_DP') +``` +#### Update Device Pool +```python +ucm.update_device_pool(name='RTP_DP', regionName='G711_RGN') +``` +## CSS and Partitions +#### Get Calling Search Spaces +```python +for css in ucm.get_calling_search_spaces(): + print(css.name) +``` +#### Get Specific Calling Search Space +```python +css = ucm.get_calling_search_space(calling_search_space='pstn-css') +print(css.name) +``` +#### Add Calling Search Space +```python +ucm.add_calling_search_space( + calling_search_space='VIP_CSS', + description='Very Important Stuff' + members=['losfeliz-pt','silverlake-pt','pstn-pt'] + ) +``` +#### Delete Calling Search Space +```python +ucm.update_calling_search_space(calling_search_space='VIP_CSS') +``` +#### Delete Calling Search Space +```python +ucm.delete_calling_search_space(calling_search_space='VIP_CSS') +``` +#### Get Partitions +```python +for pt in ucm.get_partitions(): + print(pt.name) +``` +#### Get Specific Partition +```python +pt = ucm.get_partition(routePartitionName='pstn-pt') +print(pt.name) +``` +#### Add Partition +```python +ucm.add_partition(routePartitionName='VIP_PT', description='Very Important Peep') +``` +#### Delete Partition +```python +ucm.delete_partition(name='VIP_PT') +``` +## Regions and Locations +#### Get Regions +```python +for reg in ucm.get_regions(): + print(reg.uuid) +``` +#### Get Specific Region +```python +reg = ucm.get_region(region='losfeliz_reg') +print(reg.name) +``` +#### Add Region +```python +ucm.add_region(region='Hollywood-REG') +``` +#### Delete Region +```python +ucm.delete_region(region='Hollywood-REG') +``` +#### Get Locations +```python +for loc in ucm.get_locations(): + print(loc.name) +``` +#### Get Specific Location +```python +loc = ucm.get_location(name='Shadow') +print(loc.name) +``` +#### Add Location +```python +ucm.add_location(location='Hollywood-LOC') +``` +#### Delete Location +```python +ucm.delete_location(location='Hollywood-LOC') +``` +## Directory Numbers +#### Get Directory Numbers +```python +for dn in ucm.get_directory_numbers(): + print(dn.uuid) +``` +#### Get Specific Directory Number +```python +dn = ucm.get_directory_number(pattern='2888',routePartitionName='losfeliz-pt') +print(dn.uuid) +``` +#### Add Directory Number +```python +ucm.add_directory_number( + pattern='1102', + routePartitionName='ABQ_PT' + ) +``` +#### Delete Directory Number +```python +ucm.delete_directory_number(uuid='{0B0CDC93-EC9C-7255-1B09-40A3CE727D5A}') +``` +## Device Profiles +#### Get User Device Profiles +```python +for udp in ucm.get_device_profiles(): + print(udp.name) +``` +#### Get Specific User Device Profile +```python +udp = ucm.get_device_profile(name='udp-bsimpson') +print(udp.name) +``` +#### Add User Device Profile +```python +ucm.add_device_profile( + name='UDP_MScott', + description='Michael Scott - 2901', + product='Cisco 8861', + phone_template='Standard 8861 SIP', + protocol='SIP', + lines=[ + ('2901', 'losfeliz-pt', 'Michael Scott', 'Michael Scott', 'Michael Scott - 2901', '+1408202XXXX'), + ('2902', 'losfeliz-pt', 'Pam Beesley', 'Pam Beesley', 'Pam Beesley - 2902', '+1408202XXXX') + ] +) +``` +#### Delete User Device Profile +```python +ucm.delete_device_profile('UDP_Mscott') +``` +## CTI Route Points +#### Get CTI Route Points +```python +for cti in ucm.get_cti_route_points(): + print(cti.name) +``` +#### Get Specific CTI Route Point +```python +cti = ucm.get_cti_route_point(cti_route_point='AutoAttendant') +print(cti.name) +``` +#### Add CTI Route Point +```python +ucm.add_cti_route_point( + cti_route_point='aa-pilot', + description='pilot to unity', + device_pool='LosFeliz_DP', + css='allphone-css', + lines=[ + ('2908', 'losfeliz-pt'), + ('2909', 'losfeliz-pt') + ] +) +``` +#### Delete CTI Route Point +```python +ucm.delete_cti_route_point(name='OneArch') +``` +## Route Groups, Lists, and Patterns +#### List Route Plan +```python +nums = ['19197016707', '19197016712', '19197016713', '19197016706', '191970167016'] +for num in nums: + for route in ucm.list_route_plan(num): + print(route.dnOrPattern) +for route in ucm.list_route_plan('2901'): + print(route.uuid) +``` +#### Get Route Groups +```python +for rg in ucm.get_route_groups(): + print(rg.name) +``` +#### Get Specific Route Group +```python +rg = ucm.get_route_group(route_group='losfeliz-rg') +print(rg.uuid) +``` +#### Add Route Group +```python +ucm.add_route_group( + route_group='hollywood-rg', + distribution_algorithm='Circular', + members=[('america-online-sip'), ('h323')]) +``` +#### Delete Route Group +```python +ucm.delete_route_group(route_group='hollywood-rg') +``` +#### Get Route Lists +```python +for rl in ucm.get_route_lists(): + print(rl.name) +``` +#### Get Specific Route List +```python +rl = ucm.get_route_list(route_list='stdloc-rl') +print(rl.description) +``` +#### Add Route List +```python +ucm.add_route_list( + route_list='hollywood-rl', + description='hollywood', + run_on_all_nodes='true', + cm_group_name='Default', + members=[ + ('losfeliz-rg'), + ('silverlake-rg') + ]) +``` +#### Delete Route List +```python +ucm.delete_route_list(route_list='hollywood-rl') +``` +#### Get Route Patterns +```python +for rp in ucm.get_route_patterns(): + print(rp.pattern) +``` +#### Get Specific Route Pattern +```python +rp = ucm.get_route_pattern(pattern='911') +print(rp.description) +``` +#### Add Route Pattern +```python +ucm.add_route_pattern( + pattern='999', + routePartitionName='losfeliz-pt', + description='Movie Times', + route_list='stdloc-rl' + ) +``` +#### Delete Route Pattern +```python +ucm.delete_route_pattern(pattern='999', routePartitionName='losfeliz-pt') +``` +## Runs and Dos +#### Execute SQL Query +```sh +for sql in ucm.run_sql_query('select * from device where description like "Bart%"'): + print(sql.name) +``` +#### Do LDAP Sync on all agreements +```sh +for ldap in ucm.get_ldap_dir(): + ucm.do_ldap_sync(uuid=ldap.uuid) +``` +#### Reset Device +```python +ucm.do_device_reset(device='SEP001100220033') +``` +#### Extension Mobility Login +```python +ucm.do_device_login(device='SEP001100220033', userId='bsimpson') +``` +#### Extension Mobility Logout +```python +ucm.do_device_logout(device='SEP001100220033', userId='bsimpson') +``` + +%package help +Summary: Development documents and examples for ciscoaxl +Provides: python3-ciscoaxl-doc +%description help +## Create an AXL Service Account +> Step 1 - Create an AXL User Group +CUCM > User Management > User Group > Add. +> Step 2 - Assign the AXL role to the group +On the top right drop down list "Related Links". +Select "Assign Role to User Group" and select "Standard AXL API Access" +![](docs/2020-06-01-11-29-06.png) +> Step 3 - Create a new Application User +CUCM > User Management > Application User > Add. +![](docs/2020-06-01-11-33-25.png) +Add the User Group "AXL Group" to this user so that after saving the roles of the new Application User appear as in the following screen: +![](docs/2020-06-01-11-43-34.png) +## SDK Usage +```python +from ciscoaxl import axl +cucm = '10.10.20.1' +username = 'axlaccess' +password = 'axlpassword' +version = '12.5' +ucm = axl(username=username,password=password,cucm=cucm,cucm_version=version) +``` +> Note: all get methods that return more than 1 item have a tagfilter property that can allow more fields to return. Fields are filtered by default to increase performance, but if you need additional fields returned from the axl call, simply add the tagfilter={} to the request. Example: +```python +get_phones(tagfilter={ "name": "", + "product": "", + "description": "", + "protocol": "", + "locationName": "", + "callingSearchSpaceName": "", + "devicePoolName": "" + }) +``` +## Users +#### Get All Users +```python +for user in ucm.get_users(): + print(user.firstName) +``` +#### Get Specific User +```python +user = ucm.get_user(user_id='mscott') +print(user.email) +``` +#### Add User +```python +ucm.add_user(user_id='jlevensailor', last_name='Levensailor', first_name='Jeff') +``` +#### Delete User +```python +ucm.delete_user(user_id='jlevensailor') +``` +#### Update User +```python +ucm.update_user(user_id='jlevensailor', password='Lagavulin16', pin='5432') +``` +## Phones +#### Get Phones +```python +for phone in ucm.get_phones(): + print(phone.name) +``` +#### Get Specific Phone +```python +phone = ucm.get_phone(name='SEP001122445566') +print(phone.name) +``` +#### Add Phone +```python +ucm.add_phone( + name='SEP0023AF482340', + description='Robert - 1102', + product='Cisco 8861', + device_pool='RTP_DP', + location='RTP_LOC', + phone_template='Standard 8861 SIP', + protocol='SIP', + css='AVST-CSS', + subscribe_css='AVST-CSS', + lines=[ + ('1102', 'ABQ_PT', 'Robert Smith', 'Robert Smith', 'Robert Smith - 1102', '+1408202XXXX') + ] +) +``` +#### Delete Phone +```python +ucm.delete_phone(name='SEP004433220043') +``` +## Translations and Transformations +#### Get Translation Patterns +```python +for trans in ucm.get_translations(): + detailed = ucm.get_translation(uuid=trans.uuid) + print(detailed.description) +``` +#### Get Specific Translation Pattern +```python +trans = ucm.get_translation(pattern='2XXX', routePartitionName='xlates-pt') +print(trans.description) +``` +#### Add Translation Pattern +```python +ported = ['12324625544', '12324625545', '12324625546'] +for num in ported: + ucm.add_translation(pattern=num, routePartitionName='pstn_pt',calledPartyTransformationMask='1102', callingSearchSpaceName='GW_CSS') +``` +#### Delete Translation Pattern +```python +ucm.delete_translation(pattern='34567', routePartitionName='xlates-pt') +``` +#### Update Translation Pattern +```python +ucm.update_translation(pattern='1234', routePartitionName='xlates-pt', newPattern='4567') +``` +## Device Pools +#### Get Device Pools +```python +for dp in ucm.get_device_pools(): + print(dp.name) +``` +#### Get Specific Device Pool +```python +dp = ucm.get_device_pool(name='RTP_DP') +print(dp.name) +``` +#### Add Device Pool +```python +ucm.add_device_pool(device_pool='Hollywood_DP') +``` +#### Delete Device Pool +```python +ucm.delete_device_pool(device_pool='Hollywood_DP') +``` +#### Update Device Pool +```python +ucm.update_device_pool(name='RTP_DP', regionName='G711_RGN') +``` +## CSS and Partitions +#### Get Calling Search Spaces +```python +for css in ucm.get_calling_search_spaces(): + print(css.name) +``` +#### Get Specific Calling Search Space +```python +css = ucm.get_calling_search_space(calling_search_space='pstn-css') +print(css.name) +``` +#### Add Calling Search Space +```python +ucm.add_calling_search_space( + calling_search_space='VIP_CSS', + description='Very Important Stuff' + members=['losfeliz-pt','silverlake-pt','pstn-pt'] + ) +``` +#### Delete Calling Search Space +```python +ucm.update_calling_search_space(calling_search_space='VIP_CSS') +``` +#### Delete Calling Search Space +```python +ucm.delete_calling_search_space(calling_search_space='VIP_CSS') +``` +#### Get Partitions +```python +for pt in ucm.get_partitions(): + print(pt.name) +``` +#### Get Specific Partition +```python +pt = ucm.get_partition(routePartitionName='pstn-pt') +print(pt.name) +``` +#### Add Partition +```python +ucm.add_partition(routePartitionName='VIP_PT', description='Very Important Peep') +``` +#### Delete Partition +```python +ucm.delete_partition(name='VIP_PT') +``` +## Regions and Locations +#### Get Regions +```python +for reg in ucm.get_regions(): + print(reg.uuid) +``` +#### Get Specific Region +```python +reg = ucm.get_region(region='losfeliz_reg') +print(reg.name) +``` +#### Add Region +```python +ucm.add_region(region='Hollywood-REG') +``` +#### Delete Region +```python +ucm.delete_region(region='Hollywood-REG') +``` +#### Get Locations +```python +for loc in ucm.get_locations(): + print(loc.name) +``` +#### Get Specific Location +```python +loc = ucm.get_location(name='Shadow') +print(loc.name) +``` +#### Add Location +```python +ucm.add_location(location='Hollywood-LOC') +``` +#### Delete Location +```python +ucm.delete_location(location='Hollywood-LOC') +``` +## Directory Numbers +#### Get Directory Numbers +```python +for dn in ucm.get_directory_numbers(): + print(dn.uuid) +``` +#### Get Specific Directory Number +```python +dn = ucm.get_directory_number(pattern='2888',routePartitionName='losfeliz-pt') +print(dn.uuid) +``` +#### Add Directory Number +```python +ucm.add_directory_number( + pattern='1102', + routePartitionName='ABQ_PT' + ) +``` +#### Delete Directory Number +```python +ucm.delete_directory_number(uuid='{0B0CDC93-EC9C-7255-1B09-40A3CE727D5A}') +``` +## Device Profiles +#### Get User Device Profiles +```python +for udp in ucm.get_device_profiles(): + print(udp.name) +``` +#### Get Specific User Device Profile +```python +udp = ucm.get_device_profile(name='udp-bsimpson') +print(udp.name) +``` +#### Add User Device Profile +```python +ucm.add_device_profile( + name='UDP_MScott', + description='Michael Scott - 2901', + product='Cisco 8861', + phone_template='Standard 8861 SIP', + protocol='SIP', + lines=[ + ('2901', 'losfeliz-pt', 'Michael Scott', 'Michael Scott', 'Michael Scott - 2901', '+1408202XXXX'), + ('2902', 'losfeliz-pt', 'Pam Beesley', 'Pam Beesley', 'Pam Beesley - 2902', '+1408202XXXX') + ] +) +``` +#### Delete User Device Profile +```python +ucm.delete_device_profile('UDP_Mscott') +``` +## CTI Route Points +#### Get CTI Route Points +```python +for cti in ucm.get_cti_route_points(): + print(cti.name) +``` +#### Get Specific CTI Route Point +```python +cti = ucm.get_cti_route_point(cti_route_point='AutoAttendant') +print(cti.name) +``` +#### Add CTI Route Point +```python +ucm.add_cti_route_point( + cti_route_point='aa-pilot', + description='pilot to unity', + device_pool='LosFeliz_DP', + css='allphone-css', + lines=[ + ('2908', 'losfeliz-pt'), + ('2909', 'losfeliz-pt') + ] +) +``` +#### Delete CTI Route Point +```python +ucm.delete_cti_route_point(name='OneArch') +``` +## Route Groups, Lists, and Patterns +#### List Route Plan +```python +nums = ['19197016707', '19197016712', '19197016713', '19197016706', '191970167016'] +for num in nums: + for route in ucm.list_route_plan(num): + print(route.dnOrPattern) +for route in ucm.list_route_plan('2901'): + print(route.uuid) +``` +#### Get Route Groups +```python +for rg in ucm.get_route_groups(): + print(rg.name) +``` +#### Get Specific Route Group +```python +rg = ucm.get_route_group(route_group='losfeliz-rg') +print(rg.uuid) +``` +#### Add Route Group +```python +ucm.add_route_group( + route_group='hollywood-rg', + distribution_algorithm='Circular', + members=[('america-online-sip'), ('h323')]) +``` +#### Delete Route Group +```python +ucm.delete_route_group(route_group='hollywood-rg') +``` +#### Get Route Lists +```python +for rl in ucm.get_route_lists(): + print(rl.name) +``` +#### Get Specific Route List +```python +rl = ucm.get_route_list(route_list='stdloc-rl') +print(rl.description) +``` +#### Add Route List +```python +ucm.add_route_list( + route_list='hollywood-rl', + description='hollywood', + run_on_all_nodes='true', + cm_group_name='Default', + members=[ + ('losfeliz-rg'), + ('silverlake-rg') + ]) +``` +#### Delete Route List +```python +ucm.delete_route_list(route_list='hollywood-rl') +``` +#### Get Route Patterns +```python +for rp in ucm.get_route_patterns(): + print(rp.pattern) +``` +#### Get Specific Route Pattern +```python +rp = ucm.get_route_pattern(pattern='911') +print(rp.description) +``` +#### Add Route Pattern +```python +ucm.add_route_pattern( + pattern='999', + routePartitionName='losfeliz-pt', + description='Movie Times', + route_list='stdloc-rl' + ) +``` +#### Delete Route Pattern +```python +ucm.delete_route_pattern(pattern='999', routePartitionName='losfeliz-pt') +``` +## Runs and Dos +#### Execute SQL Query +```sh +for sql in ucm.run_sql_query('select * from device where description like "Bart%"'): + print(sql.name) +``` +#### Do LDAP Sync on all agreements +```sh +for ldap in ucm.get_ldap_dir(): + ucm.do_ldap_sync(uuid=ldap.uuid) +``` +#### Reset Device +```python +ucm.do_device_reset(device='SEP001100220033') +``` +#### Extension Mobility Login +```python +ucm.do_device_login(device='SEP001100220033', userId='bsimpson') +``` +#### Extension Mobility Logout +```python +ucm.do_device_logout(device='SEP001100220033', userId='bsimpson') +``` + +%prep +%autosetup -n ciscoaxl-0.163 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-ciscoaxl -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Thu May 18 2023 Python_Bot - 0.163-1 +- Package Spec generated diff --git a/sources b/sources new file mode 100644 index 0000000..250ed57 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +faacacb786a59cacd25943113827af54 ciscoaxl-0.163.tar.gz -- cgit v1.2.3