Hello community,

here is the log from the commit of package azure-cli-rdbms for openSUSE:Factory 
checked in at 2018-02-14 09:31:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/azure-cli-rdbms (Old)
 and      /work/SRC/openSUSE:Factory/.azure-cli-rdbms.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "azure-cli-rdbms"

Wed Feb 14 09:31:39 2018 rev:2 rq:574821 version:0.0.11

Changes:
--------
--- /work/SRC/openSUSE:Factory/azure-cli-rdbms/azure-cli-rdbms.changes  
2017-11-10 14:54:35.994149049 +0100
+++ /work/SRC/openSUSE:Factory/.azure-cli-rdbms.new/azure-cli-rdbms.changes     
2018-02-14 09:31:42.123305990 +0100
@@ -1,0 +2,10 @@
+Thu Feb  8 13:37:48 UTC 2018 - adrian.glaub...@suse.com
+
+- New upstream release
+  + Version 0.0.11
+  + For detailed information about changes see the
+    HISTORY.rst file provided with this package
+- Install HISTORY.rst into doc directory
+- Update Requires from setup.py
+
+-------------------------------------------------------------------

Old:
----
  azure-cli-rdbms-0.0.7.tar.gz

New:
----
  azure-cli-rdbms-0.0.11.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ azure-cli-rdbms.spec ++++++
--- /var/tmp/diff_new_pack.SXvPx9/_old  2018-02-14 09:31:42.843279902 +0100
+++ /var/tmp/diff_new_pack.SXvPx9/_new  2018-02-14 09:31:42.843279902 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package azure-cli-rdbms
 #
-# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -15,8 +15,9 @@
 # Please submit bugfixes or comments via http://bugs.opensuse.org/
 #
 
+
 Name:           azure-cli-rdbms
-Version:        0.0.7
+Version:        0.0.11
 Release:        0
 Summary:        Microsoft Azure CLI 'MySQL and PostgreSQL' Command Module
 License:        MIT
@@ -24,17 +25,17 @@
 Url:            https://github.com/Azure/azure-cli
 Source:         
https://files.pythonhosted.org/packages/source/a/azure-cli-rdbms/azure-cli-rdbms-%{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-nspkg
-Requires:       python3-azure-nspkg
 Requires:       azure-cli-core
+Requires:       azure-cli-nspkg
 Requires:       python3-azure-mgmt-rdbms >= 0.1.0
+Requires:       python3-azure-nspkg
 Conflicts:      azure-cli < 2.0.0
 
 BuildArch:      noarch
@@ -64,7 +65,8 @@
 
 %files
 %defattr(-,root,root,-)
-%doc LICENSE.txt README.rst
+%doc HISTORY.rst LICENSE.txt README.rst
 %{python3_sitelib}/azure/cli/command_modules/rdbms
 %{python3_sitelib}/azure_cli_rdbms-*.egg-info
+
 %changelog

++++++ azure-cli-rdbms-0.0.7.tar.gz -> azure-cli-rdbms-0.0.11.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/azure-cli-rdbms-0.0.7/HISTORY.rst 
new/azure-cli-rdbms-0.0.11/HISTORY.rst
--- old/azure-cli-rdbms-0.0.7/HISTORY.rst       2017-09-23 01:47:00.000000000 
+0200
+++ new/azure-cli-rdbms-0.0.11/HISTORY.rst      2018-01-12 18:25:22.000000000 
+0100
@@ -2,6 +2,23 @@
 
 Release History
 ===============
+
+0.0.11
+++++++
+* Minor fixes.
+
+0.0.10
+++++++
+* Update for CLI core changes.
+
+0.0.9
++++++
+* Minor fixes.
+
+0.0.8
+++++++
+* minor fixes
+
 0.0.7 (2017-09-22)
 ++++++++++++++++++
 * minor fixes
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/azure-cli-rdbms-0.0.7/PKG-INFO 
new/azure-cli-rdbms-0.0.11/PKG-INFO
--- old/azure-cli-rdbms-0.0.7/PKG-INFO  2017-09-23 01:50:12.000000000 +0200
+++ new/azure-cli-rdbms-0.0.11/PKG-INFO 2018-01-12 18:25:36.000000000 +0100
@@ -1,12 +1,11 @@
 Metadata-Version: 1.1
 Name: azure-cli-rdbms
-Version: 0.0.7
+Version: 0.0.11
 Summary: Microsoft Azure Command-Line Tools MySQL and PostgreSQL Command Module
 Home-page: https://github.com/Azure/azure-cli
 Author: Microsoft Corporation
 Author-email: azpy...@microsoft.com
 License: MIT
-Description-Content-Type: UNKNOWN
 Description: Microsoft Azure CLI 'MySQL and PostgreSQL' Command Module
         =========================================================
         
@@ -16,6 +15,23 @@
         
         Release History
         ===============
+        
+        0.0.11
+        ++++++
+        * Minor fixes.
+        
+        0.0.10
+        ++++++
+        * Update for CLI core changes.
+        
+        0.0.9
+        +++++
+        * Minor fixes.
+        
+        0.0.8
+        ++++++
+        * minor fixes
+        
         0.0.7 (2017-09-22)
         ++++++++++++++++++
         * minor fixes
@@ -60,4 +76,5 @@
 Classifier: Programming Language :: Python :: 3
 Classifier: Programming Language :: Python :: 3.4
 Classifier: Programming Language :: Python :: 3.5
+Classifier: Programming Language :: Python :: 3.6
 Classifier: License :: OSI Approved :: MIT License
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/azure-cli-rdbms-0.0.7/azure/cli/command_modules/rdbms/__init__.py 
new/azure-cli-rdbms-0.0.11/azure/cli/command_modules/rdbms/__init__.py
--- old/azure-cli-rdbms-0.0.7/azure/cli/command_modules/rdbms/__init__.py       
2017-09-23 01:47:00.000000000 +0200
+++ new/azure-cli-rdbms-0.0.11/azure/cli/command_modules/rdbms/__init__.py      
2018-01-12 18:25:22.000000000 +0100
@@ -3,14 +3,30 @@
 # Licensed under the MIT License. See License.txt in the project root for 
license information.
 # 
--------------------------------------------------------------------------------------------
 
+from azure.cli.core import AzCommandsLoader
+
 import azure.cli.command_modules.rdbms._help  # pylint: disable=unused-import
 
-__all__ = ['load_params', 'load_commands']
 
+class RdbmsCommandsLoader(AzCommandsLoader):
 
-def load_params(_):
-    import azure.cli.command_modules.rdbms.params  # pylint: 
disable=redefined-outer-name, unused-variable
+    def __init__(self, cli_ctx=None):
+        from azure.cli.core.commands import CliCommandType
+        from azure.cli.command_modules.rdbms._util import RdbmsArgumentContext
+        rdbms_custom = 
CliCommandType(operations_tmpl='azure.cli.command_modules.rdbms.custom#{}')
+        super(RdbmsCommandsLoader, self).__init__(cli_ctx=cli_ctx,
+                                                  
min_profile='2017-03-10-profile',
+                                                  
custom_command_type=rdbms_custom,
+                                                  
argument_context_cls=RdbmsArgumentContext)
+
+    def load_command_table(self, args):
+        from azure.cli.command_modules.rdbms.commands import load_command_table
+        load_command_table(self, args)
+        return self.command_table
+
+    def load_arguments(self, command):
+        from azure.cli.command_modules.rdbms._params import load_arguments
+        load_arguments(self, command)
 
 
-def load_commands():
-    import azure.cli.command_modules.rdbms.commands  # pylint: 
disable=redefined-outer-name, unused-variable
+COMMAND_LOADER_CLS = RdbmsCommandsLoader
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/azure-cli-rdbms-0.0.7/azure/cli/command_modules/rdbms/_client_factory.py 
new/azure-cli-rdbms-0.0.11/azure/cli/command_modules/rdbms/_client_factory.py
--- 
old/azure-cli-rdbms-0.0.7/azure/cli/command_modules/rdbms/_client_factory.py    
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/azure-cli-rdbms-0.0.11/azure/cli/command_modules/rdbms/_client_factory.py   
    2018-01-12 18:25:22.000000000 +0100
@@ -0,0 +1,112 @@
+# 
--------------------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for 
license information.
+# 
--------------------------------------------------------------------------------------------
+
+from azure.cli.core.commands.client_factory import get_mgmt_service_client
+
+# CLIENT FACTORIES
+
+RM_URI_OVERRIDE = 'AZURE_CLI_RDBMS_RM_URI'
+SUB_ID_OVERRIDE = 'AZURE_CLI_RDBMS_SUB_ID'
+CLIENT_ID = 'AZURE_CLIENT_ID'
+TENANT_ID = 'AZURE_TENANT_ID'
+CLIENT_SECRET = 'AZURE_CLIENT_SECRET'
+
+
+def get_mysql_management_client(cli_ctx, **_):
+    from os import getenv
+    from azure.mgmt.rdbms.mysql import MySQLManagementClient
+
+    # Allow overriding resource manager URI using environment variable
+    # for testing purposes. Subscription id is also determined by environment
+    # variable.
+    rm_uri_override = getenv(RM_URI_OVERRIDE)
+    if rm_uri_override:
+        client_id = getenv(CLIENT_ID)
+        if client_id:
+            from azure.common.credentials import ServicePrincipalCredentials
+            credentials = ServicePrincipalCredentials(
+                client_id=client_id,
+                secret=getenv(CLIENT_SECRET),
+                tenant=getenv(TENANT_ID))
+        else:
+            from msrest.authentication import Authentication
+            credentials = Authentication()
+
+        return MySQLManagementClient(
+            subscription_id=getenv(SUB_ID_OVERRIDE),
+            base_url=rm_uri_override,
+            credentials=credentials)
+    else:
+        # Normal production scenario.
+        return get_mgmt_service_client(cli_ctx, MySQLManagementClient)
+
+
+def get_postgresql_management_client(cli_ctx, **_):
+    from os import getenv
+    from azure.mgmt.rdbms.postgresql import PostgreSQLManagementClient
+
+    # Allow overriding resource manager URI using environment variable
+    # for testing purposes. Subscription id is also determined by environment
+    # variable.
+    rm_uri_override = getenv(RM_URI_OVERRIDE)
+    if rm_uri_override:
+        client_id = getenv(CLIENT_ID)
+        if client_id:
+            from azure.common.credentials import ServicePrincipalCredentials
+            credentials = ServicePrincipalCredentials(
+                client_id=client_id,
+                secret=getenv(CLIENT_SECRET),
+                tenant=getenv(TENANT_ID))
+        else:
+            from msrest.authentication import Authentication
+            credentials = Authentication()
+
+        return PostgreSQLManagementClient(
+            subscription_id=getenv(SUB_ID_OVERRIDE),
+            base_url=rm_uri_override,
+            credentials=credentials)
+    else:
+        # Normal production scenario.
+        return get_mgmt_service_client(cli_ctx, PostgreSQLManagementClient)
+
+
+def cf_mysql_servers(cli_ctx, _):
+    return get_mysql_management_client(cli_ctx).servers
+
+
+def cf_postgres_servers(cli_ctx, _):
+    return get_postgresql_management_client(cli_ctx).servers
+
+
+def cf_mysql_firewall_rules(cli_ctx, _):
+    return get_mysql_management_client(cli_ctx).firewall_rules
+
+
+def cf_postgres_firewall_rules(cli_ctx, _):
+    return get_postgresql_management_client(cli_ctx).firewall_rules
+
+
+def cf_mysql_config(cli_ctx, _):
+    return get_mysql_management_client(cli_ctx).configurations
+
+
+def cf_postgres_config(cli_ctx, _):
+    return get_postgresql_management_client(cli_ctx).configurations
+
+
+def cf_mysql_log(cli_ctx, _):
+    return get_mysql_management_client(cli_ctx).log_files
+
+
+def cf_postgres_log(cli_ctx, _):
+    return get_postgresql_management_client(cli_ctx).log_files
+
+
+def cf_mysql_db(cli_ctx, _):
+    return get_mysql_management_client(cli_ctx).databases
+
+
+def cf_postgres_db(cli_ctx, _):
+    return get_postgresql_management_client(cli_ctx).databases
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/azure-cli-rdbms-0.0.7/azure/cli/command_modules/rdbms/_help.py 
new/azure-cli-rdbms-0.0.11/azure/cli/command_modules/rdbms/_help.py
--- old/azure-cli-rdbms-0.0.7/azure/cli/command_modules/rdbms/_help.py  
2017-09-23 01:47:00.000000000 +0200
+++ new/azure-cli-rdbms-0.0.11/azure/cli/command_modules/rdbms/_help.py 
2018-01-12 18:25:22.000000000 +0100
@@ -3,7 +3,9 @@
 # Licensed under the MIT License. See License.txt in the project root for 
license information.
 # 
--------------------------------------------------------------------------------------------
 
-from azure.cli.core.help_files import helps
+from knack.help_files import helps
+
+#  pylint: disable=line-too-long
 
 
 def add_helps(command_group, server_type):
@@ -38,7 +40,7 @@
                     - name: Restore 'testsvr2' to 'testsvrnew', where 
'testsvrnew' is in a different resource group than the backup.
                       text: |
                         az {0} server restore -g testgroup -n testsvrnew \\
-                            -s 
"/subscriptions/{{SubID}}/resourceGroups/{{ResourceGroup}}/providers/Microsoft.DBfor{1}/servers/testsvr2"
 \\
+                            -s 
"/subscriptions/${{SubID}}/resourceGroups/${{ResourceGroup}}/providers/Microsoft.DBfor{1}/servers/testsvr2"
 \\
                             --restore-point-in-time "2017-06-15T13:10:00Z"
                 """.format(command_group, server_type)
     helps['{} server update'.format(command_group)] = """
@@ -146,23 +148,23 @@
                 type: group
                 short-summary: Manage {0} databases on a server.
                 """.format(server_type)
-    helps['{} db create'.format(command_group)] = """
-                type: command
-                short-summary: Create a {0} database.
-                examples:
-                    - name: Create database 'testdb' in the server 'testsvr' 
with the default parameters.
-                      text: az {1} db create -g testgroup -s testsvr -n testdb
-                    - name: Create database 'testdb' in server 'testsvr' with 
a given character set and collation rules.
-                      text: az {1} db create -g testgroup -s testsvr -n testdb 
--charset <valid_charset> --collation <valid_collation>
-                """.format(server_type, command_group)
-    helps['{} db delete'.format(command_group)] = """
-                type: command
-                short-summary: Delete a database.
-                """
-    helps['{} db show'.format(command_group)] = """
-                type: command
-                short-summary: Show the details of a database.
-                """
+    # helps['{} db create'.format(command_group)] = """
+    #             type: command
+    #             short-summary: Create a {0} database.
+    #             examples:
+    #                 - name: Create database 'testdb' in the server 'testsvr' 
with the default parameters.
+    #                   text: az {1} db create -g testgroup -s testsvr -n 
testdb
+    #                 - name: Create database 'testdb' in server 'testsvr' 
with a given character set and collation rules.
+    #                   text: az {1} db create -g testgroup -s testsvr -n 
testdb --charset <valid_charset> --collation <valid_collation>
+    #             """.format(server_type, command_group)
+    # helps['{} db delete'.format(command_group)] = """
+    #             type: command
+    #             short-summary: Delete a database.
+    #             """
+    # helps['{} db show'.format(command_group)] = """
+    #             type: command
+    #             short-summary: Show the details of a database.
+    #             """
     helps['{} db list'.format(command_group)] = """
                 type: command
                 short-summary: List the databases for a server.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/azure-cli-rdbms-0.0.7/azure/cli/command_modules/rdbms/_params.py 
new/azure-cli-rdbms-0.0.11/azure/cli/command_modules/rdbms/_params.py
--- old/azure-cli-rdbms-0.0.7/azure/cli/command_modules/rdbms/_params.py        
1970-01-01 01:00:00.000000000 +0100
+++ new/azure-cli-rdbms-0.0.11/azure/cli/command_modules/rdbms/_params.py       
2018-01-12 18:25:22.000000000 +0100
@@ -0,0 +1,94 @@
+# 
--------------------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See License.txt in the project root for 
license information.
+# 
--------------------------------------------------------------------------------------------
+from azure.mgmt.rdbms import mysql
+from azure.mgmt.rdbms import postgresql
+
+from azure.cli.core.commands.parameters import (
+    get_resource_name_completion_list, tags_type, get_location_type, 
get_enum_type)
+
+from azure.cli.command_modules.rdbms.validators import 
configuration_value_validator
+
+# pylint: disable=line-too-long
+
+
+def load_arguments(self, _):
+
+    server_completers = {
+        'mysql': 
get_resource_name_completion_list('Microsoft.DBForMySQL/servers'),
+        'postgres': 
get_resource_name_completion_list('Microsoft.DBForPostgreSQL/servers')
+    }
+
+    def _complex_params(command_group, engine):
+
+        with self.argument_context('{} server create'.format(command_group)) 
as c:
+            c.expand('sku', engine.models.Sku)
+            c.ignore('name', 'family', 'size')
+
+            c.expand('properties', 
engine.models.ServerPropertiesForDefaultCreate)
+            c.argument('administrator_login', required=True, 
arg_group='Authentication')
+            c.argument('administrator_login_password', 
arg_group='Authentication')
+
+            c.expand('parameters', engine.models.ServerForCreate)
+
+            c.argument('location', arg_type=get_location_type(self.cli_ctx), 
required=False)
+
+        with self.argument_context('{} server restore'. format(command_group)) 
as c:
+            c.expand('sku', engine.models.Sku)
+            c.ignore('name', 'family', 'size', 'tier', 'capacity')
+
+            c.expand('properties', engine.models.ServerPropertiesForRestore)
+            c.ignore('version', 'ssl_enforcement', 'storage_mb')
+
+            c.expand('parameters', engine.models.ServerForCreate)
+            c.ignore('tags', 'location')
+
+            c.argument('source_server_id', options_list=['--source-server', 
'-s'], help='The name or ID of the source server to restore from.')
+            c.argument('restore_point_in_time', help='The point in time to 
restore from (ISO8601 format), e.g., 2017-04-26T02:10:00+08:00')
+
+        with self.argument_context('{} server configuration 
set'.format(command_group)) as c:
+            c.argument('value', help='Value of the configuration. If not 
provided, configuration value will be set to default.', 
validator=configuration_value_validator)
+            c.ignore('source')
+
+    _complex_params('mysql', mysql)
+    _complex_params('postgres', postgresql)
+
+    for scope in ['mysql', 'postgres']:
+        with self.argument_context(scope) as c:
+            c.argument('name', options_list=['--sku-name'])
+            c.argument('server_name', completer=server_completers[scope], 
options_list=['--server-name', '-s'], help='Name of the server.')
+
+    for scope in ['mysql server', 'postgres server']:
+        with self.argument_context(scope) as c:
+            c.argument('server_name', options_list=['--name', '-n'], 
id_part='name', help='Name of the server.')
+            c.argument('administrator_login', options_list=['--admin-user', 
'-u'])
+            c.argument('administrator_login_password', 
options_list=['--admin-password', '-p'], required=False, help='The password of 
the administrator login.')
+            c.argument('ssl_enforcement', arg_type=get_enum_type(['Enabled', 
'Disabled']), options_list=['--ssl-enforcement'], help='Enable ssl enforcement 
or not when connect to server.')
+            c.argument('tier', arg_type=get_enum_type(['Basic', 'Standard']), 
options_list=['--performance-tier'], help='The performance tier of the server.')
+            c.argument('capacity', options_list=['--compute-units'], type=int, 
help='Number of compute units.')
+            c.argument('storage_mb', options_list=['--storage-size'], 
type=int, help='The max storage size of the server, unit is MB.')
+            c.argument('tags', tags_type)
+
+    for scope in ['mysql server-logs', 'postgres server-logs']:
+        with self.argument_context(scope) as c:
+            c.argument('file_name', options_list=['--name', '-n'], nargs='+', 
help='Space separated list of log filenames on the server to download.')
+            c.argument('max_file_size', type=int, help='The file size 
limitation to filter files.')
+            c.argument('file_last_written', type=int, help='Integer in hours 
to indicate file last modify time, default value is 72.')
+            c.argument('filename_contains', help='The pattern that file name 
should match.')
+
+    for scope in ['mysql db', 'postgres db']:
+        with self.argument_context(scope) as c:
+            c.argument('database_name', options_list=['--name', '-n'])
+
+    for scope in ['mysql server firewall-rule', 'postgres server 
firewall-rule']:
+        with self.argument_context(scope) as c:
+            c.argument('server_name', options_list=['--server-name', '-s'])
+            c.argument('firewall_rule_name', options_list=['--name', '-n'], 
id_part='child_name_1', help='The name of the firewall rule.')
+            c.argument('start_ip_address', 
options_list=['--start-ip-address'], help='The start IP address of the firewall 
rule. Must be IPv4 format. Use value \'0.0.0.0\' to represent all 
Azure-internal IP addresses.')
+            c.argument('end_ip_address', options_list=['--end-ip-address'], 
help='The end IP address of the firewall rule. Must be IPv4 format. Use value 
\'0.0.0.0\' to represent all Azure-internal IP addresses.')
+
+    for scope in ['mysql server configuration', 'postgres server 
configuration']:
+        with self.argument_context(scope) as c:
+            c.argument('server_name', options_list=['--server-name', '-s'])
+            c.argument('configuration_name', id_part='child_name_1', 
options_list=['--name', '-n'])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/azure-cli-rdbms-0.0.7/azure/cli/command_modules/rdbms/_util.py 
new/azure-cli-rdbms-0.0.11/azure/cli/command_modules/rdbms/_util.py
--- old/azure-cli-rdbms-0.0.7/azure/cli/command_modules/rdbms/_util.py  
2017-09-23 01:47:00.000000000 +0200
+++ new/azure-cli-rdbms-0.0.11/azure/cli/command_modules/rdbms/_util.py 
2018-01-12 18:25:22.000000000 +0100
@@ -3,93 +3,30 @@
 # Licensed under the MIT License. See License.txt in the project root for 
license information.
 # 
--------------------------------------------------------------------------------------------
 
-from azure.cli.core.commands import _get_cli_argument
-from azure.cli.core.commands.client_factory import get_mgmt_service_client
-from azure.cli.core.commands.parameters import ignore_type
-from azure.cli.core.sdk.util import ParametersContext
-
-# CLIENT FACTORIES
-
-RM_URI_OVERRIDE = 'AZURE_CLI_RDBMS_RM_URI'
-SUB_ID_OVERRIDE = 'AZURE_CLI_RDBMS_SUB_ID'
-CLIENT_ID = 'AZURE_CLIENT_ID'
-TENANT_ID = 'AZURE_TENANT_ID'
-CLIENT_SECRET = 'AZURE_CLIENT_SECRET'
-
-
-def get_mysql_management_client(_):
-    from os import getenv
-    from azure.mgmt.rdbms.mysql import MySQLManagementClient
-
-    # Allow overriding resource manager URI using environment variable
-    # for testing purposes. Subscription id is also determined by environment
-    # variable.
-    rm_uri_override = getenv(RM_URI_OVERRIDE)
-    if rm_uri_override:
-        client_id = getenv(CLIENT_ID)
-        if client_id:
-            from azure.common.credentials import ServicePrincipalCredentials
-            credentials = ServicePrincipalCredentials(
-                client_id=client_id,
-                secret=getenv(CLIENT_SECRET),
-                tenant=getenv(TENANT_ID))
-        else:
-            from msrest.authentication import Authentication
-            credentials = Authentication()
-
-        return MySQLManagementClient(
-            subscription_id=getenv(SUB_ID_OVERRIDE),
-            base_url=rm_uri_override,
-            credentials=credentials)
-    else:
-        # Normal production scenario.
-        return get_mgmt_service_client(MySQLManagementClient)
-
-
-def get_postgresql_management_client(_):
-    from os import getenv
-    from azure.mgmt.rdbms.postgresql import PostgreSQLManagementClient
-
-    # Allow overriding resource manager URI using environment variable
-    # for testing purposes. Subscription id is also determined by environment
-    # variable.
-    rm_uri_override = getenv(RM_URI_OVERRIDE)
-    if rm_uri_override:
-        client_id = getenv(CLIENT_ID)
-        if client_id:
-            from azure.common.credentials import ServicePrincipalCredentials
-            credentials = ServicePrincipalCredentials(
-                client_id=client_id,
-                secret=getenv(CLIENT_SECRET),
-                tenant=getenv(TENANT_ID))
-        else:
-            from msrest.authentication import Authentication
-            credentials = Authentication()
+from azure.cli.core.commands import AzArgumentContext
 
-        return PostgreSQLManagementClient(
-            subscription_id=getenv(SUB_ID_OVERRIDE),
-            base_url=rm_uri_override,
-            credentials=credentials)
-    else:
-        # Normal production scenario.
-        return get_mgmt_service_client(PostgreSQLManagementClient)
 
+class RdbmsArgumentContext(AzArgumentContext):
 
-class PolyParametersContext(ParametersContext):
-    def __init__(self, command):
-        super(PolyParametersContext, self).__init__(command)
+    def __init__(self, command_loader, scope, **kwargs):
+        super(RdbmsArgumentContext, self).__init__(command_loader, scope)
         self.validators = []
 
-    def expand(self, argument_name, model_type, group_name=None, patches=None):
-        super(PolyParametersContext, self).expand(argument_name, model_type, 
group_name, patches)
+    def expand(self, dest, model_type, group_name=None, patches=None):
+        super(RdbmsArgumentContext, self).expand(dest, model_type, group_name, 
patches)
+
+        from knack.arguments import ignore_type
 
         # Remove the validator and store it into a list
-        arg = _get_cli_argument(self._commmand, argument_name)
+        arg = 
self.command_loader.argument_registry.arguments[self.command_scope].get(dest, 
None)
+        if not arg:  # when the argument context scope is N/A
+            return
+
         self.validators.append(arg.settings['validator'])
-        if argument_name == 'parameters':
+        if dest == 'parameters':
             from .validators import get_combined_validator
-            self.argument(argument_name,
+            self.argument(dest,
                           arg_type=ignore_type,
                           validator=get_combined_validator(self.validators))
         else:
-            self.argument(argument_name, arg_type=ignore_type, validator=None)
+            self.argument(dest, arg_type=ignore_type, validator=None)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/azure-cli-rdbms-0.0.7/azure/cli/command_modules/rdbms/commands.py 
new/azure-cli-rdbms-0.0.11/azure/cli/command_modules/rdbms/commands.py
--- old/azure-cli-rdbms-0.0.7/azure/cli/command_modules/rdbms/commands.py       
2017-09-23 01:47:00.000000000 +0200
+++ new/azure-cli-rdbms-0.0.11/azure/cli/command_modules/rdbms/commands.py      
2018-01-12 18:25:22.000000000 +0100
@@ -3,99 +3,126 @@
 # Licensed under the MIT License. See License.txt in the project root for 
license information.
 # 
--------------------------------------------------------------------------------------------
 
-from azure.cli.core.commands.arm import cli_generic_update_command
-from azure.cli.core.profiles import supported_api_version, PROFILE_TYPE
-from azure.cli.core.sdk.util import (
-    create_service_adapter,
-    ServiceGroup)
-from ._util import (
-    get_mysql_management_client,
-    get_postgresql_management_client)
-
-if not supported_api_version(PROFILE_TYPE, max_api='2017-03-09-profile'):
-    custom_path = 'azure.cli.command_modules.rdbms.custom#{}'
-
-    def load_commands_from_factory(server_type, command_group_name, 
management_client):
-        # server
-        server_sa = create_service_adapter(
-            
'azure.mgmt.rdbms.{}.operations.servers_operations'.format(server_type),
-            'ServersOperations')
-
-        def server_factory(args):
-            return management_client(args).servers
-
-        with ServiceGroup(__name__, server_factory, server_sa, custom_path) as 
s:
-            with s.group('{} server'.format(command_group_name)) as c:
-                c.command('create', 'create_or_update')
-                c.custom_command('restore', '_server_restore')
-                c.command('delete', 'delete', confirmation=True)
-                c.command('show', 'get')
-                c.custom_command('list', '_server_list_custom_func')
-                c.generic_update_command('update', 'get', 'update',
-                                         
custom_func_name='_server_update_custom_func')
-
-        # firewall rule
-        firewall_rule_sa = create_service_adapter(
-            
'azure.mgmt.rdbms.{}.operations.firewall_rules_operations'.format(server_type),
-            'FirewallRulesOperations')
-
-        def firewall_rule_factory(args):
-            return management_client(args).firewall_rules
-
-        with ServiceGroup(__name__, firewall_rule_factory, firewall_rule_sa, 
custom_path) as s:
-            with s.group('{} server firewall-rule'.format(command_group_name)) 
as c:
-                c.command('create', 'create_or_update')
-                c.command('delete', 'delete', confirmation=True)
-                c.command('show', 'get')
-                c.command('list', 'list_by_server')
-        cli_generic_update_command(__name__,
-                                   '{} server firewall-rule 
update'.format(command_group_name),
-                                   firewall_rule_sa('get'),
-                                   
custom_path.format('_firewall_rule_custom_setter'),
-                                   firewall_rule_factory,
-                                   
custom_function_op=custom_path.format('_firewall_rule_update_custom_func'))
-
-        # configuration
-        configuration_sa = create_service_adapter(
-            
'azure.mgmt.rdbms.{}.operations.configurations_operations'.format(server_type),
-            'ConfigurationsOperations')
-
-        def configuration_factory(args):
-            return management_client(args).configurations
-
-        with ServiceGroup(__name__, configuration_factory, configuration_sa) 
as s:
-            with s.group('{} server configuration'.format(command_group_name)) 
as c:
-                c.command('set', 'create_or_update')
-                c.command('show', 'get')
-                c.command('list', 'list_by_server')
-
-        # log_files
-        log_file_sa = create_service_adapter(
-            
'azure.mgmt.rdbms.{}.operations.log_files_operations'.format(server_type),
-            'LogFilesOperations')
-
-        def log_file_factory(args):
-            return management_client(args).log_files
-
-        with ServiceGroup(__name__, log_file_factory, log_file_sa, 
custom_path) as s:
-            with s.group('{} server-logs'.format(command_group_name)) as c:
-                c.custom_command('list', '_list_log_files_with_filter')
-                c.custom_command('download', '_download_log_files')
-
-        # database
-        database_sa = create_service_adapter(
-            
'azure.mgmt.rdbms.{}.operations.databases_operations'.format(server_type),
-            'DatabasesOperations')
-
-        def database_factory(args):
-            return management_client(args).databases
-
-        with ServiceGroup(__name__, database_factory, database_sa) as s:
-            with s.group('{} db'.format(command_group_name)) as c:
-                # c.command('create', 'create_or_update')
-                # c.command('delete', 'delete', confirmation=True)
-                # c.command('show', 'get')
-                c.command('list', 'list_by_server')
+from azure.cli.core.commands import CliCommandType
 
-    load_commands_from_factory('mysql', 'mysql', get_mysql_management_client)
-    load_commands_from_factory('postgresql', 'postgres', 
get_postgresql_management_client)
+from azure.cli.command_modules.rdbms._client_factory import (
+    cf_mysql_servers, cf_postgres_servers, cf_mysql_firewall_rules, 
cf_postgres_firewall_rules,
+    cf_mysql_config, cf_postgres_config, cf_mysql_log, cf_postgres_log, 
cf_mysql_db, cf_postgres_db)
+
+
+# pylint: disable=too-many-locals, too-many-statements, line-too-long
+def load_command_table(self, _):
+
+    rdbms_custom = 
CliCommandType(operations_tmpl='azure.cli.command_modules.rdbms.custom#{}')
+
+    mysql_servers_sdk = CliCommandType(
+        
operations_tmpl='azure.mgmt.rdbms.mysql.operations.servers_operations#ServersOperations.{}',
+        client_factory=cf_mysql_servers
+    )
+
+    postgres_servers_sdk = CliCommandType(
+        
operations_tmpl='azure.mgmt.rdbms.postgresql.operations.servers_operations#ServersOperations.{}',
+        client_factory=cf_postgres_servers
+    )
+
+    mysql_firewall_rule_sdk = CliCommandType(
+        
operations_tmpl='azure.mgmt.rdbms.mysql.operations.firewall_rules_operations#FirewallRulesOperations.{}',
+        client_factory=cf_mysql_firewall_rules
+    )
+
+    postgres_firewall_rule_sdk = CliCommandType(
+        
operations_tmpl='azure.mgmt.rdbms.postgresql.operations.firewall_rules_operations#FirewallRulesOperations.{}',
+        client_factory=cf_postgres_firewall_rules
+    )
+
+    mysql_config_sdk = CliCommandType(
+        
operations_tmpl='azure.mgmt.rdbms.mysql.operations.configurations_operations#ConfigurationsOperations.{}',
+        client_factory=cf_mysql_config
+    )
+
+    postgres_config_sdk = CliCommandType(
+        
operations_tmpl='azure.mgmt.rdbms.postgresql.operations.configurations_operations#ConfigurationsOperations.{}',
+        client_factory=cf_postgres_config
+    )
+
+    mysql_log_sdk = CliCommandType(
+        
operations_tmpl='azure.mgmt.rdbms.mysql.operations.log_files_operations#LogFilesOperations.{}',
+        client_factory=cf_mysql_log
+    )
+
+    postgres_log_sdk = CliCommandType(
+        
operations_tmpl='azure.mgmt.rdbms.postgres.operations.log_files_operations#LogFilesOperations.{}',
+        client_factory=cf_postgres_log
+    )
+
+    mysql_db_sdk = CliCommandType(
+        
operations_tmpl='azure.mgmt.rdbms.mysql.operations.databases_operations#DatabasesOperations.{}',
+        client_factory=cf_mysql_db
+    )
+
+    postgres_db_sdk = CliCommandType(
+        
operations_tmpl='azure.mgmt.rdbms.postgresql.operations.databases_operations#DatabasesOperations.{}',
+        client_factory=cf_postgres_db
+    )
+
+    with self.command_group('mysql server', mysql_servers_sdk, 
client_factory=cf_mysql_servers) as g:
+        g.command('create', 'create_or_update')
+        g.custom_command('restore', '_server_restore')
+        g.command('delete', 'delete', confirmation=True)
+        g.command('show', 'get')
+        g.custom_command('list', '_server_list_custom_func')
+        g.generic_update_command('update', setter_name='update',
+                                 custom_func_name='_server_update_custom_func')
+
+    with self.command_group('postgres server', postgres_servers_sdk, 
client_factory=cf_postgres_servers) as g:
+        g.command('create', 'create_or_update')
+        g.custom_command('restore', '_server_restore')
+        g.command('delete', 'delete', confirmation=True)
+        g.command('show', 'get')
+        g.custom_command('list', '_server_list_custom_func')
+        g.generic_update_command('update', setter_name='update',
+                                 custom_func_name='_server_update_custom_func')
+
+    with self.command_group('mysql server firewall-rule', 
mysql_firewall_rule_sdk) as g:
+        g.command('create', 'create_or_update')
+        g.command('delete', 'delete', confirmation=True)
+        g.command('show', 'get')
+        g.command('list', 'list_by_server')
+        g.generic_update_command('update', 
setter_name='_firewall_rule_custom_setter', setter_type=rdbms_custom, 
custom_func_name='_firewall_rule_update_custom_func')
+
+    with self.command_group('postgres server firewall-rule', 
postgres_firewall_rule_sdk) as g:
+        g.command('create', 'create_or_update')
+        g.command('delete', 'delete', confirmation=True)
+        g.command('show', 'get')
+        g.command('list', 'list_by_server')
+        g.generic_update_command('update', 
setter_name='_firewall_rule_custom_setter', setter_type=rdbms_custom, 
custom_func_name='_firewall_rule_update_custom_func')
+
+    with self.command_group('mysql server configuration', mysql_config_sdk) as 
g:
+        g.command('set', 'create_or_update')
+        g.command('show', 'get')
+        g.command('list', 'list_by_server')
+
+    with self.command_group('postgres server configuration', 
postgres_config_sdk) as g:
+        g.command('set', 'create_or_update')
+        g.command('show', 'get')
+        g.command('list', 'list_by_server')
+
+    with self.command_group('mysql server-logs', mysql_log_sdk, 
client_factory=cf_mysql_log) as g:
+        g.custom_command('list', '_list_log_files_with_filter')
+        g.custom_command('download', '_download_log_files')
+
+    with self.command_group('postgres server-logs', postgres_log_sdk, 
client_factory=cf_postgres_log) as g:
+        g.custom_command('list', '_list_log_files_with_filter')
+        g.custom_command('download', '_download_log_files')
+
+    with self.command_group('mysql db', mysql_db_sdk) as g:
+        # g.command('create', 'create_or_update')
+        # g.command('delete', 'delete', confirmation=True)
+        # g.command('show', 'get')
+        g.command('list', 'list_by_server')
+
+    with self.command_group('postgres db', postgres_db_sdk) as g:
+        # g.command('create', 'create_or_update')
+        # g.command('delete', 'delete', confirmation=True)
+        # g.command('show', 'get')
+        g.command('list', 'list_by_server')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/azure-cli-rdbms-0.0.7/azure/cli/command_modules/rdbms/custom.py 
new/azure-cli-rdbms-0.0.11/azure/cli/command_modules/rdbms/custom.py
--- old/azure-cli-rdbms-0.0.7/azure/cli/command_modules/rdbms/custom.py 
2017-09-23 01:47:00.000000000 +0200
+++ new/azure-cli-rdbms-0.0.11/azure/cli/command_modules/rdbms/custom.py        
2018-01-12 18:25:22.000000000 +0100
@@ -3,22 +3,14 @@
 # Licensed under the MIT License. See License.txt in the project root for 
license information.
 # 
--------------------------------------------------------------------------------------------
 
-from azure.cli.core.commands.arm import \
-    (resource_id, is_valid_resource_id, parse_resource_id)
+from msrestazure.tools import (
+    resource_id, is_valid_resource_id, parse_resource_id)
 
 
 # need to replace source sever name with source server id, so customer server 
restore function
 # The parameter list should be the same as that in factory to use the 
ParametersContext
 # auguments and validators
-def _server_restore(
-        client,
-        resource_group_name,
-        server_name,
-        parameters,
-        **kwargs):
-    """
-    Create a new server by restoring from a server backup.
-    """
+def _server_restore(cmd, client, resource_group_name, server_name, parameters, 
**kwargs):
     source_server = kwargs['source_server_id']
 
     if not is_valid_resource_id(source_server):
@@ -26,7 +18,7 @@
             from azure.cli.core.commands.client_factory import 
get_subscription_id
             from azure.mgmt.rdbms.mysql.operations.servers_operations import 
ServersOperations
             provider = 'Microsoft.DBForMySQL' if isinstance(client, 
ServersOperations) else 'Microsoft.DBforPostgreSQL'
-            source_server = resource_id(subscription=get_subscription_id(),
+            source_server = 
resource_id(subscription=get_subscription_id(cmd.cli_ctx),
                                         resource_group=resource_group_name,
                                         namespace=provider,
                                         type='servers',
@@ -93,24 +85,11 @@
 
 
 #        Custom funcs for server logs        #
-
 def _download_log_files(
         client,
         resource_group_name,
         server_name,
         file_name):
-    """
-     Download log file(s) of a given server to current directory.
-
-    :param resource_group_name: The name of the resource group that
-    contains the resource. You can obtain this value from the Azure
-    Resource Manager API or the portal.
-    :type resource_group_name: str
-    :param server_name: Name of the server.
-    :type server_name: str
-    :param file_name: Space separated list of log filenames on the server to 
download.
-    :type filename_contains: str
-    """
     from six.moves.urllib.request import urlretrieve  # pylint: 
disable=import-error
 
     # list all files
@@ -123,22 +102,6 @@
 
 def _list_log_files_with_filter(client, resource_group_name, server_name, 
filename_contains=None,
                                 file_last_written=None, max_file_size=None):
-    """List all the log files of a given server.
-
-    :param resource_group_name: The name of the resource group that
-    contains the resource. You can obtain this value from the Azure
-    Resource Manager API or the portal.
-    :type resource_group_name: str
-    :param server_name: The name of the server.
-    :type server_name: str
-    :param filename_contains: The pattern that file name should match.
-    :type filename_contains: str
-    :param file_last_written: Interger in hours to indicate file last modify 
time,
-    default value is 72.
-    :type file_last_written: int
-    :param max_file_size: The file size limitation to filter files.
-    :type max_file_size: int
-    """
     import re
     from datetime import datetime, timedelta
     from dateutil.tz import tzutc
@@ -166,13 +129,7 @@
 
 
 #        Custom funcs for list servers        #
-def _server_list_custom_func(
-        client,
-        resource_group_name=None):
-    """
-    List servers by resource group name or subscription
-    """
-
+def _server_list_custom_func(client, resource_group_name=None):
     if resource_group_name:
         return client.list_by_resource_group(resource_group_name)
     return client.list()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/azure-cli-rdbms-0.0.7/azure/cli/command_modules/rdbms/params.py 
new/azure-cli-rdbms-0.0.11/azure/cli/command_modules/rdbms/params.py
--- old/azure-cli-rdbms-0.0.7/azure/cli/command_modules/rdbms/params.py 
2017-09-23 01:47:00.000000000 +0200
+++ new/azure-cli-rdbms-0.0.11/azure/cli/command_modules/rdbms/params.py        
1970-01-01 01:00:00.000000000 +0100
@@ -1,110 +0,0 @@
-# 
--------------------------------------------------------------------------------------------
-# Copyright (c) Microsoft Corporation. All rights reserved.
-# Licensed under the MIT License. See License.txt in the project root for 
license information.
-# 
--------------------------------------------------------------------------------------------
-from azure.mgmt.rdbms import mysql
-from azure.mgmt.rdbms import postgresql
-
-from azure.cli.core.commands import register_cli_argument
-from azure.cli.core.commands.parameters import \
-    (get_resource_name_completion_list, tags_type, enum_choice_list, 
location_type)
-from ._util import PolyParametersContext
-from .validators import configuration_value_validator
-
-# pylint: disable=line-too-long
-
-#        load parameters from models        #
-
-
-def load_params(command_group, engine):
-    with PolyParametersContext(command='{} server 
create'.format(command_group)) as c:
-        c.expand('sku', engine.models.Sku)
-        c.ignore('name')
-        c.ignore('family')
-        c.ignore('size')
-
-        c.expand('properties', engine.models.ServerPropertiesForDefaultCreate)
-        c.argument('administrator_login', arg_group='Authentication')
-        c.argument('administrator_login_password', arg_group='Authentication')
-
-        c.expand('parameters', engine.models.ServerForCreate)
-
-        c.argument('location', location_type, required=False)
-
-    with PolyParametersContext(command='{} server 
restore'.format(command_group)) as c:
-        c.expand('sku', engine.models.Sku)
-        c.ignore('name')
-        c.ignore('family')
-        c.ignore('size')
-        c.ignore('tier')
-        c.ignore('capacity')
-
-        c.expand('properties', engine.models.ServerPropertiesForRestore)
-        c.ignore('version')
-        c.ignore('ssl_enforcement')
-        c.ignore('storage_mb')
-
-        c.expand('parameters', engine.models.ServerForCreate)
-        c.ignore('tags')
-        c.ignore('location')
-
-        c.argument('source_server_id', options_list=('--source-server', '-s'),
-                   help='The name or ID of the source server to restore from.')
-        c.argument('restore_point_in_time',
-                   help='The point in time to restore from (ISO8601 format), 
e.g., 2017-04-26T02:10:00+08:00')
-
-    with PolyParametersContext(command='{} server configuration 
set'.format(command_group)) as c:
-        c.ignore('source')
-        c.argument('value',
-                   help='Value of the configuration. If not provided, 
configuration value will be set to default.',
-                   validator=configuration_value_validator)
-
-
-load_params('mysql', mysql)
-load_params('postgres', postgresql)
-
-#####
-#           register cli arguments
-#####
-
-server_completers = {'mysql': 
get_resource_name_completion_list('Microsoft.DBForMySQL/servers'),
-                     'postgres': 
get_resource_name_completion_list('Microsoft.DBForPostgreSQL/servers')}
-
-
-for command_group_name in ['mysql', 'postgres']:
-    register_cli_argument('{0}'.format(command_group_name), 'name', 
options_list=('--sku-name',))
-    register_cli_argument('{0}'.format(command_group_name), 'server_name', 
completer=server_completers[command_group_name], options_list=('--server-name', 
'-s'))
-
-    register_cli_argument('{0} server'.format(command_group_name), 
'server_name', options_list=('--name', '-n'), id_part='name',
-                          help='Name of the server.')
-    register_cli_argument('{0} server'.format(command_group_name), 
'administrator_login', options_list=('--admin-user', '-u'))
-    register_cli_argument('{0} server'.format(command_group_name), 
'administrator_login_password', options_list=('--admin-password', '-p'), 
required=False,
-                          help='The password of the administrator login.')
-    register_cli_argument('{0} server'.format(command_group_name), 
'ssl_enforcement', options_list=('--ssl-enforcement',),
-                          help='Enable ssl enforcement or not when connect to 
server.',
-                          **enum_choice_list(['Enabled', 'Disabled']))
-    register_cli_argument('{0} server'.format(command_group_name), 'tier', 
options_list=('--performance-tier',),
-                          help='The performance tier of the server.',
-                          **enum_choice_list(['Basic', 'Standard']))
-    register_cli_argument('{0} server'.format(command_group_name), 'capacity', 
options_list=('--compute-units',), type=int,
-                          help='Number of compute units.')
-    register_cli_argument('{0} server'.format(command_group_name), 
'storage_mb', options_list=('--storage-size',), type=int,
-                          help='The max storage size of the server, unit is 
MB.')
-    register_cli_argument('{0} server'.format(command_group_name), 'tags', 
tags_type)
-
-    register_cli_argument('{0} server-logs'.format(command_group_name), 
'file_name', options_list=('--name', '-n'), nargs='+')
-    register_cli_argument('{0} server-logs'.format(command_group_name), 
'max_file_size', type=int)
-    register_cli_argument('{0} server-logs'.format(command_group_name), 
'file_last_written', type=int)
-
-    register_cli_argument('{0} db'.format(command_group_name), 
'database_name', options_list=('--name', '-n'))
-
-    register_cli_argument('{0} server 
firewall-rule'.format(command_group_name), 'server_name', 
options_list=('--server-name', '-s'))
-    register_cli_argument('{0} server 
firewall-rule'.format(command_group_name), 'firewall_rule_name', 
options_list=('--name', '-n'), id_part='child_name',
-                          help='The name of the firewall rule.')
-    register_cli_argument('{0} server 
firewall-rule'.format(command_group_name), 'start_ip_address', 
options_list=('--start-ip-address',),
-                          help='The start IP address of the firewall rule. 
Must be IPv4 format.')
-    register_cli_argument('{0} server 
firewall-rule'.format(command_group_name), 'end_ip_address', 
options_list=('--end-ip-address',),
-                          help='The end IP address of the firewall rule. Must 
be IPv4 format.')
-
-    register_cli_argument('{0} server 
configuration'.format(command_group_name), 'server_name', 
options_list=('--server-name', '-s'))
-    register_cli_argument('{0} server 
configuration'.format(command_group_name), 'configuration_name', 
id_part='child_name', options_list=('--name', '-n'))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/azure-cli-rdbms-0.0.7/azure/cli/command_modules/rdbms/validators.py 
new/azure-cli-rdbms-0.0.11/azure/cli/command_modules/rdbms/validators.py
--- old/azure-cli-rdbms-0.0.7/azure/cli/command_modules/rdbms/validators.py     
2017-09-23 01:47:00.000000000 +0200
+++ new/azure-cli-rdbms-0.0.11/azure/cli/command_modules/rdbms/validators.py    
2018-01-12 18:25:22.000000000 +0100
@@ -3,19 +3,21 @@
 # Licensed under the MIT License. See License.txt in the project root for 
license information.
 # 
--------------------------------------------------------------------------------------------
 
-from azure.cli.core.commands.validators import \
-    (get_default_location_from_resource_group, validate_tags)
-from azure.cli.core.prompting import prompt_pass, NoTTYException
-from azure.cli.core.util import CLIError
+from knack.prompting import prompt_pass, NoTTYException
+from knack.util import CLIError
+
+from azure.cli.core.commands.validators import (
+    get_default_location_from_resource_group, validate_tags)
 
 
 def get_combined_validator(validators):
-    def _final_valiator_impl(namespace):
+    def _final_validator_impl(cmd, namespace):
         # do additional creation validation
-        if namespace.subcommand == 'create':
+        verb = cmd.name.rsplit(' ', 1)[1]
+        if verb == 'create':
             storage_validator(namespace)
             password_validator(namespace)
-            get_default_location_from_resource_group(namespace)
+            get_default_location_from_resource_group(cmd, namespace)
 
         validate_tags(namespace)
 
@@ -27,7 +29,7 @@
         else:
             namespace.parameters.sku = None
 
-    return _final_valiator_impl
+    return _final_validator_impl
 
 
 def configuration_value_validator(ns):
@@ -46,6 +48,5 @@
 
 
 def storage_validator(ns):
-    if ns.storage_mb:
-        if ns.storage_mb > 1023 * 1024:
-            raise ValueError('The size of storage cannot exceed 1023GB.')
+    if ns.storage_mb and ns.storage_mb > 1023 * 1024:
+        raise ValueError('The size of storage cannot exceed 1023GB.')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/azure-cli-rdbms-0.0.7/azure_cli_rdbms.egg-info/PKG-INFO 
new/azure-cli-rdbms-0.0.11/azure_cli_rdbms.egg-info/PKG-INFO
--- old/azure-cli-rdbms-0.0.7/azure_cli_rdbms.egg-info/PKG-INFO 2017-09-23 
01:50:12.000000000 +0200
+++ new/azure-cli-rdbms-0.0.11/azure_cli_rdbms.egg-info/PKG-INFO        
2018-01-12 18:25:36.000000000 +0100
@@ -1,12 +1,11 @@
 Metadata-Version: 1.1
 Name: azure-cli-rdbms
-Version: 0.0.7
+Version: 0.0.11
 Summary: Microsoft Azure Command-Line Tools MySQL and PostgreSQL Command Module
 Home-page: https://github.com/Azure/azure-cli
 Author: Microsoft Corporation
 Author-email: azpy...@microsoft.com
 License: MIT
-Description-Content-Type: UNKNOWN
 Description: Microsoft Azure CLI 'MySQL and PostgreSQL' Command Module
         =========================================================
         
@@ -16,6 +15,23 @@
         
         Release History
         ===============
+        
+        0.0.11
+        ++++++
+        * Minor fixes.
+        
+        0.0.10
+        ++++++
+        * Update for CLI core changes.
+        
+        0.0.9
+        +++++
+        * Minor fixes.
+        
+        0.0.8
+        ++++++
+        * minor fixes
+        
         0.0.7 (2017-09-22)
         ++++++++++++++++++
         * minor fixes
@@ -60,4 +76,5 @@
 Classifier: Programming Language :: Python :: 3
 Classifier: Programming Language :: Python :: 3.4
 Classifier: Programming Language :: Python :: 3.5
+Classifier: Programming Language :: Python :: 3.6
 Classifier: License :: OSI Approved :: MIT License
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/azure-cli-rdbms-0.0.7/azure_cli_rdbms.egg-info/SOURCES.txt 
new/azure-cli-rdbms-0.0.11/azure_cli_rdbms.egg-info/SOURCES.txt
--- old/azure-cli-rdbms-0.0.7/azure_cli_rdbms.egg-info/SOURCES.txt      
2017-09-23 01:50:12.000000000 +0200
+++ new/azure-cli-rdbms-0.0.11/azure_cli_rdbms.egg-info/SOURCES.txt     
2018-01-12 18:25:36.000000000 +0100
@@ -7,11 +7,12 @@
 azure/cli/__init__.py
 azure/cli/command_modules/__init__.py
 azure/cli/command_modules/rdbms/__init__.py
+azure/cli/command_modules/rdbms/_client_factory.py
 azure/cli/command_modules/rdbms/_help.py
+azure/cli/command_modules/rdbms/_params.py
 azure/cli/command_modules/rdbms/_util.py
 azure/cli/command_modules/rdbms/commands.py
 azure/cli/command_modules/rdbms/custom.py
-azure/cli/command_modules/rdbms/params.py
 azure/cli/command_modules/rdbms/validators.py
 azure_cli_rdbms.egg-info/PKG-INFO
 azure_cli_rdbms.egg-info/SOURCES.txt
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/azure-cli-rdbms-0.0.7/azure_cli_rdbms.egg-info/requires.txt 
new/azure-cli-rdbms-0.0.11/azure_cli_rdbms.egg-info/requires.txt
--- old/azure-cli-rdbms-0.0.7/azure_cli_rdbms.egg-info/requires.txt     
2017-09-23 01:50:12.000000000 +0200
+++ new/azure-cli-rdbms-0.0.11/azure_cli_rdbms.egg-info/requires.txt    
2018-01-12 18:25:36.000000000 +0100
@@ -1,4 +1,3 @@
 azure-cli-core
 azure-mgmt-rdbms==0.1.0
 six
-azure-cli-command-modules-nspkg>=2.0.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/azure-cli-rdbms-0.0.7/setup.py 
new/azure-cli-rdbms-0.0.11/setup.py
--- old/azure-cli-rdbms-0.0.7/setup.py  2017-09-23 01:50:12.000000000 +0200
+++ new/azure-cli-rdbms-0.0.11/setup.py 2018-01-12 18:25:22.000000000 +0100
@@ -12,7 +12,7 @@
     logger.warn("Wheel is not available, disabling bdist_wheel hook")
     cmdclass = {}
 
-VERSION = "0.0.7"
+VERSION = "0.0.11"
 CLASSIFIERS = [
     'Development Status :: 4 - Beta',
     'Intended Audience :: Developers',
@@ -23,6 +23,7 @@
     'Programming Language :: Python :: 3',
     'Programming Language :: Python :: 3.4',
     'Programming Language :: Python :: 3.5',
+    'Programming Language :: Python :: 3.6',
     'License :: OSI Approved :: MIT License',
 ]
 


Reply via email to