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
+
+- 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: azpycli@microsoft.com
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: azpycli@microsoft.com
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: