Hello community, here is the log from the commit of package azure-cli-advisor for openSUSE:Factory checked in at 2018-05-13 16:01:05 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/azure-cli-advisor (Old) and /work/SRC/openSUSE:Factory/.azure-cli-advisor.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "azure-cli-advisor" Sun May 13 16:01:05 2018 rev:2 rq:600031 version:0.5.1 Changes: -------- --- /work/SRC/openSUSE:Factory/azure-cli-advisor/azure-cli-advisor.changes 2018-02-14 09:33:23.423635406 +0100 +++ /work/SRC/openSUSE:Factory/.azure-cli-advisor.new/azure-cli-advisor.changes 2018-05-13 16:01:05.771019812 +0200 @@ -1,0 +2,10 @@ +Tue Apr 17 13:35:21 UTC 2018 - adrian.glaub...@suse.com + +- New upstream release + + Version 0.5.1 + + For detailed information about changes see the + HISTORY.rst file provided with this package +- Move LICENSE.txt from %doc to %license section +- Update Requires from setup.py + +------------------------------------------------------------------- Old: ---- azure-cli-advisor-0.1.1.tar.gz New: ---- azure-cli-advisor-0.5.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ azure-cli-advisor.spec ++++++ --- /var/tmp/diff_new_pack.lyMFLt/_old 2018-05-13 16:01:06.610989165 +0200 +++ /var/tmp/diff_new_pack.lyMFLt/_new 2018-05-13 16:01:06.614989020 +0200 @@ -15,8 +15,9 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ # + Name: azure-cli-advisor -Version: 0.1.1 +Version: 0.5.1 Release: 0 Summary: Microsoft Azure CLI 'advisor' Command Module License: MIT @@ -24,16 +25,17 @@ Url: https://github.com/Azure/azure-cli Source: https://files.pythonhosted.org/packages/source/a/azure-cli-advisor/azure-cli-advisor-%{version}.tar.gz Source1: LICENSE.txt -BuildRequires: python3-devel -BuildRequires: python3-setuptools -BuildRequires: unzip BuildRequires: azure-cli-command-modules-nspkg BuildRequires: azure-cli-nspkg BuildRequires: python3-azure-nspkg +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: unzip Requires: azure-cli-command-modules-nspkg +Requires: azure-cli-core Requires: azure-cli-nspkg +Requires: python3-azure-mgmt-advisor >= 1.0.1 Requires: python3-azure-nspkg -Requires: azure-cli-core Conflicts: azure-cli < 2.0.0 BuildArch: noarch @@ -62,7 +64,9 @@ %files %defattr(-,root,root,-) -%doc HISTORY.rst LICENSE.txt README.rst +%doc HISTORY.rst README.rst +%license LICENSE.txt %{python3_sitelib}/azure/cli/command_modules/advisor %{python3_sitelib}/azure_cli_advisor-*.egg-info + %changelog ++++++ azure-cli-advisor-0.1.1.tar.gz -> azure-cli-advisor-0.5.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-cli-advisor-0.1.1/HISTORY.rst new/azure-cli-advisor-0.5.1/HISTORY.rst --- old/azure-cli-advisor-0.1.1/HISTORY.rst 2018-01-05 22:11:35.000000000 +0100 +++ new/azure-cli-advisor-0.5.1/HISTORY.rst 2018-04-06 19:33:13.000000000 +0200 @@ -3,6 +3,24 @@ Release History =============== +0.5.1 ++++++ + +* `sdist` is now compatible with wheel 0.31.0 + +0.5.0 +++++++ +* BC: `advisor configuration get` has been renamed to `advisor configuration list`. +* BC: `advisor configuration set` has been renamed to `advisor configuration update`. +* BC: `advisor recommendation generate` has been removed. +* `advisor recommendation list` has a new --refresh parameter. +* `advisor recommendation show` has been added. +* Support Autorest 3.0 based SDKs + +0.1.2 ++++++ +* Minor fixes. + 0.1.1 ++++++ * Update for CLI core changes. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-cli-advisor-0.1.1/PKG-INFO new/azure-cli-advisor-0.5.1/PKG-INFO --- old/azure-cli-advisor-0.1.1/PKG-INFO 2018-01-05 22:12:02.000000000 +0100 +++ new/azure-cli-advisor-0.5.1/PKG-INFO 2018-04-06 19:33:43.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: azure-cli-advisor -Version: 0.1.1 +Version: 0.5.1 Summary: Microsoft Azure Command-Line Tools Advisor Command Module Home-page: https://github.com/Azure/azure-cli Author: Microsoft Corporation @@ -19,6 +19,24 @@ Release History =============== + 0.5.1 + +++++ + + * `sdist` is now compatible with wheel 0.31.0 + + 0.5.0 + ++++++ + * BC: `advisor configuration get` has been renamed to `advisor configuration list`. + * BC: `advisor configuration set` has been renamed to `advisor configuration update`. + * BC: `advisor recommendation generate` has been removed. + * `advisor recommendation list` has a new --refresh parameter. + * `advisor recommendation show` has been added. + * Support Autorest 3.0 based SDKs + + 0.1.2 + +++++ + * Minor fixes. + 0.1.1 ++++++ * Update for CLI core changes. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-cli-advisor-0.1.1/azure/cli/command_modules/advisor/_client_factory.py new/azure-cli-advisor-0.5.1/azure/cli/command_modules/advisor/_client_factory.py --- old/azure-cli-advisor-0.1.1/azure/cli/command_modules/advisor/_client_factory.py 2018-01-05 22:11:35.000000000 +0100 +++ new/azure-cli-advisor-0.5.1/azure/cli/command_modules/advisor/_client_factory.py 2018-04-06 19:33:13.000000000 +0200 @@ -10,17 +10,17 @@ return get_mgmt_service_client(cli_ctx, AdvisorManagementClient) -def advisor_mgmt_client_factory(cli_ctx, kwargs): - return cf_advisor(cli_ctx, **kwargs) +def advisor_mgmt_client_factory(cli_ctx, _): + return cf_advisor(cli_ctx) -def recommendations_mgmt_client_factory(cli_ctx, kwargs): - return cf_advisor(cli_ctx, **kwargs).recommendations +def recommendations_mgmt_client_factory(cli_ctx, _): + return cf_advisor(cli_ctx).recommendations -def suppressions_mgmt_client_factory(cli_ctx, kwargs): - return cf_advisor(cli_ctx, **kwargs).suppressions +def suppressions_mgmt_client_factory(cli_ctx, _): + return cf_advisor(cli_ctx).suppressions -def configurations_mgmt_client_factory(cli_ctx, kwargs): - return cf_advisor(cli_ctx, **kwargs).configurations +def configurations_mgmt_client_factory(cli_ctx, _): + return cf_advisor(cli_ctx).configurations diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-cli-advisor-0.1.1/azure/cli/command_modules/advisor/_help.py new/azure-cli-advisor-0.5.1/azure/cli/command_modules/advisor/_help.py --- old/azure-cli-advisor-0.1.1/azure/cli/command_modules/advisor/_help.py 2018-01-05 22:11:35.000000000 +0100 +++ new/azure-cli-advisor-0.5.1/azure/cli/command_modules/advisor/_help.py 2018-04-06 19:33:13.000000000 +0200 @@ -7,7 +7,7 @@ helps['advisor'] = """ type: group - short-summary: (PREVIEW) Manage Azure Advisor. + short-summary: Manage Azure Advisor. """ helps['advisor configuration'] = """ @@ -20,19 +20,26 @@ short-summary: Review Azure Advisor recommendations. """ -helps['advisor configuration get'] = """ +helps['advisor configuration list'] = """ type: command - short-summary: Get Azure Advisor configuration. + short-summary: List Azure Advisor configuration for the entire subscription. """ -helps['advisor configuration set'] = """ +helps['advisor configuration show'] = """ type: command - short-summary: Set Azure Advisor configuration. + short-summary: Show Azure Advisor configuration for the given subscription or resource group. """ -helps['advisor recommendation generate'] = """ +helps['advisor configuration update'] = """ type: command - short-summary: Generate Azure Advisor recommendations. + short-summary: Update Azure Advisor configuration. + examples: + - name: Update low CPU threshold for a given subscription to 20%. + text: > + az advisor configuration update -l 20 + - name: Exclude a given resource group from recommendation generation. + text: > + az advisor configuration update -g myRG -e """ helps['advisor recommendation list'] = """ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-cli-advisor-0.1.1/azure/cli/command_modules/advisor/_params.py new/azure-cli-advisor-0.5.1/azure/cli/command_modules/advisor/_params.py --- old/azure-cli-advisor-0.1.1/azure/cli/command_modules/advisor/_params.py 2018-01-05 22:11:35.000000000 +0100 +++ new/azure-cli-advisor-0.5.1/azure/cli/command_modules/advisor/_params.py 2018-04-06 19:33:13.000000000 +0200 @@ -5,32 +5,49 @@ from knack.arguments import CLIArgumentType -from azure.cli.core.commands.parameters import get_enum_type - -from ._validators import validate_include_or_exclude, validate_ids_or_resource_group +from azure.cli.core.commands.parameters import \ + (get_enum_type, + get_resource_name_completion_list) + +from ._validators import \ + (validate_include_or_exclude, + validate_ids_or_names, + validate_ids_or_resource_group, + validate_threshold_or_resource_group) def load_arguments(self, _): ids_arg_type = CLIArgumentType(nargs='+', options_list=['--ids'], - help='One or more resource IDs (space delimited). If provided, no other ' + help='One or more resource IDs (space-delimited). If provided, no other ' '"Resource Id" arguments should be specified.') + name_arg_type = CLIArgumentType(options_list=['--name', '-n'], + help='The name of the recommendation as output by the list command.', + completer=get_resource_name_completion_list('Microsoft.Advisor/recommendations')) + with self.argument_context('advisor recommendation list') as c: c.argument('ids', ids_arg_type, validator=validate_ids_or_resource_group) c.argument('category', options_list=['--category', '-c'], help='Name of recommendation category.', arg_type=get_enum_type(['Cost', 'HighAvailability', 'Performance', 'Security'])) + c.argument('refresh', options_list=['--refresh', '-r'], action='store_true', + help='Generate new recommendations.') with self.argument_context('advisor recommendation disable') as c: - c.argument('ids', ids_arg_type) + c.argument('ids', ids_arg_type, arg_group="Resource Id", validator=validate_ids_or_names) + c.argument('recommendation_name', name_arg_type, arg_group="Resource Id") + c.argument('resource_group_name', arg_group="Resource Id") c.argument('days', options_list=['--days', '-d'], type=int, help='Number of days to disable. If not specified, the recommendation is disabled forever.') with self.argument_context('advisor recommendation enable') as c: - c.argument('ids', ids_arg_type) + c.argument('ids', ids_arg_type, arg_group="Resource Id", validator=validate_ids_or_names) + c.argument('resource_group_name', arg_group="Resource Id") + c.argument('recommendation_name', name_arg_type, arg_group="Resource Id") - with self.argument_context('advisor configuration set') as c: + with self.argument_context('advisor configuration update') as c: c.argument('low_cpu_threshold', options_list=['--low-cpu-threshold', '-l'], - help='Value for low CPU threshold.', arg_type=get_enum_type(['5', '10', '15', '20'])) + help='Value for low CPU threshold.', arg_type=get_enum_type(['5', '10', '15', '20']), + validator=validate_threshold_or_resource_group) c.argument('exclude', options_list=['--exclude', '-e'], action='store_true', help='Exclude from recommendation generation.') c.argument('include', options_list=['--include', '-i'], action='store_true', diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-cli-advisor-0.1.1/azure/cli/command_modules/advisor/_validators.py new/azure-cli-advisor-0.5.1/azure/cli/command_modules/advisor/_validators.py --- old/azure-cli-advisor-0.1.1/azure/cli/command_modules/advisor/_validators.py 2018-01-05 22:11:35.000000000 +0100 +++ new/azure-cli-advisor-0.5.1/azure/cli/command_modules/advisor/_validators.py 2018-04-06 19:33:13.000000000 +0200 @@ -11,6 +11,16 @@ raise CLIError('usage error: --include | --exclude') +def validate_ids_or_names(namespace): + if namespace.ids and (namespace.recommendation_name or namespace.resource_group_name): + raise CLIError('usage error: --ids | --name [--resource-group]') + + def validate_ids_or_resource_group(namespace): if namespace.ids and namespace.resource_group_name: raise CLIError('usage error: --ids | --resource-group') + + +def validate_threshold_or_resource_group(namespace): + if namespace.low_cpu_threshold and namespace.resource_group_name: + raise CLIError('usage error: --low-cpu-threshold | --resource-group') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-cli-advisor-0.1.1/azure/cli/command_modules/advisor/commands.py new/azure-cli-advisor-0.5.1/azure/cli/command_modules/advisor/commands.py --- old/azure-cli-advisor-0.1.1/azure/cli/command_modules/advisor/commands.py 2018-01-05 22:11:35.000000000 +0100 +++ new/azure-cli-advisor-0.5.1/azure/cli/command_modules/advisor/commands.py 2018-04-06 19:33:13.000000000 +0200 @@ -6,21 +6,28 @@ from azure.cli.command_modules.advisor._client_factory import \ (advisor_mgmt_client_factory, recommendations_mgmt_client_factory, - suppressions_mgmt_client_factory, configurations_mgmt_client_factory) def load_command_table(self, _): + from azure.cli.core.commands import CliCommandType + advisor_custom = CliCommandType(operations_tmpl='azure.cli.command_modules.advisor.custom#{}') + with self.command_group('advisor recommendation') as g: - g.custom_command('generate', 'cli_advisor_generate_recommendations', - client_factory=recommendations_mgmt_client_factory) - g.custom_command('list', 'cli_advisor_list_recommendations', + g.custom_command('list', 'list_recommendations', client_factory=recommendations_mgmt_client_factory) - g.custom_command('disable', 'cli_advisor_disable_recommendations', - client_factory=suppressions_mgmt_client_factory) - g.custom_command('enable', 'cli_advisor_enable_recommendations', + g.custom_command('disable', 'disable_recommendations', + client_factory=advisor_mgmt_client_factory) + g.custom_command('enable', 'enable_recommendations', client_factory=advisor_mgmt_client_factory) with self.command_group('advisor configuration', client_factory=configurations_mgmt_client_factory) as g: - g.custom_command('get', 'cli_advisor_get_configurations') - g.custom_command('set', 'cli_advisor_set_configurations') + g.custom_command('list', 'list_configuration') + g.custom_command('show', 'show_configuration') + g.generic_update_command('update', + getter_name='show_configuration', + getter_type=advisor_custom, + setter_name='_set_configuration', + setter_type=advisor_custom, + custom_func_name='update_configuration', + custom_func_type=advisor_custom) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-cli-advisor-0.1.1/azure/cli/command_modules/advisor/custom.py new/azure-cli-advisor-0.5.1/azure/cli/command_modules/advisor/custom.py --- old/azure-cli-advisor-0.1.1/azure/cli/command_modules/advisor/custom.py 2018-01-05 22:11:35.000000000 +0100 +++ new/azure-cli-advisor-0.5.1/azure/cli/command_modules/advisor/custom.py 2018-04-06 19:33:13.000000000 +0200 @@ -4,103 +4,94 @@ # -------------------------------------------------------------------------------------------- import uuid +from azure.cli.core.util import sdk_no_wait -from msrestazure.azure_exceptions import CloudError -from azure.mgmt.advisor.models import ConfigData, ConfigDataProperties - - -def cli_advisor_generate_recommendations(client): - response = client.generate(raw=True) - location = response.headers['Location'] - operation_id = parse_operation_id(location) - - try: - client.get_generate_status(operation_id=operation_id) - except CloudError as ex: - # Advisor API returns 204 which is not aligned with ARM guidelines - # so the SDK will throw an exception that we will have to ignore - if ex.status_code != 204: - raise ex - - -def cli_advisor_list_recommendations(client, ids=None, resource_group_name=None, category=None): - scope = build_filter_string(ids, resource_group_name, category) +def list_recommendations(client, ids=None, resource_group_name=None, + category=None, refresh=None): + if refresh: + _generate_recommendations(client) + scope = _build_filter_string(ids, resource_group_name, category) return client.list(scope) -def cli_advisor_disable_recommendations(client, ids, days=None): - suppressions = [] - suppressionName = str(uuid.uuid4()) - for id_arg in ids: - result = parse_recommendation_uri(id_arg) - resourceUri = result['resourceUri'] - recommendationId = result['recommendationId'] +def disable_recommendations(client, ids=None, recommendation_name=None, + resource_group_name=None, days=None): + recs = _get_recommendations( + client=client.recommendations, + ids=ids, + resource_group_name=resource_group_name, + recommendation_name=recommendation_name) + + for rec in recs: + suppression_name = str(uuid.uuid4()) ttl = '{}:00:00:00'.format(days) if days else '' - client.create( - resource_uri=resourceUri, - recommendation_id=recommendationId, - name=suppressionName, + + result = _parse_recommendation_uri(rec.id) + resource_uri = result['resource_uri'] + recommendation_id = result['recommendation_id'] + + sup = client.suppressions.create( + resource_uri=resource_uri, + recommendation_id=recommendation_id, + name=suppression_name, ttl=ttl ) - suppressions.append(client.get( - resource_uri=resourceUri, - recommendation_id=recommendationId, - name=suppressionName - )) - return suppressions - - -def cli_advisor_enable_recommendations(client, ids): - enabledRecs = [] - allSups = list(client.suppressions.list()) - for id_arg in ids: - result = parse_recommendation_uri(id_arg) - resourceUri = result['resourceUri'] - recommendationId = result['recommendationId'] - recs = cli_advisor_list_recommendations( - client=client.recommendations, - ids=[resourceUri] - ) - rec = next(x for x in recs if x.name == recommendationId) - matches = [x for x in allSups if x.suppression_id in rec.suppression_ids] - for match in matches: - client.suppressions.delete( - resource_uri=resourceUri, - recommendation_id=recommendationId, - name=match.name - ) + + if rec.suppression_ids: + rec.suppression_ids.append(sup.suppression_id) + else: + rec.suppression_ids = [sup.suppression_id] + + return recs + + +def enable_recommendations(client, ids=None, resource_group_name=None, recommendation_name=None): + recs = _get_recommendations( + client=client.recommendations, + ids=ids, + resource_group_name=resource_group_name, + recommendation_name=recommendation_name) + all_sups = list(client.suppressions.list()) + + for rec in recs: + for sup in all_sups: + if sup.suppression_id in rec.suppression_ids: + result = _parse_recommendation_uri(rec.id) + client.suppressions.delete( + resource_uri=result['resource_uri'], + recommendation_id=result['recommendation_id'], + name=sup.name) rec.suppression_ids = None - enabledRecs.append(rec) - return enabledRecs + return recs -def cli_advisor_get_configurations(client, resource_group_name=None): - if resource_group_name: - return client.list_by_resource_group(resource_group_name) + +def list_configuration(client): return client.list_by_subscription() -def cli_advisor_set_configurations(client, resource_group_name=None, - low_cpu_threshold=None, exclude=None, include=None): +def show_configuration(client, resource_group_name=None): + output = None + if resource_group_name: + output = client.list_by_resource_group(resource_group_name) + else: + output = client.list_by_subscription() + # the list is guaranteed to have one element + return list(output)[0] - cfg = ConfigData() - cfg.properties = ConfigDataProperties() - cfg.properties.low_cpu_threshold = low_cpu_threshold - cfg.properties.exclude = exclude +def update_configuration(instance, low_cpu_threshold=None, + exclude=None, include=None): + instance.properties.low_cpu_threshold = low_cpu_threshold + instance.properties.exclude = exclude if include: - cfg.properties.exclude = False - - if resource_group_name: - return client.create_in_resource_group( - config_contract=cfg, - resource_group=resource_group_name) + instance.properties.exclude = False - return client.create_in_subscription(cfg) + return instance -def build_filter_string(ids=None, resource_group_name=None, category=None): +def _build_filter_string(ids=None, resource_group_name=None, category=None): idFilter = None if ids: @@ -120,7 +111,7 @@ return None -def parse_operation_id(location): +def _parse_operation_id(location): # extract the operation ID from the Location header # it is a GUID (i.e. a string of length 36) immediately preceding the api-version query parameter end = location.find('?api-version') @@ -129,7 +120,53 @@ return operation_id -def parse_recommendation_uri(recommendationUri): - resourceUri = recommendationUri[:recommendationUri.find("/providers/Microsoft.Advisor/recommendations")] - recommendationId = recommendationUri[recommendationUri.find("/recommendations/") + len('/recommendations/'):] - return {'resourceUri': resourceUri, 'recommendationId': recommendationId} +def _parse_recommendation_uri(recommendation_uri): + resource_uri = recommendation_uri[:recommendation_uri.find("/providers/Microsoft.Advisor/recommendations")] + rStart = recommendation_uri.find("/recommendations/") + len('/recommendations/') + # recommendation ID is a GUID (i.e. a string of length 36) + rEnd = rStart + 36 + recommendation_id = recommendation_uri[rStart:rEnd] + return {'resource_uri': resource_uri, 'recommendation_id': recommendation_id} + + +def _generate_recommendations(client): + from msrestazure.azure_exceptions import CloudError + + response = sdk_no_wait(True, client.generate) + location = response.headers['Location'] + operation_id = _parse_operation_id(location) + + try: + client.get_generate_status(operation_id=operation_id) + except CloudError as ex: + # Advisor API returns 204 which is not aligned with ARM guidelines + # so the SDK will throw an exception that we will have to ignore + if ex.status_code != 204: + raise ex + + +def _set_configuration(client, resource_group_name=None, parameters=None): + if resource_group_name: + return client.create_in_resource_group( + config_contract=parameters, + resource_group=resource_group_name) + + return client.create_in_subscription(parameters) + + +def _get_recommendations(client, ids=None, resource_group_name=None, recommendation_name=None): + if ids: + resource_ids = [_parse_recommendation_uri(id_arg)['resource_uri'] for id_arg in ids] + recs = list_recommendations( + client=client, + ids=resource_ids + ) + return [r for r in recs if r.id in ids] + + if recommendation_name: + recs = list_recommendations( + client=client, + resource_group_name=resource_group_name) + return [r for r in recs if r.name == recommendation_name] + + return None diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-cli-advisor-0.1.1/azure_cli_advisor.egg-info/PKG-INFO new/azure-cli-advisor-0.5.1/azure_cli_advisor.egg-info/PKG-INFO --- old/azure-cli-advisor-0.1.1/azure_cli_advisor.egg-info/PKG-INFO 2018-01-05 22:12:02.000000000 +0100 +++ new/azure-cli-advisor-0.5.1/azure_cli_advisor.egg-info/PKG-INFO 2018-04-06 19:33:43.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: azure-cli-advisor -Version: 0.1.1 +Version: 0.5.1 Summary: Microsoft Azure Command-Line Tools Advisor Command Module Home-page: https://github.com/Azure/azure-cli Author: Microsoft Corporation @@ -19,6 +19,24 @@ Release History =============== + 0.5.1 + +++++ + + * `sdist` is now compatible with wheel 0.31.0 + + 0.5.0 + ++++++ + * BC: `advisor configuration get` has been renamed to `advisor configuration list`. + * BC: `advisor configuration set` has been renamed to `advisor configuration update`. + * BC: `advisor recommendation generate` has been removed. + * `advisor recommendation list` has a new --refresh parameter. + * `advisor recommendation show` has been added. + * Support Autorest 3.0 based SDKs + + 0.1.2 + +++++ + * Minor fixes. + 0.1.1 ++++++ * Update for CLI core changes. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-cli-advisor-0.1.1/azure_cli_advisor.egg-info/requires.txt new/azure-cli-advisor-0.5.1/azure_cli_advisor.egg-info/requires.txt --- old/azure-cli-advisor-0.1.1/azure_cli_advisor.egg-info/requires.txt 2018-01-05 22:12:02.000000000 +0100 +++ new/azure-cli-advisor-0.5.1/azure_cli_advisor.egg-info/requires.txt 2018-04-06 19:33:43.000000000 +0200 @@ -1,2 +1,2 @@ azure-cli-core -azure-mgmt-advisor==0.1.0 +azure-mgmt-advisor==1.0.1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/azure-cli-advisor-0.1.1/setup.py new/azure-cli-advisor-0.5.1/setup.py --- old/azure-cli-advisor-0.1.1/setup.py 2018-01-05 22:11:35.000000000 +0100 +++ new/azure-cli-advisor-0.5.1/setup.py 2018-04-06 19:33:13.000000000 +0200 @@ -14,7 +14,7 @@ logger.warn("Wheel is not available, disabling bdist_wheel hook") cmdclass = {} -VERSION = "0.1.1" +VERSION = "0.5.1" # The full list of classifiers is available at # https://pypi.python.org/pypi?%3Aaction=list_classifiers @@ -33,7 +33,7 @@ DEPENDENCIES = [ 'azure-cli-core', - 'azure-mgmt-advisor==0.1.0' + 'azure-mgmt-advisor==1.0.1' ] with open('README.rst', 'r', encoding='utf-8') as f: