- New Compute API version 2019-03-01
- Adding skip_shutdown boolean option to stop_vm() - True will power-off VM in 10s or less
- list_nsgs(access_token, subscription_id, resource_group)
- list_nsgs_all(access_token, subscription_id)
- list_asgs(access_token, subscription_id, resource_group)
- list_asgs_all(access_token, subscription_id)
- Fix to graph functions (incorrect GRAPH_RESOURCE_HOST value)
- Fix to graph functions (required import os library)
- Added Microsoft Graph functions: get_graph_token_from_msi(), get_object_id_from_graph()
- A user's object ID is required when creating an Azure Key Vault for example.
- get_graph_token_from_msi() assumes you're running in an Azure Cloud Shell or VM.
- Added list_tenants() to list tenants user has access to. Added test and updated subscriptions_test.py. Updated BASE_API version.
- Added key vault functions: create_keyvault(), delete_keyvault(), get_keyvault(), list_keyvaults(), list_keyvaults_sub(). Added keyvault unit tests.
- Update get_access_token_from_cli() to work in Azure cloud shell by getting token from MSI endpoint
- BREAKING CHANGES get_storage_usage() now takes a location parameter list_vm_instance_view() is removed as the instance view is now provided in the list_vm call.
- COMP_API version lowered to 2018-06-01 as 10-01 doesn't support listing VMSS NICs
- Updated QA tests to introduce some delays (creating NSG, subnet, storage acc)
- Updated STORAGE_API to 2018-07-01
- Added DEPLOYMENT_API version 2018-05-01
- Updated COMP_API to 2018-10-01 and NETWORK_API to 2018-08-01
- Incremented Resource groups API version to 2017-05-10
- Added function: export_template(access_token, subscription_id, rgname) + unit test
- Added function: get_resource_group_resources(access_token, subscription_id, rgname) + unit test
- Incremented Compute API version to 2017-12-01
- Adding media services examples (msleal)
- Fixing get_subscription_from_cli() bug (msleal)
- BREAKING CHANGE:
create_vmss() lb pool parameters are now optional.
New usage:
location arg is now before LB args, which can be omitted if you're not using a load balancer.
create_vmss(access_token, subscription_id, resource_group, vmss_name, vm_size, capacity, publisher, offer, sku, version, subnet_id, location, be_pool_id=None, lb_pool_id=None, storage_type='Standard_LRS', username='azure', password=None, public_key=None, overprovision=True, upgrade_policy='Manual', public_ip_per_vm=False)
- Media services fixes. Thanks @msleal.
- create_asset_delivery_policy() and get_key_delivery_url()
- Add put_vmss() and put_vmss_vm() functions for easy updating of scale set properties.
- Note: put_vmss_vm() is currently preview and won't work outside of Canary environments.
- Integration with msleal's Azure Media Services API wrapper library.
- Part 1: integration of core APIs. Example library integration planned.
- BREAKING CHANGE: Improved scale_vmss() to no longer require VM size or sku - now it only requires resource group, VMSS name and capacity. New definiton: def scale_vmss(access_token, subscription_id, resource_group, vmss_name, capacity)
- Fixed list_vmss_nics() (incorrect API version)
- Fixed list_insights_components()
- Comments formatting for README.py only.
- Added cosmosdb API - thanks @iainfoulds.
- Auto-generated documentation now in place. See azurerm Technical Reference.
- Documentation generated by py2md.
- Breaking change - container instance group functions renamed to xxx_container_instance_group_yyy e.g. create_container_instance_group(), list_container_instance_groups_sub() etc.
- Complete docstring comments work. All functions have complete docstring descriptions.
- Comments improvements, using docstring, with a view to hosting docs on readthedocs soon.
- Made get_access_key_from_cli() check all keys in the CLI cache.
- BREAKING CHANGE:
- Changed how container instance groups are handled, in order to manage multiple container instances in a group
- Added helper function: create_container_definition(container_name, image, port=80, cpu=1.0, memgb=1.5, environment=None)
- Create a list of these definitions which is then passed to create_container_group()
- changed other container instance functions to work at a group level
- create_container_group(access_token, subscription_id, resource_group, container_group_name, container_list, location, ostype='Linux', port=80, iptype='public')
- delete_container_group(access_token, subscription_id, resource_group, container_group_name)
- get_container_group(access_token, subscription_id, resource_group, container_group_name)
- get_container_logs(access_token, subscription_id, resource_group, container_group_name, container_name=None)
- list_container_groups(access_token, subscription_id, resource_group)
- list_container_groups_sub(access_token, subscription_id)
- ISO time format fix for get_access_token_from_cli()
- Added error checking to get_access_token_from_cli() to check accessToken hasn't expired
- BREAKING CHANGE:
- ACS Windows support - Added admin_password and ostype=[Linux/Windows] arguments to create_container_service()
- 'location' parameter now comes before public_key parmeter (which is now optional, as not required for ostype='Windows')
- Added support for container instances preview
- New functions: create_container_instance, detete_container_instance, get_container_instance
- list_container_instances_sub, list_container_instances, list_container_instances_sub
- Change get_subscription_from_cli() to read utf-8-sig encoding
- Not sure why this became necessary after working before - will need to do more testing of this
- Added get_subscription_from_cli() to return the default, or named, subscription id from CLI's local cache - will only work if CLI local cache is present on the machine (i.e. you ran 'az login' once or are in Azure Cloud Shell)
- Remove contentVersion from template functions
- Fix bug in template functions which messed up parameters
- Changes to readme and setup.py to display readme in pypi.
- Created a github wiki and started moving reference content out of the readme and into the wiki.
- Support getting Azure authentication from the local CLI cache instead of requiring a service principal.
- Implies that you have run 'az login' recently enough to have a local unexpired auth token
- New function get_access_token_from_cli()
- Breaking change: Support national/isolated clouds through environment variables. E.g. for China: set AZURE_RM_ENDPOINT to 'https://management.chinacloudapi.cn' set AZURE_AUTH_ENDPOINT to 'https://login.chinacloudapi.cn/' set AZURE_RESOURCE_ENDPOINT to 'https://management.core.chinacloudapi.cn/'
- Support national/isolated clouds. Now you can set an environment variable: AZURE_RM_ENDPOINT to override the default endpoint. E.g. for China: set AZURE_RM_ENDPOINT to "https://management.chinacloudapi.cn"
- Add get_vmss_rolling_upgrades() for Rolling upgrade preview.
- Change get_vmss_nics() to use COMP_API version.
- Add get_vmss_public_ips()
- Update Compute and Network API versions to latest.
- Add get_events_for_subscription() for querying audit log - thanks @gatneil
- Add support for VMSS public IP per VM preview in create_vmss()
- Add Kubernetes support to create_acs() with optional params for app_id, app_secret - thanks @pothedar
- Preview get_vmss_public_ips() (won't work unless your subscription is enabled)
- Fix NETWORK_API version for get_vmss_vm_nics()
- Add optional subnet address prefix parameter (subnet_prefix) to create_vnet()
- Enhance examples/jumpbox.py to create VNET if not found.
- Update Compute API version to 2017-03-30.
- Add an optional nsg_id argument to create_nic()
- Add nic support to examples\jumpbox.py
- Fix create_vm() to support creating multiple VMs in the same resource group (by not hardcoding osdisk name)
- Improvements to examples/jumpbox.py to support ssh and various defaults
- BREAKING CHANGE: create_vmss() - storage containers argument removed
- Fix create_vmss() and create it with managed disks
- Fix examples/create_vmss()
- Update Compute test
- BREAKING CHANGE: create_vm() - storage account argument removed, OS URI parameter removed
- Fix create_vm() and create it with managed disks
- Add list_vnet_rg() to list VNETs in a resource group
- Fix examples/create_vm()
- Add new examples/jumpbox.py to drop a jumpbox vm into existing VNET
- Update Compute test
- Set User-Agent in the Azure REST headers.
- Add Availability Set support: create_as(), get_as(), delete_as(). Thanks @KineticHub
- See also create_as.py in examples.
- Add paginated list_vmss_vm_instance_view_pg() function to make it easier to get a smaller list of instances views at a time
- Fix adal deprecation issue
- Update BASE_API for Resource Manager calls to 2016-09-01
- Update list_vmss_vm_instance_view() to use paginated API
- Set COMP_API version to be 2016-04-30-preview
- Add update_load_balancer() - makes it easy to change load balancer configuration
- Add vip_swap.py to examples
- Update COMPUTE_API to 2016-08-30
- Adds ability to update customData property of a VM scale set
- Update NETWORK_API to 2016-09-01
- This change fixes get_vmss_nics()
- Updated Microsoft.Compute API version to 2016-04-30-preview
- This is to support preview scale set features like managed disks and large scale sets
- Added list_vmss_skus(access_token, subscription_id, resource_group, vmss_name)
- list the VM skus available for a VM Scale Set
- Refactored azure media services functions (finishing the changes in 0.7.0)
-
BREAKING CHANGE: to support sha key support in create_vm() and create_vmss()
-
These function have new positions for user/password, and the new public_key parameter
-
You can now provide a public_key OR a password (or both if you want)
-
New usage: create_vm(access_token, subscription_id, resource_group, vm_name, vm_size, publisher, offer, sku, version, storage_account, os_uri, nic_id, location, username='azure', password=None, public_key=None)
-
it is recommended to pass in the username, password and/or public_key as named parameters to avoid confusion.
-
New usage: create_vmss(access_token, subscription_id, resource_group, vmss_name, vm_size, capacity, publisher, offer, sku, version, storage_container_list, subnet_id, be_pool_id, lb_pool_id, location, username='azure', password=None, public_key=None, overprovision='true', upgradePolicy='Manual')
-
it is recommended to pass in any optional parameters after username as named parameters to avoid confusion.
- All create functions have been refactored to make them easier to maintain.
- Previously a PUT REST call had its JSON body constructed using join() to concatenate a string. This was cumbersome and messy to update.
- Now a Python dictionary is constructed for the body, which is then converted to a string with json.dumps()
- In future it will be easier to create functions without messing with large join() strings.
- Add create_autoscale_rule() and create_autoscale_settings().
- The output from create_autoscale_rule() is a dictionary object. Create a list of these rules and pass the list as an argument to create_autoscale setttings().
- Pass in the name of an existing VM scale set to create_autoscale_settings.
- Added unit tests for insights. See insights_tests.py in test/ for an example of how to call these new functions.
- Added list_vm_instance_view() to get instance details about the VMs in a resource group
- Added get_vm_instance_view() to get instance state details about a VM
- Added Azure Container Services support + unit tests.
create_container_service(access_token, subscription_id, resource_group, service_name,
agent_count, agent_vm_size, agent_dns, master_dns, admin_user, public_key, location,
master_count=3, orchestrator='DCOS') # create a new container service
delete_container_service(access_token, subscription_id, resource_group, container_service_name) # delete a named container service
get_container_service(access_token, subscription_id, resource_group, service_name) # get details about an Azure Container Server
list_acs_operations(access_token) # list available Container Server operations
list_container_services(access_token, subscription_id, resource_grou) # list the container services in a resource group
list_container_services_sub(access_token, subscription_id) # list the container services in a subscription
- Added create_vmss() function + unit test. This function creates a VM Scale Set. Initially it only accepts a password rather than a cert. There are a few assumptions made about load balancer configuration too. For example see create_vmss.py.
- Started using a change log :-)
The most recent enhancements before 0.6.12 include the following:
- Added create_vm() function to create a virtual machine.
- Added create_lb_with_nat_pool() function to create a load balancer which can be used with VM Scale Sets.
- Added unit tests, with the goal that all new functions should include a unit test. See test/ for more details. These are also useful for seeing how to call functions.
- Added delete_vnet().
- Fixed a bug with stop_vm().
- Added pagination support for list functions.
- Added media services support (msleal).
- Added insights metrics support (gatneil).
- Added ability to list deployment operations (rcarmo).