Create VPN connection

Create route

Create vnet gateway root cert

Add support for custom update params.  Add address-prefix update param for vpn-gateway.

Create/delete root and revoked certs

Create express route circuit

create express route peering

create express route authorization

Merge changes from master

Add tests for VPN gateway and connection

code review feedback
This commit is contained in:
Burt Bielicki 2016-08-16 10:18:19 -07:00 коммит произвёл GitHub
Родитель dcb3de8b48
Коммит 05ed5812e3
77 изменённых файлов: 10095 добавлений и 582 удалений

Просмотреть файл

@ -90,6 +90,44 @@
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_app_gateway\lib\version.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_app_gateway\lib\__init__.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_app_gateway\__init__.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_express_route_circuit\lib\credentials.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_express_route_circuit\lib\exceptions.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_express_route_circuit\lib\express_route_circuit_creation_client.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_express_route_circuit\lib\models\basic_dependency.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_express_route_circuit\lib\models\dependency.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_express_route_circuit\lib\models\deployment_express_route_circuit.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_express_route_circuit\lib\models\deployment_extended.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_express_route_circuit\lib\models\deployment_properties_extended.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_express_route_circuit\lib\models\express_route_circuit_creation_client_enums.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_express_route_circuit\lib\models\parameters_link.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_express_route_circuit\lib\models\provider.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_express_route_circuit\lib\models\provider_resource_type.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_express_route_circuit\lib\models\template_link.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_express_route_circuit\lib\models\__init__.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_express_route_circuit\lib\operations\express_route_circuit_operations.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_express_route_circuit\lib\operations\__init__.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_express_route_circuit\lib\version.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_express_route_circuit\lib\__init__.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_express_route_circuit\__init__.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_express_route_peering\lib\credentials.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_express_route_peering\lib\exceptions.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_express_route_peering\lib\express_route_peering_creation_client.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_express_route_peering\lib\models\basic_dependency.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_express_route_peering\lib\models\dependency.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_express_route_peering\lib\models\deployment_express_route_peering.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_express_route_peering\lib\models\deployment_extended.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_express_route_peering\lib\models\deployment_properties_extended.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_express_route_peering\lib\models\express_route_peering_creation_client_enums.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_express_route_peering\lib\models\parameters_link.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_express_route_peering\lib\models\provider.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_express_route_peering\lib\models\provider_resource_type.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_express_route_peering\lib\models\template_link.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_express_route_peering\lib\models\__init__.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_express_route_peering\lib\operations\express_route_peering_operations.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_express_route_peering\lib\operations\__init__.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_express_route_peering\lib\version.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_express_route_peering\lib\__init__.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_express_route_peering\__init__.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_local_gateway\lib\credentials.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_local_gateway\lib\exceptions.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_local_gateway\lib\local_gateway_creation_client.py" />
@ -186,6 +224,25 @@
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_vnet_gateway\lib\vnet_gateway_creation_client.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_vnet_gateway\lib\__init__.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_vnet_gateway\__init__.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_vpn_connection\lib\credentials.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_vpn_connection\lib\exceptions.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_vpn_connection\lib\models\basic_dependency.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_vpn_connection\lib\models\dependency.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_vpn_connection\lib\models\deployment_extended.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_vpn_connection\lib\models\deployment_properties_extended.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_vpn_connection\lib\models\deployment_vpn_connection.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_vpn_connection\lib\models\parameters_link.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_vpn_connection\lib\models\provider.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_vpn_connection\lib\models\provider_resource_type.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_vpn_connection\lib\models\template_link.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_vpn_connection\lib\models\vpn_connection_creation_client_enums.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_vpn_connection\lib\models\__init__.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_vpn_connection\lib\operations\vpn_connection_operations.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_vpn_connection\lib\operations\__init__.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_vpn_connection\lib\version.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_vpn_connection\lib\vpn_connection_creation_client.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_vpn_connection\lib\__init__.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_vpn_connection\__init__.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\tests\test_network_commands.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\_factory.py" />
<Compile Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_nsg\lib\credentials.py" />
@ -535,6 +592,12 @@
<Folder Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_app_gateway\lib\" />
<Folder Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_app_gateway\lib\models\" />
<Folder Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_app_gateway\lib\operations\" />
<Folder Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_express_route_circuit\lib\" />
<Folder Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_express_route_circuit\lib\models\" />
<Folder Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_express_route_circuit\lib\operations\" />
<Folder Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_express_route_peering\lib\" />
<Folder Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_express_route_peering\lib\models\" />
<Folder Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_express_route_peering\lib\operations\" />
<Folder Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_local_gateway\lib\" />
<Folder Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_local_gateway\lib\models\" />
<Folder Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_local_gateway\lib\operations\" />
@ -558,6 +621,12 @@
<Folder Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_vnet_gateway\lib\operations\" />
<Folder Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_local_gateway\" />
<Folder Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_route_table\" />
<Folder Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_vpn_connection\" />
<Folder Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_vpn_connection\lib\" />
<Folder Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_vpn_connection\lib\models\" />
<Folder Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_vpn_connection\lib\operations\" />
<Folder Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_express_route_circuit\" />
<Folder Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_express_route_peering\" />
<Folder Include="command_modules\azure-cli-redis\" />
<Folder Include="command_modules\azure-cli-redis\azure\" />
<Folder Include="command_modules\azure-cli-redis\azure\cli\" />
@ -654,6 +723,10 @@
<Content Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_app_gateway\swagger_create_app_gateway.json" />
<Content Include="command_modules\azure-cli-feedback\README.rst" />
<Content Include="command_modules\azure-cli-feedback\requirements.txt" />
<Content Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_express_route_circuit\azuredeploy.json" />
<Content Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_express_route_circuit\swagger_create_express_route_circuit.json" />
<Content Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_express_route_peering\azuredeploy.json" />
<Content Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_express_route_peering\swagger_create_express_route_peering.json" />
<Content Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_lb\azuredeploy_empty.json" />
<Content Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_lb\azuredeploy_test.md" />
<Content Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_lb\swagger_create_lb.json" />
@ -681,6 +754,8 @@
<Content Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_lb\azuredeploy.json" />
<Content Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_vnet_gateway\azuredeploy.json" />
<Content Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_vnet_gateway\swagger_create_vnet_gateway.json" />
<Content Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_vpn_connection\azuredeploy.json" />
<Content Include="command_modules\azure-cli-network\azure\cli\command_modules\network\mgmt_vpn_connection\swagger_create_vpn_connection.json" />
<Content Include="command_modules\azure-cli-network\requirements.txt" />
<Content Include="command_modules\azure-cli-profile\requirements.txt" />
<Content Include="command_modules\azure-cli-redis\README.rst" />

Просмотреть файл

@ -37,7 +37,7 @@ def _upload_templates(name, api_version, path, dir=None):
blob_dest = 'Create{}_{}/{}/{}'.format(name, api_version, dir, item)
else:
blob_dest = 'Create{}_{}/{}'.format(name, api_version, item)
cmd = 'az storage blob upload -n {0} --account-name {1} --type block --account-key {2} --container-name {3} --upload-from {4} --subscription {5}'.format(
cmd = 'az storage blob upload -n {0} --account-name {1} --type block --account-key {2} --container-name {3} --file {4} --subscription {5}'.format(
blob_dest, STORAGE_ACCOUNT_NAME, STORAGE_ACCOUNT_KEY, TEMPLATE_CONTAINER_NAME, blob_src, SUBSCRIPTION_ID
)
print('\nUPLOADING {}...'.format(blob_dest))

Просмотреть файл

@ -155,13 +155,13 @@ def add_id_parameters(command_table):
APPLICATION.register(APPLICATION.COMMAND_TABLE_LOADED, add_id_parameters)
def register_generic_update(name, getter, setter, factory=None, setter_arg_name='parameters', #pylint:disable=too-many-arguments
simple_output_query=None):
simple_output_query=None, custom_handlers=None):
get_arguments = dict(extract_args_from_signature(getter))
set_arguments = dict(extract_args_from_signature(setter))
def handler(args):
ordered_arguments = args.pop('ordered_arguments')
ordered_arguments = args.pop('ordered_arguments') if 'ordered_arguments' in args else []
try:
client = factory() if factory else None
@ -172,12 +172,19 @@ def register_generic_update(name, getter, setter, factory=None, setter_arg_name=
if key in get_arguments}
instance = getter(client, **getterargs) if client else getter(**getterargs)
for k in args.copy().keys():
if k in get_arguments or k in set_arguments \
or k in ('properties_to_add', 'properties_to_remove', 'properties_to_set'):
args.pop(k)
for key, val in args.items():
ordered_arguments.append((key, val))
# Update properties
for arg in ordered_arguments:
arg_type, expressions = arg
arg_type, arg_values = arg
if arg_type == '--set':
try:
for expression in expressions:
for expression in arg_values:
set_properties(instance, expression)
except ValueError:
raise CLIError('--set should be of the form:'
@ -185,19 +192,19 @@ def register_generic_update(name, getter, setter, factory=None, setter_arg_name=
' property2.property=<value>')
elif arg_type == '--add':
try:
add_properties(instance, expressions)
add_properties(instance, arg_values)
except ValueError:
raise CLIError('--add should be of the form:'
' --add property.list key1=value1 key2=value2')
elif arg_type == '--remove':
try:
remove_properties(instance, expressions)
remove_properties(instance, arg_values)
except ValueError:
raise CLIError('--remove should be of the form: --remove'
' property.propertyToRemove or'
' --remove property.list <indexToRemove>')
else:
raise ValueError('Unsupported arg type {}'.format(arg_type))
custom_handlers[arg_type](instance, arg_type, arg_values)
# Done... update the instance!
getterargs[setter_arg_name] = instance
@ -210,10 +217,6 @@ def register_generic_update(name, getter, setter, factory=None, setter_arg_name=
setattr(namespace, 'ordered_arguments', [])
namespace.ordered_arguments.append((option_string, values))
def one_required(namespace):
if not getattr(namespace, 'ordered_arguments', None):
raise ValueError('At least one must be specified: --add, --set, --remove')
cmd = CliCommand(name, handler, simple_output_query=simple_output_query)
cmd.arguments.update(set_arguments)
cmd.arguments.update(get_arguments)
@ -228,8 +231,7 @@ def register_generic_update(name, getter, setter, factory=None, setter_arg_name=
metavar='LIST KEY=VALUE')
cmd.add_argument('properties_to_remove', '--remove', nargs='+', action=OrderedArgsAction,
default=[], help='Remove a property or an element from a list. Example: '
'--remove property.list <index>', metavar='LIST INDEX',
validator=one_required)
'--remove property.list <index>', metavar='LIST INDEX')
main_command_table[name] = cmd
index_regex = re.compile(r'\[(.*)\]')

Просмотреть файл

@ -88,7 +88,7 @@ deployment_name_type = CliArgumentType(
)
quotes = '""' if platform.system() == 'Windows' else "''"
quote_text = 'Use {} for none.'.format(quotes)
quote_text = 'Use {} to clear existing tags.'.format(quotes)
tags_type = CliArgumentType(
type=validate_tags,

Просмотреть файл

@ -45,7 +45,7 @@ def register_folded_cli_argument(scope, base_name, resource_type, parent_name=No
quote_text = ' Use {} for none.'.format(quotes) if allow_none else ''
flag_texts = {
new_flag_value: ' Creates new by default.{}'.format(quote_text),
existing_id_flag_value: ' Uses existing by default.{}'
existing_id_flag_value: ' Uses existing resource.{}'
.format(quote_text),
none_flag_value: ' None by default.'
}

Просмотреть файл

@ -6,11 +6,12 @@
# pylint: disable=line-too-long
import argparse
from azure.mgmt.network.models import IPAllocationMethod
from azure.mgmt.network.models import IPAllocationMethod, RouteNextHopType
from azure.mgmt.network.models.network_management_client_enums import \
(ApplicationGatewaySkuName, ApplicationGatewayCookieBasedAffinity,
ApplicationGatewayTier, ApplicationGatewayProtocol,
ApplicationGatewayRequestRoutingRuleType)
ApplicationGatewayRequestRoutingRuleType, ExpressRouteCircuitSkuFamily,
ExpressRouteCircuitSkuTier, ExpressRouteCircuitPeeringType)
from azure.cli.commands import CliArgumentType, register_cli_argument, register_extra_cli_argument
from azure.cli.commands.parameters import (location_type, get_resource_name_completion_list,
@ -27,7 +28,7 @@ from azure.cli.command_modules.network._validators import \
validate_subnet_name_or_id, validate_public_ip_name_or_id, validate_nsg_name_or_id,
validate_inbound_nat_rule_id_list, validate_address_pool_id_list,
validate_inbound_nat_rule_name_or_id, validate_address_pool_name_or_id,
validate_servers, validate_cert, validate_address_prefixes)
validate_servers, validate_cert, validate_address_prefixes, load_cert_file, vnet_gateway_validator)
from azure.cli.command_modules.network.mgmt_nic.lib.models.nic_creation_client_enums import privateIpAddressVersion
from azure.cli.command_modules.network.mgmt_vnet_gateway.lib.models.vnet_gateway_creation_client_enums import \
(gatewayType, sku, vpnType)
@ -194,15 +195,20 @@ register_cli_argument('network application-gateway url-path-map rule', 'address_
register_cli_argument('network application-gateway url-path-map rule', 'http_settings', help='The name or ID of the HTTP settings. If not specified, the default for the map will be used.', completer=get_ag_subresource_completion_list('backend_http_settings_collection'))
# Express Route Circuit Auth
register_cli_argument('network express-route circuit-auth', 'authorization_name', name_arg_type)
register_cli_argument('network express-route circuit-peering', 'peering_name', name_arg_type)
register_cli_argument('network express-route circuit', 'circuit_name', name_arg_type, completer=get_resource_name_completion_list('Microsoft.Network/expressRouteCircuits'))
register_cli_argument('network express-route circuit-auth', 'authorization_name', name_arg_type, id_part='child_name', help='Authorization name')
register_cli_argument('network express-route circuit-auth', 'circuit_name', completer=get_resource_name_completion_list('Microsoft.Network/expressRouteCircuits'), id_part='name', help='Circuit name.')
register_cli_argument('network express-route circuit-auth', 'authorization_key', help='Authorization key.')
# Express Route Circuit Peering
register_cli_argument('network express-route circuit-peering', 'peering_name', name_arg_type, id_part='child_name')
register_cli_argument('network express-route circuit-peering', 'peering_type', completer=get_enum_type_completion_list(ExpressRouteCircuitPeeringType))
register_cli_argument('network express-route circuit-peering', 'sku_family', completer=get_enum_type_completion_list(ExpressRouteCircuitSkuFamily))
register_cli_argument('network express-route circuit-peering', 'sku_tier', completer=get_enum_type_completion_list(ExpressRouteCircuitSkuTier))
# Express Route Circuit
register_cli_argument('network express-route circuit', 'circuit_name', name_arg_type, completer=get_resource_name_completion_list('Microsoft.Network/expressRouteCircuits'), id_part='name')
register_cli_argument('network express-route circuit', 'sku_family', completer=get_enum_type_completion_list(ExpressRouteCircuitSkuFamily))
register_cli_argument('network express-route circuit', 'sku_tier', completer=get_enum_type_completion_list(ExpressRouteCircuitSkuTier))
# Local Gateway
register_cli_argument('network local-gateway', 'local_network_gateway_name', name_arg_type, completer=get_resource_name_completion_list('Microsoft.Network/localNetworkGateways'), id_part='name')
@ -268,8 +274,9 @@ register_cli_argument('network public-ip create', 'public_ip_address_type', CliA
register_cli_argument('network public-ip create', 'allocation_method', CliArgumentType(choices=choices_ip_allocation_method, type=str.lower))
# Route Operation
register_cli_argument('network route-table route', 'route_name', name_arg_type, id_part='child_name')
register_cli_argument('network route-table route', 'route_table_name', options_list=('--route-table-name',))
register_cli_argument('network route-table route', 'route_name', name_arg_type, id_part='child_name', help='Route name')
register_cli_argument('network route-table route', 'route_table_name', options_list=('--route-table-name',), help='Route table name')
register_cli_argument('network route-table route', 'next_hop_type', choices=get_enum_choices(RouteNextHopType))
# Route table
register_cli_argument('network route-table', 'route_table_name', name_arg_type, completer=get_resource_name_completion_list('Microsoft.Network/routeTables'), id_part='name')
@ -339,9 +346,16 @@ register_cli_argument('network vpn-gateway create', 'gateway_type', choices=get_
register_cli_argument('network vpn-gateway create', 'sku', choices=get_enum_choices(sku))
register_cli_argument('network vpn-gateway create', 'vpn_type', choices=get_enum_choices(vpnType))
register_folded_cli_argument('network vpn-gateway create', 'public_ip_address', 'Microsoft.Network/publicIPAddresses', default_value_flag='existingId', allow_none=False, required=True)
register_cli_argument('network vpn-gateway', 'cert_name', help='Root certificate name', options_list=('--name', '-n'))
register_cli_argument('network vpn-gateway', 'gateway_name', help='Virtual network gateway name')
register_cli_argument('network vpn-gateway root-cert create', 'public_cert_data', help='Base64 contents of the root certificate file or file path.', validator=load_cert_file('public_cert_data'))
register_cli_argument('network vpn-gateway revoked-cert create', 'thumbprint', help='Certificate thumbprint.')
register_extra_cli_argument('network vpn-gateway update', 'address_prefixes', options_list=('--address-prefixes',), help='List of address prefixes for the VPN gateway. Prerequisite for uploading certificates.', nargs='+')
# VPN connection
register_cli_argument('network vpn-connection', 'virtual_network_gateway_connection_name', CliArgumentType(options_list=('--name', '-n'), metavar='NAME', id_part='name'))
register_cli_argument('network vpn-connection create', 'connection_type', help=argparse.SUPPRESS, validator=vnet_gateway_validator, required=False)
register_cli_argument('network vpn-connection create', 'shared_key', validator=load_cert_file('shared_key'), help='Shared IPSec key, base64 contents of the certificate file or file path.')
# VPN connection shared key
register_cli_argument('network vpn-connection shared-key', 'connection_shared_key_name', CliArgumentType(options_list=('--name', '-n')), id_part='name')

Просмотреть файл

@ -6,6 +6,7 @@
import argparse
import base64
import socket
import os
from azure.cli.commands.arm import is_valid_resource_id, resource_id
from azure.cli._util import CLIError
@ -81,6 +82,15 @@ def validate_address_prefixes(namespace):
raise CLIError('Existing subnet ({}) found. Cannot specify address prefixes when '
'reusing an existing subnet.'.format(namespace.subnet))
def read_base_64_file(filename):
with open(filename, 'rb') as f:
contents = f.read()
base64_data = base64.b64encode(contents)
try:
return base64_data.decode('utf-8')
except UnicodeDecodeError:
return str(base64_data)
def validate_cert(namespace):
if namespace.http_listener_protocol:
@ -99,13 +109,7 @@ def validate_cert(namespace):
None, 'To use SSL certificate, you must specify both the filename and password')
# extract the certificate data from the provided file
with open(namespace.cert_data, 'rb') as f:
contents = f.read()
base64_data = base64.b64encode(contents)
try:
namespace.cert_data = base64_data.decode('utf-8')
except UnicodeDecodeError:
namespace.cert_data = str(base64_data)
namespace.cert_data = read_base_64_file(namespace.cert_data)
try:
# change default to frontend port 443 for https
@ -308,6 +312,29 @@ def process_public_ip_create_namespace(namespace):
if namespace.dns_name:
namespace.public_ip_address_type = 'dns'
def load_cert_file(param_name):
def load_cert_validator(namespace):
attr = getattr(namespace, param_name)
if attr and os.path.isfile(attr):
setattr(namespace, param_name, read_base_64_file(attr))
return load_cert_validator
def vnet_gateway_validator(namespace):
args = [a for a in [namespace.express_route_circuit2_id,
namespace.local_gateway2_id,
namespace.vnet_gateway2_id]
if a]
if len(args) != 1:
raise argparse.ArgumentError(None, 'Specify only one option for express-route-circuit2,'
' local-gateway2-id or vnet-gateway2-id')
if namespace.express_route_circuit2_id:
namespace.connection_type = 'ExpressRoute'
elif namespace.local_gateway2_id:
namespace.connection_type = 'IPSec'
elif namespace.vnet_gateway2_id:
namespace.connection_type = 'Vnet2Vnet'
# ACTIONS
class markSpecifiedAction(argparse.Action): # pylint: disable=too-few-public-methods

Просмотреть файл

@ -7,7 +7,8 @@
from azure.mgmt.network.models import \
(Subnet, SecurityRule, PublicIPAddress, NetworkSecurityGroup, InboundNatRule, InboundNatPool,
FrontendIPConfiguration, BackendAddressPool, Probe, LoadBalancingRule,
NetworkInterfaceIPConfiguration, SubResource)
NetworkInterfaceIPConfiguration, Route, VpnClientRootCertificate, VpnClientConfiguration,
AddressSpace, VpnClientRevokedCertificate, ExpressRouteCircuitAuthorization, SubResource)
from azure.cli._util import CLIError
from azure.cli.command_modules.network._factory import _network_client_factory
@ -718,4 +719,92 @@ def update_subnet(resource_group_name, virtual_network_name, subnet_name,
return ncf.subnets.create_or_update(resource_group_name, virtual_network_name,
subnet_name, subnet)
update_nsg_rule.__doc__ = SecurityRule.__doc__
def create_route(resource_group_name, route_table_name, route_name, next_hop_type, address_prefix,
next_hop_ip_address=None):
route = Route(next_hop_type, None, address_prefix, next_hop_ip_address, None, route_name)
ncf = _network_client_factory()
return ncf.routes.create_or_update(resource_group_name, route_table_name, route_name, route)
create_route.__doc__ = Route.__doc__
def create_vpn_gateway_root_cert(resource_group_name, gateway_name, public_cert_data, cert_name):
config, gateway, ncf = _prep_cert_create(gateway_name, resource_group_name)
cert = VpnClientRootCertificate(name=cert_name, public_cert_data=public_cert_data)
config.vpn_client_root_certificates.append(cert)
return ncf.create_or_update(resource_group_name, gateway_name, gateway)
def delete_vpn_gateway_root_cert(resource_group_name, gateway_name, cert_name):
ncf = _network_client_factory().virtual_network_gateways
gateway = ncf.get(resource_group_name, gateway_name)
config = gateway.vpn_client_configuration
try:
cert = next(c for c in config.vpn_client_root_certificates if c.name == cert_name)
except (AttributeError, StopIteration):
raise CLIError('Certificate "{}" not found in gateway "{}"'.format(cert_name, gateway_name))
config.vpn_client_root_certificates.remove(cert)
return ncf.create_or_update(resource_group_name, gateway_name, gateway)
def create_vpn_gateway_revoked_cert(resource_group_name, gateway_name, thumbprint, cert_name):
config, gateway, ncf = _prep_cert_create(gateway_name, resource_group_name)
cert = VpnClientRevokedCertificate(name=cert_name, thumbprint=thumbprint)
config.vpn_client_revoked_certificates.append(cert)
return ncf.create_or_update(resource_group_name, gateway_name, gateway)
def delete_vpn_gateway_revoked_cert(resource_group_name, gateway_name, cert_name):
ncf = _network_client_factory().virtual_network_gateways
gateway = ncf.get(resource_group_name, gateway_name)
config = gateway.vpn_client_configuration
try:
cert = next(c for c in config.vpn_client_revoked_certificates if c.name == cert_name)
except (AttributeError, StopIteration):
raise CLIError('Certificate "{}" not found in gateway "{}"'.format(cert_name, gateway_name))
config.vpn_client_revoked_certificates.remove(cert)
return ncf.create_or_update(resource_group_name, gateway_name, gateway)
def _prep_cert_create(gateway_name, resource_group_name):
ncf = _network_client_factory().virtual_network_gateways
gateway = ncf.get(resource_group_name, gateway_name)
if not gateway.vpn_client_configuration:
gateway.vpn_client_configuration = VpnClientConfiguration()
config = gateway.vpn_client_configuration
if not config.vpn_client_address_pool or not config.vpn_client_address_pool.address_prefixes:
raise CLIError('Address prefixes must be set on VPN gateways before adding'
' certificates. Please use "update" with --address-prefixes first.')
if config.vpn_client_revoked_certificates is None:
config.vpn_client_revoked_certificates = []
if config.vpn_client_root_certificates is None:
config.vpn_client_root_certificates = []
return config, gateway, ncf
def handle_address_prefixes(instance, _, arg_value):
gateway = instance
if not gateway.vpn_client_configuration:
gateway.vpn_client_configuration = VpnClientConfiguration()
config = gateway.vpn_client_configuration
if not config.vpn_client_address_pool:
config.vpn_client_address_pool = AddressSpace()
if not config.vpn_client_address_pool.address_prefixes:
config.vpn_client_address_pool.address_prefixes = []
config.vpn_client_address_pool.address_prefixes = arg_value
def create_express_route_auth(resource_group_name, circuit_name, authorization_name,
authorization_key):
ncf = _network_client_factory().express_route_circuit_authorizations
auth = ExpressRouteCircuitAuthorization(authorization_key=authorization_key)
return ncf.create_or_update(resource_group_name, circuit_name, authorization_name, auth)
#endregion

Просмотреть файл

@ -51,6 +51,18 @@ from azure.cli.command_modules.network.mgmt_local_gateway.lib \
from azure.cli.command_modules.network.mgmt_route_table.lib.operations import RouteTableOperations
from azure.cli.command_modules.network.mgmt_route_table.lib \
import RouteTableCreationClient as RouteTableClient
from azure.cli.command_modules.network.mgmt_vpn_connection.lib.operations \
import VpnConnectionOperations
from azure.cli.command_modules.network.mgmt_vpn_connection.lib \
import VpnConnectionCreationClient as VpnConnectionClient
from azure.cli.command_modules.network.mgmt_express_route_circuit.lib.operations \
import ExpressRouteCircuitOperations
from azure.cli.command_modules.network.mgmt_express_route_circuit.lib \
import ExpressRouteCircuitCreationClient as ExpressRouteCircuitClient
from azure.cli.command_modules.network.mgmt_express_route_peering.lib.operations \
import ExpressRoutePeeringOperations
from azure.cli.command_modules.network.mgmt_express_route_peering.lib \
import ExpressRoutePeeringCreationClient as ExpressRoutePeeringClient
from azure.cli.commands import DeploymentOutputLongRunningOperation, cli_command
@ -81,8 +93,9 @@ from .custom import \
list_network_resource_property, get_network_resource_property_entry,
delete_network_resource_property_entry,
list_application_gateways, list_express_route_circuits, list_lbs, list_nics, list_nsgs,
list_public_ips, list_route_tables, list_vnet
)
list_public_ips, list_route_tables, list_vnet, create_route,
handle_address_prefixes, create_vpn_gateway_root_cert, delete_vpn_gateway_root_cert,
create_vpn_gateway_revoked_cert, delete_vpn_gateway_revoked_cert, create_express_route_auth)
from ._factory import _network_client_factory
# pylint: disable=line-too-long
@ -132,6 +145,7 @@ cli_command('network express-route circuit-auth delete', ExpressRouteCircuitAuth
cli_command('network express-route circuit-auth show', ExpressRouteCircuitAuthorizationsOperations.get, factory)
cli_command('network express-route circuit-auth list', ExpressRouteCircuitAuthorizationsOperations.list, factory)
register_generic_update('network express-route circuit-auth update', ExpressRouteCircuitAuthorizationsOperations.get, ExpressRouteCircuitAuthorizationsOperations.create_or_update, factory)
cli_command('network express-route circuit-auth create', create_express_route_auth)
# ExpressRouteCircuitPeeringsOperations
factory = lambda _: _network_client_factory().express_route_circuit_peerings
@ -140,6 +154,9 @@ cli_command('network express-route circuit-peering show', ExpressRouteCircuitPee
cli_command('network express-route circuit-peering list', ExpressRouteCircuitPeeringsOperations.list, factory)
register_generic_update('network express-route circuit-peering update', ExpressRouteCircuitPeeringsOperations.get, ExpressRouteCircuitPeeringsOperations.create_or_update, factory)
factory = lambda _: get_mgmt_service_client(ExpressRoutePeeringClient).express_route_peering
cli_command('network express-route circuit-peering create', ExpressRoutePeeringOperations.create_or_update, factory, transform=DeploymentOutputLongRunningOperation('Starting network express-route circuit-peering create'))
# ExpressRouteCircuitsOperations
factory = lambda _: _network_client_factory().express_route_circuits
cli_command('network express-route circuit delete', ExpressRouteCircuitsOperations.delete, factory)
@ -150,6 +167,9 @@ cli_command('network express-route circuit list-routes', ExpressRouteCircuitsOpe
cli_command('network express-route circuit list', list_express_route_circuits)
register_generic_update('network express-route circuit update', ExpressRouteCircuitsOperations.get, ExpressRouteCircuitsOperations.create_or_update, factory)
factory = lambda _: get_mgmt_service_client(ExpressRouteCircuitClient).express_route_circuit
cli_command('network express-route circuit create', ExpressRouteCircuitOperations.create_or_update, factory, transform=DeploymentOutputLongRunningOperation('Starting network express-route circuit create'))
# ExpressRouteServiceProvidersOperations
factory = lambda _: _network_client_factory().express_route_service_providers
cli_command('network express-route service-provider list', ExpressRouteServiceProvidersOperations.list, factory)
@ -262,6 +282,7 @@ cli_command('network route-table route delete', RoutesOperations.delete, factory
cli_command('network route-table route show', RoutesOperations.get, factory)
cli_command('network route-table route list', RoutesOperations.list, factory)
register_generic_update('network route-table route update', RoutesOperations.get, RoutesOperations.create_or_update, factory)
cli_command('network route-table route create', create_route)
# SecurityRulesOperations
factory = lambda _: _network_client_factory().security_rules
@ -293,13 +314,21 @@ cli_command('network vpn-connection shared-key show', VirtualNetworkGatewayConne
cli_command('network vpn-connection shared-key reset', VirtualNetworkGatewayConnectionsOperations.reset_shared_key, factory)
cli_command('network vpn-connection shared-key update', VirtualNetworkGatewayConnectionsOperations.set_shared_key, factory)
factory = lambda _: get_mgmt_service_client(VpnConnectionClient).vpn_connection
cli_command('network vpn-connection create', VpnConnectionOperations.create_or_update, factory, transform=DeploymentOutputLongRunningOperation('Starting network vpn-connection create'))
# VirtualNetworkGatewaysOperations
factory = lambda _: _network_client_factory().virtual_network_gateways
cli_command('network vpn-gateway delete', VirtualNetworkGatewaysOperations.delete, factory)
cli_command('network vpn-gateway show', VirtualNetworkGatewaysOperations.get, factory)
cli_command('network vpn-gateway list', VirtualNetworkGatewaysOperations.list, factory)
cli_command('network vpn-gateway reset', VirtualNetworkGatewaysOperations.reset, factory)
register_generic_update('network vpn-gateway update', VirtualNetworkGatewaysOperations.get, VirtualNetworkGatewaysOperations.create_or_update, factory)
register_generic_update('network vpn-gateway update', VirtualNetworkGatewaysOperations.get, VirtualNetworkGatewaysOperations.create_or_update, factory,
custom_handlers={'address_prefixes': handle_address_prefixes})
cli_command('network vpn-gateway root-cert create', create_vpn_gateway_root_cert)
cli_command('network vpn-gateway root-cert delete', delete_vpn_gateway_root_cert)
cli_command('network vpn-gateway revoked-cert create', create_vpn_gateway_revoked_cert)
cli_command('network vpn-gateway revoked-cert delete', delete_vpn_gateway_revoked_cert)
factory = lambda _: get_mgmt_service_client(VnetGatewayClient).vnet_gateway
cli_command('network vpn-gateway create', VnetGatewayOperations.create_or_update, factory, transform=DeploymentOutputLongRunningOperation('Starting network vnet-gateway create'))

Просмотреть файл

@ -0,0 +1,8 @@
#---------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
#---------------------------------------------------------------------------------------------
#pylint: skip-file
import pkg_resources
pkg_resources.declare_namespace(__name__)

Просмотреть файл

@ -0,0 +1,79 @@
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"bandwidthInMbps": {
"type": "int",
"metadata": {
"description": "Bandwidth in Mbps of the circuit being created. It must exactly match one of the available bandwidth offers List ExpressRoute Service Providers API call."
}
},
"circuitName": {
"type": "string",
"metadata": {
"description": "Name of the ExpressRoute circuit"
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Location for resources."
}
},
"peeringLocation": {
"type": "string",
"metadata": {
"description": "Name of the peering location. It must exactly match one of the available peering locations from List ExpressRoute Service Providers API call."
}
},
"serviceProviderName": {
"type": "string",
"metadata": {
"description": "Name of the ExpressRoute Service Provider. It must exactly match one of the Service Providers from List ExpressRoute Service Providers API call."
}
},
"sku_family": {
"type": "string",
"defaultValue": "MeteredData",
"metadata": {
"description": "Chosen SKU family of ExpressRoute circuit."
}
},
"sku_tier": {
"type": "string",
"defaultValue": "Standard",
"metadata": {
"description": "SKU Tier of ExpressRoute circuit."
}
},
"tags": {
"type": "object",
"defaultValue": { },
"metadata": {
"description": "Tags object."
}
}
},
"resources": [
{
"apiVersion": "2015-06-15",
"type": "Microsoft.Network/expressRouteCircuits",
"name": "[parameters('circuitName')]",
"location": "[parameters('location')]",
"tags": "[parameters('tags')]",
"sku": {
"name": "[concat(parameters('sku_tier'),'_', parameters('sku_family'))]",
"tier": "[parameters('sku_tier')]",
"family": "[parameters('sku_family')]"
},
"properties": {
"serviceProviderProperties": {
"serviceProviderName": "[parameters('serviceProviderName')]",
"peeringLocation": "[parameters('peeringLocation')]",
"bandwidthInMbps": "[parameters('bandwidthInMbps')]"
}
}
}
]
}

Просмотреть файл

@ -0,0 +1,20 @@
#---------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
#---------------------------------------------------------------------------------------------
#pylint: skip-file
# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator 0.17.0.0
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------
from .express_route_circuit_creation_client import ExpressRouteCircuitCreationClient
from .version import VERSION
__all__ = ['ExpressRouteCircuitCreationClient']
__version__ = VERSION

Просмотреть файл

@ -0,0 +1,22 @@
#---------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
#---------------------------------------------------------------------------------------------
#pylint: skip-file
# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator 0.17.0.0
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------
from msrest.authentication import (
BasicAuthentication,
BasicTokenAuthentication,
OAuthTokenAuthentication)
from msrestazure.azure_active_directory import (
InteractiveCredentials,
ServicePrincipalCredentials,
UserPassCredentials)

Просмотреть файл

@ -0,0 +1,25 @@
#---------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
#---------------------------------------------------------------------------------------------
#pylint: skip-file
# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator 0.17.0.0
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------
from msrest.exceptions import (
ClientException,
SerializationError,
DeserializationError,
TokenExpiredError,
ClientRequestError,
AuthenticationError,
HttpOperationError,
ValidationError,
)
from msrestazure.azure_exceptions import CloudError

Просмотреть файл

@ -0,0 +1,122 @@
#---------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
#---------------------------------------------------------------------------------------------
#pylint: skip-file
# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator 0.17.0.0
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------
from msrest.service_client import ServiceClient
from msrest import Serializer, Deserializer
from msrestazure import AzureConfiguration
from .version import VERSION
from .operations.express_route_circuit_operations import ExpressRouteCircuitOperations
from . import models
class ExpressRouteCircuitCreationClientConfiguration(AzureConfiguration):
"""Configuration for ExpressRouteCircuitCreationClient
Note that all parameters used to create this instance are saved as instance
attributes.
:param credentials: Gets Azure subscription credentials.
:type credentials: :mod:`A msrestazure Credentials
object<msrestazure.azure_active_directory>`
:param subscription_id: Gets subscription credentials which uniquely
identify Microsoft Azure subscription. The subscription ID forms part of
the URI for every service call.
:type subscription_id: str
:param api_version: Client Api Version.
:type api_version: str
:param accept_language: Gets or sets the preferred language for the
response.
:type accept_language: str
:param long_running_operation_retry_timeout: Gets or sets the retry
timeout in seconds for Long Running Operations. Default value is 30.
:type long_running_operation_retry_timeout: int
:param generate_client_request_id: When set to true a unique
x-ms-client-request-id value is generated and included in each request.
Default is true.
:type generate_client_request_id: bool
:param str base_url: Service URL
:param str filepath: Existing config
"""
def __init__(
self, credentials, subscription_id, api_version='2015-11-01', accept_language='en-US', long_running_operation_retry_timeout=30, generate_client_request_id=True, base_url=None, filepath=None):
if credentials is None:
raise ValueError("Parameter 'credentials' must not be None.")
if subscription_id is None:
raise ValueError("Parameter 'subscription_id' must not be None.")
if not isinstance(subscription_id, str):
raise TypeError("Parameter 'subscription_id' must be str.")
if api_version is not None and not isinstance(api_version, str):
raise TypeError("Optional parameter 'api_version' must be str.")
if accept_language is not None and not isinstance(accept_language, str):
raise TypeError("Optional parameter 'accept_language' must be str.")
if not base_url:
base_url = 'https://management.azure.com'
super(ExpressRouteCircuitCreationClientConfiguration, self).__init__(base_url, filepath)
self.add_user_agent('expressroutecircuitcreationclient/{}'.format(VERSION))
self.add_user_agent('Azure-SDK-For-Python')
self.credentials = credentials
self.subscription_id = subscription_id
self.api_version = api_version
self.accept_language = accept_language
self.long_running_operation_retry_timeout = long_running_operation_retry_timeout
self.generate_client_request_id = generate_client_request_id
class ExpressRouteCircuitCreationClient(object):
"""ExpressRouteCircuitCreationClient
:ivar config: Configuration for client.
:vartype config: ExpressRouteCircuitCreationClientConfiguration
:ivar express_route_circuit: ExpressRouteCircuit operations
:vartype express_route_circuit: .operations.ExpressRouteCircuitOperations
:param credentials: Gets Azure subscription credentials.
:type credentials: :mod:`A msrestazure Credentials
object<msrestazure.azure_active_directory>`
:param subscription_id: Gets subscription credentials which uniquely
identify Microsoft Azure subscription. The subscription ID forms part of
the URI for every service call.
:type subscription_id: str
:param api_version: Client Api Version.
:type api_version: str
:param accept_language: Gets or sets the preferred language for the
response.
:type accept_language: str
:param long_running_operation_retry_timeout: Gets or sets the retry
timeout in seconds for Long Running Operations. Default value is 30.
:type long_running_operation_retry_timeout: int
:param generate_client_request_id: When set to true a unique
x-ms-client-request-id value is generated and included in each request.
Default is true.
:type generate_client_request_id: bool
:param str base_url: Service URL
:param str filepath: Existing config
"""
def __init__(
self, credentials, subscription_id, api_version='2015-11-01', accept_language='en-US', long_running_operation_retry_timeout=30, generate_client_request_id=True, base_url=None, filepath=None):
self.config = ExpressRouteCircuitCreationClientConfiguration(credentials, subscription_id, api_version, accept_language, long_running_operation_retry_timeout, generate_client_request_id, base_url, filepath)
self._client = ServiceClient(self.config.credentials, self.config)
client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)}
self._serialize = Serializer(client_models)
self._deserialize = Deserializer(client_models)
self.express_route_circuit = ExpressRouteCircuitOperations(
self._client, self.config, self._serialize, self._deserialize)

Просмотреть файл

@ -0,0 +1,38 @@
#---------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
#---------------------------------------------------------------------------------------------
#pylint: skip-file
# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator 0.17.0.0
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------
from .deployment_express_route_circuit import DeploymentExpressRouteCircuit
from .template_link import TemplateLink
from .parameters_link import ParametersLink
from .provider_resource_type import ProviderResourceType
from .provider import Provider
from .basic_dependency import BasicDependency
from .dependency import Dependency
from .deployment_properties_extended import DeploymentPropertiesExtended
from .deployment_extended import DeploymentExtended
from .express_route_circuit_creation_client_enums import (
DeploymentMode,
)
__all__ = [
'DeploymentExpressRouteCircuit',
'TemplateLink',
'ParametersLink',
'ProviderResourceType',
'Provider',
'BasicDependency',
'Dependency',
'DeploymentPropertiesExtended',
'DeploymentExtended',
'DeploymentMode',
]

Просмотреть файл

@ -0,0 +1,38 @@
#---------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
#---------------------------------------------------------------------------------------------
#pylint: skip-file
# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator 0.17.0.0
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------
from msrest.serialization import Model
class BasicDependency(Model):
"""
Deployment dependency information.
:param id: Gets or sets the ID of the dependency.
:type id: str
:param resource_type: Gets or sets the dependency resource type.
:type resource_type: str
:param resource_name: Gets or sets the dependency resource name.
:type resource_name: str
"""
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'resource_type': {'key': 'resourceType', 'type': 'str'},
'resource_name': {'key': 'resourceName', 'type': 'str'},
}
def __init__(self, id=None, resource_type=None, resource_name=None):
self.id = id
self.resource_type = resource_type
self.resource_name = resource_name

Просмотреть файл

@ -0,0 +1,43 @@
#---------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
#---------------------------------------------------------------------------------------------
#pylint: skip-file
# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator 0.17.0.0
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------
from msrest.serialization import Model
class Dependency(Model):
"""
Deployment dependency information.
:param depends_on: Gets the list of dependencies.
:type depends_on: list of :class:`BasicDependency
<default.models.BasicDependency>`
:param id: Gets or sets the ID of the dependency.
:type id: str
:param resource_type: Gets or sets the dependency resource type.
:type resource_type: str
:param resource_name: Gets or sets the dependency resource name.
:type resource_name: str
"""
_attribute_map = {
'depends_on': {'key': 'dependsOn', 'type': '[BasicDependency]'},
'id': {'key': 'id', 'type': 'str'},
'resource_type': {'key': 'resourceType', 'type': 'str'},
'resource_name': {'key': 'resourceName', 'type': 'str'},
}
def __init__(self, depends_on=None, id=None, resource_type=None, resource_name=None):
self.depends_on = depends_on
self.id = id
self.resource_type = resource_type
self.resource_name = resource_name

Просмотреть файл

@ -0,0 +1,96 @@
#---------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
#---------------------------------------------------------------------------------------------
#pylint: skip-file
# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator 0.17.0.0
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------
from msrest.serialization import Model
class DeploymentExpressRouteCircuit(Model):
"""
Deployment operation parameters.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar uri: URI referencing the template. Default value:
"https://azuresdkci.blob.core.windows.net/templatehost/CreateExpressRouteCircuit_2016-08-08/azuredeploy.json"
.
:vartype uri: str
:param content_version: If included it must match the ContentVersion in
the template.
:type content_version: str
:param bandwidth_in_mbps: Bandwidth in Mbps of the circuit being created.
It must exactly match one of the available bandwidth offers List
ExpressRoute Service Providers API call.
:type bandwidth_in_mbps: int
:param circuit_name: Name of the ExpressRoute circuit
:type circuit_name: str
:param location: Location for resources.
:type location: str
:param peering_location: Name of the peering location. It must exactly
match one of the available peering locations from List ExpressRoute
Service Providers API call.
:type peering_location: str
:param service_provider_name: Name of the ExpressRoute Service Provider.
It must exactly match one of the Service Providers from List
ExpressRoute Service Providers API call.
:type service_provider_name: str
:param sku_family: Chosen SKU family of ExpressRoute circuit. Default
value: "MeteredData" .
:type sku_family: str
:param sku_tier: SKU Tier of ExpressRoute circuit. Default value:
"Standard" .
:type sku_tier: str
:param tags: Tags object.
:type tags: object
:ivar mode: Gets or sets the deployment mode. Default value:
"Incremental" .
:vartype mode: str
"""
_validation = {
'uri': {'required': True, 'constant': True},
'bandwidth_in_mbps': {'required': True},
'circuit_name': {'required': True},
'peering_location': {'required': True},
'service_provider_name': {'required': True},
'mode': {'required': True, 'constant': True},
}
_attribute_map = {
'uri': {'key': 'properties.templateLink.uri', 'type': 'str'},
'content_version': {'key': 'properties.templateLink.contentVersion', 'type': 'str'},
'bandwidth_in_mbps': {'key': 'properties.parameters.bandwidthInMbps.value', 'type': 'int'},
'circuit_name': {'key': 'properties.parameters.circuitName.value', 'type': 'str'},
'location': {'key': 'properties.parameters.location.value', 'type': 'str'},
'peering_location': {'key': 'properties.parameters.peeringLocation.value', 'type': 'str'},
'service_provider_name': {'key': 'properties.parameters.serviceProviderName.value', 'type': 'str'},
'sku_family': {'key': 'properties.parameters.sku_family.value', 'type': 'str'},
'sku_tier': {'key': 'properties.parameters.sku_tier.value', 'type': 'str'},
'tags': {'key': 'properties.parameters.tags.value', 'type': 'object'},
'mode': {'key': 'properties.mode', 'type': 'str'},
}
uri = "https://azuresdkci.blob.core.windows.net/templatehost/CreateExpressRouteCircuit_2016-08-08/azuredeploy.json"
mode = "Incremental"
def __init__(self, bandwidth_in_mbps, circuit_name, peering_location, service_provider_name, content_version=None, location=None, sku_family="MeteredData", sku_tier="Standard", tags=None):
self.content_version = content_version
self.bandwidth_in_mbps = bandwidth_in_mbps
self.circuit_name = circuit_name
self.location = location
self.peering_location = peering_location
self.service_provider_name = service_provider_name
self.sku_family = sku_family
self.sku_tier = sku_tier
self.tags = tags

Просмотреть файл

@ -0,0 +1,43 @@
#---------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
#---------------------------------------------------------------------------------------------
#pylint: skip-file
# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator 0.17.0.0
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------
from msrest.serialization import Model
class DeploymentExtended(Model):
"""
Deployment information.
:param id: Gets or sets the ID of the deployment.
:type id: str
:param name: Gets or sets the name of the deployment.
:type name: str
:param properties: Gets or sets deployment properties.
:type properties: :class:`DeploymentPropertiesExtended
<default.models.DeploymentPropertiesExtended>`
"""
_validation = {
'name': {'required': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'properties': {'key': 'properties', 'type': 'DeploymentPropertiesExtended'},
}
def __init__(self, name, id=None, properties=None):
self.id = id
self.name = name
self.properties = properties

Просмотреть файл

@ -0,0 +1,80 @@
#---------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
#---------------------------------------------------------------------------------------------
#pylint: skip-file
# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator 0.17.0.0
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------
from msrest.serialization import Model
class DeploymentPropertiesExtended(Model):
"""
Deployment properties with additional details.
:param provisioning_state: Gets or sets the state of the provisioning.
:type provisioning_state: str
:param correlation_id: Gets or sets the correlation ID of the deployment.
:type correlation_id: str
:param timestamp: Gets or sets the timestamp of the template deployment.
:type timestamp: datetime
:param outputs: Gets or sets key/value pairs that represent
deploymentoutput.
:type outputs: object
:param providers: Gets the list of resource providers needed for the
deployment.
:type providers: list of :class:`Provider <default.models.Provider>`
:param dependencies: Gets the list of deployment dependencies.
:type dependencies: list of :class:`Dependency
<default.models.Dependency>`
:param template: Gets or sets the template content. Use only one of
Template or TemplateLink.
:type template: object
:param template_link: Gets or sets the URI referencing the template. Use
only one of Template or TemplateLink.
:type template_link: :class:`TemplateLink <default.models.TemplateLink>`
:param parameters: Deployment parameters. Use only one of Parameters or
ParametersLink.
:type parameters: object
:param parameters_link: Gets or sets the URI referencing the parameters.
Use only one of Parameters or ParametersLink.
:type parameters_link: :class:`ParametersLink
<default.models.ParametersLink>`
:param mode: Gets or sets the deployment mode. Possible values include:
'Incremental', 'Complete'
:type mode: str or :class:`DeploymentMode
<expressroutecircuitcreationclient.models.DeploymentMode>`
"""
_attribute_map = {
'provisioning_state': {'key': 'provisioningState', 'type': 'str'},
'correlation_id': {'key': 'correlationId', 'type': 'str'},
'timestamp': {'key': 'timestamp', 'type': 'iso-8601'},
'outputs': {'key': 'outputs', 'type': 'object'},
'providers': {'key': 'providers', 'type': '[Provider]'},
'dependencies': {'key': 'dependencies', 'type': '[Dependency]'},
'template': {'key': 'template', 'type': 'object'},
'template_link': {'key': 'TemplateLink', 'type': 'TemplateLink'},
'parameters': {'key': 'parameters', 'type': 'object'},
'parameters_link': {'key': 'parametersLink', 'type': 'ParametersLink'},
'mode': {'key': 'mode', 'type': 'DeploymentMode'},
}
def __init__(self, provisioning_state=None, correlation_id=None, timestamp=None, outputs=None, providers=None, dependencies=None, template=None, template_link=None, parameters=None, parameters_link=None, mode=None):
self.provisioning_state = provisioning_state
self.correlation_id = correlation_id
self.timestamp = timestamp
self.outputs = outputs
self.providers = providers
self.dependencies = dependencies
self.template = template
self.template_link = template_link
self.parameters = parameters
self.parameters_link = parameters_link
self.mode = mode

Просмотреть файл

@ -0,0 +1,20 @@
#---------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
#---------------------------------------------------------------------------------------------
#pylint: skip-file
# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator 0.17.0.0
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------
from enum import Enum
class DeploymentMode(Enum):
incremental = "Incremental"
complete = "Complete"

Просмотреть файл

@ -0,0 +1,39 @@
#---------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
#---------------------------------------------------------------------------------------------
#pylint: skip-file
# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator 0.17.0.0
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------
from msrest.serialization import Model
class ParametersLink(Model):
"""
Entity representing the reference to the deployment paramaters.
:param uri: URI referencing the template.
:type uri: str
:param content_version: If included it must match the ContentVersion in
the template.
:type content_version: str
"""
_validation = {
'uri': {'required': True},
}
_attribute_map = {
'uri': {'key': 'uri', 'type': 'str'},
'content_version': {'key': 'contentVersion', 'type': 'str'},
}
def __init__(self, uri, content_version=None):
self.uri = uri
self.content_version = content_version

Просмотреть файл

@ -0,0 +1,45 @@
#---------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
#---------------------------------------------------------------------------------------------
#pylint: skip-file
# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator 0.17.0.0
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------
from msrest.serialization import Model
class Provider(Model):
"""
Resource provider information.
:param id: Gets or sets the provider id.
:type id: str
:param namespace: Gets or sets the namespace of the provider.
:type namespace: str
:param registration_state: Gets or sets the registration state of the
provider.
:type registration_state: str
:param resource_types: Gets or sets the collection of provider resource
types.
:type resource_types: list of :class:`ProviderResourceType
<default.models.ProviderResourceType>`
"""
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'namespace': {'key': 'namespace', 'type': 'str'},
'registration_state': {'key': 'registrationState', 'type': 'str'},
'resource_types': {'key': 'resourceTypes', 'type': '[ProviderResourceType]'},
}
def __init__(self, id=None, namespace=None, registration_state=None, resource_types=None):
self.id = id
self.namespace = namespace
self.registration_state = registration_state
self.resource_types = resource_types

Просмотреть файл

@ -0,0 +1,43 @@
#---------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
#---------------------------------------------------------------------------------------------
#pylint: skip-file
# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator 0.17.0.0
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------
from msrest.serialization import Model
class ProviderResourceType(Model):
"""
Resource type managed by the resource provider.
:param resource_type: Gets or sets the resource type.
:type resource_type: str
:param locations: Gets or sets the collection of locations where this
resource type can be created in.
:type locations: list of str
:param api_versions: Gets or sets the api version.
:type api_versions: list of str
:param properties: Gets or sets the properties.
:type properties: dict
"""
_attribute_map = {
'resource_type': {'key': 'resourceType', 'type': 'str'},
'locations': {'key': 'locations', 'type': '[str]'},
'api_versions': {'key': 'apiVersions', 'type': '[str]'},
'properties': {'key': 'properties', 'type': '{str}'},
}
def __init__(self, resource_type=None, locations=None, api_versions=None, properties=None):
self.resource_type = resource_type
self.locations = locations
self.api_versions = api_versions
self.properties = properties

Просмотреть файл

@ -0,0 +1,45 @@
#---------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
#---------------------------------------------------------------------------------------------
#pylint: skip-file
# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator 0.17.0.0
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------
from msrest.serialization import Model
class TemplateLink(Model):
"""
Entity representing the reference to the template.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar uri: URI referencing the template. Default value:
"https://azuresdkci.blob.core.windows.net/templatehost/CreateExpressRouteCircuit_2016-08-08/azuredeploy.json"
.
:vartype uri: str
:param content_version: If included it must match the ContentVersion in
the template.
:type content_version: str
"""
_validation = {
'uri': {'required': True, 'constant': True},
}
_attribute_map = {
'uri': {'key': 'uri', 'type': 'str'},
'content_version': {'key': 'contentVersion', 'type': 'str'},
}
uri = "https://azuresdkci.blob.core.windows.net/templatehost/CreateExpressRouteCircuit_2016-08-08/azuredeploy.json"
def __init__(self, content_version=None):
self.content_version = content_version

Просмотреть файл

@ -0,0 +1,18 @@
#---------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
#---------------------------------------------------------------------------------------------
#pylint: skip-file
# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator 0.17.0.0
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------
from .express_route_circuit_operations import ExpressRouteCircuitOperations
__all__ = [
'ExpressRouteCircuitOperations',
]

Просмотреть файл

@ -0,0 +1,156 @@
#---------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
#---------------------------------------------------------------------------------------------
#pylint: skip-file
# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator 0.17.0.0
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------
from msrest.pipeline import ClientRawResponse
from msrestazure.azure_exceptions import CloudError
from msrestazure.azure_operation import AzureOperationPoller
import uuid
from .. import models
class ExpressRouteCircuitOperations(object):
"""ExpressRouteCircuitOperations operations.
:param client: Client for service requests.
:param config: Configuration of service client.
:param serializer: An object model serializer.
:param deserializer: An objec model deserializer.
"""
def __init__(self, client, config, serializer, deserializer):
self._client = client
self._serialize = serializer
self._deserialize = deserializer
self.config = config
def create_or_update(
self, resource_group_name, deployment_name, bandwidth_in_mbps, circuit_name, peering_location, service_provider_name, content_version=None, location=None, sku_family="MeteredData", sku_tier="Standard", tags=None, custom_headers=None, raw=False, **operation_config):
"""
Create or update a virtual machine.
:param resource_group_name: The name of the resource group. The name
is case insensitive.
:type resource_group_name: str
:param deployment_name: The name of the deployment.
:type deployment_name: str
:param bandwidth_in_mbps: Bandwidth in Mbps of the circuit being
created. It must exactly match one of the available bandwidth offers
List ExpressRoute Service Providers API call.
:type bandwidth_in_mbps: int
:param circuit_name: Name of the ExpressRoute circuit
:type circuit_name: str
:param peering_location: Name of the peering location. It must
exactly match one of the available peering locations from List
ExpressRoute Service Providers API call.
:type peering_location: str
:param service_provider_name: Name of the ExpressRoute Service
Provider. It must exactly match one of the Service Providers from
List ExpressRoute Service Providers API call.
:type service_provider_name: str
:param content_version: If included it must match the ContentVersion
in the template.
:type content_version: str
:param location: Location for resources.
:type location: str
:param sku_family: Chosen SKU family of ExpressRoute circuit.
:type sku_family: str
:param sku_tier: SKU Tier of ExpressRoute circuit.
:type sku_tier: str
:param tags: Tags object.
:type tags: object
:param dict custom_headers: headers that will be added to the request
:param bool raw: returns the direct response alongside the
deserialized response
:rtype:
:class:`AzureOperationPoller<msrestazure.azure_operation.AzureOperationPoller>`
instance that returns :class:`DeploymentExtended
<default.models.DeploymentExtended>`
:rtype: :class:`ClientRawResponse<msrest.pipeline.ClientRawResponse>`
if raw=true
"""
parameters = models.DeploymentExpressRouteCircuit(content_version=content_version, bandwidth_in_mbps=bandwidth_in_mbps, circuit_name=circuit_name, location=location, peering_location=peering_location, service_provider_name=service_provider_name, sku_family=sku_family, sku_tier=sku_tier, tags=tags)
# Construct URL
url = '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}'
path_format_arguments = {
'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=64, min_length=1, pattern='^[-\w\._]+$'),
'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str', max_length=64, min_length=1, pattern='^[-\w\._]+$'),
'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str')
}
url = self._client.format_url(url, **path_format_arguments)
# Construct parameters
query_parameters = {}
query_parameters['api-version'] = self._serialize.query("self.config.api_version", self.config.api_version, 'str')
# Construct headers
header_parameters = {}
header_parameters['Content-Type'] = 'application/json; charset=utf-8'
if self.config.generate_client_request_id:
header_parameters['x-ms-client-request-id'] = str(uuid.uuid1())
if custom_headers:
header_parameters.update(custom_headers)
if self.config.accept_language is not None:
header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str')
# Construct body
body_content = self._serialize.body(parameters, 'DeploymentExpressRouteCircuit')
# Construct and send request
def long_running_send():
request = self._client.put(url, query_parameters)
return self._client.send(
request, header_parameters, body_content, **operation_config)
def get_long_running_status(status_link, headers=None):
request = self._client.get(status_link)
if headers:
request.headers.update(headers)
return self._client.send(
request, header_parameters, **operation_config)
def get_long_running_output(response):
if response.status_code not in [200, 201]:
exp = CloudError(response)
exp.request_id = response.headers.get('x-ms-request-id')
raise exp
deserialized = None
if response.status_code == 200:
deserialized = self._deserialize('DeploymentExtended', response)
if response.status_code == 201:
deserialized = self._deserialize('DeploymentExtended', response)
if raw:
client_raw_response = ClientRawResponse(deserialized, response)
return client_raw_response
return deserialized
if raw:
response = long_running_send()
return get_long_running_output(response)
long_running_operation_timeout = operation_config.get(
'long_running_operation_timeout',
self.config.long_running_operation_timeout)
return AzureOperationPoller(
long_running_send, get_long_running_output,
get_long_running_status, long_running_operation_timeout)

Просмотреть файл

@ -0,0 +1,15 @@
#---------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
#---------------------------------------------------------------------------------------------
#pylint: skip-file
# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator 0.17.0.0
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------
VERSION = "2015-11-01"

Просмотреть файл

@ -0,0 +1,509 @@
{
"swagger": "2.0",
"info": {
"title": "ExpressRouteCircuitCreationClient",
"version": "2015-11-01"
},
"host": "management.azure.com",
"schemes": [
"https"
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"security": [
{
"azure_auth": [
"user_impersonation"
]
}
],
"securityDefinitions": {
"azure_auth": {
"type": "oauth2",
"authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
"flow": "implicit",
"description": "Azure Active Directory OAuth2 Flow",
"scopes": {
"user_impersonation": "impersonate your user account"
}
}
},
"paths": {
"/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}": {
"put": {
"tags": [
"ExpressRouteCircuit"
],
"operationId": "ExpressRouteCircuit_CreateOrUpdate",
"description": "Create or update a virtual machine.",
"parameters": [
{
"name": "resourceGroupName",
"in": "path",
"required": true,
"type": "string",
"description": "The name of the resource group. The name is case insensitive.",
"pattern": "^[-\\w\\._]+$",
"minLength": 1,
"maxLength": 64
},
{
"name": "deploymentName",
"in": "path",
"required": true,
"type": "string",
"description": "The name of the deployment.",
"pattern": "^[-\\w\\._]+$",
"minLength": 1,
"maxLength": 64
},
{
"name": "parameters",
"x-ms-client-flatten": true,
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/Deployment_ExpressRouteCircuit"
},
"description": "Additional parameters supplied to the operation."
},
{
"$ref": "#/parameters/ApiVersionParameter"
},
{
"$ref": "#/parameters/SubscriptionIdParameter"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/DeploymentExtended"
}
},
"201": {
"description": "",
"schema": {
"$ref": "#/definitions/DeploymentExtended"
}
}
},
"x-ms-long-running-operation": true
}
}
},
"definitions": {
"Deployment_ExpressRouteCircuit": {
"properties": {
"properties": {
"$ref": "#/definitions/DeploymentProperties_ExpressRouteCircuit",
"description": "Gets or sets the deployment properties.",
"x-ms-client-flatten": true
}
},
"description": "Deployment operation parameters."
},
"DeploymentProperties_ExpressRouteCircuit": {
"properties": {
"templateLink": {
"$ref": "#/definitions/TemplateLink",
"description": "Gets or sets the URI referencing the template. Use only one of Template or TemplateLink.",
"x-ms-client-flatten": true
},
"parameters": {
"$ref": "#/definitions/ExpressRouteCircuitParameters",
"type": "object",
"description": "Deployment parameters. Use only one of Parameters or ParametersLink.",
"x-ms-client-flatten": true
},
"mode": {
"type": "string",
"description": "Gets or sets the deployment mode.",
"enum": [
"Incremental"
],
"x-ms-enum": {
"name": "DeploymentMode",
"modelAsString": false
}
}
},
"required": [
"templateLink",
"parameters",
"mode"
],
"description": "Deployment properties."
},
"TemplateLink": {
"properties": {
"uri": {
"type": "string",
"description": "URI referencing the template.",
"enum": [
"https://azuresdkci.blob.core.windows.net/templatehost/CreateExpressRouteCircuit_2016-08-08/azuredeploy.json"
]
},
"contentVersion": {
"type": "string",
"description": "If included it must match the ContentVersion in the template."
}
},
"required": [
"uri"
],
"description": "Entity representing the reference to the template."
},
"ExpressRouteCircuitParameters": {
"properties": {
"bandwidthInMbps": {
"type": "object",
"$ref": "#/definitions/DeploymentParameter_bandwidthInMbps",
"x-ms-client-flatten": true
},
"circuitName": {
"type": "object",
"$ref": "#/definitions/DeploymentParameter_circuitName",
"x-ms-client-flatten": true
},
"location": {
"type": "object",
"$ref": "#/definitions/DeploymentParameter_location",
"x-ms-client-flatten": true
},
"peeringLocation": {
"type": "object",
"$ref": "#/definitions/DeploymentParameter_peeringLocation",
"x-ms-client-flatten": true
},
"serviceProviderName": {
"type": "object",
"$ref": "#/definitions/DeploymentParameter_serviceProviderName",
"x-ms-client-flatten": true
},
"sku_family": {
"type": "object",
"$ref": "#/definitions/DeploymentParameter_sku_family",
"x-ms-client-flatten": true
},
"sku_tier": {
"type": "object",
"$ref": "#/definitions/DeploymentParameter_sku_tier",
"x-ms-client-flatten": true
},
"tags": {
"type": "object",
"$ref": "#/definitions/DeploymentParameter_tags",
"x-ms-client-flatten": true
}
},
"required": [
"serviceProviderName",
"circuitName",
"peeringLocation",
"bandwidthInMbps"
]
},
"DeploymentParameter_bandwidthInMbps": {
"properties": {
"value": {
"type": "integer",
"description": "Bandwidth in Mbps of the circuit being created. It must exactly match one of the available bandwidth offers List ExpressRoute Service Providers API call.",
"x-ms-client-name": "bandwidthInMbps"
}
},
"required": [
"value"
]
},
"DeploymentParameter_circuitName": {
"properties": {
"value": {
"type": "string",
"description": "Name of the ExpressRoute circuit",
"x-ms-client-name": "circuitName"
}
},
"required": [
"value"
]
},
"DeploymentParameter_location": {
"properties": {
"value": {
"type": "string",
"description": "Location for resources.",
"x-ms-client-name": "location"
}
}
},
"DeploymentParameter_peeringLocation": {
"properties": {
"value": {
"type": "string",
"description": "Name of the peering location. It must exactly match one of the available peering locations from List ExpressRoute Service Providers API call.",
"x-ms-client-name": "peeringLocation"
}
},
"required": [
"value"
]
},
"DeploymentParameter_serviceProviderName": {
"properties": {
"value": {
"type": "string",
"description": "Name of the ExpressRoute Service Provider. It must exactly match one of the Service Providers from List ExpressRoute Service Providers API call.",
"x-ms-client-name": "serviceProviderName"
}
},
"required": [
"value"
]
},
"DeploymentParameter_sku_family": {
"properties": {
"value": {
"type": "string",
"description": "Chosen SKU family of ExpressRoute circuit.",
"x-ms-client-name": "sku_family",
"default": "MeteredData"
}
}
},
"DeploymentParameter_sku_tier": {
"properties": {
"value": {
"type": "string",
"description": "SKU Tier of ExpressRoute circuit.",
"x-ms-client-name": "sku_tier",
"default": "Standard"
}
}
},
"DeploymentParameter_tags": {
"properties": {
"value": {
"type": "object",
"description": "Tags object.",
"x-ms-client-name": "tags"
}
}
},
"ParametersLink": {
"properties": {
"uri": {
"type": "string",
"description": "URI referencing the template."
},
"contentVersion": {
"type": "string",
"description": "If included it must match the ContentVersion in the template."
}
},
"required": [
"uri"
],
"description": "Entity representing the reference to the deployment paramaters."
},
"ProviderResourceType": {
"properties": {
"resourceType": {
"type": "string",
"description": "Gets or sets the resource type."
},
"locations": {
"type": "array",
"items": {
"type": "string"
},
"description": "Gets or sets the collection of locations where this resource type can be created in."
},
"apiVersions": {
"type": "array",
"items": {
"type": "string"
},
"description": "Gets or sets the api version."
},
"properties": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "Gets or sets the properties."
}
},
"description": "Resource type managed by the resource provider."
},
"Provider": {
"properties": {
"id": {
"type": "string",
"description": "Gets or sets the provider id."
},
"namespace": {
"type": "string",
"description": "Gets or sets the namespace of the provider."
},
"registrationState": {
"type": "string",
"description": "Gets or sets the registration state of the provider."
},
"resourceTypes": {
"type": "array",
"items": {
"$ref": "#/definitions/ProviderResourceType"
},
"description": "Gets or sets the collection of provider resource types."
}
},
"description": "Resource provider information."
},
"BasicDependency": {
"properties": {
"id": {
"type": "string",
"description": "Gets or sets the ID of the dependency."
},
"resourceType": {
"type": "string",
"description": "Gets or sets the dependency resource type."
},
"resourceName": {
"type": "string",
"description": "Gets or sets the dependency resource name."
}
},
"description": "Deployment dependency information."
},
"Dependency": {
"properties": {
"dependsOn": {
"type": "array",
"items": {
"$ref": "#/definitions/BasicDependency"
},
"description": "Gets the list of dependencies."
},
"id": {
"type": "string",
"description": "Gets or sets the ID of the dependency."
},
"resourceType": {
"type": "string",
"description": "Gets or sets the dependency resource type."
},
"resourceName": {
"type": "string",
"description": "Gets or sets the dependency resource name."
}
},
"description": "Deployment dependency information."
},
"DeploymentPropertiesExtended": {
"properties": {
"provisioningState": {
"type": "string",
"description": "Gets or sets the state of the provisioning."
},
"correlationId": {
"type": "string",
"description": "Gets or sets the correlation ID of the deployment."
},
"timestamp": {
"type": "string",
"format": "date-time",
"description": "Gets or sets the timestamp of the template deployment."
},
"outputs": {
"type": "object",
"description": "Gets or sets key/value pairs that represent deploymentoutput."
},
"providers": {
"type": "array",
"items": {
"$ref": "#/definitions/Provider"
},
"description": "Gets the list of resource providers needed for the deployment."
},
"dependencies": {
"type": "array",
"items": {
"$ref": "#/definitions/Dependency"
},
"description": "Gets the list of deployment dependencies."
},
"template": {
"type": "object",
"description": "Gets or sets the template content. Use only one of Template or TemplateLink."
},
"TemplateLink": {
"$ref": "#/definitions/TemplateLink",
"description": "Gets or sets the URI referencing the template. Use only one of Template or TemplateLink."
},
"parameters": {
"type": "object",
"description": "Deployment parameters. Use only one of Parameters or ParametersLink."
},
"parametersLink": {
"$ref": "#/definitions/ParametersLink",
"description": "Gets or sets the URI referencing the parameters. Use only one of Parameters or ParametersLink."
},
"mode": {
"type": "string",
"description": "Gets or sets the deployment mode.",
"enum": [
"Incremental",
"Complete"
],
"x-ms-enum": {
"name": "DeploymentMode",
"modelAsString": false
}
}
},
"description": "Deployment properties with additional details."
},
"DeploymentExtended": {
"properties": {
"id": {
"type": "string",
"description": "Gets or sets the ID of the deployment."
},
"name": {
"type": "string",
"description": "Gets or sets the name of the deployment."
},
"properties": {
"$ref": "#/definitions/DeploymentPropertiesExtended",
"description": "Gets or sets deployment properties."
}
},
"required": [
"name"
],
"description": "Deployment information."
}
},
"parameters": {
"SubscriptionIdParameter": {
"name": "subscriptionId",
"in": "path",
"required": true,
"type": "string",
"description": "Gets subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call."
},
"ApiVersionParameter": {
"name": "api-version",
"in": "query",
"required": true,
"type": "string",
"description": "Client Api Version."
}
}
}

Просмотреть файл

@ -0,0 +1,8 @@
#---------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
#---------------------------------------------------------------------------------------------
#pylint: skip-file
import pkg_resources
pkg_resources.declare_namespace(__name__)

Просмотреть файл

@ -0,0 +1,122 @@
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"bandwidthInMbps": {
"type": "int",
"metadata": {
"description": "Bandwidth in Mbps of the circuit being created. It must exactly match one of the available bandwidth offers List ExpressRoute Service Providers API call."
}
},
"circuitName": {
"type": "string",
"metadata": {
"description": "Name of the ExpressRoute circuit"
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Location for resources."
}
},
"peerASN": {
"type": "int",
"metadata": {
"description": "The autonomous system number of the customer/connectivity provider."
}
},
"peeringLocation": {
"type": "string",
"metadata": {
"description": "Name of the peering location and not the ARM resource location. It must exactly match one of the available peering locations from List ExpressRoute Service Providers API call."
}
},
"peeringType": {
"type": "string",
"defaultValue": "AzurePrivatePeering",
"metadata": {
"description": "BGP peering type for the Circuit."
}
},
"primaryPeerAddressPrefix": {
"type": "string",
"metadata": {
"description": "/30 subnet used to configure IP addresses for interfaces on Link1."
}
},
"secondaryPeerAddressPrefix": {
"type": "string",
"metadata": {
"description": "/30 subnet used to configure IP addresses for interfaces on Link2."
}
},
"serviceProviderName": {
"type": "string",
"metadata": {
"description": "Name of the ExpressRoute Service Provider. It must exactly match one of the Service Providers from List ExpressRoute Service Providers API call."
}
},
"sku_family": {
"type": "string",
"defaultValue": "MeteredData",
"metadata": {
"description": "Chosen SKU family of ExpressRoute circuit."
}
},
"sku_tier": {
"type": "string",
"defaultValue": "Standard",
"metadata": {
"description": "Chosen SKU Tier of ExpressRoute circuit."
}
},
"tags": {
"type": "object",
"defaultValue": { },
"metadata": {
"description": "Tags object."
}
},
"vlanId": {
"type": "int",
"metadata": {
"description": "Specifies the identifier that is used to identify the customer."
}
}
},
"resources": [
{
"apiVersion": "2015-05-01-preview",
"type": "Microsoft.Network/expressRouteCircuits",
"name": "[parameters('circuitName')]",
"location": "[parameters('location')]",
"tags": "[parameters('tags')]",
"sku": {
"name": "[concat(parameters('sku_tier'),'_', parameters('sku_family'))]",
"tier": "[parameters('sku_tier')]",
"family": "[parameters('sku_family')]"
},
"properties": {
"serviceProviderProperties": {
"serviceProviderName": "[parameters('serviceProviderName')]",
"peeringLocation": "[parameters('peeringLocation')]",
"bandwidthInMbps": "[parameters('bandwidthInMbps')]"
},
"peerings": [
{
"name": "[parameters('peeringType')]",
"properties": {
"peeringType": "[parameters('peeringType')]",
"peerASN": "[parameters('peerASN')]",
"primaryPeerAddressPrefix": "[parameters('primaryPeerAddressPrefix')]",
"secondaryPeerAddressPrefix": "[parameters('secondaryPeerAddressPrefix')]",
"vlanId": "[parameters('vlanId')]"
}
}
]
}
}
]
}

Просмотреть файл

@ -0,0 +1,20 @@
#---------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
#---------------------------------------------------------------------------------------------
#pylint: skip-file
# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator 0.17.0.0
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------
from .express_route_peering_creation_client import ExpressRoutePeeringCreationClient
from .version import VERSION
__all__ = ['ExpressRoutePeeringCreationClient']
__version__ = VERSION

Просмотреть файл

@ -0,0 +1,22 @@
#---------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
#---------------------------------------------------------------------------------------------
#pylint: skip-file
# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator 0.17.0.0
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------
from msrest.authentication import (
BasicAuthentication,
BasicTokenAuthentication,
OAuthTokenAuthentication)
from msrestazure.azure_active_directory import (
InteractiveCredentials,
ServicePrincipalCredentials,
UserPassCredentials)

Просмотреть файл

@ -0,0 +1,25 @@
#---------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
#---------------------------------------------------------------------------------------------
#pylint: skip-file
# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator 0.17.0.0
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------
from msrest.exceptions import (
ClientException,
SerializationError,
DeserializationError,
TokenExpiredError,
ClientRequestError,
AuthenticationError,
HttpOperationError,
ValidationError,
)
from msrestazure.azure_exceptions import CloudError

Просмотреть файл

@ -0,0 +1,122 @@
#---------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
#---------------------------------------------------------------------------------------------
#pylint: skip-file
# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator 0.17.0.0
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------
from msrest.service_client import ServiceClient
from msrest import Serializer, Deserializer
from msrestazure import AzureConfiguration
from .version import VERSION
from .operations.express_route_peering_operations import ExpressRoutePeeringOperations
from . import models
class ExpressRoutePeeringCreationClientConfiguration(AzureConfiguration):
"""Configuration for ExpressRoutePeeringCreationClient
Note that all parameters used to create this instance are saved as instance
attributes.
:param credentials: Gets Azure subscription credentials.
:type credentials: :mod:`A msrestazure Credentials
object<msrestazure.azure_active_directory>`
:param subscription_id: Gets subscription credentials which uniquely
identify Microsoft Azure subscription. The subscription ID forms part of
the URI for every service call.
:type subscription_id: str
:param api_version: Client Api Version.
:type api_version: str
:param accept_language: Gets or sets the preferred language for the
response.
:type accept_language: str
:param long_running_operation_retry_timeout: Gets or sets the retry
timeout in seconds for Long Running Operations. Default value is 30.
:type long_running_operation_retry_timeout: int
:param generate_client_request_id: When set to true a unique
x-ms-client-request-id value is generated and included in each request.
Default is true.
:type generate_client_request_id: bool
:param str base_url: Service URL
:param str filepath: Existing config
"""
def __init__(
self, credentials, subscription_id, api_version='2015-11-01', accept_language='en-US', long_running_operation_retry_timeout=30, generate_client_request_id=True, base_url=None, filepath=None):
if credentials is None:
raise ValueError("Parameter 'credentials' must not be None.")
if subscription_id is None:
raise ValueError("Parameter 'subscription_id' must not be None.")
if not isinstance(subscription_id, str):
raise TypeError("Parameter 'subscription_id' must be str.")
if api_version is not None and not isinstance(api_version, str):
raise TypeError("Optional parameter 'api_version' must be str.")
if accept_language is not None and not isinstance(accept_language, str):
raise TypeError("Optional parameter 'accept_language' must be str.")
if not base_url:
base_url = 'https://management.azure.com'
super(ExpressRoutePeeringCreationClientConfiguration, self).__init__(base_url, filepath)
self.add_user_agent('expressroutepeeringcreationclient/{}'.format(VERSION))
self.add_user_agent('Azure-SDK-For-Python')
self.credentials = credentials
self.subscription_id = subscription_id
self.api_version = api_version
self.accept_language = accept_language
self.long_running_operation_retry_timeout = long_running_operation_retry_timeout
self.generate_client_request_id = generate_client_request_id
class ExpressRoutePeeringCreationClient(object):
"""ExpressRoutePeeringCreationClient
:ivar config: Configuration for client.
:vartype config: ExpressRoutePeeringCreationClientConfiguration
:ivar express_route_peering: ExpressRoutePeering operations
:vartype express_route_peering: .operations.ExpressRoutePeeringOperations
:param credentials: Gets Azure subscription credentials.
:type credentials: :mod:`A msrestazure Credentials
object<msrestazure.azure_active_directory>`
:param subscription_id: Gets subscription credentials which uniquely
identify Microsoft Azure subscription. The subscription ID forms part of
the URI for every service call.
:type subscription_id: str
:param api_version: Client Api Version.
:type api_version: str
:param accept_language: Gets or sets the preferred language for the
response.
:type accept_language: str
:param long_running_operation_retry_timeout: Gets or sets the retry
timeout in seconds for Long Running Operations. Default value is 30.
:type long_running_operation_retry_timeout: int
:param generate_client_request_id: When set to true a unique
x-ms-client-request-id value is generated and included in each request.
Default is true.
:type generate_client_request_id: bool
:param str base_url: Service URL
:param str filepath: Existing config
"""
def __init__(
self, credentials, subscription_id, api_version='2015-11-01', accept_language='en-US', long_running_operation_retry_timeout=30, generate_client_request_id=True, base_url=None, filepath=None):
self.config = ExpressRoutePeeringCreationClientConfiguration(credentials, subscription_id, api_version, accept_language, long_running_operation_retry_timeout, generate_client_request_id, base_url, filepath)
self._client = ServiceClient(self.config.credentials, self.config)
client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)}
self._serialize = Serializer(client_models)
self._deserialize = Deserializer(client_models)
self.express_route_peering = ExpressRoutePeeringOperations(
self._client, self.config, self._serialize, self._deserialize)

Просмотреть файл

@ -0,0 +1,38 @@
#---------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
#---------------------------------------------------------------------------------------------
#pylint: skip-file
# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator 0.17.0.0
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------
from .deployment_express_route_peering import DeploymentExpressRoutePeering
from .template_link import TemplateLink
from .parameters_link import ParametersLink
from .provider_resource_type import ProviderResourceType
from .provider import Provider
from .basic_dependency import BasicDependency
from .dependency import Dependency
from .deployment_properties_extended import DeploymentPropertiesExtended
from .deployment_extended import DeploymentExtended
from .express_route_peering_creation_client_enums import (
DeploymentMode,
)
__all__ = [
'DeploymentExpressRoutePeering',
'TemplateLink',
'ParametersLink',
'ProviderResourceType',
'Provider',
'BasicDependency',
'Dependency',
'DeploymentPropertiesExtended',
'DeploymentExtended',
'DeploymentMode',
]

Просмотреть файл

@ -0,0 +1,38 @@
#---------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
#---------------------------------------------------------------------------------------------
#pylint: skip-file
# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator 0.17.0.0
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------
from msrest.serialization import Model
class BasicDependency(Model):
"""
Deployment dependency information.
:param id: Gets or sets the ID of the dependency.
:type id: str
:param resource_type: Gets or sets the dependency resource type.
:type resource_type: str
:param resource_name: Gets or sets the dependency resource name.
:type resource_name: str
"""
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'resource_type': {'key': 'resourceType', 'type': 'str'},
'resource_name': {'key': 'resourceName', 'type': 'str'},
}
def __init__(self, id=None, resource_type=None, resource_name=None):
self.id = id
self.resource_type = resource_type
self.resource_name = resource_name

Просмотреть файл

@ -0,0 +1,43 @@
#---------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
#---------------------------------------------------------------------------------------------
#pylint: skip-file
# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator 0.17.0.0
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------
from msrest.serialization import Model
class Dependency(Model):
"""
Deployment dependency information.
:param depends_on: Gets the list of dependencies.
:type depends_on: list of :class:`BasicDependency
<default.models.BasicDependency>`
:param id: Gets or sets the ID of the dependency.
:type id: str
:param resource_type: Gets or sets the dependency resource type.
:type resource_type: str
:param resource_name: Gets or sets the dependency resource name.
:type resource_name: str
"""
_attribute_map = {
'depends_on': {'key': 'dependsOn', 'type': '[BasicDependency]'},
'id': {'key': 'id', 'type': 'str'},
'resource_type': {'key': 'resourceType', 'type': 'str'},
'resource_name': {'key': 'resourceName', 'type': 'str'},
}
def __init__(self, depends_on=None, id=None, resource_type=None, resource_name=None):
self.depends_on = depends_on
self.id = id
self.resource_type = resource_type
self.resource_name = resource_name

Просмотреть файл

@ -0,0 +1,125 @@
#---------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
#---------------------------------------------------------------------------------------------
#pylint: skip-file
# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator 0.17.0.0
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------
from msrest.serialization import Model
class DeploymentExpressRoutePeering(Model):
"""
Deployment operation parameters.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar uri: URI referencing the template. Default value:
"https://azuresdkci.blob.core.windows.net/templatehost/CreateExpressRoutePeering_2016-08-08/azuredeploy.json"
.
:vartype uri: str
:param content_version: If included it must match the ContentVersion in
the template.
:type content_version: str
:param bandwidth_in_mbps: Bandwidth in Mbps of the circuit being created.
It must exactly match one of the available bandwidth offers List
ExpressRoute Service Providers API call.
:type bandwidth_in_mbps: int
:param circuit_name: Name of the ExpressRoute circuit
:type circuit_name: str
:param location: Location for resources.
:type location: str
:param peer_asn: The autonomous system number of the
customer/connectivity provider.
:type peer_asn: int
:param peering_location: Name of the peering location and not the ARM
resource location. It must exactly match one of the available peering
locations from List ExpressRoute Service Providers API call.
:type peering_location: str
:param peering_type: BGP peering type for the Circuit. Default value:
"AzurePrivatePeering" .
:type peering_type: str
:param primary_peer_address_prefix: /30 subnet used to configure IP
addresses for interfaces on Link1.
:type primary_peer_address_prefix: str
:param secondary_peer_address_prefix: /30 subnet used to configure IP
addresses for interfaces on Link2.
:type secondary_peer_address_prefix: str
:param service_provider_name: Name of the ExpressRoute Service Provider.
It must exactly match one of the Service Providers from List
ExpressRoute Service Providers API call.
:type service_provider_name: str
:param sku_family: Chosen SKU family of ExpressRoute circuit. Default
value: "MeteredData" .
:type sku_family: str
:param sku_tier: Chosen SKU Tier of ExpressRoute circuit. Default value:
"Standard" .
:type sku_tier: str
:param tags: Tags object.
:type tags: object
:param vlan_id: Specifies the identifier that is used to identify the
customer.
:type vlan_id: int
:ivar mode: Gets or sets the deployment mode. Default value:
"Incremental" .
:vartype mode: str
"""
_validation = {
'uri': {'required': True, 'constant': True},
'bandwidth_in_mbps': {'required': True},
'circuit_name': {'required': True},
'peer_asn': {'required': True},
'peering_location': {'required': True},
'primary_peer_address_prefix': {'required': True},
'secondary_peer_address_prefix': {'required': True},
'service_provider_name': {'required': True},
'vlan_id': {'required': True},
'mode': {'required': True, 'constant': True},
}
_attribute_map = {
'uri': {'key': 'properties.templateLink.uri', 'type': 'str'},
'content_version': {'key': 'properties.templateLink.contentVersion', 'type': 'str'},
'bandwidth_in_mbps': {'key': 'properties.parameters.bandwidthInMbps.value', 'type': 'int'},
'circuit_name': {'key': 'properties.parameters.circuitName.value', 'type': 'str'},
'location': {'key': 'properties.parameters.location.value', 'type': 'str'},
'peer_asn': {'key': 'properties.parameters.peerASN.value', 'type': 'int'},
'peering_location': {'key': 'properties.parameters.peeringLocation.value', 'type': 'str'},
'peering_type': {'key': 'properties.parameters.peeringType.value', 'type': 'str'},
'primary_peer_address_prefix': {'key': 'properties.parameters.primaryPeerAddressPrefix.value', 'type': 'str'},
'secondary_peer_address_prefix': {'key': 'properties.parameters.secondaryPeerAddressPrefix.value', 'type': 'str'},
'service_provider_name': {'key': 'properties.parameters.serviceProviderName.value', 'type': 'str'},
'sku_family': {'key': 'properties.parameters.sku_family.value', 'type': 'str'},
'sku_tier': {'key': 'properties.parameters.sku_tier.value', 'type': 'str'},
'tags': {'key': 'properties.parameters.tags.value', 'type': 'object'},
'vlan_id': {'key': 'properties.parameters.vlanId.value', 'type': 'int'},
'mode': {'key': 'properties.mode', 'type': 'str'},
}
uri = "https://azuresdkci.blob.core.windows.net/templatehost/CreateExpressRoutePeering_2016-08-08/azuredeploy.json"
mode = "Incremental"
def __init__(self, bandwidth_in_mbps, circuit_name, peer_asn, peering_location, primary_peer_address_prefix, secondary_peer_address_prefix, service_provider_name, vlan_id, content_version=None, location=None, peering_type="AzurePrivatePeering", sku_family="MeteredData", sku_tier="Standard", tags=None):
self.content_version = content_version
self.bandwidth_in_mbps = bandwidth_in_mbps
self.circuit_name = circuit_name
self.location = location
self.peer_asn = peer_asn
self.peering_location = peering_location
self.peering_type = peering_type
self.primary_peer_address_prefix = primary_peer_address_prefix
self.secondary_peer_address_prefix = secondary_peer_address_prefix
self.service_provider_name = service_provider_name
self.sku_family = sku_family
self.sku_tier = sku_tier
self.tags = tags
self.vlan_id = vlan_id

Просмотреть файл

@ -0,0 +1,43 @@
#---------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
#---------------------------------------------------------------------------------------------
#pylint: skip-file
# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator 0.17.0.0
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------
from msrest.serialization import Model
class DeploymentExtended(Model):
"""
Deployment information.
:param id: Gets or sets the ID of the deployment.
:type id: str
:param name: Gets or sets the name of the deployment.
:type name: str
:param properties: Gets or sets deployment properties.
:type properties: :class:`DeploymentPropertiesExtended
<default.models.DeploymentPropertiesExtended>`
"""
_validation = {
'name': {'required': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'properties': {'key': 'properties', 'type': 'DeploymentPropertiesExtended'},
}
def __init__(self, name, id=None, properties=None):
self.id = id
self.name = name
self.properties = properties

Просмотреть файл

@ -0,0 +1,80 @@
#---------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
#---------------------------------------------------------------------------------------------
#pylint: skip-file
# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator 0.17.0.0
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------
from msrest.serialization import Model
class DeploymentPropertiesExtended(Model):
"""
Deployment properties with additional details.
:param provisioning_state: Gets or sets the state of the provisioning.
:type provisioning_state: str
:param correlation_id: Gets or sets the correlation ID of the deployment.
:type correlation_id: str
:param timestamp: Gets or sets the timestamp of the template deployment.
:type timestamp: datetime
:param outputs: Gets or sets key/value pairs that represent
deploymentoutput.
:type outputs: object
:param providers: Gets the list of resource providers needed for the
deployment.
:type providers: list of :class:`Provider <default.models.Provider>`
:param dependencies: Gets the list of deployment dependencies.
:type dependencies: list of :class:`Dependency
<default.models.Dependency>`
:param template: Gets or sets the template content. Use only one of
Template or TemplateLink.
:type template: object
:param template_link: Gets or sets the URI referencing the template. Use
only one of Template or TemplateLink.
:type template_link: :class:`TemplateLink <default.models.TemplateLink>`
:param parameters: Deployment parameters. Use only one of Parameters or
ParametersLink.
:type parameters: object
:param parameters_link: Gets or sets the URI referencing the parameters.
Use only one of Parameters or ParametersLink.
:type parameters_link: :class:`ParametersLink
<default.models.ParametersLink>`
:param mode: Gets or sets the deployment mode. Possible values include:
'Incremental', 'Complete'
:type mode: str or :class:`DeploymentMode
<expressroutepeeringcreationclient.models.DeploymentMode>`
"""
_attribute_map = {
'provisioning_state': {'key': 'provisioningState', 'type': 'str'},
'correlation_id': {'key': 'correlationId', 'type': 'str'},
'timestamp': {'key': 'timestamp', 'type': 'iso-8601'},
'outputs': {'key': 'outputs', 'type': 'object'},
'providers': {'key': 'providers', 'type': '[Provider]'},
'dependencies': {'key': 'dependencies', 'type': '[Dependency]'},
'template': {'key': 'template', 'type': 'object'},
'template_link': {'key': 'TemplateLink', 'type': 'TemplateLink'},
'parameters': {'key': 'parameters', 'type': 'object'},
'parameters_link': {'key': 'parametersLink', 'type': 'ParametersLink'},
'mode': {'key': 'mode', 'type': 'DeploymentMode'},
}
def __init__(self, provisioning_state=None, correlation_id=None, timestamp=None, outputs=None, providers=None, dependencies=None, template=None, template_link=None, parameters=None, parameters_link=None, mode=None):
self.provisioning_state = provisioning_state
self.correlation_id = correlation_id
self.timestamp = timestamp
self.outputs = outputs
self.providers = providers
self.dependencies = dependencies
self.template = template
self.template_link = template_link
self.parameters = parameters
self.parameters_link = parameters_link
self.mode = mode

Просмотреть файл

@ -0,0 +1,20 @@
#---------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
#---------------------------------------------------------------------------------------------
#pylint: skip-file
# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator 0.17.0.0
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------
from enum import Enum
class DeploymentMode(Enum):
incremental = "Incremental"
complete = "Complete"

Просмотреть файл

@ -0,0 +1,39 @@
#---------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
#---------------------------------------------------------------------------------------------
#pylint: skip-file
# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator 0.17.0.0
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------
from msrest.serialization import Model
class ParametersLink(Model):
"""
Entity representing the reference to the deployment paramaters.
:param uri: URI referencing the template.
:type uri: str
:param content_version: If included it must match the ContentVersion in
the template.
:type content_version: str
"""
_validation = {
'uri': {'required': True},
}
_attribute_map = {
'uri': {'key': 'uri', 'type': 'str'},
'content_version': {'key': 'contentVersion', 'type': 'str'},
}
def __init__(self, uri, content_version=None):
self.uri = uri
self.content_version = content_version

Просмотреть файл

@ -0,0 +1,45 @@
#---------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
#---------------------------------------------------------------------------------------------
#pylint: skip-file
# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator 0.17.0.0
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------
from msrest.serialization import Model
class Provider(Model):
"""
Resource provider information.
:param id: Gets or sets the provider id.
:type id: str
:param namespace: Gets or sets the namespace of the provider.
:type namespace: str
:param registration_state: Gets or sets the registration state of the
provider.
:type registration_state: str
:param resource_types: Gets or sets the collection of provider resource
types.
:type resource_types: list of :class:`ProviderResourceType
<default.models.ProviderResourceType>`
"""
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'namespace': {'key': 'namespace', 'type': 'str'},
'registration_state': {'key': 'registrationState', 'type': 'str'},
'resource_types': {'key': 'resourceTypes', 'type': '[ProviderResourceType]'},
}
def __init__(self, id=None, namespace=None, registration_state=None, resource_types=None):
self.id = id
self.namespace = namespace
self.registration_state = registration_state
self.resource_types = resource_types

Просмотреть файл

@ -0,0 +1,43 @@
#---------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
#---------------------------------------------------------------------------------------------
#pylint: skip-file
# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator 0.17.0.0
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------
from msrest.serialization import Model
class ProviderResourceType(Model):
"""
Resource type managed by the resource provider.
:param resource_type: Gets or sets the resource type.
:type resource_type: str
:param locations: Gets or sets the collection of locations where this
resource type can be created in.
:type locations: list of str
:param api_versions: Gets or sets the api version.
:type api_versions: list of str
:param properties: Gets or sets the properties.
:type properties: dict
"""
_attribute_map = {
'resource_type': {'key': 'resourceType', 'type': 'str'},
'locations': {'key': 'locations', 'type': '[str]'},
'api_versions': {'key': 'apiVersions', 'type': '[str]'},
'properties': {'key': 'properties', 'type': '{str}'},
}
def __init__(self, resource_type=None, locations=None, api_versions=None, properties=None):
self.resource_type = resource_type
self.locations = locations
self.api_versions = api_versions
self.properties = properties

Просмотреть файл

@ -0,0 +1,45 @@
#---------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
#---------------------------------------------------------------------------------------------
#pylint: skip-file
# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator 0.17.0.0
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------
from msrest.serialization import Model
class TemplateLink(Model):
"""
Entity representing the reference to the template.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar uri: URI referencing the template. Default value:
"https://azuresdkci.blob.core.windows.net/templatehost/CreateExpressRoutePeering_2016-08-08/azuredeploy.json"
.
:vartype uri: str
:param content_version: If included it must match the ContentVersion in
the template.
:type content_version: str
"""
_validation = {
'uri': {'required': True, 'constant': True},
}
_attribute_map = {
'uri': {'key': 'uri', 'type': 'str'},
'content_version': {'key': 'contentVersion', 'type': 'str'},
}
uri = "https://azuresdkci.blob.core.windows.net/templatehost/CreateExpressRoutePeering_2016-08-08/azuredeploy.json"
def __init__(self, content_version=None):
self.content_version = content_version

Просмотреть файл

@ -0,0 +1,18 @@
#---------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
#---------------------------------------------------------------------------------------------
#pylint: skip-file
# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator 0.17.0.0
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------
from .express_route_peering_operations import ExpressRoutePeeringOperations
__all__ = [
'ExpressRoutePeeringOperations',
]

Просмотреть файл

@ -0,0 +1,170 @@
#---------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
#---------------------------------------------------------------------------------------------
#pylint: skip-file
# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator 0.17.0.0
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------
from msrest.pipeline import ClientRawResponse
from msrestazure.azure_exceptions import CloudError
from msrestazure.azure_operation import AzureOperationPoller
import uuid
from .. import models
class ExpressRoutePeeringOperations(object):
"""ExpressRoutePeeringOperations operations.
:param client: Client for service requests.
:param config: Configuration of service client.
:param serializer: An object model serializer.
:param deserializer: An objec model deserializer.
"""
def __init__(self, client, config, serializer, deserializer):
self._client = client
self._serialize = serializer
self._deserialize = deserializer
self.config = config
def create_or_update(
self, resource_group_name, deployment_name, bandwidth_in_mbps, circuit_name, peer_asn, peering_location, primary_peer_address_prefix, secondary_peer_address_prefix, service_provider_name, vlan_id, content_version=None, location=None, peering_type="AzurePrivatePeering", sku_family="MeteredData", sku_tier="Standard", tags=None, custom_headers=None, raw=False, **operation_config):
"""
Create or update a virtual machine.
:param resource_group_name: The name of the resource group. The name
is case insensitive.
:type resource_group_name: str
:param deployment_name: The name of the deployment.
:type deployment_name: str
:param bandwidth_in_mbps: Bandwidth in Mbps of the circuit being
created. It must exactly match one of the available bandwidth offers
List ExpressRoute Service Providers API call.
:type bandwidth_in_mbps: int
:param circuit_name: Name of the ExpressRoute circuit
:type circuit_name: str
:param peer_asn: The autonomous system number of the
customer/connectivity provider.
:type peer_asn: int
:param peering_location: Name of the peering location and not the ARM
resource location. It must exactly match one of the available
peering locations from List ExpressRoute Service Providers API call.
:type peering_location: str
:param primary_peer_address_prefix: /30 subnet used to configure IP
addresses for interfaces on Link1.
:type primary_peer_address_prefix: str
:param secondary_peer_address_prefix: /30 subnet used to configure IP
addresses for interfaces on Link2.
:type secondary_peer_address_prefix: str
:param service_provider_name: Name of the ExpressRoute Service
Provider. It must exactly match one of the Service Providers from
List ExpressRoute Service Providers API call.
:type service_provider_name: str
:param vlan_id: Specifies the identifier that is used to identify the
customer.
:type vlan_id: int
:param content_version: If included it must match the ContentVersion
in the template.
:type content_version: str
:param location: Location for resources.
:type location: str
:param peering_type: BGP peering type for the Circuit.
:type peering_type: str
:param sku_family: Chosen SKU family of ExpressRoute circuit.
:type sku_family: str
:param sku_tier: Chosen SKU Tier of ExpressRoute circuit.
:type sku_tier: str
:param tags: Tags object.
:type tags: object
:param dict custom_headers: headers that will be added to the request
:param bool raw: returns the direct response alongside the
deserialized response
:rtype:
:class:`AzureOperationPoller<msrestazure.azure_operation.AzureOperationPoller>`
instance that returns :class:`DeploymentExtended
<default.models.DeploymentExtended>`
:rtype: :class:`ClientRawResponse<msrest.pipeline.ClientRawResponse>`
if raw=true
"""
parameters = models.DeploymentExpressRoutePeering(content_version=content_version, bandwidth_in_mbps=bandwidth_in_mbps, circuit_name=circuit_name, location=location, peer_asn=peer_asn, peering_location=peering_location, peering_type=peering_type, primary_peer_address_prefix=primary_peer_address_prefix, secondary_peer_address_prefix=secondary_peer_address_prefix, service_provider_name=service_provider_name, sku_family=sku_family, sku_tier=sku_tier, tags=tags, vlan_id=vlan_id)
# Construct URL
url = '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}'
path_format_arguments = {
'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=64, min_length=1, pattern='^[-\w\._]+$'),
'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str', max_length=64, min_length=1, pattern='^[-\w\._]+$'),
'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str')
}
url = self._client.format_url(url, **path_format_arguments)
# Construct parameters
query_parameters = {}
query_parameters['api-version'] = self._serialize.query("self.config.api_version", self.config.api_version, 'str')
# Construct headers
header_parameters = {}
header_parameters['Content-Type'] = 'application/json; charset=utf-8'
if self.config.generate_client_request_id:
header_parameters['x-ms-client-request-id'] = str(uuid.uuid1())
if custom_headers:
header_parameters.update(custom_headers)
if self.config.accept_language is not None:
header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str')
# Construct body
body_content = self._serialize.body(parameters, 'DeploymentExpressRoutePeering')
# Construct and send request
def long_running_send():
request = self._client.put(url, query_parameters)
return self._client.send(
request, header_parameters, body_content, **operation_config)
def get_long_running_status(status_link, headers=None):
request = self._client.get(status_link)
if headers:
request.headers.update(headers)
return self._client.send(
request, header_parameters, **operation_config)
def get_long_running_output(response):
if response.status_code not in [200, 201]:
exp = CloudError(response)
exp.request_id = response.headers.get('x-ms-request-id')
raise exp
deserialized = None
if response.status_code == 200:
deserialized = self._deserialize('DeploymentExtended', response)
if response.status_code == 201:
deserialized = self._deserialize('DeploymentExtended', response)
if raw:
client_raw_response = ClientRawResponse(deserialized, response)
return client_raw_response
return deserialized
if raw:
response = long_running_send()
return get_long_running_output(response)
long_running_operation_timeout = operation_config.get(
'long_running_operation_timeout',
self.config.long_running_operation_timeout)
return AzureOperationPoller(
long_running_send, get_long_running_output,
get_long_running_status, long_running_operation_timeout)

Просмотреть файл

@ -0,0 +1,15 @@
#---------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
#---------------------------------------------------------------------------------------------
#pylint: skip-file
# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator 0.17.0.0
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------
VERSION = "2015-11-01"

Просмотреть файл

@ -0,0 +1,596 @@
{
"swagger": "2.0",
"info": {
"title": "ExpressRoutePeeringCreationClient",
"version": "2015-11-01"
},
"host": "management.azure.com",
"schemes": [
"https"
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"security": [
{
"azure_auth": [
"user_impersonation"
]
}
],
"securityDefinitions": {
"azure_auth": {
"type": "oauth2",
"authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
"flow": "implicit",
"description": "Azure Active Directory OAuth2 Flow",
"scopes": {
"user_impersonation": "impersonate your user account"
}
}
},
"paths": {
"/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}": {
"put": {
"tags": [
"ExpressRoutePeering"
],
"operationId": "ExpressRoutePeering_CreateOrUpdate",
"description": "Create or update a virtual machine.",
"parameters": [
{
"name": "resourceGroupName",
"in": "path",
"required": true,
"type": "string",
"description": "The name of the resource group. The name is case insensitive.",
"pattern": "^[-\\w\\._]+$",
"minLength": 1,
"maxLength": 64
},
{
"name": "deploymentName",
"in": "path",
"required": true,
"type": "string",
"description": "The name of the deployment.",
"pattern": "^[-\\w\\._]+$",
"minLength": 1,
"maxLength": 64
},
{
"name": "parameters",
"x-ms-client-flatten": true,
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/Deployment_ExpressRoutePeering"
},
"description": "Additional parameters supplied to the operation."
},
{
"$ref": "#/parameters/ApiVersionParameter"
},
{
"$ref": "#/parameters/SubscriptionIdParameter"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/DeploymentExtended"
}
},
"201": {
"description": "",
"schema": {
"$ref": "#/definitions/DeploymentExtended"
}
}
},
"x-ms-long-running-operation": true
}
}
},
"definitions": {
"Deployment_ExpressRoutePeering": {
"properties": {
"properties": {
"$ref": "#/definitions/DeploymentProperties_ExpressRoutePeering",
"description": "Gets or sets the deployment properties.",
"x-ms-client-flatten": true
}
},
"description": "Deployment operation parameters."
},
"DeploymentProperties_ExpressRoutePeering": {
"properties": {
"templateLink": {
"$ref": "#/definitions/TemplateLink",
"description": "Gets or sets the URI referencing the template. Use only one of Template or TemplateLink.",
"x-ms-client-flatten": true
},
"parameters": {
"$ref": "#/definitions/ExpressRoutePeeringParameters",
"type": "object",
"description": "Deployment parameters. Use only one of Parameters or ParametersLink.",
"x-ms-client-flatten": true
},
"mode": {
"type": "string",
"description": "Gets or sets the deployment mode.",
"enum": [
"Incremental"
],
"x-ms-enum": {
"name": "DeploymentMode",
"modelAsString": false
}
}
},
"required": [
"templateLink",
"parameters",
"mode"
],
"description": "Deployment properties."
},
"TemplateLink": {
"properties": {
"uri": {
"type": "string",
"description": "URI referencing the template.",
"enum": [
"https://azuresdkci.blob.core.windows.net/templatehost/CreateExpressRoutePeering_2016-08-08/azuredeploy.json"
]
},
"contentVersion": {
"type": "string",
"description": "If included it must match the ContentVersion in the template."
}
},
"required": [
"uri"
],
"description": "Entity representing the reference to the template."
},
"ExpressRoutePeeringParameters": {
"properties": {
"bandwidthInMbps": {
"type": "object",
"$ref": "#/definitions/DeploymentParameter_bandwidthInMbps",
"x-ms-client-flatten": true
},
"circuitName": {
"type": "object",
"$ref": "#/definitions/DeploymentParameter_circuitName",
"x-ms-client-flatten": true
},
"location": {
"type": "object",
"$ref": "#/definitions/DeploymentParameter_location",
"x-ms-client-flatten": true
},
"peerASN": {
"type": "object",
"$ref": "#/definitions/DeploymentParameter_peerASN",
"x-ms-client-flatten": true
},
"peeringLocation": {
"type": "object",
"$ref": "#/definitions/DeploymentParameter_peeringLocation",
"x-ms-client-flatten": true
},
"peeringType": {
"type": "object",
"$ref": "#/definitions/DeploymentParameter_peeringType",
"x-ms-client-flatten": true
},
"primaryPeerAddressPrefix": {
"type": "object",
"$ref": "#/definitions/DeploymentParameter_primaryPeerAddressPrefix",
"x-ms-client-flatten": true
},
"secondaryPeerAddressPrefix": {
"type": "object",
"$ref": "#/definitions/DeploymentParameter_secondaryPeerAddressPrefix",
"x-ms-client-flatten": true
},
"serviceProviderName": {
"type": "object",
"$ref": "#/definitions/DeploymentParameter_serviceProviderName",
"x-ms-client-flatten": true
},
"sku_family": {
"type": "object",
"$ref": "#/definitions/DeploymentParameter_sku_family",
"x-ms-client-flatten": true
},
"sku_tier": {
"type": "object",
"$ref": "#/definitions/DeploymentParameter_sku_tier",
"x-ms-client-flatten": true
},
"tags": {
"type": "object",
"$ref": "#/definitions/DeploymentParameter_tags",
"x-ms-client-flatten": true
},
"vlanId": {
"type": "object",
"$ref": "#/definitions/DeploymentParameter_vlanId",
"x-ms-client-flatten": true
}
},
"required": [
"secondaryPeerAddressPrefix",
"serviceProviderName",
"circuitName",
"vlanId",
"primaryPeerAddressPrefix",
"peerASN",
"peeringLocation",
"bandwidthInMbps"
]
},
"DeploymentParameter_bandwidthInMbps": {
"properties": {
"value": {
"type": "integer",
"description": "Bandwidth in Mbps of the circuit being created. It must exactly match one of the available bandwidth offers List ExpressRoute Service Providers API call.",
"x-ms-client-name": "bandwidthInMbps"
}
},
"required": [
"value"
]
},
"DeploymentParameter_circuitName": {
"properties": {
"value": {
"type": "string",
"description": "Name of the ExpressRoute circuit",
"x-ms-client-name": "circuitName"
}
},
"required": [
"value"
]
},
"DeploymentParameter_location": {
"properties": {
"value": {
"type": "string",
"description": "Location for resources.",
"x-ms-client-name": "location"
}
}
},
"DeploymentParameter_peerASN": {
"properties": {
"value": {
"type": "integer",
"description": "The autonomous system number of the customer/connectivity provider.",
"x-ms-client-name": "peerASN"
}
},
"required": [
"value"
]
},
"DeploymentParameter_peeringLocation": {
"properties": {
"value": {
"type": "string",
"description": "Name of the peering location and not the ARM resource location. It must exactly match one of the available peering locations from List ExpressRoute Service Providers API call.",
"x-ms-client-name": "peeringLocation"
}
},
"required": [
"value"
]
},
"DeploymentParameter_peeringType": {
"properties": {
"value": {
"type": "string",
"description": "BGP peering type for the Circuit.",
"x-ms-client-name": "peeringType",
"default": "AzurePrivatePeering"
}
}
},
"DeploymentParameter_primaryPeerAddressPrefix": {
"properties": {
"value": {
"type": "string",
"description": "/30 subnet used to configure IP addresses for interfaces on Link1.",
"x-ms-client-name": "primaryPeerAddressPrefix"
}
},
"required": [
"value"
]
},
"DeploymentParameter_secondaryPeerAddressPrefix": {
"properties": {
"value": {
"type": "string",
"description": "/30 subnet used to configure IP addresses for interfaces on Link2.",
"x-ms-client-name": "secondaryPeerAddressPrefix"
}
},
"required": [
"value"
]
},
"DeploymentParameter_serviceProviderName": {
"properties": {
"value": {
"type": "string",
"description": "Name of the ExpressRoute Service Provider. It must exactly match one of the Service Providers from List ExpressRoute Service Providers API call.",
"x-ms-client-name": "serviceProviderName"
}
},
"required": [
"value"
]
},
"DeploymentParameter_sku_family": {
"properties": {
"value": {
"type": "string",
"description": "Chosen SKU family of ExpressRoute circuit.",
"x-ms-client-name": "sku_family",
"default": "MeteredData"
}
}
},
"DeploymentParameter_sku_tier": {
"properties": {
"value": {
"type": "string",
"description": "Chosen SKU Tier of ExpressRoute circuit.",
"x-ms-client-name": "sku_tier",
"default": "Standard"
}
}
},
"DeploymentParameter_tags": {
"properties": {
"value": {
"type": "object",
"description": "Tags object.",
"x-ms-client-name": "tags"
}
}
},
"DeploymentParameter_vlanId": {
"properties": {
"value": {
"type": "integer",
"description": "Specifies the identifier that is used to identify the customer.",
"x-ms-client-name": "vlanId"
}
},
"required": [
"value"
]
},
"ParametersLink": {
"properties": {
"uri": {
"type": "string",
"description": "URI referencing the template."
},
"contentVersion": {
"type": "string",
"description": "If included it must match the ContentVersion in the template."
}
},
"required": [
"uri"
],
"description": "Entity representing the reference to the deployment paramaters."
},
"ProviderResourceType": {
"properties": {
"resourceType": {
"type": "string",
"description": "Gets or sets the resource type."
},
"locations": {
"type": "array",
"items": {
"type": "string"
},
"description": "Gets or sets the collection of locations where this resource type can be created in."
},
"apiVersions": {
"type": "array",
"items": {
"type": "string"
},
"description": "Gets or sets the api version."
},
"properties": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "Gets or sets the properties."
}
},
"description": "Resource type managed by the resource provider."
},
"Provider": {
"properties": {
"id": {
"type": "string",
"description": "Gets or sets the provider id."
},
"namespace": {
"type": "string",
"description": "Gets or sets the namespace of the provider."
},
"registrationState": {
"type": "string",
"description": "Gets or sets the registration state of the provider."
},
"resourceTypes": {
"type": "array",
"items": {
"$ref": "#/definitions/ProviderResourceType"
},
"description": "Gets or sets the collection of provider resource types."
}
},
"description": "Resource provider information."
},
"BasicDependency": {
"properties": {
"id": {
"type": "string",
"description": "Gets or sets the ID of the dependency."
},
"resourceType": {
"type": "string",
"description": "Gets or sets the dependency resource type."
},
"resourceName": {
"type": "string",
"description": "Gets or sets the dependency resource name."
}
},
"description": "Deployment dependency information."
},
"Dependency": {
"properties": {
"dependsOn": {
"type": "array",
"items": {
"$ref": "#/definitions/BasicDependency"
},
"description": "Gets the list of dependencies."
},
"id": {
"type": "string",
"description": "Gets or sets the ID of the dependency."
},
"resourceType": {
"type": "string",
"description": "Gets or sets the dependency resource type."
},
"resourceName": {
"type": "string",
"description": "Gets or sets the dependency resource name."
}
},
"description": "Deployment dependency information."
},
"DeploymentPropertiesExtended": {
"properties": {
"provisioningState": {
"type": "string",
"description": "Gets or sets the state of the provisioning."
},
"correlationId": {
"type": "string",
"description": "Gets or sets the correlation ID of the deployment."
},
"timestamp": {
"type": "string",
"format": "date-time",
"description": "Gets or sets the timestamp of the template deployment."
},
"outputs": {
"type": "object",
"description": "Gets or sets key/value pairs that represent deploymentoutput."
},
"providers": {
"type": "array",
"items": {
"$ref": "#/definitions/Provider"
},
"description": "Gets the list of resource providers needed for the deployment."
},
"dependencies": {
"type": "array",
"items": {
"$ref": "#/definitions/Dependency"
},
"description": "Gets the list of deployment dependencies."
},
"template": {
"type": "object",
"description": "Gets or sets the template content. Use only one of Template or TemplateLink."
},
"TemplateLink": {
"$ref": "#/definitions/TemplateLink",
"description": "Gets or sets the URI referencing the template. Use only one of Template or TemplateLink."
},
"parameters": {
"type": "object",
"description": "Deployment parameters. Use only one of Parameters or ParametersLink."
},
"parametersLink": {
"$ref": "#/definitions/ParametersLink",
"description": "Gets or sets the URI referencing the parameters. Use only one of Parameters or ParametersLink."
},
"mode": {
"type": "string",
"description": "Gets or sets the deployment mode.",
"enum": [
"Incremental",
"Complete"
],
"x-ms-enum": {
"name": "DeploymentMode",
"modelAsString": false
}
}
},
"description": "Deployment properties with additional details."
},
"DeploymentExtended": {
"properties": {
"id": {
"type": "string",
"description": "Gets or sets the ID of the deployment."
},
"name": {
"type": "string",
"description": "Gets or sets the name of the deployment."
},
"properties": {
"$ref": "#/definitions/DeploymentPropertiesExtended",
"description": "Gets or sets deployment properties."
}
},
"required": [
"name"
],
"description": "Deployment information."
}
},
"parameters": {
"SubscriptionIdParameter": {
"name": "subscriptionId",
"in": "path",
"required": true,
"type": "string",
"description": "Gets subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call."
},
"ApiVersionParameter": {
"name": "api-version",
"in": "query",
"required": true,
"type": "string",
"description": "Client Api Version."
}
}
}

Просмотреть файл

@ -0,0 +1,8 @@
#---------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
#---------------------------------------------------------------------------------------------
#pylint: skip-file
import pkg_resources
pkg_resources.declare_namespace(__name__)

Просмотреть файл

@ -0,0 +1,118 @@
{
"$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json",
"contentVersion": "1.0.0.0",
"parameters": {
"virtualNetworkGatewayConnectionName": {
"type": "string",
"metadata": {
"description": "Connection name."
}
},
"connectionType": {
"type": "string",
"allowedValues": [
"IPSec",
"Vnet2Vnet",
"ExpressRoute"
],
"metadata": {
"description": "Connection type."
}
},
"localGateway2Id": {
"type": "string",
"defaultValue": "",
"metadata": {
"description": "Connect to this local gateway from vnet gateway 1 using connection type IPSec."
}
},
"expressRouteCircuit2Id": {
"type": "string",
"defaultValue": "",
"metadata": {
"description": "Connect to this express route circuit from vnet gateway 1 using connection type ExpressRoute."
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Location for resource."
}
},
"routingWeight": {
"type": "int",
"defaultValue": 10,
"metadata": {
"description": "Connection routing weight."
}
},
"sharedKey": {
"type": "string",
"defaultValue": "none",
"metadata": {
"description": "IPSec shared key."
}
},
"vnetGateway1Id": {
"type": "string",
"metadata": {
"description": "Connect from this gateway to another gateway or express route circuit."
}
},
"vnetGateway2Id": {
"type": "string",
"defaultValue": "",
"metadata": {
"description": "Connect to this vnet gateway from vnet gateway 1 using connection type Vnet2Vnet."
}
}
},
"variables": {
"connectionProperties": {
"IPSec": {
"virtualNetworkGateway1": {
"id": "[parameters('vnetGateway1Id')]"
},
"localNetworkGateway2": {
"id": "[parameters('localGateway2Id')]"
},
"connectionType": "[parameters('connectionType')]",
"routingWeight": "[parameters('routingWeight')]",
"sharedKey": "[parameters('sharedKey')]"
},
"Vnet2Vnet": {
"virtualNetworkGateway1": {
"id": "[parameters('vnetGateway1Id')]"
},
"virtualNetworkGateway2": {
"id": "[parameters('vnetGateway2Id')]"
},
"connectionType": "[parameters('connectionType')]",
"routingWeight": "[parameters('routingWeight')]"
},
"ExpressRoute": {
"virtualNetworkGateway1": {
"id": "[parameters('vnetGateway1Id')]"
},
"peer": {
"id": "[parameters('expressRouteCircuit2')]"
},
"connectionType": "[parameters('connectionType')]",
"routingWeight": "[parameters('routingWeight')]"
},
"VpnClient": {}
}
},
"resources": [
{
"apiVersion": "2015-06-15",
"name": "[parameters('virtualNetworkGatewayConnectionName')]",
"type": "Microsoft.Network/connections",
"location": "[parameters('location')]",
"dependsOn": [
],
"properties": "[variables('connectionProperties')[parameters('connectionType')]]"
}
]
}

Просмотреть файл

@ -0,0 +1,20 @@
#---------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
#---------------------------------------------------------------------------------------------
#pylint: skip-file
# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator 0.17.0.0
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------
from .vpn_connection_creation_client import VpnConnectionCreationClient
from .version import VERSION
__all__ = ['VpnConnectionCreationClient']
__version__ = VERSION

Просмотреть файл

@ -0,0 +1,22 @@
#---------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
#---------------------------------------------------------------------------------------------
#pylint: skip-file
# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator 0.17.0.0
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------
from msrest.authentication import (
BasicAuthentication,
BasicTokenAuthentication,
OAuthTokenAuthentication)
from msrestazure.azure_active_directory import (
InteractiveCredentials,
ServicePrincipalCredentials,
UserPassCredentials)

Просмотреть файл

@ -0,0 +1,25 @@
#---------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
#---------------------------------------------------------------------------------------------
#pylint: skip-file
# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator 0.17.0.0
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------
from msrest.exceptions import (
ClientException,
SerializationError,
DeserializationError,
TokenExpiredError,
ClientRequestError,
AuthenticationError,
HttpOperationError,
ValidationError,
)
from msrestazure.azure_exceptions import CloudError

Просмотреть файл

@ -0,0 +1,40 @@
#---------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
#---------------------------------------------------------------------------------------------
#pylint: skip-file
# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator 0.17.0.0
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------
from .deployment_vpn_connection import DeploymentVpnConnection
from .template_link import TemplateLink
from .parameters_link import ParametersLink
from .provider_resource_type import ProviderResourceType
from .provider import Provider
from .basic_dependency import BasicDependency
from .dependency import Dependency
from .deployment_properties_extended import DeploymentPropertiesExtended
from .deployment_extended import DeploymentExtended
from .vpn_connection_creation_client_enums import (
connectionType,
DeploymentMode,
)
__all__ = [
'DeploymentVpnConnection',
'TemplateLink',
'ParametersLink',
'ProviderResourceType',
'Provider',
'BasicDependency',
'Dependency',
'DeploymentPropertiesExtended',
'DeploymentExtended',
'connectionType',
'DeploymentMode',
]

Просмотреть файл

@ -0,0 +1,38 @@
#---------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
#---------------------------------------------------------------------------------------------
#pylint: skip-file
# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator 0.17.0.0
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------
from msrest.serialization import Model
class BasicDependency(Model):
"""
Deployment dependency information.
:param id: Gets or sets the ID of the dependency.
:type id: str
:param resource_type: Gets or sets the dependency resource type.
:type resource_type: str
:param resource_name: Gets or sets the dependency resource name.
:type resource_name: str
"""
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'resource_type': {'key': 'resourceType', 'type': 'str'},
'resource_name': {'key': 'resourceName', 'type': 'str'},
}
def __init__(self, id=None, resource_type=None, resource_name=None):
self.id = id
self.resource_type = resource_type
self.resource_name = resource_name

Просмотреть файл

@ -0,0 +1,43 @@
#---------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
#---------------------------------------------------------------------------------------------
#pylint: skip-file
# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator 0.17.0.0
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------
from msrest.serialization import Model
class Dependency(Model):
"""
Deployment dependency information.
:param depends_on: Gets the list of dependencies.
:type depends_on: list of :class:`BasicDependency
<default.models.BasicDependency>`
:param id: Gets or sets the ID of the dependency.
:type id: str
:param resource_type: Gets or sets the dependency resource type.
:type resource_type: str
:param resource_name: Gets or sets the dependency resource name.
:type resource_name: str
"""
_attribute_map = {
'depends_on': {'key': 'dependsOn', 'type': '[BasicDependency]'},
'id': {'key': 'id', 'type': 'str'},
'resource_type': {'key': 'resourceType', 'type': 'str'},
'resource_name': {'key': 'resourceName', 'type': 'str'},
}
def __init__(self, depends_on=None, id=None, resource_type=None, resource_name=None):
self.depends_on = depends_on
self.id = id
self.resource_type = resource_type
self.resource_name = resource_name

Просмотреть файл

@ -0,0 +1,43 @@
#---------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
#---------------------------------------------------------------------------------------------
#pylint: skip-file
# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator 0.17.0.0
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------
from msrest.serialization import Model
class DeploymentExtended(Model):
"""
Deployment information.
:param id: Gets or sets the ID of the deployment.
:type id: str
:param name: Gets or sets the name of the deployment.
:type name: str
:param properties: Gets or sets deployment properties.
:type properties: :class:`DeploymentPropertiesExtended
<default.models.DeploymentPropertiesExtended>`
"""
_validation = {
'name': {'required': True},
}
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'properties': {'key': 'properties', 'type': 'DeploymentPropertiesExtended'},
}
def __init__(self, name, id=None, properties=None):
self.id = id
self.name = name
self.properties = properties

Просмотреть файл

@ -0,0 +1,80 @@
#---------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
#---------------------------------------------------------------------------------------------
#pylint: skip-file
# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator 0.17.0.0
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------
from msrest.serialization import Model
class DeploymentPropertiesExtended(Model):
"""
Deployment properties with additional details.
:param provisioning_state: Gets or sets the state of the provisioning.
:type provisioning_state: str
:param correlation_id: Gets or sets the correlation ID of the deployment.
:type correlation_id: str
:param timestamp: Gets or sets the timestamp of the template deployment.
:type timestamp: datetime
:param outputs: Gets or sets key/value pairs that represent
deploymentoutput.
:type outputs: object
:param providers: Gets the list of resource providers needed for the
deployment.
:type providers: list of :class:`Provider <default.models.Provider>`
:param dependencies: Gets the list of deployment dependencies.
:type dependencies: list of :class:`Dependency
<default.models.Dependency>`
:param template: Gets or sets the template content. Use only one of
Template or TemplateLink.
:type template: object
:param template_link: Gets or sets the URI referencing the template. Use
only one of Template or TemplateLink.
:type template_link: :class:`TemplateLink <default.models.TemplateLink>`
:param parameters: Deployment parameters. Use only one of Parameters or
ParametersLink.
:type parameters: object
:param parameters_link: Gets or sets the URI referencing the parameters.
Use only one of Parameters or ParametersLink.
:type parameters_link: :class:`ParametersLink
<default.models.ParametersLink>`
:param mode: Gets or sets the deployment mode. Possible values include:
'Incremental', 'Complete'
:type mode: str or :class:`DeploymentMode
<vpnconnectioncreationclient.models.DeploymentMode>`
"""
_attribute_map = {
'provisioning_state': {'key': 'provisioningState', 'type': 'str'},
'correlation_id': {'key': 'correlationId', 'type': 'str'},
'timestamp': {'key': 'timestamp', 'type': 'iso-8601'},
'outputs': {'key': 'outputs', 'type': 'object'},
'providers': {'key': 'providers', 'type': '[Provider]'},
'dependencies': {'key': 'dependencies', 'type': '[Dependency]'},
'template': {'key': 'template', 'type': 'object'},
'template_link': {'key': 'TemplateLink', 'type': 'TemplateLink'},
'parameters': {'key': 'parameters', 'type': 'object'},
'parameters_link': {'key': 'parametersLink', 'type': 'ParametersLink'},
'mode': {'key': 'mode', 'type': 'DeploymentMode'},
}
def __init__(self, provisioning_state=None, correlation_id=None, timestamp=None, outputs=None, providers=None, dependencies=None, template=None, template_link=None, parameters=None, parameters_link=None, mode=None):
self.provisioning_state = provisioning_state
self.correlation_id = correlation_id
self.timestamp = timestamp
self.outputs = outputs
self.providers = providers
self.dependencies = dependencies
self.template = template
self.template_link = template_link
self.parameters = parameters
self.parameters_link = parameters_link
self.mode = mode

Просмотреть файл

@ -0,0 +1,97 @@
#---------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
#---------------------------------------------------------------------------------------------
#pylint: skip-file
# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator 0.17.0.0
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------
from msrest.serialization import Model
class DeploymentVpnConnection(Model):
"""
Deployment operation parameters.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar uri: URI referencing the template. Default value:
"https://azuresdkci.blob.core.windows.net/templatehost/CreateVpnConnection_2016-08-08/azuredeploy.json"
.
:vartype uri: str
:param content_version: If included it must match the ContentVersion in
the template.
:type content_version: str
:param connection_type: Connection type. Possible values include:
'IPSec', 'Vnet2Vnet', 'ExpressRoute'
:type connection_type: str or :class:`connectionType
<vpnconnectioncreationclient.models.connectionType>`
:param express_route_circuit2_id: Connect to this express route circuit
from vnet gateway 1 using connection type ExpressRoute.
:type express_route_circuit2_id: str
:param local_gateway2_id: Connect to this local gateway from vnet gateway
1 using connection type IPSec.
:type local_gateway2_id: str
:param location: Location for resource.
:type location: str
:param routing_weight: Connection routing weight. Default value: 10 .
:type routing_weight: int
:param shared_key: IPSec shared key. Default value: "none" .
:type shared_key: str
:param virtual_network_gateway_connection_name: Connection name.
:type virtual_network_gateway_connection_name: str
:param vnet_gateway1_id: Connect from this gateway to another gateway or
express route circuit.
:type vnet_gateway1_id: str
:param vnet_gateway2_id: Connect to this vnet gateway from vnet gateway 1
using connection type Vnet2Vnet.
:type vnet_gateway2_id: str
:ivar mode: Gets or sets the deployment mode. Default value:
"Incremental" .
:vartype mode: str
"""
_validation = {
'uri': {'required': True, 'constant': True},
'connection_type': {'required': True},
'virtual_network_gateway_connection_name': {'required': True},
'vnet_gateway1_id': {'required': True},
'mode': {'required': True, 'constant': True},
}
_attribute_map = {
'uri': {'key': 'properties.templateLink.uri', 'type': 'str'},
'content_version': {'key': 'properties.templateLink.contentVersion', 'type': 'str'},
'connection_type': {'key': 'properties.parameters.connectionType.value', 'type': 'connectionType'},
'express_route_circuit2_id': {'key': 'properties.parameters.expressRouteCircuit2Id.value', 'type': 'str'},
'local_gateway2_id': {'key': 'properties.parameters.localGateway2Id.value', 'type': 'str'},
'location': {'key': 'properties.parameters.location.value', 'type': 'str'},
'routing_weight': {'key': 'properties.parameters.routingWeight.value', 'type': 'int'},
'shared_key': {'key': 'properties.parameters.sharedKey.value', 'type': 'str'},
'virtual_network_gateway_connection_name': {'key': 'properties.parameters.virtualNetworkGatewayConnectionName.value', 'type': 'str'},
'vnet_gateway1_id': {'key': 'properties.parameters.vnetGateway1Id.value', 'type': 'str'},
'vnet_gateway2_id': {'key': 'properties.parameters.vnetGateway2Id.value', 'type': 'str'},
'mode': {'key': 'properties.mode', 'type': 'str'},
}
uri = "https://azuresdkci.blob.core.windows.net/templatehost/CreateVpnConnection_2016-08-08/azuredeploy.json"
mode = "Incremental"
def __init__(self, connection_type, virtual_network_gateway_connection_name, vnet_gateway1_id, content_version=None, express_route_circuit2_id=None, local_gateway2_id=None, location=None, routing_weight=10, shared_key="none", vnet_gateway2_id=None):
self.content_version = content_version
self.connection_type = connection_type
self.express_route_circuit2_id = express_route_circuit2_id
self.local_gateway2_id = local_gateway2_id
self.location = location
self.routing_weight = routing_weight
self.shared_key = shared_key
self.virtual_network_gateway_connection_name = virtual_network_gateway_connection_name
self.vnet_gateway1_id = vnet_gateway1_id
self.vnet_gateway2_id = vnet_gateway2_id

Просмотреть файл

@ -0,0 +1,39 @@
#---------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
#---------------------------------------------------------------------------------------------
#pylint: skip-file
# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator 0.17.0.0
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------
from msrest.serialization import Model
class ParametersLink(Model):
"""
Entity representing the reference to the deployment paramaters.
:param uri: URI referencing the template.
:type uri: str
:param content_version: If included it must match the ContentVersion in
the template.
:type content_version: str
"""
_validation = {
'uri': {'required': True},
}
_attribute_map = {
'uri': {'key': 'uri', 'type': 'str'},
'content_version': {'key': 'contentVersion', 'type': 'str'},
}
def __init__(self, uri, content_version=None):
self.uri = uri
self.content_version = content_version

Просмотреть файл

@ -0,0 +1,45 @@
#---------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
#---------------------------------------------------------------------------------------------
#pylint: skip-file
# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator 0.17.0.0
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------
from msrest.serialization import Model
class Provider(Model):
"""
Resource provider information.
:param id: Gets or sets the provider id.
:type id: str
:param namespace: Gets or sets the namespace of the provider.
:type namespace: str
:param registration_state: Gets or sets the registration state of the
provider.
:type registration_state: str
:param resource_types: Gets or sets the collection of provider resource
types.
:type resource_types: list of :class:`ProviderResourceType
<default.models.ProviderResourceType>`
"""
_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'namespace': {'key': 'namespace', 'type': 'str'},
'registration_state': {'key': 'registrationState', 'type': 'str'},
'resource_types': {'key': 'resourceTypes', 'type': '[ProviderResourceType]'},
}
def __init__(self, id=None, namespace=None, registration_state=None, resource_types=None):
self.id = id
self.namespace = namespace
self.registration_state = registration_state
self.resource_types = resource_types

Просмотреть файл

@ -0,0 +1,43 @@
#---------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
#---------------------------------------------------------------------------------------------
#pylint: skip-file
# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator 0.17.0.0
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------
from msrest.serialization import Model
class ProviderResourceType(Model):
"""
Resource type managed by the resource provider.
:param resource_type: Gets or sets the resource type.
:type resource_type: str
:param locations: Gets or sets the collection of locations where this
resource type can be created in.
:type locations: list of str
:param api_versions: Gets or sets the api version.
:type api_versions: list of str
:param properties: Gets or sets the properties.
:type properties: dict
"""
_attribute_map = {
'resource_type': {'key': 'resourceType', 'type': 'str'},
'locations': {'key': 'locations', 'type': '[str]'},
'api_versions': {'key': 'apiVersions', 'type': '[str]'},
'properties': {'key': 'properties', 'type': '{str}'},
}
def __init__(self, resource_type=None, locations=None, api_versions=None, properties=None):
self.resource_type = resource_type
self.locations = locations
self.api_versions = api_versions
self.properties = properties

Просмотреть файл

@ -0,0 +1,45 @@
#---------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
#---------------------------------------------------------------------------------------------
#pylint: skip-file
# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator 0.17.0.0
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------
from msrest.serialization import Model
class TemplateLink(Model):
"""
Entity representing the reference to the template.
Variables are only populated by the server, and will be ignored when
sending a request.
:ivar uri: URI referencing the template. Default value:
"https://azuresdkci.blob.core.windows.net/templatehost/CreateVpnConnection_2016-08-08/azuredeploy.json"
.
:vartype uri: str
:param content_version: If included it must match the ContentVersion in
the template.
:type content_version: str
"""
_validation = {
'uri': {'required': True, 'constant': True},
}
_attribute_map = {
'uri': {'key': 'uri', 'type': 'str'},
'content_version': {'key': 'contentVersion', 'type': 'str'},
}
uri = "https://azuresdkci.blob.core.windows.net/templatehost/CreateVpnConnection_2016-08-08/azuredeploy.json"
def __init__(self, content_version=None):
self.content_version = content_version

Просмотреть файл

@ -0,0 +1,27 @@
#---------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
#---------------------------------------------------------------------------------------------
#pylint: skip-file
# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator 0.17.0.0
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------
from enum import Enum
class connectionType(Enum):
ip_sec = "IPSec"
vnet2_vnet = "Vnet2Vnet"
express_route = "ExpressRoute"
class DeploymentMode(Enum):
incremental = "Incremental"
complete = "Complete"

Просмотреть файл

@ -0,0 +1,18 @@
#---------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
#---------------------------------------------------------------------------------------------
#pylint: skip-file
# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator 0.17.0.0
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------
from .vpn_connection_operations import VpnConnectionOperations
__all__ = [
'VpnConnectionOperations',
]

Просмотреть файл

@ -0,0 +1,158 @@
#---------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
#---------------------------------------------------------------------------------------------
#pylint: skip-file
# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator 0.17.0.0
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------
from msrest.pipeline import ClientRawResponse
from msrestazure.azure_exceptions import CloudError
from msrestazure.azure_operation import AzureOperationPoller
import uuid
from .. import models
class VpnConnectionOperations(object):
"""VpnConnectionOperations operations.
:param client: Client for service requests.
:param config: Configuration of service client.
:param serializer: An object model serializer.
:param deserializer: An objec model deserializer.
"""
def __init__(self, client, config, serializer, deserializer):
self._client = client
self._serialize = serializer
self._deserialize = deserializer
self.config = config
def create_or_update(
self, resource_group_name, deployment_name, connection_type, virtual_network_gateway_connection_name, vnet_gateway1_id, content_version=None, express_route_circuit2_id=None, local_gateway2_id=None, location=None, routing_weight=10, shared_key="none", vnet_gateway2_id=None, custom_headers=None, raw=False, **operation_config):
"""
Create or update a virtual machine.
:param resource_group_name: The name of the resource group. The name
is case insensitive.
:type resource_group_name: str
:param deployment_name: The name of the deployment.
:type deployment_name: str
:param connection_type: Connection type. Possible values include:
'IPSec', 'Vnet2Vnet', 'ExpressRoute'
:type connection_type: str or :class:`connectionType
<vpnconnectioncreationclient.models.connectionType>`
:param virtual_network_gateway_connection_name: Connection name.
:type virtual_network_gateway_connection_name: str
:param vnet_gateway1_id: Connect from this gateway to another gateway
or express route circuit.
:type vnet_gateway1_id: str
:param content_version: If included it must match the ContentVersion
in the template.
:type content_version: str
:param express_route_circuit2_id: Connect to this express route
circuit from vnet gateway 1 using connection type ExpressRoute.
:type express_route_circuit2_id: str
:param local_gateway2_id: Connect to this local gateway from vnet
gateway 1 using connection type IPSec.
:type local_gateway2_id: str
:param location: Location for resource.
:type location: str
:param routing_weight: Connection routing weight.
:type routing_weight: int
:param shared_key: IPSec shared key.
:type shared_key: str
:param vnet_gateway2_id: Connect to this vnet gateway from vnet
gateway 1 using connection type Vnet2Vnet.
:type vnet_gateway2_id: str
:param dict custom_headers: headers that will be added to the request
:param bool raw: returns the direct response alongside the
deserialized response
:rtype:
:class:`AzureOperationPoller<msrestazure.azure_operation.AzureOperationPoller>`
instance that returns :class:`DeploymentExtended
<default.models.DeploymentExtended>`
:rtype: :class:`ClientRawResponse<msrest.pipeline.ClientRawResponse>`
if raw=true
"""
parameters = models.DeploymentVpnConnection(content_version=content_version, connection_type=connection_type, express_route_circuit2_id=express_route_circuit2_id, local_gateway2_id=local_gateway2_id, location=location, routing_weight=routing_weight, shared_key=shared_key, virtual_network_gateway_connection_name=virtual_network_gateway_connection_name, vnet_gateway1_id=vnet_gateway1_id, vnet_gateway2_id=vnet_gateway2_id)
# Construct URL
url = '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}'
path_format_arguments = {
'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=64, min_length=1, pattern='^[-\w\._]+$'),
'deploymentName': self._serialize.url("deployment_name", deployment_name, 'str', max_length=64, min_length=1, pattern='^[-\w\._]+$'),
'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str')
}
url = self._client.format_url(url, **path_format_arguments)
# Construct parameters
query_parameters = {}
query_parameters['api-version'] = self._serialize.query("self.config.api_version", self.config.api_version, 'str')
# Construct headers
header_parameters = {}
header_parameters['Content-Type'] = 'application/json; charset=utf-8'
if self.config.generate_client_request_id:
header_parameters['x-ms-client-request-id'] = str(uuid.uuid1())
if custom_headers:
header_parameters.update(custom_headers)
if self.config.accept_language is not None:
header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str')
# Construct body
body_content = self._serialize.body(parameters, 'DeploymentVpnConnection')
# Construct and send request
def long_running_send():
request = self._client.put(url, query_parameters)
return self._client.send(
request, header_parameters, body_content, **operation_config)
def get_long_running_status(status_link, headers=None):
request = self._client.get(status_link)
if headers:
request.headers.update(headers)
return self._client.send(
request, header_parameters, **operation_config)
def get_long_running_output(response):
if response.status_code not in [200, 201]:
exp = CloudError(response)
exp.request_id = response.headers.get('x-ms-request-id')
raise exp
deserialized = None
if response.status_code == 200:
deserialized = self._deserialize('DeploymentExtended', response)
if response.status_code == 201:
deserialized = self._deserialize('DeploymentExtended', response)
if raw:
client_raw_response = ClientRawResponse(deserialized, response)
return client_raw_response
return deserialized
if raw:
response = long_running_send()
return get_long_running_output(response)
long_running_operation_timeout = operation_config.get(
'long_running_operation_timeout',
self.config.long_running_operation_timeout)
return AzureOperationPoller(
long_running_send, get_long_running_output,
get_long_running_status, long_running_operation_timeout)

Просмотреть файл

@ -0,0 +1,15 @@
#---------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
#---------------------------------------------------------------------------------------------
#pylint: skip-file
# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator 0.17.0.0
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------
VERSION = "2015-11-01"

Просмотреть файл

@ -0,0 +1,122 @@
#---------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
#---------------------------------------------------------------------------------------------
#pylint: skip-file
# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator 0.17.0.0
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------
from msrest.service_client import ServiceClient
from msrest import Serializer, Deserializer
from msrestazure import AzureConfiguration
from .version import VERSION
from .operations.vpn_connection_operations import VpnConnectionOperations
from . import models
class VpnConnectionCreationClientConfiguration(AzureConfiguration):
"""Configuration for VpnConnectionCreationClient
Note that all parameters used to create this instance are saved as instance
attributes.
:param credentials: Gets Azure subscription credentials.
:type credentials: :mod:`A msrestazure Credentials
object<msrestazure.azure_active_directory>`
:param subscription_id: Gets subscription credentials which uniquely
identify Microsoft Azure subscription. The subscription ID forms part of
the URI for every service call.
:type subscription_id: str
:param api_version: Client Api Version.
:type api_version: str
:param accept_language: Gets or sets the preferred language for the
response.
:type accept_language: str
:param long_running_operation_retry_timeout: Gets or sets the retry
timeout in seconds for Long Running Operations. Default value is 30.
:type long_running_operation_retry_timeout: int
:param generate_client_request_id: When set to true a unique
x-ms-client-request-id value is generated and included in each request.
Default is true.
:type generate_client_request_id: bool
:param str base_url: Service URL
:param str filepath: Existing config
"""
def __init__(
self, credentials, subscription_id, api_version='2015-11-01', accept_language='en-US', long_running_operation_retry_timeout=30, generate_client_request_id=True, base_url=None, filepath=None):
if credentials is None:
raise ValueError("Parameter 'credentials' must not be None.")
if subscription_id is None:
raise ValueError("Parameter 'subscription_id' must not be None.")
if not isinstance(subscription_id, str):
raise TypeError("Parameter 'subscription_id' must be str.")
if api_version is not None and not isinstance(api_version, str):
raise TypeError("Optional parameter 'api_version' must be str.")
if accept_language is not None and not isinstance(accept_language, str):
raise TypeError("Optional parameter 'accept_language' must be str.")
if not base_url:
base_url = 'https://management.azure.com'
super(VpnConnectionCreationClientConfiguration, self).__init__(base_url, filepath)
self.add_user_agent('vpnconnectioncreationclient/{}'.format(VERSION))
self.add_user_agent('Azure-SDK-For-Python')
self.credentials = credentials
self.subscription_id = subscription_id
self.api_version = api_version
self.accept_language = accept_language
self.long_running_operation_retry_timeout = long_running_operation_retry_timeout
self.generate_client_request_id = generate_client_request_id
class VpnConnectionCreationClient(object):
"""VpnConnectionCreationClient
:ivar config: Configuration for client.
:vartype config: VpnConnectionCreationClientConfiguration
:ivar vpn_connection: VpnConnection operations
:vartype vpn_connection: .operations.VpnConnectionOperations
:param credentials: Gets Azure subscription credentials.
:type credentials: :mod:`A msrestazure Credentials
object<msrestazure.azure_active_directory>`
:param subscription_id: Gets subscription credentials which uniquely
identify Microsoft Azure subscription. The subscription ID forms part of
the URI for every service call.
:type subscription_id: str
:param api_version: Client Api Version.
:type api_version: str
:param accept_language: Gets or sets the preferred language for the
response.
:type accept_language: str
:param long_running_operation_retry_timeout: Gets or sets the retry
timeout in seconds for Long Running Operations. Default value is 30.
:type long_running_operation_retry_timeout: int
:param generate_client_request_id: When set to true a unique
x-ms-client-request-id value is generated and included in each request.
Default is true.
:type generate_client_request_id: bool
:param str base_url: Service URL
:param str filepath: Existing config
"""
def __init__(
self, credentials, subscription_id, api_version='2015-11-01', accept_language='en-US', long_running_operation_retry_timeout=30, generate_client_request_id=True, base_url=None, filepath=None):
self.config = VpnConnectionCreationClientConfiguration(credentials, subscription_id, api_version, accept_language, long_running_operation_retry_timeout, generate_client_request_id, base_url, filepath)
self._client = ServiceClient(self.config.credentials, self.config)
client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)}
self._serialize = Serializer(client_models)
self._deserialize = Deserializer(client_models)
self.vpn_connection = VpnConnectionOperations(
self._client, self.config, self._serialize, self._deserialize)

Просмотреть файл

@ -0,0 +1,528 @@
{
"swagger": "2.0",
"info": {
"title": "VpnConnectionCreationClient",
"version": "2015-11-01"
},
"host": "management.azure.com",
"schemes": [
"https"
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"security": [
{
"azure_auth": [
"user_impersonation"
]
}
],
"securityDefinitions": {
"azure_auth": {
"type": "oauth2",
"authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
"flow": "implicit",
"description": "Azure Active Directory OAuth2 Flow",
"scopes": {
"user_impersonation": "impersonate your user account"
}
}
},
"paths": {
"/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}": {
"put": {
"tags": [
"VpnConnection"
],
"operationId": "VpnConnection_CreateOrUpdate",
"description": "Create or update a virtual machine.",
"parameters": [
{
"name": "resourceGroupName",
"in": "path",
"required": true,
"type": "string",
"description": "The name of the resource group. The name is case insensitive.",
"pattern": "^[-\\w\\._]+$",
"minLength": 1,
"maxLength": 64
},
{
"name": "deploymentName",
"in": "path",
"required": true,
"type": "string",
"description": "The name of the deployment.",
"pattern": "^[-\\w\\._]+$",
"minLength": 1,
"maxLength": 64
},
{
"name": "parameters",
"x-ms-client-flatten": true,
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/Deployment_VpnConnection"
},
"description": "Additional parameters supplied to the operation."
},
{
"$ref": "#/parameters/ApiVersionParameter"
},
{
"$ref": "#/parameters/SubscriptionIdParameter"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/DeploymentExtended"
}
},
"201": {
"description": "",
"schema": {
"$ref": "#/definitions/DeploymentExtended"
}
}
},
"x-ms-long-running-operation": true
}
}
},
"definitions": {
"Deployment_VpnConnection": {
"properties": {
"properties": {
"$ref": "#/definitions/DeploymentProperties_VpnConnection",
"description": "Gets or sets the deployment properties.",
"x-ms-client-flatten": true
}
},
"description": "Deployment operation parameters."
},
"DeploymentProperties_VpnConnection": {
"properties": {
"templateLink": {
"$ref": "#/definitions/TemplateLink",
"description": "Gets or sets the URI referencing the template. Use only one of Template or TemplateLink.",
"x-ms-client-flatten": true
},
"parameters": {
"$ref": "#/definitions/VpnConnectionParameters",
"type": "object",
"description": "Deployment parameters. Use only one of Parameters or ParametersLink.",
"x-ms-client-flatten": true
},
"mode": {
"type": "string",
"description": "Gets or sets the deployment mode.",
"enum": [
"Incremental"
],
"x-ms-enum": {
"name": "DeploymentMode",
"modelAsString": false
}
}
},
"required": [
"templateLink",
"parameters",
"mode"
],
"description": "Deployment properties."
},
"TemplateLink": {
"properties": {
"uri": {
"type": "string",
"description": "URI referencing the template.",
"enum": [
"https://azuresdkci.blob.core.windows.net/templatehost/CreateVpnConnection_2016-08-08/azuredeploy.json"
]
},
"contentVersion": {
"type": "string",
"description": "If included it must match the ContentVersion in the template."
}
},
"required": [
"uri"
],
"description": "Entity representing the reference to the template."
},
"VpnConnectionParameters": {
"properties": {
"connectionType": {
"type": "object",
"$ref": "#/definitions/DeploymentParameter_connectionType",
"x-ms-client-flatten": true
},
"expressRouteCircuit2Id": {
"type": "object",
"$ref": "#/definitions/DeploymentParameter_expressRouteCircuit2Id",
"x-ms-client-flatten": true
},
"localGateway2Id": {
"type": "object",
"$ref": "#/definitions/DeploymentParameter_localGateway2Id",
"x-ms-client-flatten": true
},
"location": {
"type": "object",
"$ref": "#/definitions/DeploymentParameter_location",
"x-ms-client-flatten": true
},
"routingWeight": {
"type": "object",
"$ref": "#/definitions/DeploymentParameter_routingWeight",
"x-ms-client-flatten": true
},
"sharedKey": {
"type": "object",
"$ref": "#/definitions/DeploymentParameter_sharedKey",
"x-ms-client-flatten": true
},
"virtualNetworkGatewayConnectionName": {
"type": "object",
"$ref": "#/definitions/DeploymentParameter_virtualNetworkGatewayConnectionName",
"x-ms-client-flatten": true
},
"vnetGateway1Id": {
"type": "object",
"$ref": "#/definitions/DeploymentParameter_vnetGateway1Id",
"x-ms-client-flatten": true
},
"vnetGateway2Id": {
"type": "object",
"$ref": "#/definitions/DeploymentParameter_vnetGateway2Id",
"x-ms-client-flatten": true
}
},
"required": [
"virtualNetworkGatewayConnectionName",
"connectionType",
"vnetGateway1Id"
]
},
"DeploymentParameter_connectionType": {
"properties": {
"value": {
"type": "string",
"description": "Connection type.",
"x-ms-client-name": "connectionType",
"enum": [
"IPSec",
"Vnet2Vnet",
"ExpressRoute"
],
"x-ms-enum": {
"name": "connectionType",
"modelAsString": false
}
}
},
"required": [
"value"
]
},
"DeploymentParameter_expressRouteCircuit2Id": {
"properties": {
"value": {
"type": "string",
"description": "Connect to this express route circuit from vnet gateway 1 using connection type ExpressRoute.",
"x-ms-client-name": "expressRouteCircuit2Id"
}
}
},
"DeploymentParameter_localGateway2Id": {
"properties": {
"value": {
"type": "string",
"description": "Connect to this local gateway from vnet gateway 1 using connection type IPSec.",
"x-ms-client-name": "localGateway2Id"
}
}
},
"DeploymentParameter_location": {
"properties": {
"value": {
"type": "string",
"description": "Location for resource.",
"x-ms-client-name": "location"
}
}
},
"DeploymentParameter_routingWeight": {
"properties": {
"value": {
"type": "integer",
"description": "Connection routing weight.",
"x-ms-client-name": "routingWeight",
"default": "10"
}
}
},
"DeploymentParameter_sharedKey": {
"properties": {
"value": {
"type": "string",
"description": "IPSec shared key.",
"x-ms-client-name": "sharedKey",
"default": "none"
}
}
},
"DeploymentParameter_virtualNetworkGatewayConnectionName": {
"properties": {
"value": {
"type": "string",
"description": "Connection name.",
"x-ms-client-name": "virtualNetworkGatewayConnectionName"
}
},
"required": [
"value"
]
},
"DeploymentParameter_vnetGateway1Id": {
"properties": {
"value": {
"type": "string",
"description": "Connect from this gateway to another gateway or express route circuit.",
"x-ms-client-name": "vnetGateway1Id"
}
},
"required": [
"value"
]
},
"DeploymentParameter_vnetGateway2Id": {
"properties": {
"value": {
"type": "string",
"description": "Connect to this vnet gateway from vnet gateway 1 using connection type Vnet2Vnet.",
"x-ms-client-name": "vnetGateway2Id"
}
}
},
"ParametersLink": {
"properties": {
"uri": {
"type": "string",
"description": "URI referencing the template."
},
"contentVersion": {
"type": "string",
"description": "If included it must match the ContentVersion in the template."
}
},
"required": [
"uri"
],
"description": "Entity representing the reference to the deployment paramaters."
},
"ProviderResourceType": {
"properties": {
"resourceType": {
"type": "string",
"description": "Gets or sets the resource type."
},
"locations": {
"type": "array",
"items": {
"type": "string"
},
"description": "Gets or sets the collection of locations where this resource type can be created in."
},
"apiVersions": {
"type": "array",
"items": {
"type": "string"
},
"description": "Gets or sets the api version."
},
"properties": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "Gets or sets the properties."
}
},
"description": "Resource type managed by the resource provider."
},
"Provider": {
"properties": {
"id": {
"type": "string",
"description": "Gets or sets the provider id."
},
"namespace": {
"type": "string",
"description": "Gets or sets the namespace of the provider."
},
"registrationState": {
"type": "string",
"description": "Gets or sets the registration state of the provider."
},
"resourceTypes": {
"type": "array",
"items": {
"$ref": "#/definitions/ProviderResourceType"
},
"description": "Gets or sets the collection of provider resource types."
}
},
"description": "Resource provider information."
},
"BasicDependency": {
"properties": {
"id": {
"type": "string",
"description": "Gets or sets the ID of the dependency."
},
"resourceType": {
"type": "string",
"description": "Gets or sets the dependency resource type."
},
"resourceName": {
"type": "string",
"description": "Gets or sets the dependency resource name."
}
},
"description": "Deployment dependency information."
},
"Dependency": {
"properties": {
"dependsOn": {
"type": "array",
"items": {
"$ref": "#/definitions/BasicDependency"
},
"description": "Gets the list of dependencies."
},
"id": {
"type": "string",
"description": "Gets or sets the ID of the dependency."
},
"resourceType": {
"type": "string",
"description": "Gets or sets the dependency resource type."
},
"resourceName": {
"type": "string",
"description": "Gets or sets the dependency resource name."
}
},
"description": "Deployment dependency information."
},
"DeploymentPropertiesExtended": {
"properties": {
"provisioningState": {
"type": "string",
"description": "Gets or sets the state of the provisioning."
},
"correlationId": {
"type": "string",
"description": "Gets or sets the correlation ID of the deployment."
},
"timestamp": {
"type": "string",
"format": "date-time",
"description": "Gets or sets the timestamp of the template deployment."
},
"outputs": {
"type": "object",
"description": "Gets or sets key/value pairs that represent deploymentoutput."
},
"providers": {
"type": "array",
"items": {
"$ref": "#/definitions/Provider"
},
"description": "Gets the list of resource providers needed for the deployment."
},
"dependencies": {
"type": "array",
"items": {
"$ref": "#/definitions/Dependency"
},
"description": "Gets the list of deployment dependencies."
},
"template": {
"type": "object",
"description": "Gets or sets the template content. Use only one of Template or TemplateLink."
},
"TemplateLink": {
"$ref": "#/definitions/TemplateLink",
"description": "Gets or sets the URI referencing the template. Use only one of Template or TemplateLink."
},
"parameters": {
"type": "object",
"description": "Deployment parameters. Use only one of Parameters or ParametersLink."
},
"parametersLink": {
"$ref": "#/definitions/ParametersLink",
"description": "Gets or sets the URI referencing the parameters. Use only one of Parameters or ParametersLink."
},
"mode": {
"type": "string",
"description": "Gets or sets the deployment mode.",
"enum": [
"Incremental",
"Complete"
],
"x-ms-enum": {
"name": "DeploymentMode",
"modelAsString": false
}
}
},
"description": "Deployment properties with additional details."
},
"DeploymentExtended": {
"properties": {
"id": {
"type": "string",
"description": "Gets or sets the ID of the deployment."
},
"name": {
"type": "string",
"description": "Gets or sets the name of the deployment."
},
"properties": {
"$ref": "#/definitions/DeploymentPropertiesExtended",
"description": "Gets or sets deployment properties."
}
},
"required": [
"name"
],
"description": "Deployment information."
}
},
"parameters": {
"SubscriptionIdParameter": {
"name": "subscriptionId",
"in": "path",
"required": true,
"type": "string",
"description": "Gets subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call."
},
"ApiVersionParameter": {
"name": "api-version",
"in": "query",
"required": true,
"type": "string",
"description": "Client Api Version."
}
}
}

Просмотреть файл

@ -1,86 +1,228 @@
interactions:
- request:
body: '{"properties": {"templateLink": {"uri": "https://azuresdkci.blob.core.windows.net/templatehost/CreateRouteTable_2016-08-08/azuredeploy.json"},
"mode": "Incremental", "parameters": {"routeTableName": {"value": "cli-test-route-table"}}}}'
headers:
Accept: [application/json]
Accept-Encoding: ['gzip, deflate']
Authorization: [Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IlliUkFRUlljRV9tb3RXVkpLSHJ3TEJiZF85cyIsImtpZCI6IlliUkFRUlljRV9tb3RXVkpLSHJ3TEJiZF85cyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNDcwOTM1MTgwLCJuYmYiOjE0NzA5MzUxODAsImV4cCI6MTQ3MDkzOTA4MCwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzAzZjFmMWJiLWM4MjYtNGM3Yi1iMzY4LTk0MGMyYWEyNDJkZi9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYW1yIjpbIndpYSIsIm1mYSJdLCJhcHBpZCI6IjA0YjA3Nzk1LThkZGItNDYxYS1iYmVlLTAyZjllMWJmN2I0NiIsImFwcGlkYWNyIjoiMCIsImVfZXhwIjo3MjAwLCJmYW1pbHlfbmFtZSI6IkJpZWxpY2tpIiwiZ2l2ZW5fbmFtZSI6IkJ1cnQiLCJpcGFkZHIiOiIxNjcuMjIwLjAuNTAiLCJuYW1lIjoiQnVydCBCaWVsaWNraSIsIm9pZCI6IjAzZjFmMWJiLWM4MjYtNGM3Yi1iMzY4LTk0MGMyYWEyNDJkZiIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy00ODEyODA2IiwicHVpZCI6IjEwMDNCRkZEODAxQzA4QkMiLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJDeUIyOFc5T21GWkZ4bDRoZ0lFWW10MEd5amNDYkVDbVB6NWR4VUVSMWxjIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJidXJ0YmllbEBtaWNyb3NvZnQuY29tIiwidXBuIjoiYnVydGJpZWxAbWljcm9zb2Z0LmNvbSIsInZlciI6IjEuMCJ9.of3ROE7BqWHkFCwecJ1Sn5CYsjhgRCxk9_aWubYanFuhPERGhGZXcsaqSJvHleqmm05BrvJWik4cgUlI-nAoHFweRVVuyqgjmwq9iKFk8xqyMqV30x7MoDywnL7vtaaoaQ4cifNSiclW-MMHJj1c_PN7Huh8lWkI-UtAHSwWbTTCew_wyat5K4E70zcJdflVjCKzKrAkHa3i0k5ryehu__kqYYtOtAdyeuUyYVJwZGfMlH6OV4sFlAhLUy0jdFmAkzNuXUhTGhB7P6pKtbO50w__-GJ84eQHorvVfB79g2x-RzjzjnF11cpMJ5zZE_qcr2mZZ1bI0kCy2L3ZKfBqFg]
Connection: [keep-alive]
Content-Length: ['235']
Content-Type: [application/json; charset=utf-8]
User-Agent: [python/2.7.10 (Windows-8-6.2.9200) requests/2.9.1 msrest/0.4.0
msrest_azure/0.4.1 routetablecreationclient/2015-11-01 Azure-SDK-For-Python
AZURECLI/TEST/0.0.1.dev0]
accept-language: [en-US]
x-ms-client-request-id: [381d7761-5fea-11e6-b740-001dd8b7c0ad]
method: PUT
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_route_table_test1/providers/Microsoft.Resources/deployments/mock-deployment?api-version=2015-11-01
response:
body: {string: !!python/unicode '{"id":"/subscriptions/304e8996-77fb-46e8-bada-557601594be4/resourceGroups/cli_route_table_test1/providers/Microsoft.Resources/deployments/azurecli1470937024.97174","name":"azurecli1470937024.97174","properties":{"templateLink":{"uri":"https://azuresdkci.blob.core.windows.net/templatehost/CreateRouteTable_2016-08-08/azuredeploy.json","contentVersion":"1.0.0.0"},"parameters":{"routeTableName":{"type":"String","value":"cli-test-route-table"},"location":{"type":"String","value":"westus"},"tags":{"type":"Object","value":{}}},"mode":"Incremental","provisioningState":"Accepted","timestamp":"2016-08-11T17:37:06.9361792Z","duration":"PT0.4152424S","correlationId":"9d8436d8-642d-48af-ae77-19a9ff9143d6","providers":[{"namespace":"Microsoft.Network","resourceTypes":[{"resourceType":"routeTables","locations":["westus"]}]}],"dependencies":[]}}'}
headers:
azure-asyncoperation: ['https://management.azure.com/subscriptions/304e8996-77fb-46e8-bada-557601594be4/resourcegroups/cli_route_table_test1/providers/Microsoft.Resources/deployments/azurecli1470937024.97174/operationStatuses/08587306698589566903?api-version=2015-11-01']
cache-control: [no-cache]
content-length: ['841']
content-type: [application/json; charset=utf-8]
date: ['Thu, 11 Aug 2016 17:37:07 GMT']
expires: ['-1']
pragma: [no-cache]
strict-transport-security: [max-age=31536000; includeSubDomains]
x-ms-ratelimit-remaining-subscription-writes: ['1199']
status: {code: 201, message: Created}
- request:
body: null
headers:
Accept: [application/json]
Accept-Encoding: ['gzip, deflate']
Authorization: [Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IlliUkFRUlljRV9tb3RXVkpLSHJ3TEJiZF85cyIsImtpZCI6IlliUkFRUlljRV9tb3RXVkpLSHJ3TEJiZF85cyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNDcwOTM1MTgwLCJuYmYiOjE0NzA5MzUxODAsImV4cCI6MTQ3MDkzOTA4MCwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzAzZjFmMWJiLWM4MjYtNGM3Yi1iMzY4LTk0MGMyYWEyNDJkZi9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYW1yIjpbIndpYSIsIm1mYSJdLCJhcHBpZCI6IjA0YjA3Nzk1LThkZGItNDYxYS1iYmVlLTAyZjllMWJmN2I0NiIsImFwcGlkYWNyIjoiMCIsImVfZXhwIjo3MjAwLCJmYW1pbHlfbmFtZSI6IkJpZWxpY2tpIiwiZ2l2ZW5fbmFtZSI6IkJ1cnQiLCJpcGFkZHIiOiIxNjcuMjIwLjAuNTAiLCJuYW1lIjoiQnVydCBCaWVsaWNraSIsIm9pZCI6IjAzZjFmMWJiLWM4MjYtNGM3Yi1iMzY4LTk0MGMyYWEyNDJkZiIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy00ODEyODA2IiwicHVpZCI6IjEwMDNCRkZEODAxQzA4QkMiLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJDeUIyOFc5T21GWkZ4bDRoZ0lFWW10MEd5amNDYkVDbVB6NWR4VUVSMWxjIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJidXJ0YmllbEBtaWNyb3NvZnQuY29tIiwidXBuIjoiYnVydGJpZWxAbWljcm9zb2Z0LmNvbSIsInZlciI6IjEuMCJ9.of3ROE7BqWHkFCwecJ1Sn5CYsjhgRCxk9_aWubYanFuhPERGhGZXcsaqSJvHleqmm05BrvJWik4cgUlI-nAoHFweRVVuyqgjmwq9iKFk8xqyMqV30x7MoDywnL7vtaaoaQ4cifNSiclW-MMHJj1c_PN7Huh8lWkI-UtAHSwWbTTCew_wyat5K4E70zcJdflVjCKzKrAkHa3i0k5ryehu__kqYYtOtAdyeuUyYVJwZGfMlH6OV4sFlAhLUy0jdFmAkzNuXUhTGhB7P6pKtbO50w__-GJ84eQHorvVfB79g2x-RzjzjnF11cpMJ5zZE_qcr2mZZ1bI0kCy2L3ZKfBqFg]
Connection: [keep-alive]
Content-Type: [application/json; charset=utf-8]
User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.3.0 msrest_azure/0.3.0 networkmanagementclient/2016-03-30
Azure-SDK-For-Python AZURECLI_0.0.32]
User-Agent: [python/2.7.10 (Windows-8-6.2.9200) requests/2.9.1 msrest/0.4.0
msrest_azure/0.4.1 routetablecreationclient/2015-11-01 Azure-SDK-For-Python
AZURECLI/TEST/0.0.1.dev0]
accept-language: [en-US]
x-ms-client-request-id: [381d7761-5fea-11e6-b740-001dd8b7c0ad]
method: GET
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test1/providers/Microsoft.Network/routeTables/cli-test-route-table?api-version=2016-03-30
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_route_table_test1/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08587306698589566903?api-version=2015-11-01
response:
body:
string: !!binary |
H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl
VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk
6UfLbJF/9Cj9aFoW223etNt1tW7z7TablPlHI25SzNDgbrOeNNO6WLVFtWzu7kx2zz/df7C7vTs5
39nen82y7Syf3tueTh7uPdg733l4/+HO3TpvqnU9zT8noKvmLvXx+6OP3bururosZnnd3P2imNZV
U5234xd5e1XVb+9S2zZ/g/75jSGs8ja7AF7fvfv7fnS+u/sg//R8d/s825lt708f7GwfPHg43T6Y
zB7MDqZ7k3sPH/y+H+mL7fWKR7yxZ21bVtMM40X7K8Jjbb6gAazyui2o5aOUKSkfXhYNNS+WF6/b
rOVuXq+n0zyf5TN5k5pZqqyFsvv7988fHuzk29ne+cH2/sGEfts9n23fm+S7B7Od8/vnOwfuZeCI
Tr8nH6Smdzx2NhfXQjHzGp7/t82jNGjuRnH9urMrD2aiNz3y4KtbTJI8H2WzGY29eVnn58U7NNx9
uDfe/fRgvHN399NO22X+rv12tXqj7PWTRd2us1Kp8Tl1dJVdf+Te+CXmV/3l+/hBv/+S/wd8zdZh
mAMAAA==
VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR02b
tevmo0cfvV5Pp3k+y2cf/ZL/ByCIe+QWAAAA
headers:
Cache-Control: [no-cache]
Content-Encoding: [gzip]
Content-Type: [application/json; charset=utf-8]
Date: ['Mon, 16 May 2016 21:20:51 GMT']
ETag: [W/"f117e6f1-fa0d-4c70-879c-8bd7d8c2b397"]
Expires: ['-1']
Pragma: [no-cache]
Server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0]
Strict-Transport-Security: [max-age=31536000; includeSubDomains]
Vary: [Accept-Encoding]
cache-control: [no-cache]
content-encoding: [gzip]
content-length: ['141']
content-type: [application/json; charset=utf-8]
date: ['Thu, 11 Aug 2016 17:37:37 GMT']
expires: ['-1']
pragma: [no-cache]
strict-transport-security: [max-age=31536000; includeSubDomains]
vary: [Accept-Encoding]
status: {code: 200, message: OK}
- request:
body: null
headers:
Accept: [application/json]
Accept-Encoding: ['gzip, deflate']
Authorization: [Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IlliUkFRUlljRV9tb3RXVkpLSHJ3TEJiZF85cyIsImtpZCI6IlliUkFRUlljRV9tb3RXVkpLSHJ3TEJiZF85cyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNDcwOTM1MTgwLCJuYmYiOjE0NzA5MzUxODAsImV4cCI6MTQ3MDkzOTA4MCwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzAzZjFmMWJiLWM4MjYtNGM3Yi1iMzY4LTk0MGMyYWEyNDJkZi9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYW1yIjpbIndpYSIsIm1mYSJdLCJhcHBpZCI6IjA0YjA3Nzk1LThkZGItNDYxYS1iYmVlLTAyZjllMWJmN2I0NiIsImFwcGlkYWNyIjoiMCIsImVfZXhwIjo3MjAwLCJmYW1pbHlfbmFtZSI6IkJpZWxpY2tpIiwiZ2l2ZW5fbmFtZSI6IkJ1cnQiLCJpcGFkZHIiOiIxNjcuMjIwLjAuNTAiLCJuYW1lIjoiQnVydCBCaWVsaWNraSIsIm9pZCI6IjAzZjFmMWJiLWM4MjYtNGM3Yi1iMzY4LTk0MGMyYWEyNDJkZiIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy00ODEyODA2IiwicHVpZCI6IjEwMDNCRkZEODAxQzA4QkMiLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJDeUIyOFc5T21GWkZ4bDRoZ0lFWW10MEd5amNDYkVDbVB6NWR4VUVSMWxjIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJidXJ0YmllbEBtaWNyb3NvZnQuY29tIiwidXBuIjoiYnVydGJpZWxAbWljcm9zb2Z0LmNvbSIsInZlciI6IjEuMCJ9.of3ROE7BqWHkFCwecJ1Sn5CYsjhgRCxk9_aWubYanFuhPERGhGZXcsaqSJvHleqmm05BrvJWik4cgUlI-nAoHFweRVVuyqgjmwq9iKFk8xqyMqV30x7MoDywnL7vtaaoaQ4cifNSiclW-MMHJj1c_PN7Huh8lWkI-UtAHSwWbTTCew_wyat5K4E70zcJdflVjCKzKrAkHa3i0k5ryehu__kqYYtOtAdyeuUyYVJwZGfMlH6OV4sFlAhLUy0jdFmAkzNuXUhTGhB7P6pKtbO50w__-GJ84eQHorvVfB79g2x-RzjzjnF11cpMJ5zZE_qcr2mZZ1bI0kCy2L3ZKfBqFg]
Connection: [keep-alive]
Content-Type: [application/json; charset=utf-8]
User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.3.0 msrest_azure/0.3.0 networkmanagementclient/2016-03-30
Azure-SDK-For-Python AZURECLI_0.0.32]
User-Agent: [python/2.7.10 (Windows-8-6.2.9200) requests/2.9.1 msrest/0.4.0
msrest_azure/0.4.1 routetablecreationclient/2015-11-01 Azure-SDK-For-Python
AZURECLI/TEST/0.0.1.dev0]
accept-language: [en-US]
x-ms-client-request-id: [381d7761-5fea-11e6-b740-001dd8b7c0ad]
method: GET
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test1/providers/Microsoft.Network/routeTables/cli-test-route-table/routes/my-route?api-version=2016-03-30
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_route_table_test1/providers/Microsoft.Resources/deployments/mock-deployment?api-version=2015-11-01
response:
body:
string: !!binary |
H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl
VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR8Xs
o0cf3W3Wk2ZaF6u2qJbN3Xs7+/nBw4efbj94cD7Z3v80P9ieZLNs+/79B5/u7N5/uD/J9+/WeVOt
62n+eV2tV83daVn8/vRbm//+bTYp6d+8aXfvrurqspjldXP3i2JaV0113o5f6YvN3Vm+KqvrRb5s
m7vZD9Z1TkB29x/sPLz3YGdvf/zwwe6D/Y9GHy2zRU5IbmhB3azyui3y5qNHv/ijNl+syqzNnxfL
t/h7XRf0+rxtV82ju9JRM3s7LcaTspqMp1Wdj6+K5ay6asbLvL1rXp9XTXv3pM7p11cY2Bse197O
7qfbOwf0P4EkYxj/dFMtCZFptWxpOD9JIyZKUq+74x3899EvISSzmgbS0ldAimnFIF/Qp/ikvV7R
z49et3WxvCBYl1m5xgc05G1Qc5tf2WbyAl5ZTTPM16Z3r+i9dYPWbXbB/WrLLyc/nU9b1/IX/5Jf
Qo0W1Yx+/+hsOa1zTEtWUgsi7mWB4RDo1y1Rg1q8Xk+nOY19Rt+3xYJ6yRYr+txQZ3f3ze6DR/ce
PNolAny6t7e7c/BT1HS2rhXlj16+2R/f39/de7D/mr6gSahzIjp9dwaGfDg72L/36exg+9P9vdn2
/kF2vp3lDx5s7z7MHp6fP9zdvzf7lF5j1MBeHz363i9mPmlW2RQIOnZ7kbdXVf2WWtO0M+O9IRLI
G/4n9BITmOekoeaGvmhqCPn9X0L/0TjyVb6c5cspc9z36BN6c7VuLWvThypaPUTuer1AaiJz+/1f
8kv+H/j6CCyZAwAA
headers:
cache-control: [no-cache]
content-encoding: [gzip]
content-length: ['696']
content-type: [application/json; charset=utf-8]
date: ['Thu, 11 Aug 2016 17:37:36 GMT']
expires: ['-1']
pragma: [no-cache]
strict-transport-security: [max-age=31536000; includeSubDomains]
vary: [Accept-Encoding]
status: {code: 200, message: OK}
- request:
body: '{"properties": {"addressPrefix": "10.0.5.0/24", "nextHopType": "None"},
"name": "my-route"}'
headers:
Accept: [application/json]
Accept-Encoding: ['gzip, deflate']
Authorization: [Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IlliUkFRUlljRV9tb3RXVkpLSHJ3TEJiZF85cyIsImtpZCI6IlliUkFRUlljRV9tb3RXVkpLSHJ3TEJiZF85cyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNDcwOTM1MTgwLCJuYmYiOjE0NzA5MzUxODAsImV4cCI6MTQ3MDkzOTA4MCwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzAzZjFmMWJiLWM4MjYtNGM3Yi1iMzY4LTk0MGMyYWEyNDJkZi9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYW1yIjpbIndpYSIsIm1mYSJdLCJhcHBpZCI6IjA0YjA3Nzk1LThkZGItNDYxYS1iYmVlLTAyZjllMWJmN2I0NiIsImFwcGlkYWNyIjoiMCIsImVfZXhwIjo3MjAwLCJmYW1pbHlfbmFtZSI6IkJpZWxpY2tpIiwiZ2l2ZW5fbmFtZSI6IkJ1cnQiLCJpcGFkZHIiOiIxNjcuMjIwLjAuNTAiLCJuYW1lIjoiQnVydCBCaWVsaWNraSIsIm9pZCI6IjAzZjFmMWJiLWM4MjYtNGM3Yi1iMzY4LTk0MGMyYWEyNDJkZiIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy00ODEyODA2IiwicHVpZCI6IjEwMDNCRkZEODAxQzA4QkMiLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJDeUIyOFc5T21GWkZ4bDRoZ0lFWW10MEd5amNDYkVDbVB6NWR4VUVSMWxjIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJidXJ0YmllbEBtaWNyb3NvZnQuY29tIiwidXBuIjoiYnVydGJpZWxAbWljcm9zb2Z0LmNvbSIsInZlciI6IjEuMCJ9.of3ROE7BqWHkFCwecJ1Sn5CYsjhgRCxk9_aWubYanFuhPERGhGZXcsaqSJvHleqmm05BrvJWik4cgUlI-nAoHFweRVVuyqgjmwq9iKFk8xqyMqV30x7MoDywnL7vtaaoaQ4cifNSiclW-MMHJj1c_PN7Huh8lWkI-UtAHSwWbTTCew_wyat5K4E70zcJdflVjCKzKrAkHa3i0k5ryehu__kqYYtOtAdyeuUyYVJwZGfMlH6OV4sFlAhLUy0jdFmAkzNuXUhTGhB7P6pKtbO50w__-GJ84eQHorvVfB79g2x-RzjzjnF11cpMJ5zZE_qcr2mZZ1bI0kCy2L3ZKfBqFg]
Connection: [keep-alive]
Content-Length: ['91']
Content-Type: [application/json; charset=utf-8]
User-Agent: [python/2.7.10 (Windows-8-6.2.9200) requests/2.9.1 msrest/0.4.0
msrest_azure/0.4.1 networkmanagementclient/0.30.0rc5 Azure-SDK-For-Python
AZURECLI/TEST/0.0.1.dev0]
accept-language: [en-US]
x-ms-client-request-id: [4bdcb400-5fea-11e6-b4dd-001dd8b7c0ad]
method: PUT
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_route_table_test1/providers/Microsoft.Network/routeTables/cli-test-route-table/routes/my-route?api-version=2016-03-30
response:
body: {string: !!python/unicode "{\r\n \"name\": \"my-route\",\r\n \"id\": \"\
/subscriptions/304e8996-77fb-46e8-bada-557601594be4/resourceGroups/cli_route_table_test1/providers/Microsoft.Network/routeTables/cli-test-route-table/routes/my-route\"\
,\r\n \"etag\": \"W/\\\"efbf6939-2b9e-48d3-bbe9-e78f5d74ff07\\\"\",\r\n \
\ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"\
addressPrefix\": \"10.0.5.0/24\",\r\n \"nextHopType\": \"None\"\r\n }\r\
\n}"}
headers:
azure-asyncoperation: ['https://management.azure.com/subscriptions/304e8996-77fb-46e8-bada-557601594be4/providers/Microsoft.Network/locations/westus/operations/a9ab14b2-7c15-4e4e-a0fd-ff3a6dd10c67?api-version=2016-03-30']
cache-control: [no-cache]
content-length: ['388']
content-type: [application/json; charset=utf-8]
date: ['Thu, 11 Aug 2016 17:37:38 GMT']
expires: ['-1']
pragma: [no-cache]
retry-after: ['10']
server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0]
strict-transport-security: [max-age=31536000; includeSubDomains]
x-ms-ratelimit-remaining-subscription-writes: ['1199']
status: {code: 201, message: Created}
- request:
body: null
headers:
Accept: [application/json]
Accept-Encoding: ['gzip, deflate']
Authorization: [Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IlliUkFRUlljRV9tb3RXVkpLSHJ3TEJiZF85cyIsImtpZCI6IlliUkFRUlljRV9tb3RXVkpLSHJ3TEJiZF85cyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNDcwOTM1MTgwLCJuYmYiOjE0NzA5MzUxODAsImV4cCI6MTQ3MDkzOTA4MCwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzAzZjFmMWJiLWM4MjYtNGM3Yi1iMzY4LTk0MGMyYWEyNDJkZi9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYW1yIjpbIndpYSIsIm1mYSJdLCJhcHBpZCI6IjA0YjA3Nzk1LThkZGItNDYxYS1iYmVlLTAyZjllMWJmN2I0NiIsImFwcGlkYWNyIjoiMCIsImVfZXhwIjo3MjAwLCJmYW1pbHlfbmFtZSI6IkJpZWxpY2tpIiwiZ2l2ZW5fbmFtZSI6IkJ1cnQiLCJpcGFkZHIiOiIxNjcuMjIwLjAuNTAiLCJuYW1lIjoiQnVydCBCaWVsaWNraSIsIm9pZCI6IjAzZjFmMWJiLWM4MjYtNGM3Yi1iMzY4LTk0MGMyYWEyNDJkZiIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy00ODEyODA2IiwicHVpZCI6IjEwMDNCRkZEODAxQzA4QkMiLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJDeUIyOFc5T21GWkZ4bDRoZ0lFWW10MEd5amNDYkVDbVB6NWR4VUVSMWxjIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJidXJ0YmllbEBtaWNyb3NvZnQuY29tIiwidXBuIjoiYnVydGJpZWxAbWljcm9zb2Z0LmNvbSIsInZlciI6IjEuMCJ9.of3ROE7BqWHkFCwecJ1Sn5CYsjhgRCxk9_aWubYanFuhPERGhGZXcsaqSJvHleqmm05BrvJWik4cgUlI-nAoHFweRVVuyqgjmwq9iKFk8xqyMqV30x7MoDywnL7vtaaoaQ4cifNSiclW-MMHJj1c_PN7Huh8lWkI-UtAHSwWbTTCew_wyat5K4E70zcJdflVjCKzKrAkHa3i0k5ryehu__kqYYtOtAdyeuUyYVJwZGfMlH6OV4sFlAhLUy0jdFmAkzNuXUhTGhB7P6pKtbO50w__-GJ84eQHorvVfB79g2x-RzjzjnF11cpMJ5zZE_qcr2mZZ1bI0kCy2L3ZKfBqFg]
Connection: [keep-alive]
Content-Type: [application/json; charset=utf-8]
User-Agent: [python/2.7.10 (Windows-8-6.2.9200) requests/2.9.1 msrest/0.4.0
msrest_azure/0.4.1 networkmanagementclient/0.30.0rc5 Azure-SDK-For-Python
AZURECLI/TEST/0.0.1.dev0]
accept-language: [en-US]
x-ms-client-request-id: [4bdcb400-5fea-11e6-b4dd-001dd8b7c0ad]
method: GET
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/a9ab14b2-7c15-4e4e-a0fd-ff3a6dd10c67?api-version=2016-03-30
response:
body:
string: !!binary |
H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl
VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk
6UfLbJF/9Cj9aHG9XVfrNv9oxB8XM3x4t1lPmmldrNqiWjZ3dya755/uP9jd3p2c72zvz2bZdpZP
721PJw/3Huyd7zy8/3Dnbp031bqe5p8TuFVzd1oWv3+bN+3u3VVdXRazvG7uflFM66qpztvxi7y9
quq3d6ltm7/JJmXOb2zjDcFnu8Wn0qC528Eyb7ML4Pndu7/vR+e7uw/yT893t8+zndn2/vTBzvbB
g4fT7YPJ7MHsYLo3uffwwe/7kb5IuKzyui3yhl5nQsiHl0VDIy2WF6/bjHoh0K/X02mez/KZvEnN
stmMxti8rPPz4h2a7D7cG+9+ejDeubv7qW21zN+1365Wb65XDOYni7pdZ6WO93MCfpVdf4S2v+Q3
Tn7J/wP1+r2WiwEAAA==
6UdNm7Xr5qNH6Uev19Npns/y2Ue/cfJL/h9PlJBHHQAAAA==
headers:
Cache-Control: [no-cache]
Content-Encoding: [gzip]
Content-Type: [application/json; charset=utf-8]
Date: ['Mon, 16 May 2016 21:20:51 GMT']
ETag: [W/"f117e6f1-fa0d-4c70-879c-8bd7d8c2b397"]
Expires: ['-1']
Pragma: [no-cache]
Server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0]
Strict-Transport-Security: [max-age=31536000; includeSubDomains]
Vary: [Accept-Encoding]
cache-control: [no-cache]
content-encoding: [gzip]
content-type: [application/json; charset=utf-8]
date: ['Thu, 11 Aug 2016 17:37:48 GMT']
expires: ['-1']
pragma: [no-cache]
server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0]
strict-transport-security: [max-age=31536000; includeSubDomains]
vary: [Accept-Encoding]
status: {code: 200, message: OK}
- request:
body: null
headers:
Accept: [application/json]
Accept-Encoding: ['gzip, deflate']
Authorization: [Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IlliUkFRUlljRV9tb3RXVkpLSHJ3TEJiZF85cyIsImtpZCI6IlliUkFRUlljRV9tb3RXVkpLSHJ3TEJiZF85cyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNDcwOTM1MTgwLCJuYmYiOjE0NzA5MzUxODAsImV4cCI6MTQ3MDkzOTA4MCwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzAzZjFmMWJiLWM4MjYtNGM3Yi1iMzY4LTk0MGMyYWEyNDJkZi9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYW1yIjpbIndpYSIsIm1mYSJdLCJhcHBpZCI6IjA0YjA3Nzk1LThkZGItNDYxYS1iYmVlLTAyZjllMWJmN2I0NiIsImFwcGlkYWNyIjoiMCIsImVfZXhwIjo3MjAwLCJmYW1pbHlfbmFtZSI6IkJpZWxpY2tpIiwiZ2l2ZW5fbmFtZSI6IkJ1cnQiLCJpcGFkZHIiOiIxNjcuMjIwLjAuNTAiLCJuYW1lIjoiQnVydCBCaWVsaWNraSIsIm9pZCI6IjAzZjFmMWJiLWM4MjYtNGM3Yi1iMzY4LTk0MGMyYWEyNDJkZiIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy00ODEyODA2IiwicHVpZCI6IjEwMDNCRkZEODAxQzA4QkMiLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJDeUIyOFc5T21GWkZ4bDRoZ0lFWW10MEd5amNDYkVDbVB6NWR4VUVSMWxjIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJidXJ0YmllbEBtaWNyb3NvZnQuY29tIiwidXBuIjoiYnVydGJpZWxAbWljcm9zb2Z0LmNvbSIsInZlciI6IjEuMCJ9.of3ROE7BqWHkFCwecJ1Sn5CYsjhgRCxk9_aWubYanFuhPERGhGZXcsaqSJvHleqmm05BrvJWik4cgUlI-nAoHFweRVVuyqgjmwq9iKFk8xqyMqV30x7MoDywnL7vtaaoaQ4cifNSiclW-MMHJj1c_PN7Huh8lWkI-UtAHSwWbTTCew_wyat5K4E70zcJdflVjCKzKrAkHa3i0k5ryehu__kqYYtOtAdyeuUyYVJwZGfMlH6OV4sFlAhLUy0jdFmAkzNuXUhTGhB7P6pKtbO50w__-GJ84eQHorvVfB79g2x-RzjzjnF11cpMJ5zZE_qcr2mZZ1bI0kCy2L3ZKfBqFg]
Connection: [keep-alive]
Content-Type: [application/json; charset=utf-8]
User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.3.0 msrest_azure/0.3.0 networkmanagementclient/2016-03-30
Azure-SDK-For-Python AZURECLI_0.0.32]
User-Agent: [python/2.7.10 (Windows-8-6.2.9200) requests/2.9.1 msrest/0.4.0
msrest_azure/0.4.1 networkmanagementclient/0.30.0rc5 Azure-SDK-For-Python
AZURECLI/TEST/0.0.1.dev0]
accept-language: [en-US]
x-ms-client-request-id: [4bdcb400-5fea-11e6-b4dd-001dd8b7c0ad]
method: GET
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_route_table_test1/providers/Microsoft.Network/routeTables/cli-test-route-table/routes/my-route?api-version=2016-03-30
response:
body:
string: !!binary |
H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl
VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk
6UfLbJF/9Cj9aHG9XVfrNv9oxB8XM3x4t1lPmmldrNqiWjZ37+3s5wcPH366/eDB+WR7/9P8YHuS
zbLt+/cffLqze//h/iTfv1vnTbWup/nnBG7V3J2Wxe9Pv7X5799mk5L+zZt29+6qri6LWV43d78o
pnXVVOft+EXeXlX127vc+g0a89vbeENw22YQ0qC528E4b7ML4Pzdu7/vR+c79w52Jw+m27sPdmbb
+w8e3ts+2N+fbGc7B9mnB5Pzvd3znd/3I32RcFnldVvkDb3ORJEPL4uGRl0sL163GfVCoF+vp9M8
n+UzeZOaZbMZjbd5WefnxTs02d0Z74zvj3fu7u3bRsv8XfvtavXmesVQXlTL/CN89Ut+4+SX/D9E
bE1ChQEAAA==
headers:
cache-control: [no-cache]
content-encoding: [gzip]
content-type: [application/json; charset=utf-8]
date: ['Thu, 11 Aug 2016 17:37:48 GMT']
etag: [W/"f0381b7c-170d-4793-844b-a08a68bf21f0"]
expires: ['-1']
pragma: [no-cache]
server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0]
strict-transport-security: [max-age=31536000; includeSubDomains]
vary: [Accept-Encoding]
status: {code: 200, message: OK}
- request:
body: null
headers:
Accept: [application/json]
Accept-Encoding: ['gzip, deflate']
Authorization: [Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IlliUkFRUlljRV9tb3RXVkpLSHJ3TEJiZF85cyIsImtpZCI6IlliUkFRUlljRV9tb3RXVkpLSHJ3TEJiZF85cyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNDcwOTM1MTgwLCJuYmYiOjE0NzA5MzUxODAsImV4cCI6MTQ3MDkzOTA4MCwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzAzZjFmMWJiLWM4MjYtNGM3Yi1iMzY4LTk0MGMyYWEyNDJkZi9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYW1yIjpbIndpYSIsIm1mYSJdLCJhcHBpZCI6IjA0YjA3Nzk1LThkZGItNDYxYS1iYmVlLTAyZjllMWJmN2I0NiIsImFwcGlkYWNyIjoiMCIsImVfZXhwIjo3MjAwLCJmYW1pbHlfbmFtZSI6IkJpZWxpY2tpIiwiZ2l2ZW5fbmFtZSI6IkJ1cnQiLCJpcGFkZHIiOiIxNjcuMjIwLjAuNTAiLCJuYW1lIjoiQnVydCBCaWVsaWNraSIsIm9pZCI6IjAzZjFmMWJiLWM4MjYtNGM3Yi1iMzY4LTk0MGMyYWEyNDJkZiIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy00ODEyODA2IiwicHVpZCI6IjEwMDNCRkZEODAxQzA4QkMiLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJDeUIyOFc5T21GWkZ4bDRoZ0lFWW10MEd5amNDYkVDbVB6NWR4VUVSMWxjIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJidXJ0YmllbEBtaWNyb3NvZnQuY29tIiwidXBuIjoiYnVydGJpZWxAbWljcm9zb2Z0LmNvbSIsInZlciI6IjEuMCJ9.of3ROE7BqWHkFCwecJ1Sn5CYsjhgRCxk9_aWubYanFuhPERGhGZXcsaqSJvHleqmm05BrvJWik4cgUlI-nAoHFweRVVuyqgjmwq9iKFk8xqyMqV30x7MoDywnL7vtaaoaQ4cifNSiclW-MMHJj1c_PN7Huh8lWkI-UtAHSwWbTTCew_wyat5K4E70zcJdflVjCKzKrAkHa3i0k5ryehu__kqYYtOtAdyeuUyYVJwZGfMlH6OV4sFlAhLUy0jdFmAkzNuXUhTGhB7P6pKtbO50w__-GJ84eQHorvVfB79g2x-RzjzjnF11cpMJ5zZE_qcr2mZZ1bI0kCy2L3ZKfBqFg]
Connection: [keep-alive]
Content-Type: [application/json; charset=utf-8]
User-Agent: [python/2.7.10 (Windows-8-6.2.9200) requests/2.9.1 msrest/0.4.0
msrest_azure/0.4.1 networkmanagementclient/0.30.0rc5 Azure-SDK-For-Python
AZURECLI/TEST/0.0.1.dev0]
accept-language: [en-US]
x-ms-client-request-id: [53191ec0-5fea-11e6-a7a1-001dd8b7c0ad]
method: GET
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/routeTables?api-version=2016-03-30
response:
@ -89,278 +231,214 @@ interactions:
H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl
VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk
6UeXWbnOP3qUfg9/pSl/iOejZbbA5x9Ny2K7zZt2u67Wbb7dZpMy/2hkmxUzNLrbrCfNtC5WbVEt
m7s7k93zT/cf7G7vTs53tvdns2w7y6f3tqeTh3sP9s53Ht5/uHO3zptqXU/zzwnwqrlL/fz+6Gf3
7qquLotZXjd3vyimddVU5+34Rd5eVfXbu9S2zd8AB35jE2Z5m10At+/e/X0/Ot/dfZB/er67fZ7t
zLb3pw92tg8ePJxuH0xmD2YH073JvYcPft+PvJfb6xWPfiMGXvuymmYYO965IpzW/pc0oFVetwW9
8chRWL64LBp6rVhevG6zlrt8vZ5O83yWzxwEamqptRaK7+/fP394sJNvZ3vnB9v7BxP6bfd8tn1v
ku8ezHbO75/vHIQAgDcQ0JmWx8MGj531xbVQ1QeB5/9t8y0NmruD+H4IF8iDWYpOnzz4+paTKM9H
2WxGtGhe1vl58Q6Ndx/ujXc/PRjv3N39NNJ+mb9rv12t3ihL/mRRt+usVAp9Th1eZdcfhW/9Ev9P
74/vm1/1M/5BH/6S/wdWn3ILDQQAAA==
m7v3dvbzg4cPP91+8OB8sr3/aX6wPclm2fb9+w8+3dm9/3B/ku/frfOmWtfT/HMCvGruUj+/P/3W
5r8/d/H7o8/du6u6uixmed3c/aKY1lVTnbfjF3l7VdVv73LrN2jMb2/CMm+zC+D53bu/70fnO/cO
dicPptu7D3Zm2/sPHt7bPtjfn2xnOwfZpweT873d853f9yPv5fZ6xZTYiIHXvqymGeiAd64Ip7X/
JSHS0Be/+Je4j2iMq7xuCwJCX5iP5YvLoiFIxfLidZu1jMXr9XSa57N85oBSU0vMtUzIZHr+4P6D
ven2+acPH2zv783ubWcHNAO7s+ze/fOd7ODTvd0QAIYCBJQR5PGwwWOZYnEthPZB4Pl/MztIg+bu
IO4fwiTyYMaiUykPvr7lhMrzUTabEV2al3V+XrxD492d8c74/njn7t5+pPkyf9d+u1q9UYZ9US3z
j8JGv8T/0/vj++ZX/cywpx2DN/V167r+5iZ8cX25aG49wR0s/Kl7mN2b7symxPoP94j17x1Mtx8e
7H26vXPv0/v37hGdD6ZTf+q+WfmmAUQ5AF/ccu57wkz02ptO9h5uz/Y//XR7f2d2sJ3t7eTbnz54
mN/fnd472L8/CQEAbyBwS2Hm9j4EPD+XUysf8O/4pYfah8y3PJiP6ETJg69vOV3y/L9VVO+5vn8u
J9RHw5+86cNssv/wwafbB9nkgPRsvrt98HA/397ZfXBverC7u7N/f9efvG9WWAkRnn1DQvqIBhVl
C3xxS4boye/Og/sP9x7m+9v5p8Sm+7Pp/nb2YJck+f6nDx7k2b3swb2HIQAMBQh8730m+/LCAfm5
m+sAC3+q7+1OSBR3728/JHEll2S6t31wfv/+9s7ew/3z/f1sNp38EKbafEAfvaW/P7q0UmdIS9/Q
aL9xJni4e296vrezu33/YG+HmOA8387y6YPtB9Ps/ODgwcG9g087ADBIINBnAvygD3/J/wMgnola
wwsAAA==
headers:
Cache-Control: [no-cache]
Content-Encoding: [gzip]
Content-Type: [application/json; charset=utf-8]
Date: ['Mon, 16 May 2016 21:20:50 GMT']
Expires: ['-1']
Pragma: [no-cache]
Server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0]
Strict-Transport-Security: [max-age=31536000; includeSubDomains]
Vary: [Accept-Encoding]
cache-control: [no-cache]
content-encoding: [gzip]
content-type: [application/json; charset=utf-8]
date: ['Thu, 11 Aug 2016 17:37:50 GMT']
expires: ['-1']
pragma: [no-cache]
server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0]
strict-transport-security: [max-age=31536000; includeSubDomains]
vary: [Accept-Encoding]
status: {code: 200, message: OK}
- request:
body: null
headers:
Accept: [application/json]
Accept-Encoding: ['gzip, deflate']
Authorization: [Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IlliUkFRUlljRV9tb3RXVkpLSHJ3TEJiZF85cyIsImtpZCI6IlliUkFRUlljRV9tb3RXVkpLSHJ3TEJiZF85cyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNDcwOTM1MTgwLCJuYmYiOjE0NzA5MzUxODAsImV4cCI6MTQ3MDkzOTA4MCwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzAzZjFmMWJiLWM4MjYtNGM3Yi1iMzY4LTk0MGMyYWEyNDJkZi9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYW1yIjpbIndpYSIsIm1mYSJdLCJhcHBpZCI6IjA0YjA3Nzk1LThkZGItNDYxYS1iYmVlLTAyZjllMWJmN2I0NiIsImFwcGlkYWNyIjoiMCIsImVfZXhwIjo3MjAwLCJmYW1pbHlfbmFtZSI6IkJpZWxpY2tpIiwiZ2l2ZW5fbmFtZSI6IkJ1cnQiLCJpcGFkZHIiOiIxNjcuMjIwLjAuNTAiLCJuYW1lIjoiQnVydCBCaWVsaWNraSIsIm9pZCI6IjAzZjFmMWJiLWM4MjYtNGM3Yi1iMzY4LTk0MGMyYWEyNDJkZiIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy00ODEyODA2IiwicHVpZCI6IjEwMDNCRkZEODAxQzA4QkMiLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJDeUIyOFc5T21GWkZ4bDRoZ0lFWW10MEd5amNDYkVDbVB6NWR4VUVSMWxjIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJidXJ0YmllbEBtaWNyb3NvZnQuY29tIiwidXBuIjoiYnVydGJpZWxAbWljcm9zb2Z0LmNvbSIsInZlciI6IjEuMCJ9.of3ROE7BqWHkFCwecJ1Sn5CYsjhgRCxk9_aWubYanFuhPERGhGZXcsaqSJvHleqmm05BrvJWik4cgUlI-nAoHFweRVVuyqgjmwq9iKFk8xqyMqV30x7MoDywnL7vtaaoaQ4cifNSiclW-MMHJj1c_PN7Huh8lWkI-UtAHSwWbTTCew_wyat5K4E70zcJdflVjCKzKrAkHa3i0k5ryehu__kqYYtOtAdyeuUyYVJwZGfMlH6OV4sFlAhLUy0jdFmAkzNuXUhTGhB7P6pKtbO50w__-GJ84eQHorvVfB79g2x-RzjzjnF11cpMJ5zZE_qcr2mZZ1bI0kCy2L3ZKfBqFg]
Connection: [keep-alive]
Content-Type: [application/json; charset=utf-8]
User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.3.0 msrest_azure/0.3.0 networkmanagementclient/2016-03-30
Azure-SDK-For-Python AZURECLI_0.0.32]
User-Agent: [python/2.7.10 (Windows-8-6.2.9200) requests/2.9.1 msrest/0.4.0
msrest_azure/0.4.1 networkmanagementclient/0.30.0rc5 Azure-SDK-For-Python
AZURECLI/TEST/0.0.1.dev0]
accept-language: [en-US]
x-ms-client-request-id: [53687740-5fea-11e6-b8a2-001dd8b7c0ad]
method: GET
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test1/providers/Microsoft.Network/routeTables?api-version=2016-03-30
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_route_table_test1/providers/Microsoft.Network/routeTables?api-version=2016-03-30
response:
body:
string: !!binary |
H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl
VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk
6UeXWbnOP3qUfg9/pSl/iOejZbbA5x9Ny2K7zZt2u67Wbb7dZpMy/2hkmxUzNLrbrCfNtC5WbVEt
m7s7k93zT/cf7G7vTs53tvdns2w7y6f3tqeTh3sP9s53Ht5/uHO3zptqXU/zzwnwqrlL/fz+6Gf3
7qquLotZXjd3vyimddVU5+34Rd5eVfXbu9S2zd8AB35jE2Z5m10At+/e/X0/Ot/dfZB/er67fZ7t
zLb3pw92tg8ePJxuH0xmD2YH073JvYcPft+PvJfb6xWPfiMGXvuymmYYO965IpzW/pc0oFVetwW9
8chRWL64LBp6rVhevG6zlrt8vZ5O83yWzxwEamqptRaK7+/fP394sJNvZ3vnB9v7BxP6bfd8tn1v
ku8ezHbO75/vHIQAgDcQ0JmWx8MGj531xbVQ1QeB5/9t8y0NmruD+H4IF8iDWYpOnzz4+paTKM9H
2WxGtGhe1vl58Q6Ndx/ujXc/PRjv3N39NNJ+mb9rv12t3ihL/mRRt+usVAp9Th1eZdcfhW/9Ev9P
74/vm1/1M/5BH/6S/wdWn3ILDQQAAA==
m7v3dvbzg4cPP91+8OB8sr3/aX6wPclm2fb9+w8+3dm9/3B/ku/frfOmWtfT/HMCvGruUj+/P/3W
5r8/d/H7o8/du6u6uixmed3c/aKY1lVTnbfjF3l7VdVv73LrN2jMb2/CMm+zC+D53bu/70fnO/cO
dicPptu7D3Zm2/sPHt7bPtjfn2xnOwfZpweT873d853f9yPv5fZ6xZTYiIHXvqymGeiAd64Ip7X/
JSHS0Be/+Je4j2iMq7xuCwJCX5iP5YvLoiFIxfLidZu1jMXr9XSa57N85oBSU0vMtUzIZHr+4P6D
ven2+acPH2zv783ubWcHNAO7s+ze/fOd7ODTvd0QAIYCBJQR5PGwwWOZYnEthPZB4Pl/MztIg+bu
IO4fwiTyYMaiUykPvr7lhMrzUTabEV2al3V+XrxD492d8c74/njn7t5+pPkyf9d+u1q9UYZ9US3z
j8JGv8T/0/vj++ZX/Yx/0Ie/5P8BF0phFiYEAAA=
headers:
Cache-Control: [no-cache]
Content-Encoding: [gzip]
Content-Type: [application/json; charset=utf-8]
Date: ['Mon, 16 May 2016 21:20:50 GMT']
Expires: ['-1']
Pragma: [no-cache]
Server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0]
Strict-Transport-Security: [max-age=31536000; includeSubDomains]
Vary: [Accept-Encoding]
cache-control: [no-cache]
content-encoding: [gzip]
content-type: [application/json; charset=utf-8]
date: ['Thu, 11 Aug 2016 17:37:50 GMT']
expires: ['-1']
pragma: [no-cache]
server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0]
strict-transport-security: [max-age=31536000; includeSubDomains]
vary: [Accept-Encoding]
status: {code: 200, message: OK}
- request:
body: null
headers:
Accept: [application/json]
Accept-Encoding: ['gzip, deflate']
Authorization: [Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IlliUkFRUlljRV9tb3RXVkpLSHJ3TEJiZF85cyIsImtpZCI6IlliUkFRUlljRV9tb3RXVkpLSHJ3TEJiZF85cyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNDcwOTM1MTgwLCJuYmYiOjE0NzA5MzUxODAsImV4cCI6MTQ3MDkzOTA4MCwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzAzZjFmMWJiLWM4MjYtNGM3Yi1iMzY4LTk0MGMyYWEyNDJkZi9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYW1yIjpbIndpYSIsIm1mYSJdLCJhcHBpZCI6IjA0YjA3Nzk1LThkZGItNDYxYS1iYmVlLTAyZjllMWJmN2I0NiIsImFwcGlkYWNyIjoiMCIsImVfZXhwIjo3MjAwLCJmYW1pbHlfbmFtZSI6IkJpZWxpY2tpIiwiZ2l2ZW5fbmFtZSI6IkJ1cnQiLCJpcGFkZHIiOiIxNjcuMjIwLjAuNTAiLCJuYW1lIjoiQnVydCBCaWVsaWNraSIsIm9pZCI6IjAzZjFmMWJiLWM4MjYtNGM3Yi1iMzY4LTk0MGMyYWEyNDJkZiIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy00ODEyODA2IiwicHVpZCI6IjEwMDNCRkZEODAxQzA4QkMiLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJDeUIyOFc5T21GWkZ4bDRoZ0lFWW10MEd5amNDYkVDbVB6NWR4VUVSMWxjIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJidXJ0YmllbEBtaWNyb3NvZnQuY29tIiwidXBuIjoiYnVydGJpZWxAbWljcm9zb2Z0LmNvbSIsInZlciI6IjEuMCJ9.of3ROE7BqWHkFCwecJ1Sn5CYsjhgRCxk9_aWubYanFuhPERGhGZXcsaqSJvHleqmm05BrvJWik4cgUlI-nAoHFweRVVuyqgjmwq9iKFk8xqyMqV30x7MoDywnL7vtaaoaQ4cifNSiclW-MMHJj1c_PN7Huh8lWkI-UtAHSwWbTTCew_wyat5K4E70zcJdflVjCKzKrAkHa3i0k5ryehu__kqYYtOtAdyeuUyYVJwZGfMlH6OV4sFlAhLUy0jdFmAkzNuXUhTGhB7P6pKtbO50w__-GJ84eQHorvVfB79g2x-RzjzjnF11cpMJ5zZE_qcr2mZZ1bI0kCy2L3ZKfBqFg]
Connection: [keep-alive]
Content-Type: [application/json; charset=utf-8]
User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.3.0 msrest_azure/0.3.0 networkmanagementclient/2016-03-30
Azure-SDK-For-Python AZURECLI_0.0.32]
User-Agent: [python/2.7.10 (Windows-8-6.2.9200) requests/2.9.1 msrest/0.4.0
msrest_azure/0.4.1 networkmanagementclient/0.30.0rc5 Azure-SDK-For-Python
AZURECLI/TEST/0.0.1.dev0]
accept-language: [en-US]
x-ms-client-request-id: [53a2e830-5fea-11e6-b91c-001dd8b7c0ad]
method: GET
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test1/providers/Microsoft.Network/routeTables/cli-test-route-table?api-version=2016-03-30
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_route_table_test1/providers/Microsoft.Network/routeTables/cli-test-route-table?api-version=2016-03-30
response:
body:
string: !!binary |
H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl
VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk
6UfLbJF/9Cj9aFoW223etNt1tW7z7TablPlHI25SzNDgbrOeNNO6WLVFtWzu7kx2zz/df7C7vTs5
39nen82y7Syf3tueTh7uPdg733l4/+HO3TpvqnU9zT8noKvmLvXx+6OP3bururosZnnd3P2imNZV
U5234xd5e1XVb+9S2zZ/g/75jSGs8ja7AF7fvfv7fnS+u/sg//R8d/s825lt708f7GwfPHg43T6Y
zB7MDqZ7k3sPH/y+H+mL7fWKR7yxZ21bVtMM40X7K8Jjbb6gAazyui2o5aOUKSkfXhYNNS+WF6/b
rOVuXq+n0zyf5TN5k5pZqqyFsvv7988fHuzk29ne+cH2/sGEfts9n23fm+S7B7Od8/vnOwfuZeCI
Tr8nH6Smdzx2NhfXQjHzGp7/t82jNGjuRnH9urMrD2aiNz3y4KtbTJI8H2WzGY29eVnn58U7NNx9
uDfe/fRgvHN399NO22X+rv12tXqj7PWTRd2us1Kp8Tl1dJVdf+Te+CXmV/3l+/hBv/+S/wd8zdZh
mAMAAA==
6UfLbJF/9Cj9aFoW223etNt1tW7z7TablPlHI25SzNDgbrOeNNO6WLVFtWzu3tvZzw8ePvx0+8GD
88n2/qf5wfYkm2Xb9+8/+HRn9/7D/Um+f7fOm2pdT/PPCeiquUt9/P70W5v//gz+90d/u3dXdXVZ
zPK6uftFMa2rpjpvxy/y9qqq397l1m/QmN8ewjBvswvg+N27v+9H5zv3DnYnD6bbuw92Ztv7Dx7e
2z7Y359sZzsH2acHk/O93fOd3/cjfbG9XvHoN/asbctqmmHsaH9FeKzNF9R5Qx/+4l8if9J4Vnnd
FvQifYiP5MPLoqG3i+XF6zZrudfX6+k0z2f5TABRM0uwtRB9Mj1/cP/B3nT7/NOHD7b392b3trMD
ovLuLLt3/3wnO/h0b9e9DJTR6ffkg9T0jsdO9OJaCGhew/P/5imWBs3dKN5fd+Llwaz0pkoefHWL
CZPno2w2Izo0L+v8vHiHhrs7453x/fHO3b39TtNl/q79drV6o4z3olrmH7kGv8T8qr98Hz/o91/y
/wBavTt3rQMAAA==
headers:
Cache-Control: [no-cache]
Content-Encoding: [gzip]
Content-Type: [application/json; charset=utf-8]
Date: ['Mon, 16 May 2016 21:20:51 GMT']
ETag: [W/"f117e6f1-fa0d-4c70-879c-8bd7d8c2b397"]
Expires: ['-1']
Pragma: [no-cache]
Server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0]
Strict-Transport-Security: [max-age=31536000; includeSubDomains]
Vary: [Accept-Encoding]
cache-control: [no-cache]
content-encoding: [gzip]
content-type: [application/json; charset=utf-8]
date: ['Thu, 11 Aug 2016 17:37:51 GMT']
etag: [W/"f0381b7c-170d-4793-844b-a08a68bf21f0"]
expires: ['-1']
pragma: [no-cache]
server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0]
strict-transport-security: [max-age=31536000; includeSubDomains]
vary: [Accept-Encoding]
status: {code: 200, message: OK}
- request:
body: null
headers:
Accept: [application/json]
Accept-Encoding: ['gzip, deflate']
Authorization: [Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IlliUkFRUlljRV9tb3RXVkpLSHJ3TEJiZF85cyIsImtpZCI6IlliUkFRUlljRV9tb3RXVkpLSHJ3TEJiZF85cyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNDcwOTM1MTgwLCJuYmYiOjE0NzA5MzUxODAsImV4cCI6MTQ3MDkzOTA4MCwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzAzZjFmMWJiLWM4MjYtNGM3Yi1iMzY4LTk0MGMyYWEyNDJkZi9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYW1yIjpbIndpYSIsIm1mYSJdLCJhcHBpZCI6IjA0YjA3Nzk1LThkZGItNDYxYS1iYmVlLTAyZjllMWJmN2I0NiIsImFwcGlkYWNyIjoiMCIsImVfZXhwIjo3MjAwLCJmYW1pbHlfbmFtZSI6IkJpZWxpY2tpIiwiZ2l2ZW5fbmFtZSI6IkJ1cnQiLCJpcGFkZHIiOiIxNjcuMjIwLjAuNTAiLCJuYW1lIjoiQnVydCBCaWVsaWNraSIsIm9pZCI6IjAzZjFmMWJiLWM4MjYtNGM3Yi1iMzY4LTk0MGMyYWEyNDJkZiIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy00ODEyODA2IiwicHVpZCI6IjEwMDNCRkZEODAxQzA4QkMiLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJDeUIyOFc5T21GWkZ4bDRoZ0lFWW10MEd5amNDYkVDbVB6NWR4VUVSMWxjIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJidXJ0YmllbEBtaWNyb3NvZnQuY29tIiwidXBuIjoiYnVydGJpZWxAbWljcm9zb2Z0LmNvbSIsInZlciI6IjEuMCJ9.of3ROE7BqWHkFCwecJ1Sn5CYsjhgRCxk9_aWubYanFuhPERGhGZXcsaqSJvHleqmm05BrvJWik4cgUlI-nAoHFweRVVuyqgjmwq9iKFk8xqyMqV30x7MoDywnL7vtaaoaQ4cifNSiclW-MMHJj1c_PN7Huh8lWkI-UtAHSwWbTTCew_wyat5K4E70zcJdflVjCKzKrAkHa3i0k5ryehu__kqYYtOtAdyeuUyYVJwZGfMlH6OV4sFlAhLUy0jdFmAkzNuXUhTGhB7P6pKtbO50w__-GJ84eQHorvVfB79g2x-RzjzjnF11cpMJ5zZE_qcr2mZZ1bI0kCy2L3ZKfBqFg]
Connection: [keep-alive]
Content-Type: [application/json; charset=utf-8]
User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.3.0 msrest_azure/0.3.0 networkmanagementclient/2016-03-30
Azure-SDK-For-Python AZURECLI_0.0.32]
User-Agent: [python/2.7.10 (Windows-8-6.2.9200) requests/2.9.1 msrest/0.4.0
msrest_azure/0.4.1 networkmanagementclient/0.30.0rc5 Azure-SDK-For-Python
AZURECLI/TEST/0.0.1.dev0]
accept-language: [en-US]
x-ms-client-request-id: [53e39ab0-5fea-11e6-9bc0-001dd8b7c0ad]
method: GET
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test1/providers/Microsoft.Network/routeTables/cli-test-route-table/routes?api-version=2016-03-30
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_route_table_test1/providers/Microsoft.Network/routeTables/cli-test-route-table/routes?api-version=2016-03-30
response:
body:
string: !!binary |
H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl
VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk
6UeXWbnOP3qUfg9/pSl/iOejZbbA5x8trrfrat3mH43sV8UMX9xt1pNmWhertqiWzd2dye75p/sP
drd3J+c72/uzWbad5dN729PJw70He+c7D+8/3Llb5021rqf55wRy1dydlsXv3+ZNu3t3VVeXxSyv
m7tfFNO6aqrzdvwib6+q+u1datvmb7JJmfMb23hDcNpu8ak0aO5GMM3b7AK4fvfu7/vR+e7ug/zT
893t82xntr0/fbCzffDg4XT7YDJ7MDuY7k3uPXzw+37kvUw4rfK6LfKGQFjCyBeXRUOjLpYXr9uM
eqQuXq+n0zyf5TMHgZpmsxmNuXlZ5+fFOzTbfbg33v30YLxzd/fToOUyf9d+u1q9uV4xuJ8s6nad
lUqDz6mTq+z6I9P+l8gv/OP7v3HyS/4fp+OGFswBAAA=
6UeXWbnOP3qUfg9/pSl/iOejZbbA5x8trrfrat3mH43sV8UMX9xt1pNmWhertqiWzd17O/v5wcOH
n24/eHA+2d7/ND/YnmSzbPv+/Qef7uzef7g/yffv1nlTretp/jmBXDV3p2Xx+9Nvbf77t9mkpH/z
pt29u6qry2KW183dL4ppXTXVeTt+kbdXVf32Lrd+g8b89jbeEPy2GYQ0aO5GsM7b7AJ4f/fu7/vR
+c69g93Jg+n27oOd2fb+g4f3tg/29yfb2c5B9unB5Hxv93zn9/3Ie5lwWuV1W+QNgbBEki8ui4Yo
UCwvXrcZ9UhdvF5Pp3k+y2cOAjXNZjMaf/Oyzs+Ld2i2uzPeGd8f79zd2w8aLvN37ber1ZvrFUN7
US3zj8zXv0R+4R/f/42TX/L/AF54SCvGAQAA
headers:
Cache-Control: [no-cache]
Content-Encoding: [gzip]
Content-Type: [application/json; charset=utf-8]
Date: ['Mon, 16 May 2016 21:20:51 GMT']
Expires: ['-1']
Pragma: [no-cache]
Server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0]
Strict-Transport-Security: [max-age=31536000; includeSubDomains]
Vary: [Accept-Encoding]
cache-control: [no-cache]
content-encoding: [gzip]
content-type: [application/json; charset=utf-8]
date: ['Thu, 11 Aug 2016 17:37:51 GMT']
expires: ['-1']
pragma: [no-cache]
server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0]
strict-transport-security: [max-age=31536000; includeSubDomains]
vary: [Accept-Encoding]
status: {code: 200, message: OK}
- request:
body: null
headers:
Accept: [application/json]
Accept-Encoding: ['gzip, deflate']
Authorization: [Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IlliUkFRUlljRV9tb3RXVkpLSHJ3TEJiZF85cyIsImtpZCI6IlliUkFRUlljRV9tb3RXVkpLSHJ3TEJiZF85cyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNDcwOTM1MTgwLCJuYmYiOjE0NzA5MzUxODAsImV4cCI6MTQ3MDkzOTA4MCwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzAzZjFmMWJiLWM4MjYtNGM3Yi1iMzY4LTk0MGMyYWEyNDJkZi9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYW1yIjpbIndpYSIsIm1mYSJdLCJhcHBpZCI6IjA0YjA3Nzk1LThkZGItNDYxYS1iYmVlLTAyZjllMWJmN2I0NiIsImFwcGlkYWNyIjoiMCIsImVfZXhwIjo3MjAwLCJmYW1pbHlfbmFtZSI6IkJpZWxpY2tpIiwiZ2l2ZW5fbmFtZSI6IkJ1cnQiLCJpcGFkZHIiOiIxNjcuMjIwLjAuNTAiLCJuYW1lIjoiQnVydCBCaWVsaWNraSIsIm9pZCI6IjAzZjFmMWJiLWM4MjYtNGM3Yi1iMzY4LTk0MGMyYWEyNDJkZiIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy00ODEyODA2IiwicHVpZCI6IjEwMDNCRkZEODAxQzA4QkMiLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJDeUIyOFc5T21GWkZ4bDRoZ0lFWW10MEd5amNDYkVDbVB6NWR4VUVSMWxjIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJidXJ0YmllbEBtaWNyb3NvZnQuY29tIiwidXBuIjoiYnVydGJpZWxAbWljcm9zb2Z0LmNvbSIsInZlciI6IjEuMCJ9.of3ROE7BqWHkFCwecJ1Sn5CYsjhgRCxk9_aWubYanFuhPERGhGZXcsaqSJvHleqmm05BrvJWik4cgUlI-nAoHFweRVVuyqgjmwq9iKFk8xqyMqV30x7MoDywnL7vtaaoaQ4cifNSiclW-MMHJj1c_PN7Huh8lWkI-UtAHSwWbTTCew_wyat5K4E70zcJdflVjCKzKrAkHa3i0k5ryehu__kqYYtOtAdyeuUyYVJwZGfMlH6OV4sFlAhLUy0jdFmAkzNuXUhTGhB7P6pKtbO50w__-GJ84eQHorvVfB79g2x-RzjzjnF11cpMJ5zZE_qcr2mZZ1bI0kCy2L3ZKfBqFg]
Connection: [keep-alive]
Content-Type: [application/json; charset=utf-8]
User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.3.0 msrest_azure/0.3.0 networkmanagementclient/2016-03-30
Azure-SDK-For-Python AZURECLI_0.0.32]
User-Agent: [python/2.7.10 (Windows-8-6.2.9200) requests/2.9.1 msrest/0.4.0
msrest_azure/0.4.1 networkmanagementclient/0.30.0rc5 Azure-SDK-For-Python
AZURECLI/TEST/0.0.1.dev0]
accept-language: [en-US]
x-ms-client-request-id: [5423ff0f-5fea-11e6-8dad-001dd8b7c0ad]
method: GET
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test1/providers/Microsoft.Network/routeTables/cli-test-route-table/routes/my-route?api-version=2016-03-30
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_route_table_test1/providers/Microsoft.Network/routeTables/cli-test-route-table/routes/my-route?api-version=2016-03-30
response:
body:
string: !!binary |
H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl
VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk
6UfLbJF/9Cj9aHG9XVfrNv9oxB8XM3x4t1lPmmldrNqiWjZ3dya755/uP9jd3p2c72zvz2bZdpZP
721PJw/3Huyd7zy8/3Dnbp031bqe5p8TuFVzd1oWv3+bN+3u3VVdXRazvG7uflFM66qpztvxi7y9
quq3d6ltm7/JJmXOb2zjDcFnu8Wn0qC528Eyb7ML4Pndu7/vR+e7uw/yT893t8+zndn2/vTBzvbB
g4fT7YPJ7MHsYLo3uffwwe/7kb5IuKzyui3yhl5nQsiHl0VDIy2WF6/bjHoh0K/X02mez/KZvEnN
stmMxti8rPPz4h2a7D7cG+9+ejDeubv7qW21zN+1365Wb65XDOYni7pdZ6WO93MCfpVdf4S2v+Q3
Tn7J/wP1+r2WiwEAAA==
6UfLbJF/9Cj9aHG9XVfrNv9oxB8XM3x4t1lPmmldrNqiWjZ37+3s5wcPH366/eDB+WR7/9P8YHuS
zbLt+/cffLqze//h/iTfv1vnTbWup/nnBG7V3J2Wxe9Pv7X5799mk5L+zZt29+6qri6LWV43d78o
pnXVVOft+EXeXlX127vc+g0a89vbeENw22YQ0qC528E4b7ML4Pzdu7/vR+c79w52Jw+m27sPdmbb
+w8e3ts+2N+fbGc7B9mnB5Pzvd3znd/3I32RcFnldVvkDb3ORJEPL4uGRl0sL163GfVCoF+vp9M8
n+UzeZOaZbMZjbd5WefnxTs02d0Z74zvj3fu7u3bRsv8XfvtavXmesVQXlTL/CN89Ut+4+SX/D9E
bE1ChQEAAA==
headers:
Cache-Control: [no-cache]
Content-Encoding: [gzip]
Content-Type: [application/json; charset=utf-8]
Date: ['Mon, 16 May 2016 21:20:51 GMT']
ETag: [W/"f117e6f1-fa0d-4c70-879c-8bd7d8c2b397"]
Expires: ['-1']
Pragma: [no-cache]
Server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0]
Strict-Transport-Security: [max-age=31536000; includeSubDomains]
Vary: [Accept-Encoding]
cache-control: [no-cache]
content-encoding: [gzip]
content-type: [application/json; charset=utf-8]
date: ['Thu, 11 Aug 2016 17:37:51 GMT']
etag: [W/"f0381b7c-170d-4793-844b-a08a68bf21f0"]
expires: ['-1']
pragma: [no-cache]
server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0]
strict-transport-security: [max-age=31536000; includeSubDomains]
vary: [Accept-Encoding]
status: {code: 200, message: OK}
- request:
body: null
headers:
Accept: [application/json]
Accept-Encoding: ['gzip, deflate']
Authorization: [Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IlliUkFRUlljRV9tb3RXVkpLSHJ3TEJiZF85cyIsImtpZCI6IlliUkFRUlljRV9tb3RXVkpLSHJ3TEJiZF85cyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNDcwOTM1MTgwLCJuYmYiOjE0NzA5MzUxODAsImV4cCI6MTQ3MDkzOTA4MCwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzAzZjFmMWJiLWM4MjYtNGM3Yi1iMzY4LTk0MGMyYWEyNDJkZi9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYW1yIjpbIndpYSIsIm1mYSJdLCJhcHBpZCI6IjA0YjA3Nzk1LThkZGItNDYxYS1iYmVlLTAyZjllMWJmN2I0NiIsImFwcGlkYWNyIjoiMCIsImVfZXhwIjo3MjAwLCJmYW1pbHlfbmFtZSI6IkJpZWxpY2tpIiwiZ2l2ZW5fbmFtZSI6IkJ1cnQiLCJpcGFkZHIiOiIxNjcuMjIwLjAuNTAiLCJuYW1lIjoiQnVydCBCaWVsaWNraSIsIm9pZCI6IjAzZjFmMWJiLWM4MjYtNGM3Yi1iMzY4LTk0MGMyYWEyNDJkZiIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy00ODEyODA2IiwicHVpZCI6IjEwMDNCRkZEODAxQzA4QkMiLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJDeUIyOFc5T21GWkZ4bDRoZ0lFWW10MEd5amNDYkVDbVB6NWR4VUVSMWxjIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJidXJ0YmllbEBtaWNyb3NvZnQuY29tIiwidXBuIjoiYnVydGJpZWxAbWljcm9zb2Z0LmNvbSIsInZlciI6IjEuMCJ9.of3ROE7BqWHkFCwecJ1Sn5CYsjhgRCxk9_aWubYanFuhPERGhGZXcsaqSJvHleqmm05BrvJWik4cgUlI-nAoHFweRVVuyqgjmwq9iKFk8xqyMqV30x7MoDywnL7vtaaoaQ4cifNSiclW-MMHJj1c_PN7Huh8lWkI-UtAHSwWbTTCew_wyat5K4E70zcJdflVjCKzKrAkHa3i0k5ryehu__kqYYtOtAdyeuUyYVJwZGfMlH6OV4sFlAhLUy0jdFmAkzNuXUhTGhB7P6pKtbO50w__-GJ84eQHorvVfB79g2x-RzjzjnF11cpMJ5zZE_qcr2mZZ1bI0kCy2L3ZKfBqFg]
Connection: [keep-alive]
Content-Length: ['0']
Content-Type: [application/json; charset=utf-8]
User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.3.0 msrest_azure/0.3.0 networkmanagementclient/2016-03-30
Azure-SDK-For-Python AZURECLI_0.0.32]
User-Agent: [python/2.7.10 (Windows-8-6.2.9200) requests/2.9.1 msrest/0.4.0
msrest_azure/0.4.1 networkmanagementclient/0.30.0rc5 Azure-SDK-For-Python
AZURECLI/TEST/0.0.1.dev0]
accept-language: [en-US]
x-ms-client-request-id: [5470bf80-5fea-11e6-a8d8-001dd8b7c0ad]
method: DELETE
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test1/providers/Microsoft.Network/routeTables/cli-test-route-table/routes/my-route?api-version=2016-03-30
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_route_table_test1/providers/Microsoft.Network/routeTables/cli-test-route-table/routes/my-route?api-version=2016-03-30
response:
body: {string: ''}
body: {string: !!python/unicode ''}
headers:
Azure-AsyncOperation: ['https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.Network/locations/westus/operations/e2ba622a-a5f5-42ad-81a6-e5af1fd49214?api-version=2016-03-30']
Cache-Control: [no-cache]
Content-Length: ['0']
Date: ['Mon, 16 May 2016 21:20:52 GMT']
Expires: ['-1']
Location: ['https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.Network/locations/westus/operationResults/e2ba622a-a5f5-42ad-81a6-e5af1fd49214?api-version=2016-03-30']
Pragma: [no-cache]
Retry-After: ['10']
Server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0]
Strict-Transport-Security: [max-age=31536000; includeSubDomains]
x-ms-ratelimit-remaining-subscription-writes: ['1199']
status: {code: 202, message: Accepted}
- request:
body: null
headers:
Accept: [application/json]
Accept-Encoding: ['gzip, deflate']
Connection: [keep-alive]
Content-Type: [application/json; charset=utf-8]
User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.3.0 msrest_azure/0.3.0 networkmanagementclient/2016-03-30
Azure-SDK-For-Python AZURECLI_0.0.32]
accept-language: [en-US]
method: GET
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/e2ba622a-a5f5-42ad-81a6-e5af1fd49214?api-version=2016-03-30
response:
body:
string: !!binary |
H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl
VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk
6UdNm7Xr5qNH6Uev19Npns/y2Ue/cfJL/h9PlJBHHQAAAA==
headers:
Cache-Control: [no-cache]
Content-Encoding: [gzip]
Content-Type: [application/json; charset=utf-8]
Date: ['Mon, 16 May 2016 21:21:03 GMT']
Expires: ['-1']
Pragma: [no-cache]
Server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0]
Strict-Transport-Security: [max-age=31536000; includeSubDomains]
Vary: [Accept-Encoding]
status: {code: 200, message: OK}
- request:
body: null
headers:
Accept: [application/json]
Accept-Encoding: ['gzip, deflate']
Connection: [keep-alive]
Content-Type: [application/json; charset=utf-8]
User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.3.0 msrest_azure/0.3.0 networkmanagementclient/2016-03-30
Azure-SDK-For-Python AZURECLI_0.0.32]
accept-language: [en-US]
method: GET
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test1/providers/Microsoft.Network/routeTables/cli-test-route-table/routes?api-version=2016-03-30
response:
body:
string: !!binary |
H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl
VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk
6UeXWbnOP3qUfu/7v3HyS/4fW9IxlRMAAAA=
headers:
Cache-Control: [no-cache]
Content-Encoding: [gzip]
Content-Type: [application/json; charset=utf-8]
Date: ['Mon, 16 May 2016 21:21:05 GMT']
Expires: ['-1']
Pragma: [no-cache]
Server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0]
Strict-Transport-Security: [max-age=31536000; includeSubDomains]
Vary: [Accept-Encoding]
status: {code: 200, message: OK}
- request:
body: null
headers:
Accept: [application/json]
Accept-Encoding: ['gzip, deflate']
Connection: [keep-alive]
Content-Length: ['0']
Content-Type: [application/json; charset=utf-8]
User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.3.0 msrest_azure/0.3.0 networkmanagementclient/2016-03-30
Azure-SDK-For-Python AZURECLI_0.0.32]
accept-language: [en-US]
method: DELETE
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test1/providers/Microsoft.Network/routeTables/cli-test-route-table?api-version=2016-03-30
response:
body: {string: ''}
headers:
Azure-AsyncOperation: ['https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.Network/locations/westus/operations/c662f3fa-2d0c-4ad8-9a96-c34f37cbdbab?api-version=2016-03-30']
Cache-Control: [no-cache]
Content-Length: ['0']
Date: ['Mon, 16 May 2016 21:21:05 GMT']
Expires: ['-1']
Location: ['https://management.azure.com/subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590/providers/Microsoft.Network/locations/westus/operationResults/c662f3fa-2d0c-4ad8-9a96-c34f37cbdbab?api-version=2016-03-30']
Pragma: [no-cache]
Retry-After: ['10']
Server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0]
Strict-Transport-Security: [max-age=31536000; includeSubDomains]
azure-asyncoperation: ['https://management.azure.com/subscriptions/304e8996-77fb-46e8-bada-557601594be4/providers/Microsoft.Network/locations/westus/operations/83e012f0-e44d-48f6-a053-e4bc36904fb3?api-version=2016-03-30']
cache-control: [no-cache]
content-length: ['0']
date: ['Thu, 11 Aug 2016 17:37:52 GMT']
expires: ['-1']
location: ['https://management.azure.com/subscriptions/304e8996-77fb-46e8-bada-557601594be4/providers/Microsoft.Network/locations/westus/operationResults/83e012f0-e44d-48f6-a053-e4bc36904fb3?api-version=2016-03-30']
pragma: [no-cache]
retry-after: ['10']
server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0]
strict-transport-security: [max-age=31536000; includeSubDomains]
x-ms-ratelimit-remaining-subscription-writes: ['1198']
status: {code: 202, message: Accepted}
- request:
@ -368,13 +446,16 @@ interactions:
headers:
Accept: [application/json]
Accept-Encoding: ['gzip, deflate']
Authorization: [Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IlliUkFRUlljRV9tb3RXVkpLSHJ3TEJiZF85cyIsImtpZCI6IlliUkFRUlljRV9tb3RXVkpLSHJ3TEJiZF85cyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNDcwOTM1MTgwLCJuYmYiOjE0NzA5MzUxODAsImV4cCI6MTQ3MDkzOTA4MCwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzAzZjFmMWJiLWM4MjYtNGM3Yi1iMzY4LTk0MGMyYWEyNDJkZi9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYW1yIjpbIndpYSIsIm1mYSJdLCJhcHBpZCI6IjA0YjA3Nzk1LThkZGItNDYxYS1iYmVlLTAyZjllMWJmN2I0NiIsImFwcGlkYWNyIjoiMCIsImVfZXhwIjo3MjAwLCJmYW1pbHlfbmFtZSI6IkJpZWxpY2tpIiwiZ2l2ZW5fbmFtZSI6IkJ1cnQiLCJpcGFkZHIiOiIxNjcuMjIwLjAuNTAiLCJuYW1lIjoiQnVydCBCaWVsaWNraSIsIm9pZCI6IjAzZjFmMWJiLWM4MjYtNGM3Yi1iMzY4LTk0MGMyYWEyNDJkZiIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy00ODEyODA2IiwicHVpZCI6IjEwMDNCRkZEODAxQzA4QkMiLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJDeUIyOFc5T21GWkZ4bDRoZ0lFWW10MEd5amNDYkVDbVB6NWR4VUVSMWxjIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJidXJ0YmllbEBtaWNyb3NvZnQuY29tIiwidXBuIjoiYnVydGJpZWxAbWljcm9zb2Z0LmNvbSIsInZlciI6IjEuMCJ9.of3ROE7BqWHkFCwecJ1Sn5CYsjhgRCxk9_aWubYanFuhPERGhGZXcsaqSJvHleqmm05BrvJWik4cgUlI-nAoHFweRVVuyqgjmwq9iKFk8xqyMqV30x7MoDywnL7vtaaoaQ4cifNSiclW-MMHJj1c_PN7Huh8lWkI-UtAHSwWbTTCew_wyat5K4E70zcJdflVjCKzKrAkHa3i0k5ryehu__kqYYtOtAdyeuUyYVJwZGfMlH6OV4sFlAhLUy0jdFmAkzNuXUhTGhB7P6pKtbO50w__-GJ84eQHorvVfB79g2x-RzjzjnF11cpMJ5zZE_qcr2mZZ1bI0kCy2L3ZKfBqFg]
Connection: [keep-alive]
Content-Type: [application/json; charset=utf-8]
User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.3.0 msrest_azure/0.3.0 networkmanagementclient/2016-03-30
Azure-SDK-For-Python AZURECLI_0.0.32]
User-Agent: [python/2.7.10 (Windows-8-6.2.9200) requests/2.9.1 msrest/0.4.0
msrest_azure/0.4.1 networkmanagementclient/0.30.0rc5 Azure-SDK-For-Python
AZURECLI/TEST/0.0.1.dev0]
accept-language: [en-US]
x-ms-client-request-id: [5470bf80-5fea-11e6-a8d8-001dd8b7c0ad]
method: GET
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/c662f3fa-2d0c-4ad8-9a96-c34f37cbdbab?api-version=2016-03-30
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/83e012f0-e44d-48f6-a053-e4bc36904fb3?api-version=2016-03-30
response:
body:
string: !!binary |
@ -382,43 +463,141 @@ interactions:
VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk
6UdNm7Xr5qNH6Uev19Npns/y2Ue/cfJL/h9PlJBHHQAAAA==
headers:
Cache-Control: [no-cache]
Content-Encoding: [gzip]
Content-Type: [application/json; charset=utf-8]
Date: ['Mon, 16 May 2016 21:21:15 GMT']
Expires: ['-1']
Pragma: [no-cache]
Server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0]
Strict-Transport-Security: [max-age=31536000; includeSubDomains]
Vary: [Accept-Encoding]
cache-control: [no-cache]
content-encoding: [gzip]
content-type: [application/json; charset=utf-8]
date: ['Thu, 11 Aug 2016 17:38:02 GMT']
expires: ['-1']
pragma: [no-cache]
server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0]
strict-transport-security: [max-age=31536000; includeSubDomains]
vary: [Accept-Encoding]
status: {code: 200, message: OK}
- request:
body: null
headers:
Accept: [application/json]
Accept-Encoding: ['gzip, deflate']
Authorization: [Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IlliUkFRUlljRV9tb3RXVkpLSHJ3TEJiZF85cyIsImtpZCI6IlliUkFRUlljRV9tb3RXVkpLSHJ3TEJiZF85cyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNDcwOTM1MTgwLCJuYmYiOjE0NzA5MzUxODAsImV4cCI6MTQ3MDkzOTA4MCwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzAzZjFmMWJiLWM4MjYtNGM3Yi1iMzY4LTk0MGMyYWEyNDJkZi9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYW1yIjpbIndpYSIsIm1mYSJdLCJhcHBpZCI6IjA0YjA3Nzk1LThkZGItNDYxYS1iYmVlLTAyZjllMWJmN2I0NiIsImFwcGlkYWNyIjoiMCIsImVfZXhwIjo3MjAwLCJmYW1pbHlfbmFtZSI6IkJpZWxpY2tpIiwiZ2l2ZW5fbmFtZSI6IkJ1cnQiLCJpcGFkZHIiOiIxNjcuMjIwLjAuNTAiLCJuYW1lIjoiQnVydCBCaWVsaWNraSIsIm9pZCI6IjAzZjFmMWJiLWM4MjYtNGM3Yi1iMzY4LTk0MGMyYWEyNDJkZiIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy00ODEyODA2IiwicHVpZCI6IjEwMDNCRkZEODAxQzA4QkMiLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJDeUIyOFc5T21GWkZ4bDRoZ0lFWW10MEd5amNDYkVDbVB6NWR4VUVSMWxjIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJidXJ0YmllbEBtaWNyb3NvZnQuY29tIiwidXBuIjoiYnVydGJpZWxAbWljcm9zb2Z0LmNvbSIsInZlciI6IjEuMCJ9.of3ROE7BqWHkFCwecJ1Sn5CYsjhgRCxk9_aWubYanFuhPERGhGZXcsaqSJvHleqmm05BrvJWik4cgUlI-nAoHFweRVVuyqgjmwq9iKFk8xqyMqV30x7MoDywnL7vtaaoaQ4cifNSiclW-MMHJj1c_PN7Huh8lWkI-UtAHSwWbTTCew_wyat5K4E70zcJdflVjCKzKrAkHa3i0k5ryehu__kqYYtOtAdyeuUyYVJwZGfMlH6OV4sFlAhLUy0jdFmAkzNuXUhTGhB7P6pKtbO50w__-GJ84eQHorvVfB79g2x-RzjzjnF11cpMJ5zZE_qcr2mZZ1bI0kCy2L3ZKfBqFg]
Connection: [keep-alive]
Content-Type: [application/json; charset=utf-8]
User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.3.0 msrest_azure/0.3.0 networkmanagementclient/2016-03-30
Azure-SDK-For-Python AZURECLI_0.0.32]
User-Agent: [python/2.7.10 (Windows-8-6.2.9200) requests/2.9.1 msrest/0.4.0
msrest_azure/0.4.1 networkmanagementclient/0.30.0rc5 Azure-SDK-For-Python
AZURECLI/TEST/0.0.1.dev0]
accept-language: [en-US]
x-ms-client-request-id: [5b12e60f-5fea-11e6-9de0-001dd8b7c0ad]
method: GET
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test1/providers/Microsoft.Network/routeTables?api-version=2016-03-30
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_route_table_test1/providers/Microsoft.Network/routeTables/cli-test-route-table/routes?api-version=2016-03-30
response:
body:
string: !!binary |
H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl
VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR5dZ
uc4/evS97/+S/wdC6kBEDAAAAA==
VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk
6UeXWbnOP3qUfu/7v3HyS/4fW9IxlRMAAAA=
headers:
Cache-Control: [no-cache]
Content-Encoding: [gzip]
Content-Length: ['133']
cache-control: [no-cache]
content-encoding: [gzip]
content-type: [application/json; charset=utf-8]
date: ['Thu, 11 Aug 2016 17:38:03 GMT']
expires: ['-1']
pragma: [no-cache]
server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0]
strict-transport-security: [max-age=31536000; includeSubDomains]
vary: [Accept-Encoding]
status: {code: 200, message: OK}
- request:
body: null
headers:
Accept: [application/json]
Accept-Encoding: ['gzip, deflate']
Authorization: [Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IlliUkFRUlljRV9tb3RXVkpLSHJ3TEJiZF85cyIsImtpZCI6IlliUkFRUlljRV9tb3RXVkpLSHJ3TEJiZF85cyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNDcwOTM1MTgwLCJuYmYiOjE0NzA5MzUxODAsImV4cCI6MTQ3MDkzOTA4MCwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzAzZjFmMWJiLWM4MjYtNGM3Yi1iMzY4LTk0MGMyYWEyNDJkZi9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYW1yIjpbIndpYSIsIm1mYSJdLCJhcHBpZCI6IjA0YjA3Nzk1LThkZGItNDYxYS1iYmVlLTAyZjllMWJmN2I0NiIsImFwcGlkYWNyIjoiMCIsImVfZXhwIjo3MjAwLCJmYW1pbHlfbmFtZSI6IkJpZWxpY2tpIiwiZ2l2ZW5fbmFtZSI6IkJ1cnQiLCJpcGFkZHIiOiIxNjcuMjIwLjAuNTAiLCJuYW1lIjoiQnVydCBCaWVsaWNraSIsIm9pZCI6IjAzZjFmMWJiLWM4MjYtNGM3Yi1iMzY4LTk0MGMyYWEyNDJkZiIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy00ODEyODA2IiwicHVpZCI6IjEwMDNCRkZEODAxQzA4QkMiLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJDeUIyOFc5T21GWkZ4bDRoZ0lFWW10MEd5amNDYkVDbVB6NWR4VUVSMWxjIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJidXJ0YmllbEBtaWNyb3NvZnQuY29tIiwidXBuIjoiYnVydGJpZWxAbWljcm9zb2Z0LmNvbSIsInZlciI6IjEuMCJ9.of3ROE7BqWHkFCwecJ1Sn5CYsjhgRCxk9_aWubYanFuhPERGhGZXcsaqSJvHleqmm05BrvJWik4cgUlI-nAoHFweRVVuyqgjmwq9iKFk8xqyMqV30x7MoDywnL7vtaaoaQ4cifNSiclW-MMHJj1c_PN7Huh8lWkI-UtAHSwWbTTCew_wyat5K4E70zcJdflVjCKzKrAkHa3i0k5ryehu__kqYYtOtAdyeuUyYVJwZGfMlH6OV4sFlAhLUy0jdFmAkzNuXUhTGhB7P6pKtbO50w__-GJ84eQHorvVfB79g2x-RzjzjnF11cpMJ5zZE_qcr2mZZ1bI0kCy2L3ZKfBqFg]
Connection: [keep-alive]
Content-Length: ['0']
Content-Type: [application/json; charset=utf-8]
Date: ['Mon, 16 May 2016 21:21:15 GMT']
Expires: ['-1']
Pragma: [no-cache]
Strict-Transport-Security: [max-age=31536000; includeSubDomains]
Vary: [Accept-Encoding]
User-Agent: [python/2.7.10 (Windows-8-6.2.9200) requests/2.9.1 msrest/0.4.0
msrest_azure/0.4.1 networkmanagementclient/0.30.0rc5 Azure-SDK-For-Python
AZURECLI/TEST/0.0.1.dev0]
accept-language: [en-US]
x-ms-client-request-id: [5b41701e-5fea-11e6-8962-001dd8b7c0ad]
method: DELETE
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_route_table_test1/providers/Microsoft.Network/routeTables/cli-test-route-table?api-version=2016-03-30
response:
body: {string: !!python/unicode ''}
headers:
azure-asyncoperation: ['https://management.azure.com/subscriptions/304e8996-77fb-46e8-bada-557601594be4/providers/Microsoft.Network/locations/westus/operations/6be7d66c-5139-48f6-a6b4-c8a7f2aaa80a?api-version=2016-03-30']
cache-control: [no-cache]
content-length: ['0']
date: ['Thu, 11 Aug 2016 17:38:04 GMT']
expires: ['-1']
location: ['https://management.azure.com/subscriptions/304e8996-77fb-46e8-bada-557601594be4/providers/Microsoft.Network/locations/westus/operationResults/6be7d66c-5139-48f6-a6b4-c8a7f2aaa80a?api-version=2016-03-30']
pragma: [no-cache]
retry-after: ['10']
server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0]
strict-transport-security: [max-age=31536000; includeSubDomains]
x-ms-ratelimit-remaining-subscription-writes: ['1198']
status: {code: 202, message: Accepted}
- request:
body: null
headers:
Accept: [application/json]
Accept-Encoding: ['gzip, deflate']
Authorization: [Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IlliUkFRUlljRV9tb3RXVkpLSHJ3TEJiZF85cyIsImtpZCI6IlliUkFRUlljRV9tb3RXVkpLSHJ3TEJiZF85cyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNDcwOTM1MTgwLCJuYmYiOjE0NzA5MzUxODAsImV4cCI6MTQ3MDkzOTA4MCwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzAzZjFmMWJiLWM4MjYtNGM3Yi1iMzY4LTk0MGMyYWEyNDJkZi9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYW1yIjpbIndpYSIsIm1mYSJdLCJhcHBpZCI6IjA0YjA3Nzk1LThkZGItNDYxYS1iYmVlLTAyZjllMWJmN2I0NiIsImFwcGlkYWNyIjoiMCIsImVfZXhwIjo3MjAwLCJmYW1pbHlfbmFtZSI6IkJpZWxpY2tpIiwiZ2l2ZW5fbmFtZSI6IkJ1cnQiLCJpcGFkZHIiOiIxNjcuMjIwLjAuNTAiLCJuYW1lIjoiQnVydCBCaWVsaWNraSIsIm9pZCI6IjAzZjFmMWJiLWM4MjYtNGM3Yi1iMzY4LTk0MGMyYWEyNDJkZiIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy00ODEyODA2IiwicHVpZCI6IjEwMDNCRkZEODAxQzA4QkMiLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJDeUIyOFc5T21GWkZ4bDRoZ0lFWW10MEd5amNDYkVDbVB6NWR4VUVSMWxjIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJidXJ0YmllbEBtaWNyb3NvZnQuY29tIiwidXBuIjoiYnVydGJpZWxAbWljcm9zb2Z0LmNvbSIsInZlciI6IjEuMCJ9.of3ROE7BqWHkFCwecJ1Sn5CYsjhgRCxk9_aWubYanFuhPERGhGZXcsaqSJvHleqmm05BrvJWik4cgUlI-nAoHFweRVVuyqgjmwq9iKFk8xqyMqV30x7MoDywnL7vtaaoaQ4cifNSiclW-MMHJj1c_PN7Huh8lWkI-UtAHSwWbTTCew_wyat5K4E70zcJdflVjCKzKrAkHa3i0k5ryehu__kqYYtOtAdyeuUyYVJwZGfMlH6OV4sFlAhLUy0jdFmAkzNuXUhTGhB7P6pKtbO50w__-GJ84eQHorvVfB79g2x-RzjzjnF11cpMJ5zZE_qcr2mZZ1bI0kCy2L3ZKfBqFg]
Connection: [keep-alive]
Content-Type: [application/json; charset=utf-8]
User-Agent: [python/2.7.10 (Windows-8-6.2.9200) requests/2.9.1 msrest/0.4.0
msrest_azure/0.4.1 networkmanagementclient/0.30.0rc5 Azure-SDK-For-Python
AZURECLI/TEST/0.0.1.dev0]
accept-language: [en-US]
x-ms-client-request-id: [5b41701e-5fea-11e6-8962-001dd8b7c0ad]
method: GET
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6be7d66c-5139-48f6-a6b4-c8a7f2aaa80a?api-version=2016-03-30
response:
body:
string: !!binary |
H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl
VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk
6UdNm7Xr5qNH6Uev19Npns/y2Ue/cfJL/h9PlJBHHQAAAA==
headers:
cache-control: [no-cache]
content-encoding: [gzip]
content-type: [application/json; charset=utf-8]
date: ['Thu, 11 Aug 2016 17:38:14 GMT']
expires: ['-1']
pragma: [no-cache]
server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0]
strict-transport-security: [max-age=31536000; includeSubDomains]
vary: [Accept-Encoding]
status: {code: 200, message: OK}
- request:
body: null
headers:
Accept: [application/json]
Accept-Encoding: ['gzip, deflate']
Authorization: [Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IlliUkFRUlljRV9tb3RXVkpLSHJ3TEJiZF85cyIsImtpZCI6IlliUkFRUlljRV9tb3RXVkpLSHJ3TEJiZF85cyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNDcwOTM1MTgwLCJuYmYiOjE0NzA5MzUxODAsImV4cCI6MTQ3MDkzOTA4MCwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzAzZjFmMWJiLWM4MjYtNGM3Yi1iMzY4LTk0MGMyYWEyNDJkZi9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYW1yIjpbIndpYSIsIm1mYSJdLCJhcHBpZCI6IjA0YjA3Nzk1LThkZGItNDYxYS1iYmVlLTAyZjllMWJmN2I0NiIsImFwcGlkYWNyIjoiMCIsImVfZXhwIjo3MjAwLCJmYW1pbHlfbmFtZSI6IkJpZWxpY2tpIiwiZ2l2ZW5fbmFtZSI6IkJ1cnQiLCJpcGFkZHIiOiIxNjcuMjIwLjAuNTAiLCJuYW1lIjoiQnVydCBCaWVsaWNraSIsIm9pZCI6IjAzZjFmMWJiLWM4MjYtNGM3Yi1iMzY4LTk0MGMyYWEyNDJkZiIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy00ODEyODA2IiwicHVpZCI6IjEwMDNCRkZEODAxQzA4QkMiLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJDeUIyOFc5T21GWkZ4bDRoZ0lFWW10MEd5amNDYkVDbVB6NWR4VUVSMWxjIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJidXJ0YmllbEBtaWNyb3NvZnQuY29tIiwidXBuIjoiYnVydGJpZWxAbWljcm9zb2Z0LmNvbSIsInZlciI6IjEuMCJ9.of3ROE7BqWHkFCwecJ1Sn5CYsjhgRCxk9_aWubYanFuhPERGhGZXcsaqSJvHleqmm05BrvJWik4cgUlI-nAoHFweRVVuyqgjmwq9iKFk8xqyMqV30x7MoDywnL7vtaaoaQ4cifNSiclW-MMHJj1c_PN7Huh8lWkI-UtAHSwWbTTCew_wyat5K4E70zcJdflVjCKzKrAkHa3i0k5ryehu__kqYYtOtAdyeuUyYVJwZGfMlH6OV4sFlAhLUy0jdFmAkzNuXUhTGhB7P6pKtbO50w__-GJ84eQHorvVfB79g2x-RzjzjnF11cpMJ5zZE_qcr2mZZ1bI0kCy2L3ZKfBqFg]
Connection: [keep-alive]
Content-Type: [application/json; charset=utf-8]
User-Agent: [python/2.7.10 (Windows-8-6.2.9200) requests/2.9.1 msrest/0.4.0
msrest_azure/0.4.1 networkmanagementclient/0.30.0rc5 Azure-SDK-For-Python
AZURECLI/TEST/0.0.1.dev0]
accept-language: [en-US]
x-ms-client-request-id: [61e3e4cf-5fea-11e6-aa7c-001dd8b7c0ad]
method: GET
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_route_table_test1/providers/Microsoft.Network/routeTables?api-version=2016-03-30
response:
body:
string: !!binary |
H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl
VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xb5yk
6UeXWbnOP3qUfu/7v3HyS/4fW9IxlRMAAAA=
headers:
cache-control: [no-cache]
content-encoding: [gzip]
content-type: [application/json; charset=utf-8]
date: ['Thu, 11 Aug 2016 17:38:14 GMT']
expires: ['-1']
pragma: [no-cache]
server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0]
strict-transport-security: [max-age=31536000; includeSubDomains]
vary: [Accept-Encoding]
status: {code: 200, message: OK}
version: 1

Просмотреть файл

@ -1,170 +0,0 @@
interactions:
- request:
body: null
headers:
Accept: [application/json]
Accept-Encoding: ['gzip, deflate']
Authorization: [Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IlliUkFRUlljRV9tb3RXVkpLSHJ3TEJiZF85cyIsImtpZCI6IlliUkFRUlljRV9tb3RXVkpLSHJ3TEJiZF85cyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC81NDgyNmIyMi0zOGQ2LTRmYjItYmFkOS1iN2I5M2EzZTljNWEvIiwiaWF0IjoxNDY1ODQ4NDIzLCJuYmYiOjE0NjU4NDg0MjMsImV4cCI6MTQ2NTg1MjMyMywiYWNyIjoiMSIsImFtciI6WyJwd2QiXSwiYXBwaWQiOiIwNGIwNzc5NS04ZGRiLTQ2MWEtYmJlZS0wMmY5ZTFiZjdiNDYiLCJhcHBpZGFjciI6IjAiLCJmYW1pbHlfbmFtZSI6IkFkbWluMiIsImdpdmVuX25hbWUiOiJBZG1pbjIiLCJncm91cHMiOlsiZTRiYjBiNTYtMTAxNC00MGY4LTg4YWItM2Q4YThjYjBlMDg2IiwiNmI5Nzc2MWEtZDdkMC00OGY2LWFkNTYtZjM4ZDMyN2M4NTUzIl0sImlwYWRkciI6IjE2Ny4yMjAuMS4xODYiLCJuYW1lIjoiQWRtaW4yIiwib2lkIjoiNTk2M2Y1MGMtN2M0My00MDVjLWFmN2UtNTMyOTRkZTc2YWJkIiwicHVpZCI6IjEwMDNCRkZEOTU5Rjg0MjMiLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJzRGdleFJ3Q05JZlktaHpRampDRHZaVDdJemRmbzRTeXJyNHgwZEROelI0IiwidGlkIjoiNTQ4MjZiMjItMzhkNi00ZmIyLWJhZDktYjdiOTNhM2U5YzVhIiwidW5pcXVlX25hbWUiOiJhZG1pbjJAQXp1cmVTREtUZWFtLm9ubWljcm9zb2Z0LmNvbSIsInVwbiI6ImFkbWluMkBBenVyZVNES1RlYW0ub25taWNyb3NvZnQuY29tIiwidmVyIjoiMS4wIiwid2lkcyI6WyI2MmU5MDM5NC02OWY1LTQyMzctOTE5MC0wMTIxNzcxNDVlMTAiXX0.A0imHsbkaPEbEh95Rzx6pCOlb2bixr64Z6eg3vUA450Q7cOgOL-jPZVR_Nhbg84-RMCZD5ERzSin9rN1QAEkpZ7lUpv2Nc9_KHb8KZtc2qxbDMYr84ngMXNGt5iLK0gfwVfGZwvy83pjVXaFBQB_sM9B9N4jW1HKhX4aWLevAs0zw9l4h9h4R2upoFfr8O89O9DQID9Dgnbpifxo3MZek3wyEWu2g0bUUpfO0M1BW00bsrTU6iryMnIjt7YjK7syQAPo5eoVFfx3VCvqTWJucEUgfy5n243ltEfX1mRjHSK7s4dMm34lE4gXf5H3CTtg6yvOi4HXmE4BgN9aeWfIcQ]
Connection: [keep-alive]
Content-Type: [application/json; charset=utf-8]
User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.3.0 msrest_azure/0.3.0 networkmanagementclient/2016-03-30
Azure-SDK-For-Python AZURECLI_0.0.32]
accept-language: [en-US]
x-ms-client-request-id: [5f1375d0-31a5-11e6-87e5-a0b3ccf7272a]
method: GET
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test1/providers/Microsoft.Network/connections?api-version=2016-03-30
response:
body:
string: !!binary |
H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcpl
VmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/In7xR5dZ
uc4/evS97/+S/wdC6kBEDAAAAA==
headers:
Cache-Control: [no-cache]
Content-Encoding: [gzip]
Content-Length: ['133']
Content-Type: [application/json; charset=utf-8]
Date: ['Mon, 13 Jun 2016 20:28:21 GMT']
Expires: ['-1']
Pragma: [no-cache]
Strict-Transport-Security: [max-age=31536000; includeSubDomains]
Vary: [Accept-Encoding]
status: {code: 200, message: OK}
- request:
body: null
headers:
Accept: [application/json]
Accept-Encoding: ['gzip, deflate']
Authorization: [Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IlliUkFRUlljRV9tb3RXVkpLSHJ3TEJiZF85cyIsImtpZCI6IlliUkFRUlljRV9tb3RXVkpLSHJ3TEJiZF85cyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC81NDgyNmIyMi0zOGQ2LTRmYjItYmFkOS1iN2I5M2EzZTljNWEvIiwiaWF0IjoxNDY1ODQ4NDIzLCJuYmYiOjE0NjU4NDg0MjMsImV4cCI6MTQ2NTg1MjMyMywiYWNyIjoiMSIsImFtciI6WyJwd2QiXSwiYXBwaWQiOiIwNGIwNzc5NS04ZGRiLTQ2MWEtYmJlZS0wMmY5ZTFiZjdiNDYiLCJhcHBpZGFjciI6IjAiLCJmYW1pbHlfbmFtZSI6IkFkbWluMiIsImdpdmVuX25hbWUiOiJBZG1pbjIiLCJncm91cHMiOlsiZTRiYjBiNTYtMTAxNC00MGY4LTg4YWItM2Q4YThjYjBlMDg2IiwiNmI5Nzc2MWEtZDdkMC00OGY2LWFkNTYtZjM4ZDMyN2M4NTUzIl0sImlwYWRkciI6IjE2Ny4yMjAuMS4xODYiLCJuYW1lIjoiQWRtaW4yIiwib2lkIjoiNTk2M2Y1MGMtN2M0My00MDVjLWFmN2UtNTMyOTRkZTc2YWJkIiwicHVpZCI6IjEwMDNCRkZEOTU5Rjg0MjMiLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJzRGdleFJ3Q05JZlktaHpRampDRHZaVDdJemRmbzRTeXJyNHgwZEROelI0IiwidGlkIjoiNTQ4MjZiMjItMzhkNi00ZmIyLWJhZDktYjdiOTNhM2U5YzVhIiwidW5pcXVlX25hbWUiOiJhZG1pbjJAQXp1cmVTREtUZWFtLm9ubWljcm9zb2Z0LmNvbSIsInVwbiI6ImFkbWluMkBBenVyZVNES1RlYW0ub25taWNyb3NvZnQuY29tIiwidmVyIjoiMS4wIiwid2lkcyI6WyI2MmU5MDM5NC02OWY1LTQyMzctOTE5MC0wMTIxNzcxNDVlMTAiXX0.A0imHsbkaPEbEh95Rzx6pCOlb2bixr64Z6eg3vUA450Q7cOgOL-jPZVR_Nhbg84-RMCZD5ERzSin9rN1QAEkpZ7lUpv2Nc9_KHb8KZtc2qxbDMYr84ngMXNGt5iLK0gfwVfGZwvy83pjVXaFBQB_sM9B9N4jW1HKhX4aWLevAs0zw9l4h9h4R2upoFfr8O89O9DQID9Dgnbpifxo3MZek3wyEWu2g0bUUpfO0M1BW00bsrTU6iryMnIjt7YjK7syQAPo5eoVFfx3VCvqTWJucEUgfy5n243ltEfX1mRjHSK7s4dMm34lE4gXf5H3CTtg6yvOi4HXmE4BgN9aeWfIcQ]
Connection: [keep-alive]
Content-Type: [application/json; charset=utf-8]
User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.3.0 msrest_azure/0.3.0 networkmanagementclient/2016-03-30
Azure-SDK-For-Python AZURECLI_0.0.32]
accept-language: [en-US]
x-ms-client-request-id: [5f6fb614-31a5-11e6-b97e-a0b3ccf7272a]
method: GET
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test1/providers/Microsoft.Network/connections/none_existent?api-version=2016-03-30
response:
body: {string: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.Network/connections/none_existent''
under resource group ''cli_test1'' was not found."}}'}
headers:
Cache-Control: [no-cache]
Content-Length: ['156']
Content-Type: [application/json; charset=utf-8]
Date: ['Mon, 13 Jun 2016 20:28:21 GMT']
Expires: ['-1']
Pragma: [no-cache]
Strict-Transport-Security: [max-age=31536000; includeSubDomains]
x-ms-failure-cause: [gateway]
status: {code: 404, message: Not Found}
- request:
body: null
headers:
Accept: [application/json]
Accept-Encoding: ['gzip, deflate']
Authorization: [Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IlliUkFRUlljRV9tb3RXVkpLSHJ3TEJiZF85cyIsImtpZCI6IlliUkFRUlljRV9tb3RXVkpLSHJ3TEJiZF85cyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC81NDgyNmIyMi0zOGQ2LTRmYjItYmFkOS1iN2I5M2EzZTljNWEvIiwiaWF0IjoxNDY1ODQ4NDIzLCJuYmYiOjE0NjU4NDg0MjMsImV4cCI6MTQ2NTg1MjMyMywiYWNyIjoiMSIsImFtciI6WyJwd2QiXSwiYXBwaWQiOiIwNGIwNzc5NS04ZGRiLTQ2MWEtYmJlZS0wMmY5ZTFiZjdiNDYiLCJhcHBpZGFjciI6IjAiLCJmYW1pbHlfbmFtZSI6IkFkbWluMiIsImdpdmVuX25hbWUiOiJBZG1pbjIiLCJncm91cHMiOlsiZTRiYjBiNTYtMTAxNC00MGY4LTg4YWItM2Q4YThjYjBlMDg2IiwiNmI5Nzc2MWEtZDdkMC00OGY2LWFkNTYtZjM4ZDMyN2M4NTUzIl0sImlwYWRkciI6IjE2Ny4yMjAuMS4xODYiLCJuYW1lIjoiQWRtaW4yIiwib2lkIjoiNTk2M2Y1MGMtN2M0My00MDVjLWFmN2UtNTMyOTRkZTc2YWJkIiwicHVpZCI6IjEwMDNCRkZEOTU5Rjg0MjMiLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJzRGdleFJ3Q05JZlktaHpRampDRHZaVDdJemRmbzRTeXJyNHgwZEROelI0IiwidGlkIjoiNTQ4MjZiMjItMzhkNi00ZmIyLWJhZDktYjdiOTNhM2U5YzVhIiwidW5pcXVlX25hbWUiOiJhZG1pbjJAQXp1cmVTREtUZWFtLm9ubWljcm9zb2Z0LmNvbSIsInVwbiI6ImFkbWluMkBBenVyZVNES1RlYW0ub25taWNyb3NvZnQuY29tIiwidmVyIjoiMS4wIiwid2lkcyI6WyI2MmU5MDM5NC02OWY1LTQyMzctOTE5MC0wMTIxNzcxNDVlMTAiXX0.A0imHsbkaPEbEh95Rzx6pCOlb2bixr64Z6eg3vUA450Q7cOgOL-jPZVR_Nhbg84-RMCZD5ERzSin9rN1QAEkpZ7lUpv2Nc9_KHb8KZtc2qxbDMYr84ngMXNGt5iLK0gfwVfGZwvy83pjVXaFBQB_sM9B9N4jW1HKhX4aWLevAs0zw9l4h9h4R2upoFfr8O89O9DQID9Dgnbpifxo3MZek3wyEWu2g0bUUpfO0M1BW00bsrTU6iryMnIjt7YjK7syQAPo5eoVFfx3VCvqTWJucEUgfy5n243ltEfX1mRjHSK7s4dMm34lE4gXf5H3CTtg6yvOi4HXmE4BgN9aeWfIcQ]
Connection: [keep-alive]
Content-Type: [application/json; charset=utf-8]
User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.3.0 msrest_azure/0.3.0 networkmanagementclient/2016-03-30
Azure-SDK-For-Python AZURECLI_0.0.32]
accept-language: [en-US]
x-ms-client-request-id: [5f98c786-31a5-11e6-bcfc-a0b3ccf7272a]
method: GET
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test1/providers/Microsoft.Network/connections/none_existent/sharedkey?api-version=2016-03-30
response:
body: {string: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.Network/connections/none_existent''
under resource group ''cli_test1'' was not found."}}'}
headers:
Cache-Control: [no-cache]
Content-Length: ['156']
Content-Type: [application/json; charset=utf-8]
Date: ['Mon, 13 Jun 2016 20:28:21 GMT']
Expires: ['-1']
Pragma: [no-cache]
Strict-Transport-Security: [max-age=31536000; includeSubDomains]
x-ms-failure-cause: [gateway]
status: {code: 404, message: Not Found}
- request:
body: null
headers:
Accept: [application/json]
Accept-Encoding: ['gzip, deflate']
Authorization: [Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IlliUkFRUlljRV9tb3RXVkpLSHJ3TEJiZF85cyIsImtpZCI6IlliUkFRUlljRV9tb3RXVkpLSHJ3TEJiZF85cyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC81NDgyNmIyMi0zOGQ2LTRmYjItYmFkOS1iN2I5M2EzZTljNWEvIiwiaWF0IjoxNDY1ODQ4NDIzLCJuYmYiOjE0NjU4NDg0MjMsImV4cCI6MTQ2NTg1MjMyMywiYWNyIjoiMSIsImFtciI6WyJwd2QiXSwiYXBwaWQiOiIwNGIwNzc5NS04ZGRiLTQ2MWEtYmJlZS0wMmY5ZTFiZjdiNDYiLCJhcHBpZGFjciI6IjAiLCJmYW1pbHlfbmFtZSI6IkFkbWluMiIsImdpdmVuX25hbWUiOiJBZG1pbjIiLCJncm91cHMiOlsiZTRiYjBiNTYtMTAxNC00MGY4LTg4YWItM2Q4YThjYjBlMDg2IiwiNmI5Nzc2MWEtZDdkMC00OGY2LWFkNTYtZjM4ZDMyN2M4NTUzIl0sImlwYWRkciI6IjE2Ny4yMjAuMS4xODYiLCJuYW1lIjoiQWRtaW4yIiwib2lkIjoiNTk2M2Y1MGMtN2M0My00MDVjLWFmN2UtNTMyOTRkZTc2YWJkIiwicHVpZCI6IjEwMDNCRkZEOTU5Rjg0MjMiLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJzRGdleFJ3Q05JZlktaHpRampDRHZaVDdJemRmbzRTeXJyNHgwZEROelI0IiwidGlkIjoiNTQ4MjZiMjItMzhkNi00ZmIyLWJhZDktYjdiOTNhM2U5YzVhIiwidW5pcXVlX25hbWUiOiJhZG1pbjJAQXp1cmVTREtUZWFtLm9ubWljcm9zb2Z0LmNvbSIsInVwbiI6ImFkbWluMkBBenVyZVNES1RlYW0ub25taWNyb3NvZnQuY29tIiwidmVyIjoiMS4wIiwid2lkcyI6WyI2MmU5MDM5NC02OWY1LTQyMzctOTE5MC0wMTIxNzcxNDVlMTAiXX0.A0imHsbkaPEbEh95Rzx6pCOlb2bixr64Z6eg3vUA450Q7cOgOL-jPZVR_Nhbg84-RMCZD5ERzSin9rN1QAEkpZ7lUpv2Nc9_KHb8KZtc2qxbDMYr84ngMXNGt5iLK0gfwVfGZwvy83pjVXaFBQB_sM9B9N4jW1HKhX4aWLevAs0zw9l4h9h4R2upoFfr8O89O9DQID9Dgnbpifxo3MZek3wyEWu2g0bUUpfO0M1BW00bsrTU6iryMnIjt7YjK7syQAPo5eoVFfx3VCvqTWJucEUgfy5n243ltEfX1mRjHSK7s4dMm34lE4gXf5H3CTtg6yvOi4HXmE4BgN9aeWfIcQ]
Connection: [keep-alive]
Content-Length: ['0']
Content-Type: [application/json; charset=utf-8]
User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.3.0 msrest_azure/0.3.0 networkmanagementclient/2016-03-30
Azure-SDK-For-Python AZURECLI_0.0.32]
accept-language: [en-US]
x-ms-client-request-id: [5fbb4e54-31a5-11e6-a7b5-a0b3ccf7272a]
method: DELETE
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test1/providers/Microsoft.Network/connections/none_existent?api-version=2016-03-30
response:
body: {string: ''}
headers:
Cache-Control: [no-cache]
Date: ['Mon, 13 Jun 2016 20:28:21 GMT']
Expires: ['-1']
Pragma: [no-cache]
Strict-Transport-Security: [max-age=31536000; includeSubDomains]
x-ms-ratelimit-remaining-subscription-writes: ['1197']
status: {code: 204, message: No Content}
- request:
body: !!binary |
e30=
headers:
Accept: [application/json]
Accept-Encoding: ['gzip, deflate']
Authorization: [Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IlliUkFRUlljRV9tb3RXVkpLSHJ3TEJiZF85cyIsImtpZCI6IlliUkFRUlljRV9tb3RXVkpLSHJ3TEJiZF85cyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC81NDgyNmIyMi0zOGQ2LTRmYjItYmFkOS1iN2I5M2EzZTljNWEvIiwiaWF0IjoxNDY1ODQ4NDIzLCJuYmYiOjE0NjU4NDg0MjMsImV4cCI6MTQ2NTg1MjMyMywiYWNyIjoiMSIsImFtciI6WyJwd2QiXSwiYXBwaWQiOiIwNGIwNzc5NS04ZGRiLTQ2MWEtYmJlZS0wMmY5ZTFiZjdiNDYiLCJhcHBpZGFjciI6IjAiLCJmYW1pbHlfbmFtZSI6IkFkbWluMiIsImdpdmVuX25hbWUiOiJBZG1pbjIiLCJncm91cHMiOlsiZTRiYjBiNTYtMTAxNC00MGY4LTg4YWItM2Q4YThjYjBlMDg2IiwiNmI5Nzc2MWEtZDdkMC00OGY2LWFkNTYtZjM4ZDMyN2M4NTUzIl0sImlwYWRkciI6IjE2Ny4yMjAuMS4xODYiLCJuYW1lIjoiQWRtaW4yIiwib2lkIjoiNTk2M2Y1MGMtN2M0My00MDVjLWFmN2UtNTMyOTRkZTc2YWJkIiwicHVpZCI6IjEwMDNCRkZEOTU5Rjg0MjMiLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJzRGdleFJ3Q05JZlktaHpRampDRHZaVDdJemRmbzRTeXJyNHgwZEROelI0IiwidGlkIjoiNTQ4MjZiMjItMzhkNi00ZmIyLWJhZDktYjdiOTNhM2U5YzVhIiwidW5pcXVlX25hbWUiOiJhZG1pbjJAQXp1cmVTREtUZWFtLm9ubWljcm9zb2Z0LmNvbSIsInVwbiI6ImFkbWluMkBBenVyZVNES1RlYW0ub25taWNyb3NvZnQuY29tIiwidmVyIjoiMS4wIiwid2lkcyI6WyI2MmU5MDM5NC02OWY1LTQyMzctOTE5MC0wMTIxNzcxNDVlMTAiXX0.A0imHsbkaPEbEh95Rzx6pCOlb2bixr64Z6eg3vUA450Q7cOgOL-jPZVR_Nhbg84-RMCZD5ERzSin9rN1QAEkpZ7lUpv2Nc9_KHb8KZtc2qxbDMYr84ngMXNGt5iLK0gfwVfGZwvy83pjVXaFBQB_sM9B9N4jW1HKhX4aWLevAs0zw9l4h9h4R2upoFfr8O89O9DQID9Dgnbpifxo3MZek3wyEWu2g0bUUpfO0M1BW00bsrTU6iryMnIjt7YjK7syQAPo5eoVFfx3VCvqTWJucEUgfy5n243ltEfX1mRjHSK7s4dMm34lE4gXf5H3CTtg6yvOi4HXmE4BgN9aeWfIcQ]
Connection: [keep-alive]
Content-Length: ['2']
Content-Type: [application/json; charset=utf-8]
User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.3.0 msrest_azure/0.3.0 networkmanagementclient/2016-03-30
Azure-SDK-For-Python AZURECLI_0.0.32]
accept-language: [en-US]
x-ms-client-request-id: [605e8668-31a5-11e6-b059-a0b3ccf7272a]
method: POST
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test1/providers/Microsoft.Network/connections/none_existent/sharedkey/reset?api-version=2016-03-30
response:
body: {string: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.Network/connections/none_existent''
under resource group ''cli_test1'' was not found."}}'}
headers:
Cache-Control: [no-cache]
Content-Length: ['156']
Content-Type: [application/json; charset=utf-8]
Date: ['Mon, 13 Jun 2016 20:28:23 GMT']
Expires: ['-1']
Pragma: [no-cache]
Strict-Transport-Security: [max-age=31536000; includeSubDomains]
x-ms-failure-cause: [gateway]
status: {code: 404, message: Not Found}
- request:
body: !!binary |
eyJ2YWx1ZSI6ICJTNGF1ekVmd1o2Zk4ifQ==
headers:
Accept: [application/json]
Accept-Encoding: ['gzip, deflate']
Authorization: [Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IlliUkFRUlljRV9tb3RXVkpLSHJ3TEJiZF85cyIsImtpZCI6IlliUkFRUlljRV9tb3RXVkpLSHJ3TEJiZF85cyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC81NDgyNmIyMi0zOGQ2LTRmYjItYmFkOS1iN2I5M2EzZTljNWEvIiwiaWF0IjoxNDY1ODQ4NDIzLCJuYmYiOjE0NjU4NDg0MjMsImV4cCI6MTQ2NTg1MjMyMywiYWNyIjoiMSIsImFtciI6WyJwd2QiXSwiYXBwaWQiOiIwNGIwNzc5NS04ZGRiLTQ2MWEtYmJlZS0wMmY5ZTFiZjdiNDYiLCJhcHBpZGFjciI6IjAiLCJmYW1pbHlfbmFtZSI6IkFkbWluMiIsImdpdmVuX25hbWUiOiJBZG1pbjIiLCJncm91cHMiOlsiZTRiYjBiNTYtMTAxNC00MGY4LTg4YWItM2Q4YThjYjBlMDg2IiwiNmI5Nzc2MWEtZDdkMC00OGY2LWFkNTYtZjM4ZDMyN2M4NTUzIl0sImlwYWRkciI6IjE2Ny4yMjAuMS4xODYiLCJuYW1lIjoiQWRtaW4yIiwib2lkIjoiNTk2M2Y1MGMtN2M0My00MDVjLWFmN2UtNTMyOTRkZTc2YWJkIiwicHVpZCI6IjEwMDNCRkZEOTU5Rjg0MjMiLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJzRGdleFJ3Q05JZlktaHpRampDRHZaVDdJemRmbzRTeXJyNHgwZEROelI0IiwidGlkIjoiNTQ4MjZiMjItMzhkNi00ZmIyLWJhZDktYjdiOTNhM2U5YzVhIiwidW5pcXVlX25hbWUiOiJhZG1pbjJAQXp1cmVTREtUZWFtLm9ubWljcm9zb2Z0LmNvbSIsInVwbiI6ImFkbWluMkBBenVyZVNES1RlYW0ub25taWNyb3NvZnQuY29tIiwidmVyIjoiMS4wIiwid2lkcyI6WyI2MmU5MDM5NC02OWY1LTQyMzctOTE5MC0wMTIxNzcxNDVlMTAiXX0.A0imHsbkaPEbEh95Rzx6pCOlb2bixr64Z6eg3vUA450Q7cOgOL-jPZVR_Nhbg84-RMCZD5ERzSin9rN1QAEkpZ7lUpv2Nc9_KHb8KZtc2qxbDMYr84ngMXNGt5iLK0gfwVfGZwvy83pjVXaFBQB_sM9B9N4jW1HKhX4aWLevAs0zw9l4h9h4R2upoFfr8O89O9DQID9Dgnbpifxo3MZek3wyEWu2g0bUUpfO0M1BW00bsrTU6iryMnIjt7YjK7syQAPo5eoVFfx3VCvqTWJucEUgfy5n243ltEfX1mRjHSK7s4dMm34lE4gXf5H3CTtg6yvOi4HXmE4BgN9aeWfIcQ]
Connection: [keep-alive]
Content-Length: ['25']
Content-Type: [application/json; charset=utf-8]
User-Agent: [python/3.5.1 requests/2.9.1 msrest/0.3.0 msrest_azure/0.3.0 networkmanagementclient/2016-03-30
Azure-SDK-For-Python AZURECLI_0.0.32]
accept-language: [en-US]
x-ms-client-request-id: [61011e12-31a5-11e6-9bc0-a0b3ccf7272a]
method: PUT
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test1/providers/Microsoft.Network/connections/none_existent/sharedkey?api-version=2016-03-30
response:
body: {string: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.Network/connections/none_existent''
under resource group ''cli_test1'' was not found."}}'}
headers:
Cache-Control: [no-cache]
Content-Length: ['156']
Content-Type: [application/json; charset=utf-8]
Date: ['Mon, 13 Jun 2016 20:28:24 GMT']
Expires: ['-1']
Pragma: [no-cache]
Strict-Transport-Security: [max-age=31536000; includeSubDomains]
x-ms-failure-cause: [gateway]
status: {code: 404, message: Not Found}
version: 1

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -9,7 +9,7 @@
import os
from azure.cli.utils.vcr_test_base import (VCRTestBase, ResourceGroupVCRTestBase, JMESPathCheck,
NoneCheck)
NoneCheck, MOCKED_SUBSCRIPTION_ID)
TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..'))
@ -716,27 +716,23 @@ class NetworkSecurityGroupScenarioTest(ResourceGroupVCRTestBase):
# Expecting no results as we just deleted the only security group in the resource group
self.cmd('network nsg list --resource-group {}'.format(rg), checks=NoneCheck())
class NetworkRouteTableOperationScenarioTest(VCRTestBase):
class NetworkRouteTableOperationScenarioTest(ResourceGroupVCRTestBase):
def __init__(self, test_method):
super(NetworkRouteTableOperationScenarioTest, self).__init__(__file__, test_method)
self.resource_group = 'cli_test1'
self.resource_group = 'cli_route_table_test1'
self.route_table_name = 'cli-test-route-table'
self.route_operation_name = 'my-route'
self.route_name = 'my-route'
self.resource_type = 'Microsoft.Network/routeTables'
def test_network_route_table_operation(self):
self.execute()
def set_up(self):
if not self.cmd('network route-table show --resource-group {} --name {}'.format(
self.resource_group, self.route_table_name)):
raise RuntimeError('Network route table must be manually created in order to support this test.')
if not self.cmd('network route-table route show --resource-group {} --route-table-name {} --name {}'.format(
self.resource_group, self.route_table_name, self.route_operation_name)):
raise RuntimeError('Network route operation must be manually created in order to support this test.')
def body(self):
self.cmd('network route-table create -n {} -g {}'.format(self.route_table_name, self.resource_group))
self.cmd('network route-table route create --address-prefix 10.0.5.0/24 -n {} -g {} --next-hop-type None'
' --route-table-name {}'.format(self.route_name, self.resource_group, self.route_table_name))
self.cmd('network route-table list',
checks=JMESPathCheck('type(@)', 'array'))
self.cmd('network route-table list --resource-group {}'.format(self.resource_group), checks=[
@ -754,12 +750,12 @@ class NetworkRouteTableOperationScenarioTest(VCRTestBase):
])
self.cmd('network route-table route list --resource-group {} --route-table-name {}'.format(self.resource_group, self.route_table_name),
checks=JMESPathCheck('type(@)', 'array'))
self.cmd('network route-table route show --resource-group {} --route-table-name {} --name {}'.format(self.resource_group, self.route_table_name, self.route_operation_name), checks=[
self.cmd('network route-table route show --resource-group {} --route-table-name {} --name {}'.format(self.resource_group, self.route_table_name, self.route_name), checks=[
JMESPathCheck('type(@)', 'object'),
JMESPathCheck('name', self.route_operation_name),
JMESPathCheck('name', self.route_name),
JMESPathCheck('resourceGroup', self.resource_group)
])
self.cmd('network route-table route delete --resource-group {} --route-table-name {} --name {}'.format(self.resource_group, self.route_table_name, self.route_operation_name))
self.cmd('network route-table route delete --resource-group {} --route-table-name {} --name {}'.format(self.resource_group, self.route_table_name, self.route_name))
# Expecting no results as the route operation was just deleted
self.cmd('network route-table route list --resource-group {} --route-table-name {}'.format(self.resource_group, self.route_table_name),
checks=NoneCheck())
@ -863,50 +859,51 @@ class NetworkSubnetSetScenarioTest(ResourceGroupVCRTestBase):
self.cmd('network vnet delete --resource-group {} --name {}'.format(self.resource_group, self.vnet_name))
self.cmd('network nsg delete --resource-group {} --name {}'.format(self.resource_group, nsg_name))
class NetworkVpnGatewayScenarioTest(VCRTestBase):
class NetworkVpnGatewayScenarioTest(ResourceGroupVCRTestBase):
def __init__(self, test_method):
# The resources for this test did not exist so the commands will return 404 errors.
# So this test is for the command execution itself.
super(NetworkVpnGatewayScenarioTest, self).__init__(__file__, test_method)
self.resource_group = 'cli_test1'
self.placeholder_value = 'none_existent'
self.resource_group = 'cli_vpn_gateway_test1'
def test_network_vpn_gateway(self):
self.execute()
def body(self):
rg = self.resource_group
pv = self.placeholder_value
allowed_exceptions = "The Resource 'Microsoft.Network/virtualNetworkGateways/{}' under resource group '{}' was not found.".format(pv, rg)
self.cmd('network vpn-gateway delete --resource-group {0} --name {1}'.format(rg, pv))
self.cmd('network vpn-gateway list --resource-group {0}'.format(rg), checks=NoneCheck())
self.cmd('network vpn-gateway show --resource-group {0} --name {1}'.format(rg, pv),
allowed_exceptions=allowed_exceptions)
vnet1_name = 'myvnet1'
vnet2_name = 'myvnet2'
gateway1_name = 'gateway1'
gateway2_name = 'gateway2'
ip1_name = 'pubip1'
ip2_name = 'pubip2'
class NetworkVpnConnectionScenarioTest(VCRTestBase):
subscription_id = MOCKED_SUBSCRIPTION_ID \
if self.playback \
else self.cmd('account list --query "[?isDefault].id" -o tsv')
def __init__(self, test_method):
# The resources for this test did not exist so the commands will return 404 errors.
# So this test is for the command execution itself.
super(NetworkVpnConnectionScenarioTest, self).__init__(__file__, test_method)
self.resource_group = 'cli_test1'
self.placeholder_value = 'none_existent'
self.cmd('network public-ip create -n {} -g {}'.format(ip1_name, rg))
self.cmd('network public-ip create -n {} -g {}'.format(ip2_name, rg))
self.cmd('network vnet create -g {} -n {} --subnet-name GatewaySubnet'.format(rg, vnet1_name))
self.cmd('network vnet create -g {} -n {} --subnet-name GatewaySubnet --subnet-prefix 10.0.1.0/24'.format(rg, vnet2_name))
def test_network_vpn_connection(self):
self.execute()
subnet1_id = '/subscriptions/{subscription_id}/resourceGroups' \
'/{rg}/providers/Microsoft.Network/virtualNetworks/{vnet1}/subnets/GatewaySubnet' \
.format(subscription_id=subscription_id, rg=rg, vnet1=vnet1_name)
subnet2_id = '/subscriptions/{subscription_id}/resourceGroups' \
'/{rg}/providers/Microsoft.Network/virtualNetworks/{vnet2}/subnets/GatewaySubnet' \
.format(subscription_id=subscription_id, rg=rg, vnet2=vnet2_name)
def body(self):
rg = self.resource_group
pv = self.placeholder_value
allowed_exceptions = "The Resource 'Microsoft.Network/connections/{}' under resource group '{}' was not found.".format(pv, rg)
self.cmd('network vpn-connection list --resource-group {0}'.format(rg))
self.cmd('network vpn-connection show --resource-group {0} --name {1}'.format(rg, pv),
allowed_exceptions=allowed_exceptions)
self.cmd('network vpn-connection shared-key show --resource-group {0} --name {1}'.format(rg, pv),
allowed_exceptions=allowed_exceptions)
self.cmd('network vpn-connection delete --resource-group {0} --name {1}'.format(rg, pv))
self.cmd('network vpn-connection shared-key reset --resource-group {0} --connection-name {1}'.format(rg, pv),
allowed_exceptions=allowed_exceptions)
self.cmd('network vpn-connection shared-key update --resource-group {0} --connection-name {1} --value {2}'.format(rg, pv, 'S4auzEfwZ6fN'),
allowed_exceptions=allowed_exceptions)
self.cmd('network vpn-gateway create -g {0} -n {1} --subnet-id {2} --public-ip-address {3}'
.format(rg, gateway1_name, subnet1_id, ip1_name))
self.cmd('network vpn-gateway create -g {0} -n {1} --subnet-id {2} --public-ip-address {3}'
.format(rg, gateway2_name, subnet2_id, ip2_name))
gateway1_id = '/subscriptions/{subscription_id}/resourceGroups' \
'/{rg}/providers/Microsoft.Network/virtualNetworkGateways/{gateway1_name}' \
.format(subscription_id=subscription_id, rg=rg, gateway1_name=gateway1_name)
gateway2_id = '/subscriptions/{subscription_id}/resourceGroups' \
'/{rg}/providers/Microsoft.Network/virtualNetworkGateways/{gateway2_name}' \
.format(subscription_id=subscription_id, rg=rg, gateway2_name=gateway2_name)
self.cmd('network vpn-connection create -n myconnection -g {0} --shared-key 123' \
' --vnet-gateway1-id {1} --vnet-gateway2-id {2}'.format(rg, gateway1_id, gateway2_id))

Просмотреть файл

@ -83,6 +83,26 @@ setup(
'azure.cli.command_modules.network.mgmt_vnet_gateway.lib',
'azure.cli.command_modules.network.mgmt_vnet_gateway.lib.models',
'azure.cli.command_modules.network.mgmt_vnet_gateway.lib.operations',
'azure.cli.command_modules.network.mgmt_vpn_connection',
'azure.cli.command_modules.network.mgmt_vpn_connection.lib',
'azure.cli.command_modules.network.mgmt_vpn_connection.lib.models',
'azure.cli.command_modules.network.mgmt_vpn_connection.lib.operations',
'azure.cli.command_modules.network.mgmt_vnet_gateway',
'azure.cli.command_modules.network.mgmt_vnet_gateway.lib',
'azure.cli.command_modules.network.mgmt_vnet_gateway.lib.models',
'azure.cli.command_modules.network.mgmt_vnet_gateway.lib.operations',
'azure.cli.command_modules.network.mgmt_route_table',
'azure.cli.command_modules.network.mgmt_route_table.lib',
'azure.cli.command_modules.network.mgmt_route_table.lib.models',
'azure.cli.command_modules.network.mgmt_route_table.lib.operations',
'azure.cli.command_modules.network.mgmt_express_route_circuit',
'azure.cli.command_modules.network.mgmt_express_route_circuit.lib',
'azure.cli.command_modules.network.mgmt_express_route_circuit.lib.models',
'azure.cli.command_modules.network.mgmt_express_route_circuit.lib.operations',
'azure.cli.command_modules.network.mgmt_express_route_peering',
'azure.cli.command_modules.network.mgmt_express_route_peering.lib',
'azure.cli.command_modules.network.mgmt_express_route_peering.lib.models',
'azure.cli.command_modules.network.mgmt_express_route_peering.lib.operations',
],
install_requires=DEPENDENCIES,
)