Hello community,

here is the log from the commit of package azure-cli-servicebus for 
openSUSE:Factory checked in at 2018-10-11 11:59:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/azure-cli-servicebus (Old)
 and      /work/SRC/openSUSE:Factory/.azure-cli-servicebus.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "azure-cli-servicebus"

Thu Oct 11 11:59:37 2018 rev:2 rq:641126 version:0.2.2

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/azure-cli-servicebus/azure-cli-servicebus.changes    
    2018-05-13 16:03:15.966269737 +0200
+++ 
/work/SRC/openSUSE:Factory/.azure-cli-servicebus.new/azure-cli-servicebus.changes
   2018-10-11 11:59:52.333686347 +0200
@@ -1,0 +2,9 @@
+Wed Sep 19 09:15:45 UTC 2018 - John Paul Adrian Glaubitz 
<[email protected]>
+
+- New upstream release
+  + Version 0.2.2
+  + For detailed information about changes see the
+    HISTORY.txt file provided with this package
+- Update Requires from setup.py
+
+-------------------------------------------------------------------

Old:
----
  azure-cli-servicebus-0.1.2.tar.gz

New:
----
  azure-cli-servicebus-0.2.2.tar.gz

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

Other differences:
------------------
++++++ azure-cli-servicebus.spec ++++++
--- /var/tmp/diff_new_pack.tcYGB8/_old  2018-10-11 11:59:53.505684857 +0200
+++ /var/tmp/diff_new_pack.tcYGB8/_new  2018-10-11 11:59:53.505684857 +0200
@@ -12,11 +12,12 @@
 # license that conforms to the Open Source Definition (Version 1.9)
 # published by the Open Source Initiative.
 
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
 #
 
+
 Name:           azure-cli-servicebus
-Version:        0.1.2
+Version:        0.2.2
 Release:        0
 Summary:        Microsoft Azure CLI 'servicebus' Command Module
 License:        MIT
@@ -24,18 +25,18 @@
 Url:            https://github.com/Azure/azure-cli
 Source:         
https://files.pythonhosted.org/packages/source/a/azure-cli-servicebus/azure-cli-servicebus-%{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-servicebus >= 0.5.1
 Requires:       python3-azure-nspkg
-Requires:       azure-cli-core
 Requires:       python3-six
-Requires:       python3-azure-mgmt-servicebus >= 0.4.0
 Conflicts:      azure-cli < 2.0.0
 
 BuildArch:      noarch
@@ -68,4 +69,5 @@
 %license LICENSE.txt
 %{python3_sitelib}/azure/cli/command_modules/servicebus
 %{python3_sitelib}/azure_cli_servicebus-*.egg-info
+
 %changelog

++++++ azure-cli-servicebus-0.1.2.tar.gz -> azure-cli-servicebus-0.2.2.tar.gz 
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/azure-cli-servicebus-0.1.2/HISTORY.rst 
new/azure-cli-servicebus-0.2.2/HISTORY.rst
--- old/azure-cli-servicebus-0.1.2/HISTORY.rst  2018-04-06 19:33:14.000000000 
+0200
+++ new/azure-cli-servicebus-0.2.2/HISTORY.rst  2018-08-23 01:07:57.000000000 
+0200
@@ -3,6 +3,26 @@
 Release History
 ===============
 
+0.2.2
++++++
+* Minor fixes
+
+0.2.1
++++++
+* Added migration command group to migrate a namespace from Service Bus 
Standard to Premium
+
+* Added new optional properties to Service Bus queue and Subscription
+    --enable-batched-operations and 
--enable-dead-lettering-on-message-expiration in queue
+    --dead-letter-on-filter-exceptions in subscriptions
+
+0.2.0
++++++
+* BREAKING CHANGE: 'show' commands log error message and fail with exit code 
of 3 upon a missing resource.
+
+0.1.3
+++++++
+* Minor fixes.
+
 0.1.2
 ++++++
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/azure-cli-servicebus-0.1.2/PKG-INFO 
new/azure-cli-servicebus-0.2.2/PKG-INFO
--- old/azure-cli-servicebus-0.1.2/PKG-INFO     2018-04-06 19:33:29.000000000 
+0200
+++ new/azure-cli-servicebus-0.2.2/PKG-INFO     2018-08-23 01:09:43.000000000 
+0200
@@ -1,12 +1,11 @@
 Metadata-Version: 1.1
 Name: azure-cli-servicebus
-Version: 0.1.2
+Version: 0.2.2
 Summary: Microsoft Azure Command-Line Tools Service Bus Command Module
 Home-page: https://github.com/Azure/azure-cli
 Author: Microsoft Corporation
 Author-email: [email protected]
 License: MIT
-Description-Content-Type: UNKNOWN
 Description: Microsoft Azure CLI 'servicebus' Command Module
         =======================================================
         
@@ -21,6 +20,26 @@
         Release History
         ===============
         
+        0.2.2
+        +++++
+        * Minor fixes
+        
+        0.2.1
+        +++++
+        * Added migration command group to migrate a namespace from Service 
Bus Standard to Premium
+        
+        * Added new optional properties to Service Bus queue and Subscription
+            --enable-batched-operations and 
--enable-dead-lettering-on-message-expiration in queue
+            --dead-letter-on-filter-exceptions in subscriptions
+        
+        0.2.0
+        +++++
+        * BREAKING CHANGE: 'show' commands log error message and fail with 
exit code of 3 upon a missing resource.
+        
+        0.1.3
+        ++++++
+        * Minor fixes.
+        
         0.1.2
         ++++++
         
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/azure-cli-servicebus-0.1.2/azure/cli/command_modules/servicebus/_client_factory.py
 
new/azure-cli-servicebus-0.2.2/azure/cli/command_modules/servicebus/_client_factory.py
--- 
old/azure-cli-servicebus-0.1.2/azure/cli/command_modules/servicebus/_client_factory.py
      2018-04-06 19:33:14.000000000 +0200
+++ 
new/azure-cli-servicebus-0.2.2/azure/cli/command_modules/servicebus/_client_factory.py
      2018-08-23 01:07:57.000000000 +0200
@@ -32,3 +32,7 @@
 
 def disaster_recovery_mgmt_client_factory(cli_ctx, _):
     return cf_servicebus(cli_ctx).disaster_recovery_configs
+
+
+def migration_mgmt_client_factory(cli_ctx, _):
+    return cf_servicebus(cli_ctx).migration_configs
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/azure-cli-servicebus-0.1.2/azure/cli/command_modules/servicebus/_help.py 
new/azure-cli-servicebus-0.2.2/azure/cli/command_modules/servicebus/_help.py
--- 
old/azure-cli-servicebus-0.1.2/azure/cli/command_modules/servicebus/_help.py    
    2018-04-06 19:33:14.000000000 +0200
+++ 
new/azure-cli-servicebus-0.2.2/azure/cli/command_modules/servicebus/_help.py    
    2018-08-23 01:07:57.000000000 +0200
@@ -1,3 +1,4 @@
+# coding=utf-8
 # 
--------------------------------------------------------------------------------------------
 # Copyright (c) Microsoft Corporation. All rights reserved.
 # Licensed under the MIT License. See License.txt in the project root for 
license information.
@@ -82,6 +83,11 @@
     short-summary: Manage Azure Authorization Rule keys for Service Bus 
Namespace
 """
 
+helps['servicebus migration'] = """
+    type: group
+    short-summary: Manage Azure Service Bus Migration of Standard to Premium
+"""
+
 helps['servicebus namespace exists'] = """
     type: command
     short-summary: check for the availability of the given name for the 
Namespace
@@ -297,7 +303,7 @@
     short-summary: Updates the Service Bus Topic
     examples:
         - name: Updates existing Service Bus Topic.
-          text: az servicebus topic update --resource-group myresourcegroup 
--namespace-name mynamespace --name mytopic --support-ordering True
+          text: az servicebus topic update --resource-group myresourcegroup 
--namespace-name mynamespace --name mytopic --enable-ordering True
 """
 
 helps['servicebus topic show'] = """
@@ -527,3 +533,38 @@
         - name:  Delete Service Bus Geo-Disaster Recovery Configuration Alias 
request accepted
           text: az servicebus georecovery-alias delete --resource-group 
myresourcegroup --namespace-name secondarynamespace --alias myaliasname
 """
+
+helps['servicebus migration start'] = """
+    type: command
+    short-summary: Create and Start Service Bus Migration of Standard to 
Premium namespace.
+    long-summary: Service Bus Migration requires an empty Premium namespace to 
replicate entities from Standard namespace.
+    examples:
+        - name: Create and Start Service Bus Migration of Standard to Premium 
namespace
+          text: az servicebus migration start --resource-group myresourcegroup 
--name standardnamespace --target-namespace ARMIDpremiumnamespace 
--post-migration-name mypostmigrationname
+"""
+
+helps['servicebus migration show'] = """
+    type: command
+    short-summary: shows properties of properties of Service Bus Migration
+    examples:
+        - name: shows properties of properties of Service Bus Migration
+          text: az servicebus migration show --resource-group myresourcegroup 
--name standardnamespace
+"""
+
+helps['servicebus migration complete'] = """
+    type: command
+    short-summary: Completes the Service Bus Migration of Standard to Premium 
namespace
+    long-summary: After completing migration, the existing connection strings 
to standard namespace will connect to premium namespace automatically. Post 
migration name is the name that can be used to connect to standard namespace 
after migration is complete.
+    examples:
+        - name:  Completes the Service Bus Migration of Standard to Premium 
namespace
+          text: az servicebus migration complete --resource-group 
myresourcegroup --name standardnamespace
+"""
+
+helps['servicebus migration abort'] = """
+    type: command
+    short-summary: Disable the Service Bus Migration of Standard to Premium 
namespace
+    long-summary: abort command stops the replication of entities from 
standard to premium namespaces. The entities replicated to premium namespace 
before abort command will be available under premium namespace. The aborted 
migration can not be resumed, its has to restarted.
+    examples:
+        - name:  Disable Service Bus Migration of Standard to Premium namespace
+          text: az servicebus migration abort --resource-group myresourcegroup 
--name standardnamespace
+"""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/azure-cli-servicebus-0.1.2/azure/cli/command_modules/servicebus/_params.py 
new/azure-cli-servicebus-0.2.2/azure/cli/command_modules/servicebus/_params.py
--- 
old/azure-cli-servicebus-0.1.2/azure/cli/command_modules/servicebus/_params.py  
    2018-04-06 19:33:14.000000000 +0200
+++ 
new/azure-cli-servicebus-0.2.2/azure/cli/command_modules/servicebus/_params.py  
    2018-08-23 01:07:57.000000000 +0200
@@ -15,10 +15,10 @@
     from azure.cli.command_modules.servicebus._validators import 
_validate_auto_delete_on_idle, \
         _validate_duplicate_detection_history_time_window, \
         _validate_default_message_time_to_live, \
-        _validate_lock_duration, validate_partner_namespace, 
validate_premiumsku_capacity
+        _validate_lock_duration, validate_partner_namespace, 
validate_premiumsku_capacity, validate_target_namespace
 
     from knack.arguments import CLIArgumentType
-    from azure.mgmt.servicebus.models.service_bus_management_client_enums 
import SkuName, AccessRights, KeyType, FilterType
+    from azure.mgmt.servicebus.models import SkuName, AccessRights, KeyType, 
FilterType
     rights_arg_type = CLIArgumentType(options_list=['--rights'], nargs='+', 
arg_type=get_enum_type(AccessRights), help='Space-separated list of 
Authorization rule rights')
     key_arg_type = CLIArgumentType(options_list=['--key'], 
arg_type=get_enum_type(KeyType), help='specifies Primary or Secondary key needs 
to be reset')
     keyvalue_arg_type = CLIArgumentType(options_list=['--key-value'], 
help='Optional, if the key value provided, is set for KeyType or autogenerated 
Key value set for keyType.')
@@ -67,39 +67,24 @@
         c.argument('queue_name', arg_type=name_type, id_part='child_name_1', 
completer=get_queue_command_completion_list, help='Name of Queue')
 
     # region - Queue Create
-    with self.argument_context('servicebus queue create') as c:
-        c.argument('queue_name', arg_type=name_type, id_part='child_name_1', 
help='Name of Queue')
-        c.argument('lock_duration', validator=_validate_lock_duration, 
help='String ISO 8601 timespan or duration format for duration of a peek-lock; 
that is, the amount of time that the message is locked for other receivers. The 
maximum value for LockDuration is 5 minutes; the default value is 1 minute.')
-        c.argument('max_size_in_megabytes', options_list=['--max-size'], 
type=int, choices=[1024, 2048, 3072, 4096, 5120], help='The maximum size of 
queue in megabytes, which is the size of memory allocated for the queue. 
Default is 1024.')
-        c.argument('requires_duplicate_detection', 
options_list=['--enable-duplicate-detection'], arg_type=get_three_state_flag(), 
help='A boolean value indicating if this queue requires duplicate detection.')
-        c.argument('requires_session', options_list=['--enable-session'], 
arg_type=get_three_state_flag(), help='A boolean value indicating whether the 
queue supports the concept of sessions.')
-        c.argument('default_message_time_to_live', 
validator=_validate_default_message_time_to_live, help='ISO 8601 timespan or 
duration time format for default message to live value. This is the duration 
after which the message expires, starting from when the message is sent to 
Service Bus. This is the default value used when TimeToLive is not set on a 
message itself.')
-        c.argument('dead_lettering_on_message_expiration', 
options_list=['--enable-dead-lettering-on-message-expiration'], 
arg_type=get_three_state_flag(), help='A boolean value that indicates whether 
this queue has dead letter support when a message expires.')
-        c.argument('duplicate_detection_history_time_window', 
validator=_validate_duplicate_detection_history_time_window, help='ISO 8601 
timeSpan structure that defines the duration of the duplicate detection 
history. The default value is 10 minutes.')
-        c.argument('max_delivery_count', type=int, help='The maximum delivery 
count. A message is automatically deadlettered after this number of deliveries. 
default value is 10.')
-        c.argument('status', arg_type=get_enum_type(['Active', 'Disabled', 
'SendDisabled', 'ReceiveDisabled']), help='Enumerates the possible values for 
the status of a messaging entity.')
-        c.argument('auto_delete_on_idle', 
validator=_validate_auto_delete_on_idle, help='ISO 8601 timeSpan or duration 
time format for idle interval after which the queue is automatically deleted. 
The minimum duration is 5 minutes.')
-        c.argument('enable_partitioning', arg_type=get_three_state_flag(), 
help='A boolean value that indicates whether the queue is to be partitioned 
across multiple message brokers.')
-        c.argument('enable_express', arg_type=get_three_state_flag(), help='A 
boolean value that indicates whether Express Entities are enabled. An express 
queue holds a message in memory temporarily before writing it to persistent 
storage.')
-        c.argument('forward_to', help='Queue/Topic name to forward the 
messages')
-        c.argument('forward_dead_lettered_messages_to', help='Queue/Topic name 
to forward the Dead Letter message')
-
-    with self.argument_context('servicebus queue update') as c:
-        c.argument('queue_name', arg_type=name_type, id_part='child_name_1', 
help='Name of Queue')
-        c.argument('lock_duration', validator=_validate_lock_duration, 
help='String ISO 8601 timespan or duration format for duration of a peek-lock; 
that is, the amount of time that the message is locked for other receivers.')
-        c.argument('max_size_in_megabytes', options_list=['--max-size'], 
type=int, choices=[1024, 2048, 3072, 4096, 5120], help='The maximum size of 
queue in megabytes, which is the size of memory allocated for the queue.')
-        c.argument('requires_duplicate_detection', 
options_list=['--enable-duplicate-detection'], arg_type=get_three_state_flag(), 
help='A boolean value indicating if this queue requires duplicate detection.')
-        c.argument('requires_session', options_list=['--enable-session'], 
arg_type=get_three_state_flag(), help='A boolean value indicating whether the 
queue supports the concept of sessions.')
-        c.argument('default_message_time_to_live', 
validator=_validate_default_message_time_to_live, help='ISO 8601 timespan or 
duration time format for default message to live value. This is the duration 
after which the message expires, starting from when the message is sent to 
Service Bus. This is the default value used when TimeToLive is not set on a 
message itself.')
-        c.argument('dead_lettering_on_message_expiration', 
options_list=['--enable-dead-lettering-on-message-expiration'], 
arg_type=get_three_state_flag(), help='A boolean value that indicates whether 
this queue has dead letter support when a message expires.')
-        c.argument('duplicate_detection_history_time_window', 
validator=_validate_duplicate_detection_history_time_window, help='ISO 8601 
timeSpan structure that defines the duration of the duplicate detection 
history.')
-        c.argument('max_delivery_count', type=int, help='The maximum delivery 
count. A message is automatically deadlettered after this number of 
deliveries.')
-        c.argument('status', arg_type=get_enum_type(['Active', 'Disabled', 
'SendDisabled', 'ReceiveDisabled']), help='Enumerates the possible values for 
the status of a messaging entity.')
-        c.argument('auto_delete_on_idle', 
validator=_validate_auto_delete_on_idle, help='ISO 8601 timeSpan or duration 
time format for idle interval after which the queue is automatically deleted.')
-        c.argument('enable_partitioning', arg_type=get_three_state_flag(), 
help='A boolean value that indicates whether the queue is to be partitioned 
across multiple message brokers.')
-        c.argument('enable_express', arg_type=get_three_state_flag(), help='A 
boolean value that indicates whether Express Entities are enabled. An express 
queue holds a message in memory temporarily before writing it to persistent 
storage.')
-        c.argument('forward_to', help='Queue/Topic name to forward the 
messages')
-        c.argument('forward_dead_lettered_messages_to', help='Queue/Topic name 
to forward the Dead Letter message')
+    for scope in ['create', 'update']:
+        with self.argument_context('servicebus queue {}'.format(scope)) as c:
+            c.argument('queue_name', arg_type=name_type, 
id_part='child_name_1', help='Name of Queue')
+            c.argument('lock_duration', validator=_validate_lock_duration, 
help='String ISO 8601 timespan or duration format for duration of a peek-lock; 
that is, the amount of time that the message is locked for other receivers. The 
maximum value for LockDuration is 5 minutes; the default value is 1 minute.')
+            c.argument('max_size_in_megabytes', options_list=['--max-size'], 
type=int, choices=[1024, 2048, 3072, 4096, 5120], help='The maximum size of 
queue in megabytes, which is the size of memory allocated for the queue. 
Default is 1024.')
+            c.argument('requires_duplicate_detection', 
options_list=['--enable-duplicate-detection'], arg_type=get_three_state_flag(), 
help='A boolean value indicating if this queue requires duplicate detection.')
+            c.argument('requires_session', options_list=['--enable-session'], 
arg_type=get_three_state_flag(), help='A boolean value indicating whether the 
queue supports the concept of sessions.')
+            c.argument('default_message_time_to_live', 
validator=_validate_default_message_time_to_live, help='ISO 8601 timespan or 
duration time format for default message to live value. This is the duration 
after which the message expires, starting from when the message is sent to 
Service Bus. This is the default value used when TimeToLive is not set on a 
message itself.')
+            c.argument('dead_lettering_on_message_expiration', 
options_list=['--enable-dead-lettering-on-message-expiration'], 
arg_type=get_three_state_flag(), help='A boolean value that indicates whether 
this queue has dead letter support when a message expires.')
+            c.argument('duplicate_detection_history_time_window', 
validator=_validate_duplicate_detection_history_time_window, help='ISO 8601 
timeSpan structure that defines the duration of the duplicate detection 
history. The default value is 10 minutes.')
+            c.argument('max_delivery_count', type=int, help='The maximum 
delivery count. A message is automatically deadlettered after this number of 
deliveries. default value is 10.')
+            c.argument('status', arg_type=get_enum_type(['Active', 'Disabled', 
'SendDisabled', 'ReceiveDisabled']), help='Enumerates the possible values for 
the status of a messaging entity.')
+            c.argument('auto_delete_on_idle', 
validator=_validate_auto_delete_on_idle, help='ISO 8601 timeSpan or duration 
time format for idle interval after which the queue is automatically deleted. 
The minimum duration is 5 minutes.')
+            c.argument('enable_partitioning', arg_type=get_three_state_flag(), 
help='A boolean value that indicates whether the queue is to be partitioned 
across multiple message brokers.')
+            c.argument('enable_express', arg_type=get_three_state_flag(), 
help='A boolean value that indicates whether Express Entities are enabled. An 
express queue holds a message in memory temporarily before writing it to 
persistent storage.')
+            c.argument('forward_to', help='Queue/Topic name to forward the 
messages')
+            c.argument('forward_dead_lettered_messages_to', help='Queue/Topic 
name to forward the Dead Letter message')
+            c.argument('enable_batched_operations', 
arg_type=get_three_state_flag(), help='Allow server-side batched operations.')
 
     with self.argument_context('servicebus queue list') as c:
         c.argument('namespace_name', id_part=None, 
options_list=['--namespace-name'], help='Name of Namespace')
@@ -128,32 +113,19 @@
             c.argument('topic_name', arg_type=name_type, 
id_part='child_name_1', completer=get_topic_command_completion_list, help='Name 
of Topic')
 
     # region - Topic Create
-    with self.argument_context('servicebus topic create') as c:
-        c.argument('topic_name', arg_type=name_type, id_part='child_name_1', 
completer=get_topic_command_completion_list, help='Name of Topic')
-        c.argument('default_message_time_to_live', 
validator=_validate_default_message_time_to_live, help='ISO 8601 or duration 
time format for Default message timespan to live value. This is the duration 
after which the message expires, starting from when the message is sent to 
Service Bus. This is the default value used when TimeToLive is not set on a 
message itself.')
-        c.argument('max_size_in_megabytes', options_list=['--max-size'], 
type=int, choices=[1024, 2048, 3072, 4096, 5120], help='Maximum size of topic 
in megabytes, which is the size of the memory allocated for the topic. Default 
is 1024.')
-        c.argument('requires_duplicate_detection', 
options_list=['--enable-duplicate-detection'], arg_type=get_three_state_flag(), 
help='A boolean value indicating if this topic requires duplicate detection.')
-        c.argument('duplicate_detection_history_time_window', 
validator=_validate_duplicate_detection_history_time_window, help='ISO 8601 
timespan or duration time format for structure that defines the duration of the 
duplicate detection history. The default value is 10 minutes.')
-        c.argument('enable_batched_operations', 
arg_type=get_three_state_flag(), help='Value that indicates whether server-side 
batched operations are enabled.')
-        c.argument('status', arg_type=get_enum_type(['Active', 'Disabled', 
'SendDisabled', 'ReceiveDisabled']), help='Enumerates the possible values for 
the status of a messaging entity.')
-        c.argument('support_ordering', options_list=['--enable-ordering'], 
arg_type=get_three_state_flag(), help='A boolean value that indicates whether 
the topic supports ordering.')
-        c.argument('auto_delete_on_idle', 
validator=_validate_auto_delete_on_idle, help='ISO 8601 timespan or duration 
time format for idle interval after which the topic is automatically deleted. 
The minimum duration is 5 minutes.')
-        c.argument('enable_partitioning', arg_type=get_three_state_flag(), 
help='A boolean value that indicates whether the topic to be partitioned across 
multiple message brokers is enabled.')
-        c.argument('enable_express', arg_type=get_three_state_flag(), help='A 
boolean value that indicates whether Express Entities are enabled. An express 
topic holds a message in memory temporarily before writing it to persistent 
storage.')
-
-    # region - Topic Update
-    with self.argument_context('servicebus topic update') as c:
-        c.argument('topic_name', arg_type=name_type, id_part='child_name_1', 
completer=get_topic_command_completion_list, help='Name of Topic')
-        c.argument('default_message_time_to_live', 
validator=_validate_default_message_time_to_live, help='ISO 8601 or duration 
time format for Default message timespan to live value. This is the duration 
after which the message expires, starting from when the message is sent to 
Service Bus. This is the default value used when TimeToLive is not set on a 
message itself.')
-        c.argument('max_size_in_megabytes', options_list=['--max-size'], 
type=int, choices=[1024, 2048, 3072, 4096, 5120], help='Maximum size of topic 
in megabytes, which is the size of the memory allocated for the topic.')
-        c.argument('requires_duplicate_detection', 
options_list=['--enable-duplicate-detection'], arg_type=get_three_state_flag(), 
help='A boolean value indicating if this topic requires duplicate detection.')
-        c.argument('duplicate_detection_history_time_window', 
validator=_validate_duplicate_detection_history_time_window, help='ISO 8601 
timespan or duration time format for structure that defines the duration of the 
duplicate detection history.')
-        c.argument('enable_batched_operations', 
arg_type=get_three_state_flag(), help='Value that indicates whether server-side 
batched operations are enabled.')
-        c.argument('status', arg_type=get_enum_type(['Active', 'Disabled', 
'SendDisabled', 'ReceiveDisabled']), help='Enumerates the possible values for 
the status of a messaging entity.')
-        c.argument('support_ordering', options_list=['--enable-ordering'], 
arg_type=get_three_state_flag(), help='A boolean value that indicates whether 
the topic supports ordering.')
-        c.argument('auto_delete_on_idle', 
validator=_validate_auto_delete_on_idle, help='ISO 8601 timespan or duration 
time format for idle interval after which the topic is automatically deleted.')
-        c.argument('enable_partitioning', arg_type=get_three_state_flag(), 
help='A boolean value that indicates whether the topic to be partitioned across 
multiple message brokers is enabled.')
-        c.argument('enable_express', arg_type=get_three_state_flag(), help='A 
boolean value that indicates whether Express Entities are enabled. An express 
topic holds a message in memory temporarily before writing it to persistent 
storage.')
+    for scope in ['create', 'update']:
+        with self.argument_context('servicebus topic {}'.format(scope)) as c:
+            c.argument('topic_name', arg_type=name_type, 
id_part='child_name_1', completer=get_topic_command_completion_list, help='Name 
of Topic')
+            c.argument('default_message_time_to_live', 
validator=_validate_default_message_time_to_live, help='ISO 8601 or duration 
time format for Default message timespan to live value. This is the duration 
after which the message expires, starting from when the message is sent to 
Service Bus. This is the default value used when TimeToLive is not set on a 
message itself.')
+            c.argument('max_size_in_megabytes', options_list=['--max-size'], 
type=int, choices=[1024, 2048, 3072, 4096, 5120], help='Maximum size of topic 
in megabytes, which is the size of the memory allocated for the topic. Default 
is 1024.')
+            c.argument('requires_duplicate_detection', 
options_list=['--enable-duplicate-detection'], arg_type=get_three_state_flag(), 
help='A boolean value indicating if this topic requires duplicate detection.')
+            c.argument('duplicate_detection_history_time_window', 
validator=_validate_duplicate_detection_history_time_window, help='ISO 8601 
timespan or duration time format for structure that defines the duration of the 
duplicate detection history. The default value is 10 minutes.')
+            c.argument('enable_batched_operations', 
arg_type=get_three_state_flag(), help='Allow server-side batched operations.')
+            c.argument('status', arg_type=get_enum_type(['Active', 'Disabled', 
'SendDisabled', 'ReceiveDisabled']), help='Enumerates the possible values for 
the status of a messaging entity.')
+            c.argument('support_ordering', options_list=['--enable-ordering'], 
arg_type=get_three_state_flag(), help='A boolean value that indicates whether 
the topic supports ordering.')
+            c.argument('auto_delete_on_idle', 
validator=_validate_auto_delete_on_idle, help='ISO 8601 timespan or duration 
time format for idle interval after which the topic is automatically deleted. 
The minimum duration is 5 minutes.')
+            c.argument('enable_partitioning', arg_type=get_three_state_flag(), 
help='A boolean value that indicates whether the topic to be partitioned across 
multiple message brokers is enabled.')
+            c.argument('enable_express', arg_type=get_three_state_flag(), 
help='A boolean value that indicates whether Express Entities are enabled. An 
express topic holds a message in memory temporarily before writing it to 
persistent storage.')
 
     for scope in ['servicebus topic show', 'servicebus topic delete']:
         with self.argument_context(scope) as c:
@@ -184,30 +156,20 @@
         c.argument('subscription_name', arg_type=name_type, 
id_part='child_name_2', completer=get_subscriptions_command_completion_list, 
help='Name of Subscription')
         c.argument('topic_name', id_part='child_name_1', 
options_list=['--topic-name'], help='Name of Topic')
 
-    # region - Subscription Create
-    with self.argument_context('servicebus topic subscription create') as c:
-        c.argument('lock_duration', validator=_validate_lock_duration, 
help='ISO 8601 or duration format (day:minute:seconds) for lock duration 
timespan for the subscription. The default value is 1 minute.')
-        c.argument('requires_session', options_list=['--enable-session'], 
arg_type=get_three_state_flag(), help='A boolean value indicating if a 
subscription supports the concept of sessions.')
-        c.argument('default_message_time_to_live', 
validator=_validate_default_message_time_to_live, help='ISO 8601 or duration 
time format for Default message timespan to live value. This is the duration 
after which the message expires, starting from when the message is sent to 
Service Bus. This is the default value used when TimeToLive is not set on a 
message itself.')
-        c.argument('dead_lettering_on_message_expiration', 
options_list=['--enable-dead-lettering-on-message-expiration'], 
arg_type=get_three_state_flag(), help='A boolean Value that indicates whether a 
subscription has dead letter support when a message expires.')
-        c.argument('max_delivery_count', type=int, help='Number of maximum 
deliveries.')
-        c.argument('status', arg_type=get_enum_type(['Active', 'Disabled', 
'SendDisabled', 'ReceiveDisabled']))
-        c.argument('enable_batched_operations', 
arg_type=get_three_state_flag(), help='A boolean value that indicates whether 
server-side batched operations are enabled.')
-        c.argument('auto_delete_on_idle', 
validator=_validate_auto_delete_on_idle, 
options_list=['--auto-delete-on-idle'], help='ISO 8601 timeSpan  or duration 
time format for idle interval after which the topic is automatically deleted. 
The minimum duration is 5 minutes.')
-        c.argument('forward_to', help='Queue/Topic name to forward the 
messages')
-        c.argument('forward_dead_lettered_messages_to', help='Queue/Topic name 
to forward the Dead Letter message')
-
-    with self.argument_context('servicebus topic subscription update') as c:
-        c.argument('lock_duration', validator=_validate_lock_duration, 
help='ISO 8601 or duration format (day:minute:seconds) for lock duration 
timespan for the subscription.')
-        c.argument('requires_session', options_list=['--enable-session'], 
arg_type=get_three_state_flag(), help='A boolean value indicating if a 
subscription supports the concept of sessions.')
-        c.argument('default_message_time_to_live', 
validator=_validate_default_message_time_to_live, help='ISO 8601 or duration 
time format for Default message timespan to live value. This is the duration 
after which the message expires, starting from when the message is sent to 
Service Bus. This is the default value used when TimeToLive is not set on a 
message itself.')
-        c.argument('dead_lettering_on_message_expiration', 
options_list=['--enable-dead-lettering-on-message-expiration'], 
arg_type=get_three_state_flag(), help='A boolean Value that indicates whether a 
subscription has dead letter support when a message expires.')
-        c.argument('max_delivery_count', type=int, help='Number of maximum 
deliveries.')
-        c.argument('status', arg_type=get_enum_type(['Active', 'Disabled', 
'SendDisabled', 'ReceiveDisabled']))
-        c.argument('enable_batched_operations', 
arg_type=get_three_state_flag(), help='A boolean value that indicates whether 
server-side batched operations are enabled.')
-        c.argument('auto_delete_on_idle', 
validator=_validate_auto_delete_on_idle, 
options_list=['--auto-delete-on-idle'], help='ISO 8601 timeSpan  or duration 
time format for idle interval after which the topic is automatically deleted. 
The minimum duration is 5 minutes.')
-        c.argument('forward_to', help='Queue/Topic name to forward the 
messages')
-        c.argument('forward_dead_lettered_messages_to', help='Queue/Topic name 
to forward the Dead Letter message')
+    # region - Subscription Create and update
+    for scope in ['create', 'update']:
+        with self.argument_context('servicebus topic subscription 
{}'.format(scope)) as c:
+            c.argument('lock_duration', validator=_validate_lock_duration, 
help='ISO 8601 or duration format (day:minute:seconds) for lock duration 
timespan for the subscription. The default value is 1 minute.')
+            c.argument('requires_session', options_list=['--enable-session'], 
arg_type=get_three_state_flag(), help='A boolean value indicating if a 
subscription supports the concept of sessions.')
+            c.argument('default_message_time_to_live', 
validator=_validate_default_message_time_to_live, help='ISO 8601 or duration 
time format for Default message timespan to live value. This is the duration 
after which the message expires, starting from when the message is sent to 
Service Bus. This is the default value used when TimeToLive is not set on a 
message itself.')
+            c.argument('dead_lettering_on_message_expiration', 
options_list=['--enable-dead-lettering-on-message-expiration'], 
arg_type=get_three_state_flag(), help='A boolean Value that indicates whether a 
subscription has dead letter support when a message expires.')
+            c.argument('max_delivery_count', type=int, help='Number of maximum 
deliveries.')
+            c.argument('status', arg_type=get_enum_type(['Active', 'Disabled', 
'SendDisabled', 'ReceiveDisabled']))
+            c.argument('enable_batched_operations', 
arg_type=get_three_state_flag(), help='Allow server-side batched operations.')
+            c.argument('auto_delete_on_idle', 
validator=_validate_auto_delete_on_idle, 
options_list=['--auto-delete-on-idle'], help='ISO 8601 timeSpan  or duration 
time format for idle interval after which the topic is automatically deleted. 
The minimum duration is 5 minutes.')
+            c.argument('forward_to', help='Queue/Topic name to forward the 
messages')
+            c.argument('forward_dead_lettered_messages_to', help='Queue/Topic 
name to forward the Dead Letter message')
+            c.argument('dead_lettering_on_filter_evaluation_exceptions', 
options_list=['--dead-letter-on-filter-exceptions'], 
arg_type=get_three_state_flag(), help='Allow dead lettering when filter 
evaluation exceptions occur.')
 
     with self.argument_context('servicebus topic subscription list') as c:
         c.argument('namespace_name', options_list=['--namespace-name'], 
id_part=None, help='Name of Namespace')
@@ -255,7 +217,7 @@
         c.argument('alias', options_list=['--alias', '-a'], 
id_part='child_name_1', help='Name of the Geo-Disaster Recovery Configuration 
Alias')
 
     with self.argument_context('servicebus georecovery-alias set') as c:
-        c.argument('partner_namespace', required=True, 
options_list=['--partner-namespace'], validator=validate_partner_namespace, 
help='Name (if within the same resource group) or ARM Id of Primary/Secondary 
eventhub namespace name, which is part of GEO DR pairing')
+        c.argument('partner_namespace', required=True, 
options_list=['--partner-namespace'], validator=validate_partner_namespace, 
help='Name (if within the same resource group) or ARM Id of Primary/Secondary 
Service Bus  namespace name, which is part of GEO DR pairing')
         c.argument('alternate_name', help='Alternate Name (Post failover) for 
Primary Namespace, when Namespace name and Alias name are same')
 
     for scope in ['servicebus georecovery-alias authorization-rule show', 
'servicebus georecovery-alias authorization-rule keys list']:
@@ -273,3 +235,14 @@
         c.argument('alias', options_list=['--alias', '-a'], id_part=None, 
help='Name of Geo-Disaster Recovery Configuration Alias')
         c.argument('namespace_name', options_list=['--namespace-name'], 
id_part=None, help='Name of Namespace')
         c.argument('authorization_rule_name', arg_type=name_type, help='Name 
of Namespace AuthorizationRule')
+
+    # Standard to Premium Migration: Region
+
+    with self.argument_context('servicebus migration start') as c:
+        c.argument('namespace_name', arg_type=name_type, help='Name of 
Standard Namespace used as source of the migration')
+        c.argument('target_namespace', options_list=['--target-namespace'], 
validator=validate_target_namespace, help='Name (if within the same resource 
group) or ARM Id of empty Premium Service Bus namespace name that will be 
target of the migration')
+        c.argument('post_migration_name', 
options_list=['--post-migration-name'], help='Post migration name is the name 
that can be used to connect to standard namespace after migration is complete.')
+
+    for scope in ['show', 'complete', 'abort']:
+        with self.argument_context('servicebus migration {}'.format(scope)) as 
c:
+            c.argument('namespace_name', arg_type=name_type, help='Name of 
Standard Namespace')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/azure-cli-servicebus-0.1.2/azure/cli/command_modules/servicebus/_utils.py 
new/azure-cli-servicebus-0.2.2/azure/cli/command_modules/servicebus/_utils.py
--- 
old/azure-cli-servicebus-0.1.2/azure/cli/command_modules/servicebus/_utils.py   
    2018-04-06 19:33:14.000000000 +0200
+++ 
new/azure-cli-servicebus-0.2.2/azure/cli/command_modules/servicebus/_utils.py   
    2018-08-23 01:07:57.000000000 +0200
@@ -5,7 +5,7 @@
 
 
 def accessrights_converter(accessrights):
-    from azure.mgmt.servicebus.models.service_bus_management_client_enums 
import AccessRights
+    from azure.mgmt.servicebus.models import AccessRights
     accessrights_new = []
     if 'Send' in accessrights:
         accessrights_new.append(AccessRights.send)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/azure-cli-servicebus-0.1.2/azure/cli/command_modules/servicebus/_validators.py
 
new/azure-cli-servicebus-0.2.2/azure/cli/command_modules/servicebus/_validators.py
--- 
old/azure-cli-servicebus-0.1.2/azure/cli/command_modules/servicebus/_validators.py
  2018-04-06 19:33:14.000000000 +0200
+++ 
new/azure-cli-servicebus-0.2.2/azure/cli/command_modules/servicebus/_validators.py
  2018-08-23 01:07:57.000000000 +0200
@@ -75,6 +75,19 @@
                 name=namespace.partner_namespace)
 
 
+def validate_target_namespace(cmd, namespace):
+    from azure.cli.core.commands.client_factory import get_subscription_id
+    from msrestazure.tools import is_valid_resource_id, resource_id
+    if namespace.target_namespace:
+        if not is_valid_resource_id(namespace.target_namespace):
+            namespace.target_namespace = resource_id(
+                subscription=get_subscription_id(cmd.cli_ctx),
+                resource_group=namespace.resource_group_name,
+                namespace='Microsoft.ServiceBus',
+                type='namespaces',
+                name=namespace.target_namespace)
+
+
 def validate_premiumsku_capacity(namespace):
     if namespace.sku and namespace.sku != 'Premium' and namespace.capacity:
         raise CLIError('--capacity - This property is only applicable to 
namespaces of Premium SKU')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/azure-cli-servicebus-0.1.2/azure/cli/command_modules/servicebus/commands.py 
new/azure-cli-servicebus-0.2.2/azure/cli/command_modules/servicebus/commands.py
--- 
old/azure-cli-servicebus-0.1.2/azure/cli/command_modules/servicebus/commands.py 
    2018-04-06 19:33:14.000000000 +0200
+++ 
new/azure-cli-servicebus-0.2.2/azure/cli/command_modules/servicebus/commands.py 
    2018-08-23 01:07:57.000000000 +0200
@@ -12,7 +12,7 @@
 def load_command_table(self, _):
     from azure.cli.command_modules.servicebus._client_factory import 
namespaces_mgmt_client_factory, \
         queues_mgmt_client_factory, topics_mgmt_client_factory, 
subscriptions_mgmt_client_factory, \
-        rules_mgmt_client_factory, disaster_recovery_mgmt_client_factory
+        rules_mgmt_client_factory, disaster_recovery_mgmt_client_factory, 
migration_mgmt_client_factory
     from azure.cli.command_modules.servicebus.custom import empty_on_404
 
     sb_namespace_util = CliCommandType(
@@ -45,12 +45,17 @@
         client_factory=disaster_recovery_mgmt_client_factory
     )
 
+    sb_migration_util = CliCommandType(
+        
operations_tmpl='azure.mgmt.servicebus.operations.migration_configs_operations#MigrationConfigsOperations.{}',
+        client_factory=migration_mgmt_client_factory
+    )
+
 # Namespace Region
     custom_tmpl = 'azure.cli.command_modules.servicebus.custom#{}'
     servicebus_custom = CliCommandType(operations_tmpl=custom_tmpl)
     with self.command_group('servicebus namespace', sb_namespace_util, 
client_factory=namespaces_mgmt_client_factory) as g:
         g.custom_command('create', 'cli_namespace_create')
-        g.command('show', 'get', exception_handler=empty_on_404)
+        g.show_command('show', 'get')
         g.custom_command('list', 'cli_namespace_list', 
exception_handler=empty_on_404)
         g.command('delete', 'delete')
         g.command('exists', 'check_name_availability_method')
@@ -58,7 +63,7 @@
 
     with self.command_group('servicebus namespace authorization-rule', 
sb_namespace_util, client_factory=namespaces_mgmt_client_factory) as g:
         g.command('create', 'create_or_update_authorization_rule',)
-        g.command('show', 'get_authorization_rule', 
exception_handler=empty_on_404)
+        g.show_command('show', 'get_authorization_rule')
         g.command('list', 'list_authorization_rules', 
exception_handler=empty_on_404)
         g.command('keys list', 'list_keys')
         g.command('keys renew', 'regenerate_keys')
@@ -68,14 +73,14 @@
 # Queue Region
     with self.command_group('servicebus queue', sb_queue_util, 
client_factory=queues_mgmt_client_factory) as g:
         g.custom_command('create', 'cli_sbqueue_create')
-        g.command('show', 'get', exception_handler=empty_on_404)
+        g.show_command('show', 'get')
         g.command('list', 'list_by_namespace', exception_handler=empty_on_404)
         g.command('delete', 'delete')
         g.generic_update_command('update', 
custom_func_name='cli_sbqueue_update')
 
     with self.command_group('servicebus queue authorization-rule', 
sb_queue_util, client_factory=queues_mgmt_client_factory) as g:
         g.command('create', 'create_or_update_authorization_rule',)
-        g.command('show', 'get_authorization_rule', 
exception_handler=empty_on_404)
+        g.show_command('show', 'get_authorization_rule')
         g.command('list', 'list_authorization_rules', 
exception_handler=empty_on_404)
         g.command('keys list', 'list_keys')
         g.command('keys renew', 'regenerate_keys')
@@ -85,14 +90,14 @@
 # Topic Region
     with self.command_group('servicebus topic', sb_topic_util, 
client_factory=topics_mgmt_client_factory) as g:
         g.custom_command('create', 'cli_sbtopic_create')
-        g.command('show', 'get', exception_handler=empty_on_404)
+        g.show_command('show', 'get')
         g.command('list', 'list_by_namespace', exception_handler=empty_on_404)
         g.command('delete', 'delete')
         g.generic_update_command('update', 
custom_func_name='cli_sbtopic_update')
 
     with self.command_group('servicebus topic authorization-rule', 
sb_topic_util, client_factory=topics_mgmt_client_factory) as g:
         g.command('create', 'create_or_update_authorization_rule')
-        g.command('show', 'get_authorization_rule', 
exception_handler=empty_on_404)
+        g.show_command('show', 'get_authorization_rule')
         g.command('list', 'list_authorization_rules', 
exception_handler=empty_on_404)
         g.command('keys list', 'list_keys')
         g.command('keys renew', 'regenerate_keys')
@@ -102,7 +107,7 @@
 # Subscription Region
     with self.command_group('servicebus topic subscription', 
sb_subscriptions_util, client_factory=subscriptions_mgmt_client_factory) as g:
         g.custom_command('create', 'cli_sbsubscription_create')
-        g.command('show', 'get', exception_handler=empty_on_404)
+        g.show_command('show', 'get')
         g.command('list', 'list_by_topic', exception_handler=empty_on_404)
         g.command('delete', 'delete')
         g.generic_update_command('update', 
custom_func_name='cli_sbsubscription_update')
@@ -110,7 +115,7 @@
 # Rules Region
     with self.command_group('servicebus topic subscription rule', 
sb_rule_util, client_factory=rules_mgmt_client_factory) as g:
         g.custom_command('create', 'cli_rules_create')
-        g.command('show', 'get', exception_handler=empty_on_404)
+        g.show_command('show', 'get')
         g.command('list', 'list_by_subscriptions', 
exception_handler=empty_on_404)
         g.command('delete', 'delete')
         g.generic_update_command('update', custom_func_name='cli_rules_update')
@@ -118,7 +123,7 @@
 # DisasterRecoveryConfigs Region
     with self.command_group('servicebus georecovery-alias', sb_geodr_util, 
client_factory=disaster_recovery_mgmt_client_factory) as g:
         g.command('set', 'create_or_update')
-        g.command('show', 'get', exception_handler=empty_on_404)
+        g.show_command('show', 'get')
         g.command('list', 'list', exception_handler=empty_on_404)
         g.command('break-pair', 'break_pairing')
         g.command('fail-over', 'fail_over')
@@ -128,5 +133,12 @@
 # DisasterRecoveryConfigs Authorization Region
     with self.command_group('servicebus georecovery-alias authorization-rule', 
sb_geodr_util, client_factory=disaster_recovery_mgmt_client_factory) as g:
         g.command('list', 'list_authorization_rules')
-        g.command('show', 'get_authorization_rule')
+        g.show_command('show', 'get_authorization_rule')
         g.command('keys list', 'list_keys')
+
+# MigrationConfigs Region
+    with self.command_group('servicebus migration', sb_migration_util, 
client_factory=migration_mgmt_client_factory) as g:
+        g.custom_command('start', 'cli_migration_start')
+        g.show_command('show', 'get')
+        g.command('complete', 'complete_migration', 
exception_handler=empty_on_404)
+        g.command('abort', 'revert')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/azure-cli-servicebus-0.1.2/azure/cli/command_modules/servicebus/custom.py 
new/azure-cli-servicebus-0.2.2/azure/cli/command_modules/servicebus/custom.py
--- 
old/azure-cli-servicebus-0.1.2/azure/cli/command_modules/servicebus/custom.py   
    2018-04-06 19:33:14.000000000 +0200
+++ 
new/azure-cli-servicebus-0.2.2/azure/cli/command_modules/servicebus/custom.py   
    2018-08-23 01:07:57.000000000 +0200
@@ -9,6 +9,7 @@
 # pylint: disable=unused-variable
 
 import re
+import time
 
 
 # Namespace Region
@@ -19,12 +20,12 @@
         resource_group_name=resource_group_name,
         namespace_name=namespace_name,
         parameters=SBNamespace(
-            location,
-            tags,
+            location=location,
+            tags=tags,
             sku=SBSku(
-                sku,
-                sku,
-                capacity)
+                name=sku,
+                tier=sku,
+                capacity=capacity)
         )
     )
 
@@ -75,7 +76,7 @@
                        default_message_time_to_live=None, 
dead_lettering_on_message_expiration=None,
                        duplicate_detection_history_time_window=None, 
max_delivery_count=None, status=None,
                        auto_delete_on_idle=None, enable_partitioning=None, 
enable_express=None,
-                       forward_to=None, 
forward_dead_lettered_messages_to=None):
+                       forward_to=None, 
forward_dead_lettered_messages_to=None, enable_batched_operations=None):
 
     from azure.mgmt.servicebus.models import SBQueue
 
@@ -93,7 +94,8 @@
         enable_partitioning=enable_partitioning,
         enable_express=enable_express,
         forward_to=forward_to,
-        forward_dead_lettered_messages_to=forward_dead_lettered_messages_to
+        forward_dead_lettered_messages_to=forward_dead_lettered_messages_to,
+        enable_batched_operations=enable_batched_operations
     )
     return client.create_or_update(
         resource_group_name=resource_group_name,
@@ -107,7 +109,7 @@
                        default_message_time_to_live=None, 
dead_lettering_on_message_expiration=None,
                        duplicate_detection_history_time_window=None, 
max_delivery_count=None, status=None,
                        auto_delete_on_idle=None, enable_partitioning=None, 
enable_express=None,
-                       forward_to=None, 
forward_dead_lettered_messages_to=None):
+                       forward_to=None, 
forward_dead_lettered_messages_to=None, enable_batched_operations=None):
 
     from azure.mgmt.servicebus.models import SBQueue
     returnobj = SBQueue()
@@ -154,6 +156,9 @@
     if forward_dead_lettered_messages_to:
         returnobj.forward_dead_lettered_messages_to = 
forward_dead_lettered_messages_to
 
+    if enable_batched_operations:
+        returnobj.enable_batched_operations = enable_batched_operations
+
     return returnobj
 
 
@@ -229,7 +234,7 @@
 def cli_sbsubscription_create(client, resource_group_name, namespace_name, 
topic_name, subscription_name, lock_duration=None,
                               requires_session=None, 
default_message_time_to_live=None, dead_lettering_on_message_expiration=None,
                               max_delivery_count=None, status=None, 
enable_batched_operations=None,
-                              auto_delete_on_idle=None, forward_to=None, 
forward_dead_lettered_messages_to=None):
+                              auto_delete_on_idle=None, forward_to=None, 
forward_dead_lettered_messages_to=None, 
dead_lettering_on_filter_evaluation_exceptions=None):
 
     from azure.mgmt.servicebus.models import SBSubscription
     subscription_params = SBSubscription(
@@ -242,7 +247,8 @@
         enable_batched_operations=enable_batched_operations,
         auto_delete_on_idle=return_valid_duration_create(auto_delete_on_idle),
         forward_to=forward_to,
-        forward_dead_lettered_messages_to=forward_dead_lettered_messages_to
+        forward_dead_lettered_messages_to=forward_dead_lettered_messages_to,
+        
dead_lettering_on_filter_evaluation_exceptions=dead_lettering_on_filter_evaluation_exceptions
     )
 
     return client.create_or_update(
@@ -257,7 +263,7 @@
                               requires_session=None, 
default_message_time_to_live=None,
                               dead_lettering_on_message_expiration=None,
                               max_delivery_count=None, status=None, 
enable_batched_operations=None,
-                              auto_delete_on_idle=None, forward_to=None, 
forward_dead_lettered_messages_to=None):
+                              auto_delete_on_idle=None, forward_to=None, 
forward_dead_lettered_messages_to=None, 
dead_lettering_on_filter_evaluation_exceptions=None):
     from azure.mgmt.servicebus.models import SBSubscription
     subscription_params = SBSubscription()
 
@@ -290,6 +296,9 @@
     if forward_dead_lettered_messages_to:
         subscription_params.forward_dead_lettered_messages_to = 
forward_dead_lettered_messages_to
 
+    if dead_lettering_on_filter_evaluation_exceptions:
+        subscription_params.dead_lettering_on_filter_evaluation_exceptions = 
dead_lettering_on_filter_evaluation_exceptions
+
     return subscription_params
 
 
@@ -383,6 +392,24 @@
     return instance
 
 
+def cli_migration_start(client, resource_group_name, namespace_name, 
target_namespace, post_migration_name):
+
+    client.create_and_start_migration(resource_group_name, namespace_name, 
target_namespace, post_migration_name)
+    getresponse = client.get(resource_group_name, namespace_name)
+
+    # pool till Provisioning state is succeeded
+    while getresponse.provisioning_state != 'Succeeded':
+        time.sleep(30)
+        getresponse = client.get(resource_group_name, namespace_name)
+
+    # poll on the 'pendingReplicationOperationsCount' to be 0 or none
+    while getresponse.pending_replication_operations_count != 0 and 
getresponse.pending_replication_operations_count is not None:
+        time.sleep(30)
+        getresponse = client.get(resource_group_name, namespace_name)
+
+    return client.get(resource_group_name, namespace_name)
+
+
 def empty_on_404(ex):
     from azure.mgmt.servicebus.models import ErrorResponseException
     if isinstance(ex, ErrorResponseException) and ex.response.status_code == 
404:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/azure-cli-servicebus-0.1.2/azure_cli_servicebus.egg-info/PKG-INFO 
new/azure-cli-servicebus-0.2.2/azure_cli_servicebus.egg-info/PKG-INFO
--- old/azure-cli-servicebus-0.1.2/azure_cli_servicebus.egg-info/PKG-INFO       
2018-04-06 19:33:29.000000000 +0200
+++ new/azure-cli-servicebus-0.2.2/azure_cli_servicebus.egg-info/PKG-INFO       
2018-08-23 01:09:43.000000000 +0200
@@ -1,12 +1,11 @@
 Metadata-Version: 1.1
 Name: azure-cli-servicebus
-Version: 0.1.2
+Version: 0.2.2
 Summary: Microsoft Azure Command-Line Tools Service Bus Command Module
 Home-page: https://github.com/Azure/azure-cli
 Author: Microsoft Corporation
 Author-email: [email protected]
 License: MIT
-Description-Content-Type: UNKNOWN
 Description: Microsoft Azure CLI 'servicebus' Command Module
         =======================================================
         
@@ -21,6 +20,26 @@
         Release History
         ===============
         
+        0.2.2
+        +++++
+        * Minor fixes
+        
+        0.2.1
+        +++++
+        * Added migration command group to migrate a namespace from Service 
Bus Standard to Premium
+        
+        * Added new optional properties to Service Bus queue and Subscription
+            --enable-batched-operations and 
--enable-dead-lettering-on-message-expiration in queue
+            --dead-letter-on-filter-exceptions in subscriptions
+        
+        0.2.0
+        +++++
+        * BREAKING CHANGE: 'show' commands log error message and fail with 
exit code of 3 upon a missing resource.
+        
+        0.1.3
+        ++++++
+        * Minor fixes.
+        
         0.1.2
         ++++++
         
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/azure-cli-servicebus-0.1.2/azure_cli_servicebus.egg-info/requires.txt 
new/azure-cli-servicebus-0.2.2/azure_cli_servicebus.egg-info/requires.txt
--- old/azure-cli-servicebus-0.1.2/azure_cli_servicebus.egg-info/requires.txt   
2018-04-06 19:33:29.000000000 +0200
+++ new/azure-cli-servicebus-0.2.2/azure_cli_servicebus.egg-info/requires.txt   
2018-08-23 01:09:43.000000000 +0200
@@ -1,3 +1,3 @@
 azure-cli-core
 six
-azure-mgmt-servicebus==0.4.0
+azure-mgmt-servicebus==0.5.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/azure-cli-servicebus-0.1.2/setup.py 
new/azure-cli-servicebus-0.2.2/setup.py
--- old/azure-cli-servicebus-0.1.2/setup.py     2018-04-06 19:33:14.000000000 
+0200
+++ new/azure-cli-servicebus-0.2.2/setup.py     2018-08-23 01:07:57.000000000 
+0200
@@ -13,7 +13,8 @@
     logger.warn("Wheel is not available, disabling bdist_wheel hook")
     cmdclass = {}
 
-VERSION = "0.1.2"
+VERSION = "0.2.2"
+
 
 # The full list of classifiers is available at
 # https://pypi.python.org/pypi?%3Aaction=list_classifiers
@@ -34,7 +35,7 @@
 DEPENDENCIES = [
     'azure-cli-core',
     'six',
-    'azure-mgmt-servicebus==0.4.0',
+    'azure-mgmt-servicebus==0.5.1',
 ]
 
 with open('README.rst', 'r', encoding='utf-8') as f:


Reply via email to